mirror of
https://github.com/zoriya/vim.git
synced 2025-12-16 20:25:19 +00:00
Compare commits
261 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
52c0de1de1 | ||
|
|
4f7090b93d | ||
|
|
1e07633a5d | ||
|
|
9e817c8a31 | ||
|
|
ba47b51ff8 | ||
|
|
6a717f17ec | ||
|
|
b031c4ea04 | ||
|
|
941c12da3c | ||
|
|
bff6ad1331 | ||
|
|
48c9f3b123 | ||
|
|
076e502199 | ||
|
|
915350edec | ||
|
|
24a2d416ec | ||
|
|
abbc448bc0 | ||
|
|
2aa5f696b9 | ||
|
|
1695f99d08 | ||
|
|
9957a10d0f | ||
|
|
7a2699e868 | ||
|
|
fffbf308dd | ||
|
|
c81299684b | ||
|
|
6a8ede99dd | ||
|
|
15eedf1d62 | ||
|
|
7a40ea2138 | ||
|
|
2b2207ba69 | ||
|
|
e2d74dbe19 | ||
|
|
e2c6037da3 | ||
|
|
e362c3d2c3 | ||
|
|
d7a96151e0 | ||
|
|
ca24e2cfcf | ||
|
|
423977d3ce | ||
|
|
560379d7ae | ||
|
|
ec2da36ca4 | ||
|
|
41baa7983a | ||
|
|
25b0e6b701 | ||
|
|
23c9e8b3bc | ||
|
|
8822744b4d | ||
|
|
5e4e1b1299 | ||
|
|
eb46f8fa14 | ||
|
|
6e78e27b8a | ||
|
|
4007ed4a5e | ||
|
|
d61e8aaae5 | ||
|
|
58f60ca2fc | ||
|
|
6d721c7e10 | ||
|
|
de318c5c35 | ||
|
|
369b6f57c4 | ||
|
|
97d62d4321 | ||
|
|
c011a3d083 | ||
|
|
a9d23c2087 | ||
|
|
e32bbded64 | ||
|
|
1b9750d805 | ||
|
|
42b8d916c7 | ||
|
|
4f391796b7 | ||
|
|
810f9c361c | ||
|
|
296b1f28ca | ||
|
|
9506cad7a1 | ||
|
|
fe6ce331d9 | ||
|
|
5869cf060e | ||
|
|
fad609d067 | ||
|
|
2b7bc567b9 | ||
|
|
7173b47958 | ||
|
|
e47683a091 | ||
|
|
519d7785f4 | ||
|
|
83381f7129 | ||
|
|
9be7c04e6c | ||
|
|
9b73c4a215 | ||
|
|
e13b9afe12 | ||
|
|
70bcd7336f | ||
|
|
972c3b8f1b | ||
|
|
b8f7bd68f6 | ||
|
|
a1fa892939 | ||
|
|
1d669c233c | ||
|
|
ee142add22 | ||
|
|
e32abbe42c | ||
|
|
8b2f19536f | ||
|
|
872004132f | ||
|
|
08243d26d2 | ||
|
|
03c60c1573 | ||
|
|
f446b48ff0 | ||
|
|
caa55b65c2 | ||
|
|
68563937f5 | ||
|
|
6abda995a5 | ||
|
|
009c7b2640 | ||
|
|
4d0504019c | ||
|
|
de33011ec6 | ||
|
|
c695cec469 | ||
|
|
6247361101 | ||
|
|
2d02839050 | ||
|
|
453b576ee5 | ||
|
|
a216255a4f | ||
|
|
31f19ce0a0 | ||
|
|
9d9c356517 | ||
|
|
04e94c7881 | ||
|
|
12c4492dd3 | ||
|
|
7069bf18e1 | ||
|
|
cbd4de44e8 | ||
|
|
c6aa475a27 | ||
|
|
6e450a5754 | ||
|
|
287266527a | ||
|
|
29891c4ed4 | ||
|
|
aaeabfbca5 | ||
|
|
14a612fa2e | ||
|
|
7034a83743 | ||
|
|
a4ce25bd98 | ||
|
|
294740d2ac | ||
|
|
9269315f63 | ||
|
|
f845b87f2b | ||
|
|
0cdb72aa38 | ||
|
|
bc2eada542 | ||
|
|
269aec7e61 | ||
|
|
f8eb9c51e5 | ||
|
|
5e1e6d265d | ||
|
|
b094ff4b2b | ||
|
|
777b30f827 | ||
|
|
54b2bfa399 | ||
|
|
ded2782783 | ||
|
|
c4bfedabe0 | ||
|
|
fe38b494ff | ||
|
|
4c8980b717 | ||
|
|
73b484c4da | ||
|
|
63de19e805 | ||
|
|
0df3c7f2a0 | ||
|
|
7089237885 | ||
|
|
73fd498886 | ||
|
|
6270660611 | ||
|
|
eaaa9bbda6 | ||
|
|
3421566376 | ||
|
|
a899e6ecc4 | ||
|
|
3fad98e8af | ||
|
|
a2477fd349 | ||
|
|
5643db84c6 | ||
|
|
21efc3633e | ||
|
|
99c5eb4fd7 | ||
|
|
5162822914 | ||
|
|
cf49790443 | ||
|
|
327054df45 | ||
|
|
6dbf66aa3e | ||
|
|
e3af763d5e | ||
|
|
b04a98f6c3 | ||
|
|
87f3d202a9 | ||
|
|
eca626fcdb | ||
|
|
eebd84eb94 | ||
|
|
5a030a540f | ||
|
|
b129a447f3 | ||
|
|
65e08ee1d2 | ||
|
|
958dc6923d | ||
|
|
0945eaface | ||
|
|
4b785f69c0 | ||
|
|
f422bcc7f9 | ||
|
|
8a8199e4a1 | ||
|
|
7554da4033 | ||
|
|
031cb743ae | ||
|
|
319afe3804 | ||
|
|
73095288da | ||
|
|
58c358753e | ||
|
|
833eb1d752 | ||
|
|
2cab0e1910 | ||
|
|
182707ac10 | ||
|
|
63e4344edc | ||
|
|
dda39aeafc | ||
|
|
ca8b8d6956 | ||
|
|
9f0e423c28 | ||
|
|
6c896867c4 | ||
|
|
a859f04b4d | ||
|
|
cc28e2d05d | ||
|
|
7df915d113 | ||
|
|
c0514bf477 | ||
|
|
2256c99471 | ||
|
|
8a01f969c1 | ||
|
|
7618e00d3b | ||
|
|
8e63905263 | ||
|
|
3f7d090726 | ||
|
|
d4db7719bd | ||
|
|
b6be3ea45b | ||
|
|
2b946c9f9b | ||
|
|
63bed3d319 | ||
|
|
e3505dfc85 | ||
|
|
79cbdcb1ee | ||
|
|
8a5883b748 | ||
|
|
95f096030e | ||
|
|
459ca56312 | ||
|
|
38bc495637 | ||
|
|
c4d4ac22f7 | ||
|
|
3f9ebf32a3 | ||
|
|
a1f4cb93ba | ||
|
|
25de4c232d | ||
|
|
21662be221 | ||
|
|
98500fdc61 | ||
|
|
4a08b0dc4d | ||
|
|
40d3f137e7 | ||
|
|
eb828d01d9 | ||
|
|
55952d4dd4 | ||
|
|
8161551724 | ||
|
|
aab3383e70 | ||
|
|
426f375422 | ||
|
|
de5e2c219b | ||
|
|
91e44a3305 | ||
|
|
9376f5f482 | ||
|
|
d0b5138ba4 | ||
|
|
3a117e19e0 | ||
|
|
b4ada79aa7 | ||
|
|
fb63090b62 | ||
|
|
60ef3e81f4 | ||
|
|
35a1f59d63 | ||
|
|
14207f487c | ||
|
|
01688ad545 | ||
|
|
2f97912800 | ||
|
|
6d5ad4c411 | ||
|
|
a350bab042 | ||
|
|
50e5376926 | ||
|
|
46fceaaa8d | ||
|
|
7756e7465d | ||
|
|
bb09ceb954 | ||
|
|
025e3e0baf | ||
|
|
9ec7fa82a2 | ||
|
|
cbd3bd6cbe | ||
|
|
869e35270e | ||
|
|
8507747600 | ||
|
|
156919f99a | ||
|
|
ca291aec99 | ||
|
|
0a9046fbcb | ||
|
|
97792de276 | ||
|
|
472e85970e | ||
|
|
9e507ca8a3 | ||
|
|
a6c27ee6db | ||
|
|
4575876dc8 | ||
|
|
3e8474dd50 | ||
|
|
e8ef3a0934 | ||
|
|
0ba407012c | ||
|
|
cea912af72 | ||
|
|
a7c023ec88 | ||
|
|
dc08328821 | ||
|
|
dc0ccaee68 | ||
|
|
9b45794818 | ||
|
|
936c48f8ca | ||
|
|
8ddef48d1e | ||
|
|
226630a030 | ||
|
|
ec68a99464 | ||
|
|
84dbd494dc | ||
|
|
6100d02aab | ||
|
|
2ec618c9fe | ||
|
|
b3435b0a3a | ||
|
|
b9c31e71f5 | ||
|
|
1777785751 | ||
|
|
890680ca63 | ||
|
|
0e77b7691e | ||
|
|
7ef3810d28 | ||
|
|
1eceadaf48 | ||
|
|
c79d6aa01d | ||
|
|
3e496b0ea3 | ||
|
|
9af4184276 | ||
|
|
20eeb6129d | ||
|
|
947000d6e4 | ||
|
|
680e015bfe | ||
|
|
3f1c15b24a | ||
|
|
50ba526fbf | ||
|
|
9e02cfa226 | ||
|
|
bbe917d9d4 | ||
|
|
ebdd90ac28 | ||
|
|
d07969093a | ||
|
|
3c4ebeba17 | ||
|
|
5582ef1438 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -5,6 +5,7 @@ src/xxd/xxd
|
|||||||
src/auto/if_perl.c
|
src/auto/if_perl.c
|
||||||
src/auto/gui_gtk_gresources.c
|
src/auto/gui_gtk_gresources.c
|
||||||
src/auto/gui_gtk_gresources.h
|
src/auto/gui_gtk_gresources.h
|
||||||
|
src/objects/.dirstamp
|
||||||
src/tags
|
src/tags
|
||||||
|
|
||||||
# We do need src/auto/configure.
|
# We do need src/auto/configure.
|
||||||
|
|||||||
21
.travis.yml
21
.travis.yml
@@ -18,13 +18,16 @@ env:
|
|||||||
# Mac OSX build
|
# Mac OSX build
|
||||||
- BUILD=yes TEST=test COVERAGE=no FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
- BUILD=yes TEST=test COVERAGE=no FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||||
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp'"
|
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp'"
|
||||||
|
# ASAN build
|
||||||
|
- BUILD=yes TEST=test SANITIZER_CFLAGS="-g -O1 -fsanitize=address -fno-omit-frame-pointer" FEATURES=huge SRCDIR=./src CHECK_AUTOCONF=no
|
||||||
|
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp'"
|
||||||
|
|
||||||
sudo: false
|
sudo: false
|
||||||
|
|
||||||
git:
|
git:
|
||||||
depth: 1
|
depth: 1
|
||||||
|
|
||||||
# instead of a 6*2*2 matrix (2*os + 2*compiler + 6*env),
|
# instead of a 2*2*8 matrix (2*os + 2*compiler + 8*env),
|
||||||
# exclude some builds on mac os x and linux
|
# exclude some builds on mac os x and linux
|
||||||
# linux: 2*compiler + 5*env + mac: 2*compiler + 2*env
|
# linux: 2*compiler + 5*env + mac: 2*compiler + 2*env
|
||||||
matrix:
|
matrix:
|
||||||
@@ -38,6 +41,13 @@ matrix:
|
|||||||
- os: osx
|
- os: osx
|
||||||
env: BUILD=yes TEST=scripttests COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
env: BUILD=yes TEST=scripttests COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||||
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp'"
|
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp'"
|
||||||
|
- os: osx
|
||||||
|
env: BUILD=yes TEST=test SANITIZER_CFLAGS="-g -O1 -fsanitize=address -fno-omit-frame-pointer" FEATURES=huge SRCDIR=./src CHECK_AUTOCONF=no
|
||||||
|
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp'"
|
||||||
|
- os: linux
|
||||||
|
compiler: gcc
|
||||||
|
env: BUILD=yes TEST=test SANITIZER_CFLAGS="-g -O1 -fsanitize=address -fno-omit-frame-pointer" FEATURES=huge SRCDIR=./src CHECK_AUTOCONF=no
|
||||||
|
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp'"
|
||||||
- os: linux
|
- os: linux
|
||||||
compiler: clang
|
compiler: clang
|
||||||
env: BUILD=no TEST=unittests COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes
|
env: BUILD=no TEST=unittests COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes
|
||||||
@@ -65,10 +75,17 @@ addons:
|
|||||||
- cscope
|
- cscope
|
||||||
|
|
||||||
before_install:
|
before_install:
|
||||||
- pip install --user cpp-coveralls
|
- if [ "$COVERAGE" = "yes" ]; then pip install --user cpp-coveralls; fi
|
||||||
|
# needed for https support for coveralls
|
||||||
|
# building cffi only works with gcc, not with clang
|
||||||
|
- if [ "$COVERAGE" = "yes" ]; then CC=gcc pip install --user pyopenssl ndg-httpsclient pyasn1; fi
|
||||||
# Lua is not installed on Travis OSX
|
# Lua is not installed on Travis OSX
|
||||||
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew install lua; export LUA_PREFIX=/usr/local; fi
|
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew install lua; export LUA_PREFIX=/usr/local; fi
|
||||||
|
|
||||||
|
# Start virtual framebuffer to be able to test the GUI. Does not work on OS X.
|
||||||
|
before_script:
|
||||||
|
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then export DISPLAY=:99.0 && sh -e /etc/init.d/xvfb start && sleep 3; fi
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- NPROC=$(getconf _NPROCESSORS_ONLN)
|
- NPROC=$(getconf _NPROCESSORS_ONLN)
|
||||||
- if [ "$CHECK_AUTOCONF" = "yes" -a "$CC" = "gcc" ]; then make -C src autoconf; fi
|
- if [ "$CHECK_AUTOCONF" = "yes" -a "$CC" = "gcc" ]; then make -C src autoconf; fi
|
||||||
|
|||||||
2
Filelist
2
Filelist
@@ -207,7 +207,7 @@ SRC_UNIX = \
|
|||||||
src/config.mk.dist \
|
src/config.mk.dist \
|
||||||
src/config.mk.in \
|
src/config.mk.in \
|
||||||
src/configure \
|
src/configure \
|
||||||
src/configure.in \
|
src/configure.ac \
|
||||||
src/gui_at_fs.c \
|
src/gui_at_fs.c \
|
||||||
src/gui_at_sb.c \
|
src/gui_at_sb.c \
|
||||||
src/gui_at_sb.h \
|
src/gui_at_sb.h \
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ These are the normal steps to install Vim from the .zip archives:
|
|||||||
located. Check the $VIM setting to see where it points to:
|
located. Check the $VIM setting to see where it points to:
|
||||||
set VIM
|
set VIM
|
||||||
For example, if you have
|
For example, if you have
|
||||||
C:\vim\vim74
|
C:\vim\vim80
|
||||||
do
|
do
|
||||||
cd C:\
|
cd C:\
|
||||||
Binary and runtime Vim archives are normally unpacked in the same location,
|
Binary and runtime Vim archives are normally unpacked in the same location,
|
||||||
|
|||||||
@@ -4,5 +4,25 @@ This file explains the installation of Vim on Macintosh systems.
|
|||||||
See "README.txt" for general information about Vim.
|
See "README.txt" for general information about Vim.
|
||||||
|
|
||||||
|
|
||||||
Sorry, this text still needs to be written!
|
To build from sources, like on Unix
|
||||||
|
|
||||||
|
1. Get the build tools: "clang" and "make". These can be installed with the
|
||||||
|
"CommandLineTools" package. If you don't have one, do
|
||||||
|
xcode-select --install
|
||||||
|
Just like for any software development with OS X.
|
||||||
|
|
||||||
|
2. Get the source code. Best is to use git (which you need to install first),
|
||||||
|
see http://www.vim.org/git.php
|
||||||
|
Or you can download and unpack the Unix tar archive, see
|
||||||
|
http://www.vim.org/download.php
|
||||||
|
|
||||||
|
3. Go to the top directory of the source tree, do
|
||||||
|
make
|
||||||
|
sudo make install
|
||||||
|
A newly built vim will be installed under "/usr/local".
|
||||||
|
|
||||||
|
|
||||||
|
If you can't manage to make this work, there is a fallback using Homebrew:
|
||||||
|
|
||||||
|
1. Install Homebrew from http://brew.sh/
|
||||||
|
2. Install latest Vim with: brew install vim
|
||||||
|
|||||||
@@ -16,9 +16,6 @@ matrix:
|
|||||||
|
|
||||||
before_build:
|
before_build:
|
||||||
- '"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 /release'
|
- '"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 /release'
|
||||||
# Work around for Python 2.7.11's bug
|
|
||||||
- reg copy HKLM\SOFTWARE\Python\PythonCore\2.7 HKLM\SOFTWARE\Python\PythonCore\2.7-32 /s /reg:32
|
|
||||||
- reg copy HKLM\SOFTWARE\Python\PythonCore\2.7 HKLM\SOFTWARE\Python\PythonCore\2.7-32 /s /reg:64
|
|
||||||
|
|
||||||
build_script:
|
build_script:
|
||||||
- src/appveyor.bat
|
- src/appveyor.bat
|
||||||
|
|||||||
184
runtime/autoload/context.vim
Normal file
184
runtime/autoload/context.vim
Normal file
@@ -0,0 +1,184 @@
|
|||||||
|
" Language: ConTeXt typesetting engine
|
||||||
|
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||||
|
" Latest Revision: 2016 Oct 21
|
||||||
|
|
||||||
|
let s:keepcpo= &cpo
|
||||||
|
set cpo&vim
|
||||||
|
|
||||||
|
" Helper functions {{{
|
||||||
|
function! s:context_echo(message, mode)
|
||||||
|
redraw
|
||||||
|
echo "\r"
|
||||||
|
execute 'echohl' a:mode
|
||||||
|
echomsg '[ConTeXt]' a:message
|
||||||
|
echohl None
|
||||||
|
endf
|
||||||
|
|
||||||
|
function! s:sh()
|
||||||
|
return has('win32') || has('win64') || has('win16') || has('win95')
|
||||||
|
\ ? ['cmd.exe', '/C']
|
||||||
|
\ : ['/bin/sh', '-c']
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" For backward compatibility
|
||||||
|
if exists('*win_getid')
|
||||||
|
|
||||||
|
function! s:win_getid()
|
||||||
|
return win_getid()
|
||||||
|
endf
|
||||||
|
|
||||||
|
function! s:win_id2win(winid)
|
||||||
|
return win_id2win(a:winid)
|
||||||
|
endf
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
function! s:win_getid()
|
||||||
|
return winnr()
|
||||||
|
endf
|
||||||
|
|
||||||
|
function! s:win_id2win(winnr)
|
||||||
|
return a:winnr
|
||||||
|
endf
|
||||||
|
|
||||||
|
endif
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
" ConTeXt jobs {{{
|
||||||
|
if has('job')
|
||||||
|
|
||||||
|
let g:context_jobs = []
|
||||||
|
|
||||||
|
" Print the status of ConTeXt jobs
|
||||||
|
function! context#job_status()
|
||||||
|
let l:jobs = filter(g:context_jobs, 'job_status(v:val) == "run"')
|
||||||
|
let l:n = len(l:jobs)
|
||||||
|
call s:context_echo(
|
||||||
|
\ 'There '.(l:n == 1 ? 'is' : 'are').' '.(l:n == 0 ? 'no' : l:n)
|
||||||
|
\ .' job'.(l:n == 1 ? '' : 's').' running'
|
||||||
|
\ .(l:n == 0 ? '.' : ' (' . join(l:jobs, ', ').').'),
|
||||||
|
\ 'ModeMsg')
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" Stop all ConTeXt jobs
|
||||||
|
function! context#stop_jobs()
|
||||||
|
let l:jobs = filter(g:context_jobs, 'job_status(v:val) == "run"')
|
||||||
|
for job in l:jobs
|
||||||
|
call job_stop(job)
|
||||||
|
endfor
|
||||||
|
sleep 1
|
||||||
|
let l:tmp = []
|
||||||
|
for job in l:jobs
|
||||||
|
if job_status(job) == "run"
|
||||||
|
call add(l:tmp, job)
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
let g:context_jobs = l:tmp
|
||||||
|
if empty(g:context_jobs)
|
||||||
|
call s:context_echo('Done. No jobs running.', 'ModeMsg')
|
||||||
|
else
|
||||||
|
call s:context_echo('There are still some jobs running. Please try again.', 'WarningMsg')
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! context#callback(path, job, status)
|
||||||
|
if index(g:context_jobs, a:job) != -1 && job_status(a:job) != 'run' " just in case
|
||||||
|
call remove(g:context_jobs, index(g:context_jobs, a:job))
|
||||||
|
endif
|
||||||
|
call s:callback(a:path, a:job, a:status)
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! context#close_cb(channel)
|
||||||
|
call job_status(ch_getjob(a:channel)) " Trigger exit_cb's callback for faster feedback
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:typeset(path)
|
||||||
|
call add(g:context_jobs,
|
||||||
|
\ job_start(add(s:sh(), context#command() . ' ' . shellescape(fnamemodify(a:path, ":t"))), {
|
||||||
|
\ 'close_cb' : 'context#close_cb',
|
||||||
|
\ 'exit_cb' : function(get(b:, 'context_callback', get(g:, 'context_callback', 'context#callback')),
|
||||||
|
\ [a:path]),
|
||||||
|
\ 'in_io' : 'null'
|
||||||
|
\ }))
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
else " No jobs
|
||||||
|
|
||||||
|
function! context#job_status()
|
||||||
|
call s:context_echo('Not implemented', 'WarningMsg')
|
||||||
|
endfunction!
|
||||||
|
|
||||||
|
function! context#stop_jobs()
|
||||||
|
call s:context_echo('Not implemented', 'WarningMsg')
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! context#callback(path, job, status)
|
||||||
|
call s:callback(a:path, a:job, a:status)
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:typeset(path)
|
||||||
|
execute '!' . context#command() . ' ' . shellescape(fnamemodify(a:path, ":t"))
|
||||||
|
call call(get(b:, 'context_callback', get(g:, 'context_callback', 'context#callback')),
|
||||||
|
\ [a:path, 0, v:shell_error])
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
endif " has('job')
|
||||||
|
|
||||||
|
function! s:callback(path, job, status) abort
|
||||||
|
if a:status < 0 " Assume the job was terminated
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
" Get info about the current window
|
||||||
|
let l:winid = s:win_getid() " Save window id
|
||||||
|
let l:efm = &l:errorformat " Save local errorformat
|
||||||
|
let l:cwd = fnamemodify(getcwd(), ":p") " Save local working directory
|
||||||
|
" Set errorformat to parse ConTeXt errors
|
||||||
|
execute 'setl efm=' . escape(b:context_errorformat, ' ')
|
||||||
|
try " Set cwd to expand error file correctly
|
||||||
|
execute 'lcd' fnameescape(fnamemodify(a:path, ':h'))
|
||||||
|
catch /.*/
|
||||||
|
execute 'setl efm=' . escape(l:efm, ' ')
|
||||||
|
throw v:exception
|
||||||
|
endtry
|
||||||
|
try
|
||||||
|
execute 'cgetfile' fnameescape(fnamemodify(a:path, ':r') . '.log')
|
||||||
|
botright cwindow
|
||||||
|
finally " Restore cwd and errorformat
|
||||||
|
execute s:win_id2win(l:winid) . 'wincmd w'
|
||||||
|
execute 'lcd ' . fnameescape(l:cwd)
|
||||||
|
execute 'setl efm=' . escape(l:efm, ' ')
|
||||||
|
endtry
|
||||||
|
if a:status == 0
|
||||||
|
call s:context_echo('Success!', 'ModeMsg')
|
||||||
|
else
|
||||||
|
call s:context_echo('There are errors. ', 'ErrorMsg')
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! context#command()
|
||||||
|
return get(b:, 'context_mtxrun', get(g:, 'context_mtxrun', 'mtxrun'))
|
||||||
|
\ . ' --script context --autogenerate --nonstopmode'
|
||||||
|
\ . ' --synctex=' . (get(b:, 'context_synctex', get(g:, 'context_synctex', 0)) ? '1' : '0')
|
||||||
|
\ . ' ' . get(b:, 'context_extra_options', get(g:, 'context_extra_options', ''))
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" Accepts an optional path (useful for big projects, when the file you are
|
||||||
|
" editing is not the project's root document). If no argument is given, uses
|
||||||
|
" the path of the current buffer.
|
||||||
|
function! context#typeset(...) abort
|
||||||
|
let l:path = fnamemodify(strlen(a:000[0]) > 0 ? a:1 : expand("%"), ":p")
|
||||||
|
let l:cwd = fnamemodify(getcwd(), ":p") " Save local working directory
|
||||||
|
call s:context_echo('Typesetting...', 'ModeMsg')
|
||||||
|
execute 'lcd' fnameescape(fnamemodify(l:path, ":h"))
|
||||||
|
try
|
||||||
|
call s:typeset(l:path)
|
||||||
|
finally " Restore local working directory
|
||||||
|
execute 'lcd ' . fnameescape(l:cwd)
|
||||||
|
endtry
|
||||||
|
endfunction!
|
||||||
|
"}}}
|
||||||
|
|
||||||
|
let &cpo = s:keepcpo
|
||||||
|
unlet s:keepcpo
|
||||||
|
|
||||||
|
" vim: sw=2 fdm=marker
|
||||||
25
runtime/autoload/contextcomplete.vim
Normal file
25
runtime/autoload/contextcomplete.vim
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
" Language: ConTeXt typesetting engine
|
||||||
|
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||||
|
" Latest Revision: 2016 Oct 15
|
||||||
|
|
||||||
|
let s:keepcpo= &cpo
|
||||||
|
set cpo&vim
|
||||||
|
|
||||||
|
" Complete keywords in MetaPost blocks
|
||||||
|
function! contextcomplete#Complete(findstart, base)
|
||||||
|
if a:findstart == 1
|
||||||
|
if len(synstack(line('.'), 1)) > 0 &&
|
||||||
|
\ synIDattr(synstack(line('.'), 1)[0], "name") ==# 'contextMPGraphic'
|
||||||
|
return syntaxcomplete#Complete(a:findstart, a:base)
|
||||||
|
else
|
||||||
|
return -3
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
return syntaxcomplete#Complete(a:findstart, a:base)
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
let &cpo = s:keepcpo
|
||||||
|
unlet s:keepcpo
|
||||||
|
|
||||||
|
" vim: sw=2 fdm=marker
|
||||||
@@ -236,7 +236,7 @@ fun! getscript#GetLatestVimScripts()
|
|||||||
" call Decho("..depscript<".depscript.">")
|
" call Decho("..depscript<".depscript.">")
|
||||||
|
|
||||||
" found a "GetLatestVimScripts: # #" line in the script;
|
" found a "GetLatestVimScripts: # #" line in the script;
|
||||||
" check if its already in the datafile by searching backwards from llp1,
|
" check if it's already in the datafile by searching backwards from llp1,
|
||||||
" the (prior to reading in the plugin script) last line plus one of the GetLatestVimScripts.dat file,
|
" the (prior to reading in the plugin script) last line plus one of the GetLatestVimScripts.dat file,
|
||||||
" for the script-id with no wrapping allowed.
|
" for the script-id with no wrapping allowed.
|
||||||
let curline = line(".")
|
let curline = line(".")
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
" Vim autoload file for editing compressed files.
|
" Vim autoload file for editing compressed files.
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2014 Nov 05
|
" Last Change: 2016 Sep 28
|
||||||
|
|
||||||
" These functions are used by the gzip plugin.
|
" These functions are used by the gzip plugin.
|
||||||
|
|
||||||
@@ -63,6 +63,9 @@ fun gzip#read(cmd)
|
|||||||
" set 'modifiable'
|
" set 'modifiable'
|
||||||
let ma_save = &ma
|
let ma_save = &ma
|
||||||
setlocal ma
|
setlocal ma
|
||||||
|
" set 'write'
|
||||||
|
let write_save = &write
|
||||||
|
set write
|
||||||
" Reset 'foldenable', otherwise line numbers get adjusted.
|
" Reset 'foldenable', otherwise line numbers get adjusted.
|
||||||
if has("folding")
|
if has("folding")
|
||||||
let fen_save = &fen
|
let fen_save = &fen
|
||||||
@@ -127,6 +130,7 @@ fun gzip#read(cmd)
|
|||||||
let &pm = pm_save
|
let &pm = pm_save
|
||||||
let &cpo = cpo_save
|
let &cpo = cpo_save
|
||||||
let &l:ma = ma_save
|
let &l:ma = ma_save
|
||||||
|
let &write = write_save
|
||||||
if has("folding")
|
if has("folding")
|
||||||
let &l:fen = fen_save
|
let &l:fen = fen_save
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
" Maintainer: Dávid Szabó ( complex857 AT gmail DOT com )
|
" Maintainer: Dávid Szabó ( complex857 AT gmail DOT com )
|
||||||
" Previous Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
|
" Previous Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
|
||||||
" URL: https://github.com/shawncplus/phpcomplete.vim
|
" URL: https://github.com/shawncplus/phpcomplete.vim
|
||||||
" Last Change: 2015 Jul 13
|
" Last Change: 2016 Oct 10
|
||||||
"
|
"
|
||||||
" OPTIONS:
|
" OPTIONS:
|
||||||
"
|
"
|
||||||
@@ -195,6 +195,8 @@ function! phpcomplete#CompletePHP(findstart, base) " {{{
|
|||||||
" }}}
|
" }}}
|
||||||
elseif context =~? 'implements'
|
elseif context =~? 'implements'
|
||||||
return phpcomplete#CompleteClassName(a:base, ['i'], current_namespace, imports)
|
return phpcomplete#CompleteClassName(a:base, ['i'], current_namespace, imports)
|
||||||
|
elseif context =~? 'instanceof'
|
||||||
|
return phpcomplete#CompleteClassName(a:base, ['c', 'n'], current_namespace, imports)
|
||||||
elseif context =~? 'extends\s\+.\+$' && a:base == ''
|
elseif context =~? 'extends\s\+.\+$' && a:base == ''
|
||||||
return ['implements']
|
return ['implements']
|
||||||
elseif context =~? 'extends'
|
elseif context =~? 'extends'
|
||||||
@@ -787,6 +789,8 @@ function! phpcomplete#CompleteClassName(base, kinds, current_namespace, imports)
|
|||||||
|
|
||||||
if kinds == ['c', 'i']
|
if kinds == ['c', 'i']
|
||||||
let filterstr = 'v:val =~? "\\(class\\|interface\\)\\s\\+[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*\\s*"'
|
let filterstr = 'v:val =~? "\\(class\\|interface\\)\\s\\+[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*\\s*"'
|
||||||
|
elseif kinds == ['c', 'n']
|
||||||
|
let filterstr = 'v:val =~? "\\(class\\|namespace\\)\\s\\+[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*\\s*"'
|
||||||
elseif kinds == ['c']
|
elseif kinds == ['c']
|
||||||
let filterstr = 'v:val =~? "class\\s\\+[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*\\s*"'
|
let filterstr = 'v:val =~? "class\\s\\+[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*\\s*"'
|
||||||
elseif kinds == ['i']
|
elseif kinds == ['i']
|
||||||
@@ -931,7 +935,7 @@ function! phpcomplete#EvaluateModifiers(modifiers, required_modifiers, prohibite
|
|||||||
endfor
|
endfor
|
||||||
|
|
||||||
for modifier in a:modifiers
|
for modifier in a:modifiers
|
||||||
" if the modifier is prohibited its a no match
|
" if the modifier is prohibited it's a no match
|
||||||
if index(a:prohibited_modifiers, modifier) != -1
|
if index(a:prohibited_modifiers, modifier) != -1
|
||||||
return 0
|
return 0
|
||||||
endif
|
endif
|
||||||
@@ -996,7 +1000,7 @@ function! phpcomplete#CompleteUserClass(context, base, sccontent, visibility) "
|
|||||||
let required_modifiers += ['static']
|
let required_modifiers += ['static']
|
||||||
endif
|
endif
|
||||||
let all_variable = filter(deepcopy(a:sccontent),
|
let all_variable = filter(deepcopy(a:sccontent),
|
||||||
\ 'v:val =~ "^\\s*\\(var\\s\\+\\|public\\s\\+\\|protected\\s\\+\\|private\\s\\+\\|final\\s\\+\\|abstract\\s\\+\\|static\\s\\+\\)\\+\\$"')
|
\ 'v:val =~ "\\(^\\s*\\(var\\s\\+\\|public\\s\\+\\|protected\\s\\+\\|private\\s\\+\\|final\\s\\+\\|abstract\\s\\+\\|static\\s\\+\\)\\+\\$\\|^\\s*\\(\\/\\|\\*\\)*\\s*@property\\s\\+\\S\\+\\s\\S\\{-}\\s*$\\)"')
|
||||||
|
|
||||||
let variables = []
|
let variables = []
|
||||||
for i in all_variable
|
for i in all_variable
|
||||||
@@ -1160,6 +1164,14 @@ function! phpcomplete#GetTaglist(pattern) " {{{
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
let tags = taglist(a:pattern)
|
let tags = taglist(a:pattern)
|
||||||
|
for tag in tags
|
||||||
|
for prop in keys(tag)
|
||||||
|
if prop == 'cmd' || prop == 'static' || prop == 'kind' || prop == 'builtin'
|
||||||
|
continue
|
||||||
|
endif
|
||||||
|
let tag[prop] = substitute(tag[prop], '\\\\', '\\', 'g')
|
||||||
|
endfor
|
||||||
|
endfor
|
||||||
let s:cache_tags[a:pattern] = tags
|
let s:cache_tags[a:pattern] = tags
|
||||||
let has_key = has_key(s:cache_tags, a:pattern)
|
let has_key = has_key(s:cache_tags, a:pattern)
|
||||||
let s:cache_tags_checksum = cache_checksum
|
let s:cache_tags_checksum = cache_checksum
|
||||||
@@ -1379,7 +1391,7 @@ function! phpcomplete#GetCallChainReturnType(classname_candidate, class_candidat
|
|||||||
" Get Structured information of all classes and subclasses including namespace and includes
|
" Get Structured information of all classes and subclasses including namespace and includes
|
||||||
" try to find the method's return type in docblock comment
|
" try to find the method's return type in docblock comment
|
||||||
for classstructure in classcontents
|
for classstructure in classcontents
|
||||||
let docblock_target_pattern = 'function\s\+&\?'.method.'\|\(public\|private\|protected\|var\).\+\$'.method
|
let docblock_target_pattern = 'function\s\+&\?'.method.'\>\|\(public\|private\|protected\|var\).\+\$'.method.'\>\|@property.\+\$'.method.'\>'
|
||||||
let doc_str = phpcomplete#GetDocBlock(split(classstructure.content, '\n'), docblock_target_pattern)
|
let doc_str = phpcomplete#GetDocBlock(split(classstructure.content, '\n'), docblock_target_pattern)
|
||||||
if doc_str != ''
|
if doc_str != ''
|
||||||
break
|
break
|
||||||
@@ -1387,8 +1399,17 @@ function! phpcomplete#GetCallChainReturnType(classname_candidate, class_candidat
|
|||||||
endfor
|
endfor
|
||||||
if doc_str != ''
|
if doc_str != ''
|
||||||
let docblock = phpcomplete#ParseDocBlock(doc_str)
|
let docblock = phpcomplete#ParseDocBlock(doc_str)
|
||||||
if has_key(docblock.return, 'type') || has_key(docblock.var, 'type')
|
if has_key(docblock.return, 'type') || has_key(docblock.var, 'type') || len(docblock.properties) > 0
|
||||||
let type = has_key(docblock.return, 'type') ? docblock.return.type : docblock.var.type
|
let type = has_key(docblock.return, 'type') ? docblock.return.type : has_key(docblock.var, 'type') ? docblock.var.type : ''
|
||||||
|
|
||||||
|
if type == ''
|
||||||
|
for property in docblock.properties
|
||||||
|
if property.description =~? method
|
||||||
|
let type = property.type
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
endif
|
||||||
|
|
||||||
" there's a namespace in the type, threat the type as FQCN
|
" there's a namespace in the type, threat the type as FQCN
|
||||||
if type =~ '\\'
|
if type =~ '\\'
|
||||||
@@ -1554,6 +1575,9 @@ function! phpcomplete#GetClassName(start_line, context, current_namespace, impor
|
|||||||
elseif get(methodstack, 0) =~# function_invocation_pattern
|
elseif get(methodstack, 0) =~# function_invocation_pattern
|
||||||
let function_name = matchstr(methodstack[0], '^\s*\zs'.function_name_pattern)
|
let function_name = matchstr(methodstack[0], '^\s*\zs'.function_name_pattern)
|
||||||
let function_file = phpcomplete#GetFunctionLocation(function_name, a:current_namespace)
|
let function_file = phpcomplete#GetFunctionLocation(function_name, a:current_namespace)
|
||||||
|
if function_file == ''
|
||||||
|
let function_file = phpcomplete#GetFunctionLocation(function_name, '\')
|
||||||
|
endif
|
||||||
|
|
||||||
if function_file == 'VIMPHP_BUILTINFUNCTION'
|
if function_file == 'VIMPHP_BUILTINFUNCTION'
|
||||||
" built in function, grab the return type from the info string
|
" built in function, grab the return type from the info string
|
||||||
@@ -1569,7 +1593,7 @@ function! phpcomplete#GetClassName(start_line, context, current_namespace, impor
|
|||||||
let [class_candidate_namespace, function_imports] = phpcomplete#GetCurrentNameSpace(file_lines)
|
let [class_candidate_namespace, function_imports] = phpcomplete#GetCurrentNameSpace(file_lines)
|
||||||
" try to expand the classname of the returned type with the context got from the function's source file
|
" try to expand the classname of the returned type with the context got from the function's source file
|
||||||
|
|
||||||
let [classname_candidate, unused] = phpcomplete#ExpandClassName(classname_candidate, class_candidate_namespace, function_imports)
|
let [classname_candidate, class_candidate_namespace] = phpcomplete#ExpandClassName(classname_candidate, class_candidate_namespace, function_imports)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
if classname_candidate != ''
|
if classname_candidate != ''
|
||||||
@@ -1650,9 +1674,10 @@ function! phpcomplete#GetClassName(start_line, context, current_namespace, impor
|
|||||||
let sub_methodstack = phpcomplete#GetMethodStack(matchstr(line, '^\s*'.object.'\s*=&\?\s*\s\+\zs.*'))
|
let sub_methodstack = phpcomplete#GetMethodStack(matchstr(line, '^\s*'.object.'\s*=&\?\s*\s\+\zs.*'))
|
||||||
let [classname_candidate, class_candidate_namespace] = phpcomplete#GetCallChainReturnType(
|
let [classname_candidate, class_candidate_namespace] = phpcomplete#GetCallChainReturnType(
|
||||||
\ classname,
|
\ classname,
|
||||||
\ a:current_namespace,
|
\ namespace_for_class,
|
||||||
\ a:imports,
|
\ a:imports,
|
||||||
\ sub_methodstack)
|
\ sub_methodstack)
|
||||||
|
|
||||||
return (class_candidate_namespace == '\' || class_candidate_namespace == '') ? classname_candidate : class_candidate_namespace.'\'.classname_candidate
|
return (class_candidate_namespace == '\' || class_candidate_namespace == '') ? classname_candidate : class_candidate_namespace.'\'.classname_candidate
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
@@ -1783,6 +1808,9 @@ function! phpcomplete#GetClassName(start_line, context, current_namespace, impor
|
|||||||
let [function_name, function_namespace] = phpcomplete#ExpandClassName(function_name, a:current_namespace, a:imports)
|
let [function_name, function_namespace] = phpcomplete#ExpandClassName(function_name, a:current_namespace, a:imports)
|
||||||
|
|
||||||
let function_file = phpcomplete#GetFunctionLocation(function_name, function_namespace)
|
let function_file = phpcomplete#GetFunctionLocation(function_name, function_namespace)
|
||||||
|
if function_file == ''
|
||||||
|
let function_file = phpcomplete#GetFunctionLocation(function_name, '\')
|
||||||
|
endif
|
||||||
|
|
||||||
if function_file == 'VIMPHP_BUILTINFUNCTION'
|
if function_file == 'VIMPHP_BUILTINFUNCTION'
|
||||||
" built in function, grab the return type from the info string
|
" built in function, grab the return type from the info string
|
||||||
@@ -1798,7 +1826,7 @@ function! phpcomplete#GetClassName(start_line, context, current_namespace, impor
|
|||||||
let classname_candidate = docblock.return.type
|
let classname_candidate = docblock.return.type
|
||||||
let [class_candidate_namespace, function_imports] = phpcomplete#GetCurrentNameSpace(file_lines)
|
let [class_candidate_namespace, function_imports] = phpcomplete#GetCurrentNameSpace(file_lines)
|
||||||
" try to expand the classname of the returned type with the context got from the function's source file
|
" try to expand the classname of the returned type with the context got from the function's source file
|
||||||
let [classname_candidate, unused] = phpcomplete#ExpandClassName(classname_candidate, class_candidate_namespace, function_imports)
|
let [classname_candidate, class_candidate_namespace] = phpcomplete#ExpandClassName(classname_candidate, class_candidate_namespace, function_imports)
|
||||||
break
|
break
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
@@ -1861,6 +1889,8 @@ function! phpcomplete#GetClassName(start_line, context, current_namespace, impor
|
|||||||
for tag in tags
|
for tag in tags
|
||||||
if tag.kind ==? 'v' && tag.cmd =~? '=\s*new\s\+\zs'.class_name_pattern.'\ze'
|
if tag.kind ==? 'v' && tag.cmd =~? '=\s*new\s\+\zs'.class_name_pattern.'\ze'
|
||||||
let classname = matchstr(tag.cmd, '=\s*new\s\+\zs'.class_name_pattern.'\ze')
|
let classname = matchstr(tag.cmd, '=\s*new\s\+\zs'.class_name_pattern.'\ze')
|
||||||
|
" unescape the classname, it would have "\" doubled since it is an ex command
|
||||||
|
let classname = substitute(classname, '\\\(\_.\)', '\1', 'g')
|
||||||
return classname
|
return classname
|
||||||
endif
|
endif
|
||||||
endfor
|
endfor
|
||||||
@@ -2077,6 +2107,19 @@ function! phpcomplete#GetClassContentsStructure(file_path, file_lines, class_nam
|
|||||||
endif
|
endif
|
||||||
call searchpair('{', '', '}', 'W')
|
call searchpair('{', '', '}', 'W')
|
||||||
let class_closing_bracket_line = line('.')
|
let class_closing_bracket_line = line('.')
|
||||||
|
|
||||||
|
" Include class docblock
|
||||||
|
let doc_line = cfline - 1
|
||||||
|
if getline(doc_line) =~? '^\s*\*/'
|
||||||
|
while doc_line != 0
|
||||||
|
if getline(doc_line) =~? '^\s*/\*\*'
|
||||||
|
let cfline = doc_line
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
let doc_line -= 1
|
||||||
|
endwhile
|
||||||
|
endif
|
||||||
|
|
||||||
let classcontent = join(getline(cfline, class_closing_bracket_line), "\n")
|
let classcontent = join(getline(cfline, class_closing_bracket_line), "\n")
|
||||||
|
|
||||||
let used_traits = []
|
let used_traits = []
|
||||||
@@ -2241,8 +2284,19 @@ function! phpcomplete#GetDocBlock(sccontent, search) " {{{
|
|||||||
let line = a:sccontent[i]
|
let line = a:sccontent[i]
|
||||||
" search for a function declaration
|
" search for a function declaration
|
||||||
if line =~? a:search
|
if line =~? a:search
|
||||||
|
if line =~? '@property'
|
||||||
|
let doc_line = i
|
||||||
|
while doc_line != sccontent_len - 1
|
||||||
|
if a:sccontent[doc_line] =~? '^\s*\*/'
|
||||||
|
let l = doc_line
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
let doc_line += 1
|
||||||
|
endwhile
|
||||||
|
else
|
||||||
let l = i - 1
|
let l = i - 1
|
||||||
" start backward serch for the comment block
|
endif
|
||||||
|
" start backward search for the comment block
|
||||||
while l != 0
|
while l != 0
|
||||||
let line = a:sccontent[l]
|
let line = a:sccontent[l]
|
||||||
" if it's a one line docblock like comment and we can just return it right away
|
" if it's a one line docblock like comment and we can just return it right away
|
||||||
@@ -2263,7 +2317,7 @@ function! phpcomplete#GetDocBlock(sccontent, search) " {{{
|
|||||||
return ''
|
return ''
|
||||||
end
|
end
|
||||||
|
|
||||||
while l != 0
|
while l >= 0
|
||||||
let line = a:sccontent[l]
|
let line = a:sccontent[l]
|
||||||
if line =~? '^\s*/\*\*'
|
if line =~? '^\s*/\*\*'
|
||||||
let comment_start = l
|
let comment_start = l
|
||||||
@@ -2297,9 +2351,10 @@ function! phpcomplete#ParseDocBlock(docblock) " {{{
|
|||||||
\ 'return': {},
|
\ 'return': {},
|
||||||
\ 'throws': [],
|
\ 'throws': [],
|
||||||
\ 'var': {},
|
\ 'var': {},
|
||||||
|
\ 'properties': [],
|
||||||
\ }
|
\ }
|
||||||
|
|
||||||
let res.description = substitute(matchstr(a:docblock, '\zs\_.\{-}\ze\(@var\|@param\|@return\|$\)'), '\(^\_s*\|\_s*$\)', '', 'g')
|
let res.description = substitute(matchstr(a:docblock, '\zs\_.\{-}\ze\(@type\|@var\|@param\|@return\|$\)'), '\(^\_s*\|\_s*$\)', '', 'g')
|
||||||
let docblock_lines = split(a:docblock, "\n")
|
let docblock_lines = split(a:docblock, "\n")
|
||||||
|
|
||||||
let param_lines = filter(copy(docblock_lines), 'v:val =~? "^@param"')
|
let param_lines = filter(copy(docblock_lines), 'v:val =~? "^@param"')
|
||||||
@@ -2334,15 +2389,26 @@ function! phpcomplete#ParseDocBlock(docblock) " {{{
|
|||||||
endif
|
endif
|
||||||
endfor
|
endfor
|
||||||
|
|
||||||
let var_line = filter(copy(docblock_lines), 'v:val =~? "^@var"')
|
let var_line = filter(copy(docblock_lines), 'v:val =~? "^\\(@var\\|@type\\)"')
|
||||||
if len(var_line) > 0
|
if len(var_line) > 0
|
||||||
let var_parts = matchlist(var_line[0], '@var\s\+\(\S\+\)\s*\(.*\)')
|
let var_parts = matchlist(var_line[0], '\(@var\|@type\)\s\+\(\S\+\)\s*\(.*\)')
|
||||||
let res['var'] = {
|
let res['var'] = {
|
||||||
\ 'line': var_parts[0],
|
\ 'line': var_parts[0],
|
||||||
\ 'type': phpcomplete#GetTypeFromDocBlockParam(get(var_parts, 1, '')),
|
\ 'type': phpcomplete#GetTypeFromDocBlockParam(get(var_parts, 2, '')),
|
||||||
\ 'description': get(var_parts, 2, '')}
|
\ 'description': get(var_parts, 3, '')}
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
let property_lines = filter(copy(docblock_lines), 'v:val =~? "^@property"')
|
||||||
|
for property_line in property_lines
|
||||||
|
let parts = matchlist(property_line, '\(@property\)\s\+\(\S\+\)\s*\(.*\)')
|
||||||
|
if len(parts) > 0
|
||||||
|
call add(res.properties, {
|
||||||
|
\ 'line': parts[0],
|
||||||
|
\ 'type': phpcomplete#GetTypeFromDocBlockParam(get(parts, 2, '')),
|
||||||
|
\ 'description': get(parts, 3, '')})
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
|
||||||
return res
|
return res
|
||||||
endfunction
|
endfunction
|
||||||
" }}}
|
" }}}
|
||||||
@@ -2498,6 +2564,7 @@ function! phpcomplete#GetCurrentNameSpace(file_lines) " {{{
|
|||||||
let name = matchstr(name, '\\\zs[^\\]\+\ze$')
|
let name = matchstr(name, '\\\zs[^\\]\+\ze$')
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" leading slash is not required use imports are always absolute
|
" leading slash is not required use imports are always absolute
|
||||||
let imports[name] = {'name': object, 'kind': ''}
|
let imports[name] = {'name': object, 'kind': ''}
|
||||||
endfor
|
endfor
|
||||||
@@ -2533,6 +2600,7 @@ function! phpcomplete#GetCurrentNameSpace(file_lines) " {{{
|
|||||||
elseif !exists('no_namespace_candidate')
|
elseif !exists('no_namespace_candidate')
|
||||||
" save the first namespacless match to be used if no better
|
" save the first namespacless match to be used if no better
|
||||||
" candidate found later on
|
" candidate found later on
|
||||||
|
let tag.namespace = namespace_for_classes
|
||||||
let no_namespace_candidate = tag
|
let no_namespace_candidate = tag
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -196,7 +196,7 @@ function! rubycomplete#Complete(findstart, base)
|
|||||||
if c =~ '\w'
|
if c =~ '\w'
|
||||||
continue
|
continue
|
||||||
elseif ! c =~ '\.'
|
elseif ! c =~ '\.'
|
||||||
idx = -1
|
let idx = -1
|
||||||
break
|
break
|
||||||
else
|
else
|
||||||
break
|
break
|
||||||
|
|||||||
@@ -117,7 +117,7 @@ fun! tar#Browse(tarfile)
|
|||||||
if !filereadable(a:tarfile)
|
if !filereadable(a:tarfile)
|
||||||
" call Decho('a:tarfile<'.a:tarfile.'> not filereadable')
|
" call Decho('a:tarfile<'.a:tarfile.'> not filereadable')
|
||||||
if a:tarfile !~# '^\a\+://'
|
if a:tarfile !~# '^\a\+://'
|
||||||
" if its an url, don't complain, let url-handlers such as vim do its thing
|
" if it's an url, don't complain, let url-handlers such as vim do its thing
|
||||||
redraw!
|
redraw!
|
||||||
echohl Error | echo "***error*** (tar#Browse) File not readable<".a:tarfile.">" | echohl None
|
echohl Error | echo "***error*** (tar#Browse) File not readable<".a:tarfile.">" | echohl None
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -347,7 +347,7 @@ fun! vimball#Vimball(really,...)
|
|||||||
" call Decho("exe tabn ".curtabnr)
|
" call Decho("exe tabn ".curtabnr)
|
||||||
exe "tabn ".curtabnr
|
exe "tabn ".curtabnr
|
||||||
|
|
||||||
" set up help if its a doc/*.txt file
|
" set up help if it's a doc/*.txt file
|
||||||
" call Decho("didhelp<".didhelp."> fname<".fname.">")
|
" call Decho("didhelp<".didhelp."> fname<".fname.">")
|
||||||
if a:really && didhelp == "" && fname =~ 'doc/[^/]\+\.\(txt\|..x\)$'
|
if a:really && didhelp == "" && fname =~ 'doc/[^/]\+\.\(txt\|..x\)$'
|
||||||
let didhelp= substitute(fname,'^\(.*\<doc\)[/\\][^.]*\.\(txt\|..x\)$','\1','')
|
let didhelp= substitute(fname,'^\(.*\<doc\)[/\\][^.]*\.\(txt\|..x\)$','\1','')
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" zip.vim: Handles browsing zipfiles
|
" zip.vim: Handles browsing zipfiles
|
||||||
" AUTOLOAD PORTION
|
" AUTOLOAD PORTION
|
||||||
" Date: Jul 02, 2013
|
" Date: Sep 13, 2016
|
||||||
" Version: 27
|
" Version: 28
|
||||||
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
||||||
" License: Vim License (see vim's :help license)
|
" License: Vim License (see vim's :help license)
|
||||||
" Copyright: Copyright (C) 2005-2013 Charles E. Campbell {{{1
|
" Copyright: Copyright (C) 2005-2013 Charles E. Campbell {{{1
|
||||||
@@ -20,10 +20,10 @@
|
|||||||
if &cp || exists("g:loaded_zip")
|
if &cp || exists("g:loaded_zip")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
let g:loaded_zip= "v27"
|
let g:loaded_zip= "v28"
|
||||||
if v:version < 702
|
if v:version < 702
|
||||||
echohl WarningMsg
|
echohl WarningMsg
|
||||||
echo "***warning*** this version of zip needs vim 7.2"
|
echo "***warning*** this version of zip needs vim 7.2 or later"
|
||||||
echohl Normal
|
echohl Normal
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
@@ -53,6 +53,9 @@ endif
|
|||||||
if !exists("g:zip_unzipcmd")
|
if !exists("g:zip_unzipcmd")
|
||||||
let g:zip_unzipcmd= "unzip"
|
let g:zip_unzipcmd= "unzip"
|
||||||
endif
|
endif
|
||||||
|
if !exists("g:zip_extractcmd")
|
||||||
|
let g:zip_extractcmd= g:zip_unzipcmd
|
||||||
|
endif
|
||||||
|
|
||||||
" ----------------
|
" ----------------
|
||||||
" Functions: {{{1
|
" Functions: {{{1
|
||||||
@@ -62,14 +65,14 @@ endif
|
|||||||
" zip#Browse: {{{2
|
" zip#Browse: {{{2
|
||||||
fun! zip#Browse(zipfile)
|
fun! zip#Browse(zipfile)
|
||||||
" call Dfunc("zip#Browse(zipfile<".a:zipfile.">)")
|
" call Dfunc("zip#Browse(zipfile<".a:zipfile.">)")
|
||||||
" sanity check: insure that the zipfile has "PK" as its first two letters
|
" sanity check: ensure that the zipfile has "PK" as its first two letters
|
||||||
" (zipped files have a leading PK as a "magic cookie")
|
" (zipped files have a leading PK as a "magic cookie")
|
||||||
if !filereadable(a:zipfile) || readfile(a:zipfile, "", 1)[0] !~ '^PK'
|
if !filereadable(a:zipfile) || readfile(a:zipfile, "", 1)[0] !~ '^PK'
|
||||||
exe "noautocmd e ".fnameescape(a:zipfile)
|
exe "noautocmd e ".fnameescape(a:zipfile)
|
||||||
" call Dret("zip#Browse : not a zipfile<".a:zipfile.">")
|
" call Dret("zip#Browse : not a zipfile<".a:zipfile.">")
|
||||||
return
|
return
|
||||||
" else " Decho
|
" else " Decho
|
||||||
" call Decho("zip#Browse: a:zipfile<".a:zipfile."> passed PK test - its a zip file")
|
" call Decho("zip#Browse: a:zipfile<".a:zipfile."> passed PK test - it's a zip file")
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let repkeep= &report
|
let repkeep= &report
|
||||||
@@ -92,7 +95,7 @@ fun! zip#Browse(zipfile)
|
|||||||
endif
|
endif
|
||||||
if !filereadable(a:zipfile)
|
if !filereadable(a:zipfile)
|
||||||
if a:zipfile !~# '^\a\+://'
|
if a:zipfile !~# '^\a\+://'
|
||||||
" if its an url, don't complain, let url-handlers such as vim do its thing
|
" if it's an url, don't complain, let url-handlers such as vim do its thing
|
||||||
redraw!
|
redraw!
|
||||||
echohl Error | echo "***error*** (zip#Browse) File not readable<".a:zipfile.">" | echohl None
|
echohl Error | echo "***error*** (zip#Browse) File not readable<".a:zipfile.">" | echohl None
|
||||||
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||||
@@ -136,8 +139,10 @@ fun! zip#Browse(zipfile)
|
|||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" Maps associated with zip plugin
|
||||||
setlocal noma nomod ro
|
setlocal noma nomod ro
|
||||||
noremap <silent> <buffer> <cr> :call <SID>ZipBrowseSelect()<cr>
|
noremap <silent> <buffer> <cr> :call <SID>ZipBrowseSelect()<cr>
|
||||||
|
noremap <silent> <buffer> x :call zip#Extract()<cr>
|
||||||
|
|
||||||
let &report= repkeep
|
let &report= repkeep
|
||||||
" call Dret("zip#Browse")
|
" call Dret("zip#Browse")
|
||||||
@@ -204,6 +209,15 @@ fun! zip#Read(fname,mode)
|
|||||||
endif
|
endif
|
||||||
" call Decho("zipfile<".zipfile.">")
|
" call Decho("zipfile<".zipfile.">")
|
||||||
" call Decho("fname <".fname.">")
|
" call Decho("fname <".fname.">")
|
||||||
|
" sanity check
|
||||||
|
if !executable(substitute(g:zip_unzipcmd,'\s\+.*$','',''))
|
||||||
|
redraw!
|
||||||
|
echohl Error | echo "***error*** (zip#Read) sorry, your system doesn't appear to have the ".g:zip_unzipcmd." program" | echohl None
|
||||||
|
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||||
|
let &report= repkeep
|
||||||
|
" call Dret("zip#Write")
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
" the following code does much the same thing as
|
" the following code does much the same thing as
|
||||||
" exe "keepj sil! r! ".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1)
|
" exe "keepj sil! r! ".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1)
|
||||||
@@ -236,9 +250,9 @@ fun! zip#Write(fname)
|
|||||||
set report=10
|
set report=10
|
||||||
|
|
||||||
" sanity checks
|
" sanity checks
|
||||||
if !executable(g:zip_zipcmd)
|
if !executable(substitute(g:zip_zipcmd,'\s\+.*$','',''))
|
||||||
redraw!
|
redraw!
|
||||||
echohl Error | echo "***error*** (zip#Write) sorry, your system doesn't appear to have the zip pgm" | echohl None
|
echohl Error | echo "***error*** (zip#Write) sorry, your system doesn't appear to have the ".g:zip_zipcmd." program" | echohl None
|
||||||
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||||
let &report= repkeep
|
let &report= repkeep
|
||||||
" call Dret("zip#Write")
|
" call Dret("zip#Write")
|
||||||
@@ -344,6 +358,48 @@ fun! zip#Write(fname)
|
|||||||
" call Dret("zip#Write")
|
" call Dret("zip#Write")
|
||||||
endfun
|
endfun
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" zip#Extract: extract a file from a zip archive {{{2
|
||||||
|
fun! zip#Extract()
|
||||||
|
" call Dfunc("zip#Extract()")
|
||||||
|
|
||||||
|
let repkeep= &report
|
||||||
|
set report=10
|
||||||
|
let fname= getline(".")
|
||||||
|
" call Decho("fname<".fname.">")
|
||||||
|
|
||||||
|
" sanity check
|
||||||
|
if fname =~ '^"'
|
||||||
|
let &report= repkeep
|
||||||
|
" call Dret("zip#Extract")
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if fname =~ '/$'
|
||||||
|
redraw!
|
||||||
|
echohl Error | echo "***error*** (zip#Extract) Please specify a file, not a directory" | echohl None
|
||||||
|
let &report= repkeep
|
||||||
|
" call Dret("zip#Extract")
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
" extract the file mentioned under the cursor
|
||||||
|
" call Decho("system(".g:zip_extractcmd." ".shellescape(b:zipfile)." ".shellescape(shell).")")
|
||||||
|
call system(g:zip_extractcmd." ".shellescape(b:zipfile)." ".shellescape(shell))
|
||||||
|
" call Decho("zipfile<".b:zipfile.">")
|
||||||
|
if v:shell_error != 0
|
||||||
|
echohl Error | echo "***error*** ".g:zip_extractcmd." ".b:zipfile." ".fname.": failed!" | echohl NONE
|
||||||
|
elseif !filereadable(fname)
|
||||||
|
echohl Error | echo "***error*** attempted to extract ".fname." but it doesn't appear to be present!"
|
||||||
|
else
|
||||||
|
echo "***note*** successfully extracted ".fname
|
||||||
|
endif
|
||||||
|
|
||||||
|
" restore option
|
||||||
|
let &report= repkeep
|
||||||
|
|
||||||
|
" call Dret("zip#Extract")
|
||||||
|
endfun
|
||||||
|
|
||||||
" ---------------------------------------------------------------------
|
" ---------------------------------------------------------------------
|
||||||
" s:Escape: {{{2
|
" s:Escape: {{{2
|
||||||
fun! s:Escape(fname,isfilt)
|
fun! s:Escape(fname,isfilt)
|
||||||
|
|||||||
@@ -41,9 +41,16 @@ this autocmd might be useful:
|
|||||||
autocmd SourcePre */colors/blue_sky.vim set background=dark
|
autocmd SourcePre */colors/blue_sky.vim set background=dark
|
||||||
Replace "blue_sky" with the name of the colorscheme.
|
Replace "blue_sky" with the name of the colorscheme.
|
||||||
|
|
||||||
In case you want to tweak a colorscheme after it was loaded, check out that
|
In case you want to tweak a colorscheme after it was loaded, check out the
|
||||||
ColorScheme autocmd event.
|
ColorScheme autocmd event.
|
||||||
|
|
||||||
|
To customize a colorscheme use another name, e.g. "~/.vim/colors/mine.vim",
|
||||||
|
and use `:runtime` to load the original colorscheme:
|
||||||
|
" load the "evening" colorscheme
|
||||||
|
runtime colors/evening.vim
|
||||||
|
" change the color of statements
|
||||||
|
hi Statement ctermfg=Blue guifg=Blue
|
||||||
|
|
||||||
To see which highlight group is used where, find the help for
|
To see which highlight group is used where, find the help for
|
||||||
"highlight-groups" and "group-name".
|
"highlight-groups" and "group-name".
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
" Vim color file
|
" Vim color file
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2006 Apr 14
|
" Last Change: 2016 Oct 10
|
||||||
|
|
||||||
" This color scheme uses a dark grey background.
|
" This color scheme uses a dark grey background.
|
||||||
|
|
||||||
@@ -46,8 +46,8 @@ hi CursorColumn term=reverse ctermbg=Black guibg=grey40
|
|||||||
hi CursorLine term=underline cterm=underline guibg=grey40
|
hi CursorLine term=underline cterm=underline guibg=grey40
|
||||||
|
|
||||||
" Groups for syntax highlighting
|
" Groups for syntax highlighting
|
||||||
hi Constant term=underline ctermfg=Magenta guifg=#ffa0a0 guibg=grey5
|
hi Constant term=underline ctermfg=Magenta guifg=#ffa0a0
|
||||||
hi Special term=bold ctermfg=LightRed guifg=Orange guibg=grey5
|
hi Special term=bold ctermfg=LightRed guifg=Orange
|
||||||
if &t_Co > 8
|
if &t_Co > 8
|
||||||
hi Statement term=bold cterm=bold ctermfg=Yellow guifg=#ffff60 gui=bold
|
hi Statement term=bold cterm=bold ctermfg=Yellow guifg=#ffff60 gui=bold
|
||||||
endif
|
endif
|
||||||
|
|||||||
54
runtime/compiler/context.vim
Normal file
54
runtime/compiler/context.vim
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
" Vim compiler file
|
||||||
|
" Compiler: ConTeXt typesetting engine
|
||||||
|
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||||
|
" Last Change: 2016 Oct 21
|
||||||
|
|
||||||
|
if exists("current_compiler")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let s:keepcpo= &cpo
|
||||||
|
set cpo&vim
|
||||||
|
|
||||||
|
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||||
|
command -nargs=* CompilerSet setlocal <args>
|
||||||
|
endif
|
||||||
|
|
||||||
|
" If makefile exists and we are not asked to ignore it, we use standard make
|
||||||
|
" (do not redefine makeprg)
|
||||||
|
if get(b:, 'context_ignore_makefile', get(g:, 'context_ignore_makefile', 0)) ||
|
||||||
|
\ (!filereadable('Makefile') && !filereadable('makefile'))
|
||||||
|
let current_compiler = 'context'
|
||||||
|
" The following assumes that the current working directory is set to the
|
||||||
|
" directory of the file to be typeset
|
||||||
|
let &l:makeprg = get(b:, 'context_mtxrun', get(g:, 'context_mtxrun', 'mtxrun'))
|
||||||
|
\ . ' --script context --autogenerate --nonstopmode --synctex='
|
||||||
|
\ . (get(b:, 'context_synctex', get(g:, 'context_synctex', 0)) ? '1' : '0')
|
||||||
|
\ . ' ' . get(b:, 'context_extra_options', get(g:, 'context_extra_options', ''))
|
||||||
|
\ . ' ' . shellescape(expand('%:p:t'))
|
||||||
|
else
|
||||||
|
let current_compiler = 'make'
|
||||||
|
endif
|
||||||
|
|
||||||
|
let b:context_errorformat = ''
|
||||||
|
\ . '%-Popen source%.%#> %f,'
|
||||||
|
\ . '%-Qclose source%.%#> %f,'
|
||||||
|
\ . "%-Popen source%.%#name '%f',"
|
||||||
|
\ . "%-Qclose source%.%#name '%f',"
|
||||||
|
\ . '%Etex %trror%.%#mp error on line %l in file %f:%.%#,'
|
||||||
|
\ . 'tex %trror%.%#error on line %l in file %f: %m,'
|
||||||
|
\ . '%Elua %trror%.%#error on line %l in file %f:,'
|
||||||
|
\ . '%+Emetapost %#> error: %#,'
|
||||||
|
\ . '! error: %#%m,'
|
||||||
|
\ . '%-C %#,'
|
||||||
|
\ . '%C! %m,'
|
||||||
|
\ . '%Z[ctxlua]%m,'
|
||||||
|
\ . '%+C<*> %.%#,'
|
||||||
|
\ . '%-C%.%#,'
|
||||||
|
\ . '%Z...%m,'
|
||||||
|
\ . '%-Zno-error,'
|
||||||
|
\ . '%-G%.%#' " Skip remaining lines
|
||||||
|
|
||||||
|
execute 'CompilerSet errorformat=' . escape(b:context_errorformat, ' ')
|
||||||
|
|
||||||
|
let &cpo = s:keepcpo
|
||||||
|
unlet s:keepcpo
|
||||||
16
runtime/compiler/csslint.vim
Normal file
16
runtime/compiler/csslint.vim
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
" Vim compiler file
|
||||||
|
" Compiler: csslint for CSS
|
||||||
|
" Maintainer: Daniel Moch <daniel@danielmoch.com>
|
||||||
|
" Last Change: 2016 May 21
|
||||||
|
|
||||||
|
if exists("current_compiler")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let current_compiler = "csslint"
|
||||||
|
|
||||||
|
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||||
|
command -nargs=* CompilerSet setlocal <args>
|
||||||
|
endif
|
||||||
|
|
||||||
|
CompilerSet makeprg=csslint\ --format=compact
|
||||||
|
CompilerSet errorformat=%-G,%-G%f:\ lint\ free!,%f:\ line\ %l\\,\ col\ %c\\,\ %trror\ -\ %m,%f:\ line\ %l\\,\ col\ %c\\,\ %tarning\ -\ %m,%f:\ line\ %l\\,\ col\ %c\\,\ %m
|
||||||
26
runtime/compiler/ghc.vim
Normal file
26
runtime/compiler/ghc.vim
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
" Vim compiler file
|
||||||
|
" Compiler: GHC Haskell Compiler
|
||||||
|
" Maintainer: Daniel Campoverde <alx@sillybytes.net>
|
||||||
|
" Latest Revision: 2016-11-29
|
||||||
|
|
||||||
|
if exists("current_compiler")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let current_compiler = "ghc"
|
||||||
|
|
||||||
|
let s:cpo_save = &cpo
|
||||||
|
set cpo&vim
|
||||||
|
|
||||||
|
CompilerSet errorformat=
|
||||||
|
\%-G%.%#:\ build,
|
||||||
|
\%-G%.%#preprocessing\ library\ %.%#,
|
||||||
|
\%-G[%.%#]%.%#,
|
||||||
|
\%E%f:%l:%c:\ %m,
|
||||||
|
\%-G--%.%#
|
||||||
|
|
||||||
|
if exists('g:compiler_ghc_ignore_unmatched_lines')
|
||||||
|
CompilerSet errorformat+=%-G%.%#
|
||||||
|
endif
|
||||||
|
|
||||||
|
let &cpo = s:cpo_save
|
||||||
|
unlet s:cpo_save
|
||||||
16
runtime/compiler/pylint.vim
Normal file
16
runtime/compiler/pylint.vim
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
" Vim compiler file
|
||||||
|
" Compiler: Pylint for Python
|
||||||
|
" Maintainer: Daniel Moch <daniel@danielmoch.com>
|
||||||
|
" Last Change: 2016 May 20
|
||||||
|
|
||||||
|
if exists("current_compiler")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let current_compiler = "pylint"
|
||||||
|
|
||||||
|
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||||
|
command -nargs=* CompilerSet setlocal <args>
|
||||||
|
endif
|
||||||
|
|
||||||
|
CompilerSet makeprg=pylint\ --output-format=text\ --msg-template=\"{path}:{line}:{column}:{C}:\ [{symbol}]\ {msg}\"\ --reports=no
|
||||||
|
CompilerSet errorformat=%A%f:%l:%c:%t:\ %m,%A%f:%l:\ %m,%A%f:(%l):\ %m,%-Z%p^%.%#,%-G%.%#
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
*autocmd.txt* For Vim version 8.0. Last change: 2016 Sep 03
|
*autocmd.txt* For Vim version 8.0. Last change: 2017 Jan 14
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -33,7 +33,7 @@ files matching *.c. You can also use autocommands to implement advanced
|
|||||||
features, such as editing compressed files (see |gzip-example|). The usual
|
features, such as editing compressed files (see |gzip-example|). The usual
|
||||||
place to put autocommands is in your .vimrc or .exrc file.
|
place to put autocommands is in your .vimrc or .exrc file.
|
||||||
|
|
||||||
*E203* *E204* *E143* *E855*
|
*E203* *E204* *E143* *E855* *E937*
|
||||||
WARNING: Using autocommands is very powerful, and may lead to unexpected side
|
WARNING: Using autocommands is very powerful, and may lead to unexpected side
|
||||||
effects. Be careful not to destroy your text.
|
effects. Be careful not to destroy your text.
|
||||||
- It's a good idea to do some testing on an expendable copy of a file first.
|
- It's a good idea to do some testing on an expendable copy of a file first.
|
||||||
@@ -79,11 +79,15 @@ exception is that "<sfile>" is expanded when the autocmd is defined. Example:
|
|||||||
|
|
||||||
Here Vim expands <sfile> to the name of the file containing this line.
|
Here Vim expands <sfile> to the name of the file containing this line.
|
||||||
|
|
||||||
When your .vimrc file is sourced twice, the autocommands will appear twice.
|
`:autocmd` adds to the list of autocommands regardless of whether they are
|
||||||
To avoid this, put this command in your .vimrc file, before defining
|
already present. When your .vimrc file is sourced twice, the autocommands
|
||||||
autocommands: >
|
will appear twice. To avoid this, define your autocommands in a group, so
|
||||||
|
that you can easily clear them: >
|
||||||
|
|
||||||
:autocmd! " Remove ALL autocommands for the current group.
|
augroup vimrc
|
||||||
|
autocmd! " Remove all vimrc autocommands
|
||||||
|
au BufNewFile,BufRead *.html so <sfile>:h/html.vim
|
||||||
|
augroup END
|
||||||
|
|
||||||
If you don't want to remove all autocommands, you can instead use a variable
|
If you don't want to remove all autocommands, you can instead use a variable
|
||||||
to ensure that Vim includes the autocommands only once: >
|
to ensure that Vim includes the autocommands only once: >
|
||||||
@@ -130,8 +134,13 @@ prompt. When one command outputs two messages this can happen anyway.
|
|||||||
|
|
||||||
:au[tocmd]! [group] {event}
|
:au[tocmd]! [group] {event}
|
||||||
Remove ALL autocommands for {event}.
|
Remove ALL autocommands for {event}.
|
||||||
|
Warning: You should not do this without a group for
|
||||||
|
|BufRead| and other common events, it can break
|
||||||
|
plugins, syntax highlighting, etc.
|
||||||
|
|
||||||
:au[tocmd]! [group] Remove ALL autocommands.
|
:au[tocmd]! [group] Remove ALL autocommands.
|
||||||
|
Warning: You should normally not do this without a
|
||||||
|
group, it breaks plugins, syntax highlighting, etc.
|
||||||
|
|
||||||
When the [group] argument is not given, Vim uses the current group (as defined
|
When the [group] argument is not given, Vim uses the current group (as defined
|
||||||
with ":augroup"); otherwise, Vim uses the group defined with [group].
|
with ":augroup"); otherwise, Vim uses the group defined with [group].
|
||||||
@@ -983,7 +992,7 @@ WinLeave Before leaving a window. If the window to be
|
|||||||
|
|
||||||
*WinNew*
|
*WinNew*
|
||||||
WinNew When a new window was created. Not done for
|
WinNew When a new window was created. Not done for
|
||||||
the fist window, when Vim has just started.
|
the first window, when Vim has just started.
|
||||||
Before a WinEnter event.
|
Before a WinEnter event.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*change.txt* For Vim version 8.0. Last change: 2016 Sep 11
|
*change.txt* For Vim version 8.0. Last change: 2016 Nov 19
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -684,6 +684,7 @@ g& Synonym for `:%s//~/&` (repeat last substitute with
|
|||||||
*:s_flags*
|
*:s_flags*
|
||||||
The flags that you can use for the substitute commands:
|
The flags that you can use for the substitute commands:
|
||||||
|
|
||||||
|
*:&&*
|
||||||
[&] Must be the first one: Keep the flags from the previous substitute
|
[&] Must be the first one: Keep the flags from the previous substitute
|
||||||
command. Examples: >
|
command. Examples: >
|
||||||
:&&
|
:&&
|
||||||
@@ -913,8 +914,7 @@ Exceptions:
|
|||||||
Substitute with an expression *sub-replace-expression*
|
Substitute with an expression *sub-replace-expression*
|
||||||
*sub-replace-\=* *s/\=*
|
*sub-replace-\=* *s/\=*
|
||||||
When the substitute string starts with "\=" the remainder is interpreted as an
|
When the substitute string starts with "\=" the remainder is interpreted as an
|
||||||
expression. This does not work recursively: a |substitute()| function inside
|
expression.
|
||||||
the expression cannot use "\=" for the substitute string.
|
|
||||||
|
|
||||||
The special meaning for characters as mentioned at |sub-replace-special| does
|
The special meaning for characters as mentioned at |sub-replace-special| does
|
||||||
not apply except for "<CR>". A <NL> character is used as a line break, you
|
not apply except for "<CR>". A <NL> character is used as a line break, you
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*channel.txt* For Vim version 8.0. Last change: 2016 Sep 11
|
*channel.txt* For Vim version 8.0. Last change: 2016 Dec 02
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -33,7 +33,7 @@ The Netbeans interface also uses a channel. |netbeans|
|
|||||||
1. Overview *job-channel-overview*
|
1. Overview *job-channel-overview*
|
||||||
|
|
||||||
There are four main types of jobs:
|
There are four main types of jobs:
|
||||||
1. A deamon, serving several Vim instances.
|
1. A daemon, serving several Vim instances.
|
||||||
Vim connects to it with a socket.
|
Vim connects to it with a socket.
|
||||||
2. One job working with one Vim instance, asynchronously.
|
2. One job working with one Vim instance, asynchronously.
|
||||||
Uses a socket or pipes.
|
Uses a socket or pipes.
|
||||||
@@ -155,7 +155,13 @@ Use |ch_status()| to see if the channel could be opened.
|
|||||||
func MyCloseHandler(channel)
|
func MyCloseHandler(channel)
|
||||||
< Vim will invoke callbacks that handle data before invoking
|
< Vim will invoke callbacks that handle data before invoking
|
||||||
close_cb, thus when this function is called no more data will
|
close_cb, thus when this function is called no more data will
|
||||||
be received.
|
be passed to the callbacks.
|
||||||
|
*channel-drop*
|
||||||
|
"drop" Specifies when to drop messages:
|
||||||
|
"auto" When there is no callback to handle a message.
|
||||||
|
The "close_cb" is also considered for this.
|
||||||
|
"never" All messages will be kept.
|
||||||
|
|
||||||
*waittime*
|
*waittime*
|
||||||
"waittime" The time to wait for the connection to be made in
|
"waittime" The time to wait for the connection to be made in
|
||||||
milliseconds. A negative number waits forever.
|
milliseconds. A negative number waits forever.
|
||||||
@@ -369,7 +375,7 @@ Leave out the fourth argument if no response is to be sent:
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
6. Using a RAW or NL channel *channel-raw*
|
6. Using a RAW or NL channel *channel-raw*
|
||||||
|
|
||||||
If mode is RAW or NL then a message can be send like this: >
|
If mode is RAW or NL then a message can be sent like this: >
|
||||||
let response = ch_evalraw(channel, {string})
|
let response = ch_evalraw(channel, {string})
|
||||||
|
|
||||||
The {string} is sent as-is. The response will be what can be read from the
|
The {string} is sent as-is. The response will be what can be read from the
|
||||||
@@ -418,7 +424,11 @@ This uses the channel timeout. To read without a timeout, just get any
|
|||||||
message that is available: >
|
message that is available: >
|
||||||
let output = ch_read(channel, {'timeout': 0})
|
let output = ch_read(channel, {'timeout': 0})
|
||||||
When no message was available then the result is v:none for a JSON or JS mode
|
When no message was available then the result is v:none for a JSON or JS mode
|
||||||
channels, an empty string for a RAW or NL channel.
|
channels, an empty string for a RAW or NL channel. You can use |ch_canread()|
|
||||||
|
to check if there is something to read.
|
||||||
|
|
||||||
|
Note that when there is no callback message are dropped. To avoid that add a
|
||||||
|
close callback to the channel.
|
||||||
|
|
||||||
To read all output from a RAW channel that is available: >
|
To read all output from a RAW channel that is available: >
|
||||||
let output = ch_readraw(channel)
|
let output = ch_readraw(channel)
|
||||||
@@ -465,6 +475,11 @@ it like this: >
|
|||||||
Without the handler you need to read the output with |ch_read()| or
|
Without the handler you need to read the output with |ch_read()| or
|
||||||
|ch_readraw()|. You can do this in the close callback, see |read-in-close-cb|.
|
|ch_readraw()|. You can do this in the close callback, see |read-in-close-cb|.
|
||||||
|
|
||||||
|
Note that if the job exits before you read the output, the output may be lost.
|
||||||
|
This depends on the system (on Unix this happens because closing the write end
|
||||||
|
of a pipe causes the read end to get EOF). To avoid this make the job sleep
|
||||||
|
for a short while before it exits.
|
||||||
|
|
||||||
The handler defined for "out_cb" will not receive stderr. If you want to
|
The handler defined for "out_cb" will not receive stderr. If you want to
|
||||||
handle that separately, add an "err_cb" handler: >
|
handle that separately, add an "err_cb" handler: >
|
||||||
let job = job_start(command, {"out_cb": "MyHandler",
|
let job = job_start(command, {"out_cb": "MyHandler",
|
||||||
@@ -516,7 +531,7 @@ If the job can take some time and you don't need intermediate results, you can
|
|||||||
add a close callback and read the output there: >
|
add a close callback and read the output there: >
|
||||||
|
|
||||||
func! CloseHandler(channel)
|
func! CloseHandler(channel)
|
||||||
while ch_status(a:channel) == 'buffered'
|
while ch_status(a:channel, {'part': 'out'}) == 'buffered'
|
||||||
echomsg ch_read(a:channel)
|
echomsg ch_read(a:channel)
|
||||||
endwhile
|
endwhile
|
||||||
endfunc
|
endfunc
|
||||||
@@ -590,12 +605,17 @@ See |job_setoptions()| and |ch_setoptions()|.
|
|||||||
*job-close_cb*
|
*job-close_cb*
|
||||||
"close_cb": handler Callback for when the channel is closed. Same as
|
"close_cb": handler Callback for when the channel is closed. Same as
|
||||||
"close_cb" on |ch_open()|, see |close_cb|.
|
"close_cb" on |ch_open()|, see |close_cb|.
|
||||||
|
*job-drop*
|
||||||
|
"drop" Specifies when to drop messages. Same as "drop" on
|
||||||
|
|ch_open()|, see |channel-drop|. For "auto" the
|
||||||
|
exit_cb is not considered.
|
||||||
*job-exit_cb*
|
*job-exit_cb*
|
||||||
"exit_cb": handler Callback for when the job ends. The arguments are the
|
"exit_cb": handler Callback for when the job ends. The arguments are the
|
||||||
job and the exit status.
|
job and the exit status.
|
||||||
Vim checks about every 10 seconds for jobs that ended.
|
Vim checks up to 10 times per second for jobs that
|
||||||
The check also be triggered by calling |job_status()|,
|
ended. The check can also be triggered by calling
|
||||||
which may then invoke the exit_cb handler.
|
|job_status()|, which may then invoke the exit_cb
|
||||||
|
handler.
|
||||||
Note that data can be buffered, callbacks may still be
|
Note that data can be buffered, callbacks may still be
|
||||||
called after the process ends.
|
called after the process ends.
|
||||||
*job-timeout*
|
*job-timeout*
|
||||||
@@ -623,7 +643,7 @@ See |job_setoptions()| and |ch_setoptions()|.
|
|||||||
"channel": {channel} Use an existing channel instead of creating a new one.
|
"channel": {channel} Use an existing channel instead of creating a new one.
|
||||||
The parts of the channel that get used for the new job
|
The parts of the channel that get used for the new job
|
||||||
will be disconnected from what they were used before.
|
will be disconnected from what they were used before.
|
||||||
If the channel was still use by another job this may
|
If the channel was still used by another job this may
|
||||||
cause I/O errors.
|
cause I/O errors.
|
||||||
Existing callbacks and other settings remain.
|
Existing callbacks and other settings remain.
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*cmdline.txt* For Vim version 8.0. Last change: 2016 Aug 27
|
*cmdline.txt* For Vim version 8.0. Last change: 2016 Sep 27
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -229,9 +229,10 @@ CTRL-Y When there is a modeless selection, copy the selection into
|
|||||||
the clipboard. |modeless-selection|
|
the clipboard. |modeless-selection|
|
||||||
If there is no selection CTRL-Y is inserted as a character.
|
If there is no selection CTRL-Y is inserted as a character.
|
||||||
|
|
||||||
CTRL-J *c_CTRL-J* *c_<NL>* *c_<CR>* *c_CR*
|
CTRL-M or CTRL-J *c_CTRL-M* *c_CTRL-J* *c_<NL>* *c_<CR>* *c_CR*
|
||||||
<CR> or <NL> start entered command
|
<CR> or <NL> start entered command
|
||||||
*c_<Esc>* *c_Esc*
|
|
||||||
|
CTRL-[ *c_CTRL-[* *c_<Esc>* *c_Esc*
|
||||||
<Esc> When typed and 'x' not present in 'cpoptions', quit
|
<Esc> When typed and 'x' not present in 'cpoptions', quit
|
||||||
Command-line mode without executing. In macros or when 'x'
|
Command-line mode without executing. In macros or when 'x'
|
||||||
present in 'cpoptions', start entered command.
|
present in 'cpoptions', start entered command.
|
||||||
@@ -358,8 +359,11 @@ terminals)
|
|||||||
List entries 6 to 12 from the search history: >
|
List entries 6 to 12 from the search history: >
|
||||||
:history / 6,12
|
:history / 6,12
|
||||||
<
|
<
|
||||||
List the recent five entries from all histories: >
|
List the penultimate entry from all histories: >
|
||||||
:history all -5,
|
:history all -2
|
||||||
|
<
|
||||||
|
List the most recent two entries from all histories: >
|
||||||
|
:history all -2,
|
||||||
|
|
||||||
:keepp[atterns] {command} *:keepp* *:keeppatterns*
|
:keepp[atterns] {command} *:keepp* *:keeppatterns*
|
||||||
Execute {command}, without adding anything to the search
|
Execute {command}, without adding anything to the search
|
||||||
@@ -1056,10 +1060,10 @@ There are several ways to leave the command-line window:
|
|||||||
Insert and in Normal mode.
|
Insert and in Normal mode.
|
||||||
CTRL-C Continue in Command-line mode. The command-line under the
|
CTRL-C Continue in Command-line mode. The command-line under the
|
||||||
cursor is used as the command-line. Works both in Insert and
|
cursor is used as the command-line. Works both in Insert and
|
||||||
in Normal mode. ":close" also works. There is no redraw,
|
in Normal mode. There is no redraw, thus the window will
|
||||||
thus the window will remain visible.
|
remain visible.
|
||||||
:quit Discard the command line and go back to Normal mode.
|
:quit Discard the command line and go back to Normal mode.
|
||||||
":exit", ":xit" and CTRL-\ CTRL-N also work.
|
":close", ":exit", ":xit" and CTRL-\ CTRL-N also work.
|
||||||
:qall Quit Vim, unless there are changes in some buffer.
|
:qall Quit Vim, unless there are changes in some buffer.
|
||||||
:qall! Quit Vim, discarding changes to any buffer.
|
:qall! Quit Vim, discarding changes to any buffer.
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*develop.txt* For Vim version 8.0. Last change: 2016 Jan 31
|
*develop.txt* For Vim version 8.0. Last change: 2017 Jan 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -177,7 +177,7 @@ The basic steps to make changes to the code:
|
|||||||
5. Make a patch with "git diff". You can also create a pull request on
|
5. Make a patch with "git diff". You can also create a pull request on
|
||||||
github, but it's the diff that matters.
|
github, but it's the diff that matters.
|
||||||
6. Make a note about what changed, preferably mentioning the problem and the
|
6. Make a note about what changed, preferably mentioning the problem and the
|
||||||
solution. Send an email to the vim-dev maillist with an explanation and
|
solution. Send an email to the |vim-dev| maillist with an explanation and
|
||||||
include the diff. Or create a pull request on github.
|
include the diff. Or create a pull request on github.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*digraph.txt* For Vim version 8.0. Last change: 2014 Jun 19
|
*digraph.txt* For Vim version 8.0. Last change: 2016 Nov 04
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -926,6 +926,7 @@ char digraph hex dec official name ~
|
|||||||
† /- 2020 8224 DAGGER
|
† /- 2020 8224 DAGGER
|
||||||
‡ /= 2021 8225 DOUBLE DAGGER
|
‡ /= 2021 8225 DOUBLE DAGGER
|
||||||
‥ .. 2025 8229 TWO DOT LEADER
|
‥ .. 2025 8229 TWO DOT LEADER
|
||||||
|
… ,. 2026 8230 HORIZONTAL ELLIPSIS
|
||||||
‰ %0 2030 8240 PER MILLE SIGN
|
‰ %0 2030 8240 PER MILLE SIGN
|
||||||
′ 1' 2032 8242 PRIME
|
′ 1' 2032 8242 PRIME
|
||||||
″ 2' 2033 8243 DOUBLE PRIME
|
″ 2' 2033 8243 DOUBLE PRIME
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*editing.txt* For Vim version 8.0. Last change: 2016 Aug 06
|
*editing.txt* For Vim version 8.0. Last change: 2016 Nov 24
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -181,7 +181,8 @@ start editing another file, Vim will refuse this. In order to overrule this
|
|||||||
protection, add a '!' to the command. The changes will then be lost. For
|
protection, add a '!' to the command. The changes will then be lost. For
|
||||||
example: ":q" will not work if the buffer was changed, but ":q!" will. To see
|
example: ":q" will not work if the buffer was changed, but ":q!" will. To see
|
||||||
whether the buffer was changed use the "CTRL-G" command. The message includes
|
whether the buffer was changed use the "CTRL-G" command. The message includes
|
||||||
the string "[Modified]" if the buffer has been changed.
|
the string "[Modified]" if the buffer has been changed, or "+" if the 'm' flag
|
||||||
|
is in 'shortmess'.
|
||||||
|
|
||||||
If you want to automatically save the changes without asking, switch on the
|
If you want to automatically save the changes without asking, switch on the
|
||||||
'autowriteall' option. 'autowrite' is the associated Vi-compatible option
|
'autowriteall' option. 'autowrite' is the associated Vi-compatible option
|
||||||
@@ -976,12 +977,12 @@ WRITING WITH MULTIPLE BUFFERS *buffer-write*
|
|||||||
|
|
||||||
*:wa* *:wall*
|
*:wa* *:wall*
|
||||||
:wa[ll] Write all changed buffers. Buffers without a file
|
:wa[ll] Write all changed buffers. Buffers without a file
|
||||||
name or which are readonly are not written. {not in
|
name cause an error message. Buffers which are
|
||||||
Vi}
|
readonly are not written. {not in Vi}
|
||||||
|
|
||||||
:wa[ll]! Write all changed buffers, even the ones that are
|
:wa[ll]! Write all changed buffers, even the ones that are
|
||||||
readonly. Buffers without a file name are not
|
readonly. Buffers without a file name are not
|
||||||
written. {not in Vi}
|
written and cause an error message. {not in Vi}
|
||||||
|
|
||||||
|
|
||||||
Vim will warn you if you try to overwrite a file that has been changed
|
Vim will warn you if you try to overwrite a file that has been changed
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*eval.txt* For Vim version 8.0. Last change: 2016 Sep 07
|
*eval.txt* For Vim version 8.0. Last change: 2017 Jan 14
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -125,7 +125,8 @@ cleared. A List, Dictionary or Float is not a Number or String, thus
|
|||||||
evaluates to FALSE.
|
evaluates to FALSE.
|
||||||
|
|
||||||
*E745* *E728* *E703* *E729* *E730* *E731* *E908* *E910* *E913*
|
*E745* *E728* *E703* *E729* *E730* *E731* *E908* *E910* *E913*
|
||||||
List, Dictionary, Funcref and Job types are not automatically converted.
|
List, Dictionary, Funcref, Job and Channel types are not automatically
|
||||||
|
converted.
|
||||||
|
|
||||||
*E805* *E806* *E808*
|
*E805* *E806* *E808*
|
||||||
When mixing Number and Float the Number is converted to Float. Otherwise
|
When mixing Number and Float the Number is converted to Float. Otherwise
|
||||||
@@ -957,7 +958,7 @@ expr8[expr1] item of String or |List| *expr-[]* *E111*
|
|||||||
*E909* *subscript*
|
*E909* *subscript*
|
||||||
If expr8 is a Number or String this results in a String that contains the
|
If expr8 is a Number or String this results in a String that contains the
|
||||||
expr1'th single byte from expr8. expr8 is used as a String, expr1 as a
|
expr1'th single byte from expr8. expr8 is used as a String, expr1 as a
|
||||||
Number. This doesn't recognize multi-byte encodings, see |byteidx()| for
|
Number. This doesn't recognize multi-byte encodings, see `byteidx()` for
|
||||||
an alternative, or use `split()` to turn the string into a list of characters.
|
an alternative, or use `split()` to turn the string into a list of characters.
|
||||||
|
|
||||||
Index zero gives the first byte. This is like it works in C. Careful:
|
Index zero gives the first byte. This is like it works in C. Careful:
|
||||||
@@ -1244,7 +1245,7 @@ The arguments are optional. Example: >
|
|||||||
< error function
|
< error function
|
||||||
*closure*
|
*closure*
|
||||||
Lambda expressions can access outer scope variables and arguments. This is
|
Lambda expressions can access outer scope variables and arguments. This is
|
||||||
often called a closure. Example where "i" a and "a:arg" are used in a lambda
|
often called a closure. Example where "i" and "a:arg" are used in a lambda
|
||||||
while they exist in the function scope. They remain valid even after the
|
while they exist in the function scope. They remain valid even after the
|
||||||
function returns: >
|
function returns: >
|
||||||
:function Foo(arg)
|
:function Foo(arg)
|
||||||
@@ -2008,6 +2009,7 @@ byteidxcomp({expr}, {nr}) Number byte index of {nr}'th char in {expr}
|
|||||||
call({func}, {arglist} [, {dict}])
|
call({func}, {arglist} [, {dict}])
|
||||||
any call {func} with arguments {arglist}
|
any call {func} with arguments {arglist}
|
||||||
ceil({expr}) Float round {expr} up
|
ceil({expr}) Float round {expr} up
|
||||||
|
ch_canread({handle}) Number check if there is something to read
|
||||||
ch_close({handle}) none close {handle}
|
ch_close({handle}) none close {handle}
|
||||||
ch_close_in({handle}) none close in part of {handle}
|
ch_close_in({handle}) none close in part of {handle}
|
||||||
ch_evalexpr({handle}, {expr} [, {options}])
|
ch_evalexpr({handle}, {expr} [, {options}])
|
||||||
@@ -2030,7 +2032,8 @@ ch_sendraw({handle}, {string} [, {options}])
|
|||||||
any send {string} over raw {handle}
|
any send {string} over raw {handle}
|
||||||
ch_setoptions({handle}, {options})
|
ch_setoptions({handle}, {options})
|
||||||
none set options for {handle}
|
none set options for {handle}
|
||||||
ch_status({handle}) String status of channel {handle}
|
ch_status({handle} [, {options}])
|
||||||
|
String status of channel {handle}
|
||||||
changenr() Number current change number
|
changenr() Number current change number
|
||||||
char2nr({expr}[, {utf8}]) Number ASCII/UTF8 value of first char in {expr}
|
char2nr({expr}[, {utf8}]) Number ASCII/UTF8 value of first char in {expr}
|
||||||
cindent({lnum}) Number C indent for line {lnum}
|
cindent({lnum}) Number C indent for line {lnum}
|
||||||
@@ -2072,8 +2075,8 @@ expand({expr} [, {nosuf} [, {list}]])
|
|||||||
feedkeys({string} [, {mode}]) Number add key sequence to typeahead buffer
|
feedkeys({string} [, {mode}]) Number add key sequence to typeahead buffer
|
||||||
filereadable({file}) Number |TRUE| if {file} is a readable file
|
filereadable({file}) Number |TRUE| if {file} is a readable file
|
||||||
filewritable({file}) Number |TRUE| if {file} is a writable file
|
filewritable({file}) Number |TRUE| if {file} is a writable file
|
||||||
filter({expr}, {string}) List/Dict remove items from {expr} where
|
filter({expr1}, {expr2}) List/Dict remove items from {expr1} where
|
||||||
{string} is 0
|
{expr2} is 0
|
||||||
finddir({name}[, {path}[, {count}]])
|
finddir({name}[, {path}[, {count}]])
|
||||||
String find directory {name} in {path}
|
String find directory {name} in {path}
|
||||||
findfile({name}[, {path}[, {count}]])
|
findfile({name}[, {path}[, {count}]])
|
||||||
@@ -2197,7 +2200,7 @@ localtime() Number current time
|
|||||||
log({expr}) Float natural logarithm (base e) of {expr}
|
log({expr}) Float natural logarithm (base e) of {expr}
|
||||||
log10({expr}) Float logarithm of Float {expr} to base 10
|
log10({expr}) Float logarithm of Float {expr} to base 10
|
||||||
luaeval({expr}[, {expr}]) any evaluate |Lua| expression
|
luaeval({expr}[, {expr}]) any evaluate |Lua| expression
|
||||||
map({expr}, {string}) List/Dict change each item in {expr} to {expr}
|
map({expr1}, {expr2}) List/Dict change each item in {expr1} to {expr}
|
||||||
maparg({name}[, {mode} [, {abbr} [, {dict}]]])
|
maparg({name}[, {mode} [, {abbr} [, {dict}]]])
|
||||||
String or Dict
|
String or Dict
|
||||||
rhs of mapping {name} in mode {mode}
|
rhs of mapping {name} in mode {mode}
|
||||||
@@ -2521,7 +2524,7 @@ assert_exception({error} [, {msg}]) *assert_exception()*
|
|||||||
assert_fails({cmd} [, {error}]) *assert_fails()*
|
assert_fails({cmd} [, {error}]) *assert_fails()*
|
||||||
Run {cmd} and add an error message to |v:errors| if it does
|
Run {cmd} and add an error message to |v:errors| if it does
|
||||||
NOT produce an error.
|
NOT produce an error.
|
||||||
When {error} is given it must match |v:errmsg|.
|
When {error} is given it must match in |v:errmsg|.
|
||||||
|
|
||||||
assert_false({actual} [, {msg}]) *assert_false()*
|
assert_false({actual} [, {msg}]) *assert_false()*
|
||||||
When {actual} is not false an error message is added to
|
When {actual} is not false an error message is added to
|
||||||
@@ -2978,16 +2981,28 @@ confirm({msg} [, {choices} [, {default} [, {type}]]])
|
|||||||
don't fit, a vertical layout is used anyway. For some systems
|
don't fit, a vertical layout is used anyway. For some systems
|
||||||
the horizontal layout is always used.
|
the horizontal layout is always used.
|
||||||
|
|
||||||
|
ch_canread({handle}) *ch_canread()*
|
||||||
|
Return non-zero when there is something to read from {handle}.
|
||||||
|
{handle} can be a Channel or a Job that has a Channel.
|
||||||
|
|
||||||
|
This is useful to read from a channel at a convenient time,
|
||||||
|
e.g. from a timer.
|
||||||
|
|
||||||
|
Note that messages are dropped when the channel does not have
|
||||||
|
a callback. Add a close callback to avoid that.
|
||||||
|
|
||||||
|
{only available when compiled with the |+channel| feature}
|
||||||
|
|
||||||
ch_close({handle}) *ch_close()*
|
ch_close({handle}) *ch_close()*
|
||||||
Close {handle}. See |channel-close|.
|
Close {handle}. See |channel-close|.
|
||||||
{handle} can be Channel or a Job that has a Channel.
|
{handle} can be a Channel or a Job that has a Channel.
|
||||||
A close callback is not invoked.
|
A close callback is not invoked.
|
||||||
|
|
||||||
{only available when compiled with the |+channel| feature}
|
{only available when compiled with the |+channel| feature}
|
||||||
|
|
||||||
ch_close_in({handle}) *ch_close_in()*
|
ch_close_in({handle}) *ch_close_in()*
|
||||||
Close the "in" part of {handle}. See |channel-close-in|.
|
Close the "in" part of {handle}. See |channel-close-in|.
|
||||||
{handle} can be Channel or a Job that has a Channel.
|
{handle} can be a Channel or a Job that has a Channel.
|
||||||
A close callback is not invoked.
|
A close callback is not invoked.
|
||||||
|
|
||||||
{only available when compiled with the |+channel| feature}
|
{only available when compiled with the |+channel| feature}
|
||||||
@@ -2996,7 +3011,7 @@ ch_evalexpr({handle}, {expr} [, {options}]) *ch_evalexpr()*
|
|||||||
Send {expr} over {handle}. The {expr} is encoded
|
Send {expr} over {handle}. The {expr} is encoded
|
||||||
according to the type of channel. The function cannot be used
|
according to the type of channel. The function cannot be used
|
||||||
with a raw channel. See |channel-use|.
|
with a raw channel. See |channel-use|.
|
||||||
{handle} can be Channel or a Job that has a Channel.
|
{handle} can be a Channel or a Job that has a Channel.
|
||||||
*E917*
|
*E917*
|
||||||
{options} must be a Dictionary. It must not have a "callback"
|
{options} must be a Dictionary. It must not have a "callback"
|
||||||
entry. It can have a "timeout" entry to specify the timeout
|
entry. It can have a "timeout" entry to specify the timeout
|
||||||
@@ -3010,7 +3025,7 @@ ch_evalexpr({handle}, {expr} [, {options}]) *ch_evalexpr()*
|
|||||||
|
|
||||||
ch_evalraw({handle}, {string} [, {options}]) *ch_evalraw()*
|
ch_evalraw({handle}, {string} [, {options}]) *ch_evalraw()*
|
||||||
Send {string} over {handle}.
|
Send {string} over {handle}.
|
||||||
{handle} can be Channel or a Job that has a Channel.
|
{handle} can be a Channel or a Job that has a Channel.
|
||||||
|
|
||||||
Works like |ch_evalexpr()|, but does not encode the request or
|
Works like |ch_evalexpr()|, but does not encode the request or
|
||||||
decode the response. The caller is responsible for the
|
decode the response. The caller is responsible for the
|
||||||
@@ -3023,7 +3038,7 @@ ch_evalraw({handle}, {string} [, {options}]) *ch_evalraw()*
|
|||||||
|
|
||||||
ch_getbufnr({handle}, {what}) *ch_getbufnr()*
|
ch_getbufnr({handle}, {what}) *ch_getbufnr()*
|
||||||
Get the buffer number that {handle} is using for {what}.
|
Get the buffer number that {handle} is using for {what}.
|
||||||
{handle} can be Channel or a Job that has a Channel.
|
{handle} can be a Channel or a Job that has a Channel.
|
||||||
{what} can be "err" for stderr, "out" for stdout or empty for
|
{what} can be "err" for stderr, "out" for stdout or empty for
|
||||||
socket output.
|
socket output.
|
||||||
Returns -1 when there is no buffer.
|
Returns -1 when there is no buffer.
|
||||||
@@ -3041,7 +3056,8 @@ ch_info({handle}) *ch_info()*
|
|||||||
Returns a Dictionary with information about {handle}. The
|
Returns a Dictionary with information about {handle}. The
|
||||||
items are:
|
items are:
|
||||||
"id" number of the channel
|
"id" number of the channel
|
||||||
"status" "open" (any part is open) or "closed"
|
"status" "open", "buffered" or "closed", like
|
||||||
|
ch_status()
|
||||||
When opened with ch_open():
|
When opened with ch_open():
|
||||||
"hostname" the hostname of the address
|
"hostname" the hostname of the address
|
||||||
"port" the port of the address
|
"port" the port of the address
|
||||||
@@ -3050,11 +3066,11 @@ ch_info({handle}) *ch_info()*
|
|||||||
"sock_io" "socket"
|
"sock_io" "socket"
|
||||||
"sock_timeout" timeout in msec
|
"sock_timeout" timeout in msec
|
||||||
When opened with job_start():
|
When opened with job_start():
|
||||||
"out_status" "open" or "closed"
|
"out_status" "open", "buffered" or "closed"
|
||||||
"out_mode" "NL", "RAW", "JSON" or "JS"
|
"out_mode" "NL", "RAW", "JSON" or "JS"
|
||||||
"out_io" "null", "pipe", "file" or "buffer"
|
"out_io" "null", "pipe", "file" or "buffer"
|
||||||
"out_timeout" timeout in msec
|
"out_timeout" timeout in msec
|
||||||
"err_status" "open" or "closed"
|
"err_status" "open", "buffered" or "closed"
|
||||||
"err_mode" "NL", "RAW", "JSON" or "JS"
|
"err_mode" "NL", "RAW", "JSON" or "JS"
|
||||||
"err_io" "out", "null", "pipe", "file" or "buffer"
|
"err_io" "out", "null", "pipe", "file" or "buffer"
|
||||||
"err_timeout" timeout in msec
|
"err_timeout" timeout in msec
|
||||||
@@ -3068,8 +3084,8 @@ ch_log({msg} [, {handle}]) *ch_log()*
|
|||||||
|ch_logfile()|.
|
|ch_logfile()|.
|
||||||
When {handle} is passed the channel number is used for the
|
When {handle} is passed the channel number is used for the
|
||||||
message.
|
message.
|
||||||
{handle} can be Channel or a Job that has a Channel. The
|
{handle} can be a Channel or a Job that has a Channel. The
|
||||||
Channel must open.
|
Channel must be open for the channel number to be used.
|
||||||
|
|
||||||
ch_logfile({fname} [, {mode}]) *ch_logfile()*
|
ch_logfile({fname} [, {mode}]) *ch_logfile()*
|
||||||
Start logging channel activity to {fname}.
|
Start logging channel activity to {fname}.
|
||||||
@@ -3096,7 +3112,7 @@ ch_open({address} [, {options}]) *ch_open()*
|
|||||||
|
|
||||||
ch_read({handle} [, {options}]) *ch_read()*
|
ch_read({handle} [, {options}]) *ch_read()*
|
||||||
Read from {handle} and return the received message.
|
Read from {handle} and return the received message.
|
||||||
{handle} can be Channel or a Job that has a Channel.
|
{handle} can be a Channel or a Job that has a Channel.
|
||||||
See |channel-more|.
|
See |channel-more|.
|
||||||
{only available when compiled with the |+channel| feature}
|
{only available when compiled with the |+channel| feature}
|
||||||
|
|
||||||
@@ -3110,7 +3126,7 @@ ch_sendexpr({handle}, {expr} [, {options}]) *ch_sendexpr()*
|
|||||||
according to the type of channel. The function cannot be used
|
according to the type of channel. The function cannot be used
|
||||||
with a raw channel.
|
with a raw channel.
|
||||||
See |channel-use|. *E912*
|
See |channel-use|. *E912*
|
||||||
{handle} can be Channel or a Job that has a Channel.
|
{handle} can be a Channel or a Job that has a Channel.
|
||||||
|
|
||||||
{only available when compiled with the |+channel| feature}
|
{only available when compiled with the |+channel| feature}
|
||||||
|
|
||||||
@@ -3131,7 +3147,7 @@ ch_setoptions({handle}, {options}) *ch_setoptions()*
|
|||||||
"timeout" default read timeout in msec
|
"timeout" default read timeout in msec
|
||||||
"mode" mode for the whole channel
|
"mode" mode for the whole channel
|
||||||
See |ch_open()| for more explanation.
|
See |ch_open()| for more explanation.
|
||||||
{handle} can be Channel or a Job that has a Channel.
|
{handle} can be a Channel or a Job that has a Channel.
|
||||||
|
|
||||||
Note that changing the mode may cause queued messages to be
|
Note that changing the mode may cause queued messages to be
|
||||||
lost.
|
lost.
|
||||||
@@ -3139,16 +3155,21 @@ ch_setoptions({handle}, {options}) *ch_setoptions()*
|
|||||||
These options cannot be changed:
|
These options cannot be changed:
|
||||||
"waittime" only applies to |ch_open()|
|
"waittime" only applies to |ch_open()|
|
||||||
|
|
||||||
ch_status({handle}) *ch_status()*
|
ch_status({handle} [, {options}]) *ch_status()*
|
||||||
Return the status of {handle}:
|
Return the status of {handle}:
|
||||||
"fail" failed to open the channel
|
"fail" failed to open the channel
|
||||||
"open" channel can be used
|
"open" channel can be used
|
||||||
"buffered" channel can be read, not written to
|
"buffered" channel can be read, not written to
|
||||||
"closed" channel can not be used
|
"closed" channel can not be used
|
||||||
{handle} can be Channel or a Job that has a Channel.
|
{handle} can be a Channel or a Job that has a Channel.
|
||||||
"buffered" is used when the channel was closed but there is
|
"buffered" is used when the channel was closed but there is
|
||||||
still data that can be obtained with |ch_read()|.
|
still data that can be obtained with |ch_read()|.
|
||||||
|
|
||||||
|
If {options} is given it can contain a "part" entry to specify
|
||||||
|
the part of the channel to return the status for: "out" or
|
||||||
|
"err". For example, to get the error status: >
|
||||||
|
ch_status(job, {"part": "err"})
|
||||||
|
<
|
||||||
*copy()*
|
*copy()*
|
||||||
copy({expr}) Make a copy of {expr}. For Numbers and Strings this isn't
|
copy({expr}) Make a copy of {expr}. For Numbers and Strings this isn't
|
||||||
different from using {expr} directly.
|
different from using {expr} directly.
|
||||||
@@ -3701,9 +3722,10 @@ filter({expr1}, {expr2}) *filter()*
|
|||||||
is zero remove the item from the |List| or |Dictionary|.
|
is zero remove the item from the |List| or |Dictionary|.
|
||||||
{expr2} must be a |string| or |Funcref|.
|
{expr2} must be a |string| or |Funcref|.
|
||||||
|
|
||||||
if {expr2} is a |string|, inside {expr2} |v:val| has the value
|
If {expr2} is a |string|, inside {expr2} |v:val| has the value
|
||||||
of the current item. For a |Dictionary| |v:key| has the key
|
of the current item. For a |Dictionary| |v:key| has the key
|
||||||
of the current item.
|
of the current item and for a |List| |v:key| has the index of
|
||||||
|
the current item.
|
||||||
Examples: >
|
Examples: >
|
||||||
call filter(mylist, 'v:val !~ "OLD"')
|
call filter(mylist, 'v:val !~ "OLD"')
|
||||||
< Removes the items where "OLD" appears. >
|
< Removes the items where "OLD" appears. >
|
||||||
@@ -3725,6 +3747,10 @@ filter({expr1}, {expr2}) *filter()*
|
|||||||
return a:idx % 2 == 1
|
return a:idx % 2 == 1
|
||||||
endfunc
|
endfunc
|
||||||
call filter(mylist, function('Odd'))
|
call filter(mylist, function('Odd'))
|
||||||
|
< It is shorter when using a |lambda|: >
|
||||||
|
call filter(myList, {idx, val -> idx * val <= 42})
|
||||||
|
< If you do not use "val" you can leave it out: >
|
||||||
|
call filter(myList, {idx -> idx % 2 == 1})
|
||||||
<
|
<
|
||||||
The operation is done in-place. If you want a |List| or
|
The operation is done in-place. If you want a |List| or
|
||||||
|Dictionary| to remain unmodified make a copy first: >
|
|Dictionary| to remain unmodified make a copy first: >
|
||||||
@@ -4274,7 +4300,9 @@ getcompletion({pat}, {type} [, {filtered}]) *getcompletion()*
|
|||||||
locale locale names (as output of locale -a)
|
locale locale names (as output of locale -a)
|
||||||
mapping mapping name
|
mapping mapping name
|
||||||
menu menus
|
menu menus
|
||||||
|
messages |:messages| suboptions
|
||||||
option options
|
option options
|
||||||
|
packadd optional package |pack-add| names
|
||||||
shellcmd Shell command
|
shellcmd Shell command
|
||||||
sign |:sign| suboptions
|
sign |:sign| suboptions
|
||||||
syntax syntax file names |'syntax'|
|
syntax syntax file names |'syntax'|
|
||||||
@@ -4356,7 +4384,7 @@ getfperm({fname}) *getfperm()*
|
|||||||
< This will hopefully (from a security point of view) display
|
< This will hopefully (from a security point of view) display
|
||||||
the string "rw-r--r--" or even "rw-------".
|
the string "rw-r--r--" or even "rw-------".
|
||||||
|
|
||||||
For setting permissins use |setfperm()|.
|
For setting permissions use |setfperm()|.
|
||||||
|
|
||||||
getftime({fname}) *getftime()*
|
getftime({fname}) *getftime()*
|
||||||
The result is a Number, which is the last modification time of
|
The result is a Number, which is the last modification time of
|
||||||
@@ -4503,7 +4531,8 @@ getqflist([{what}]) *getqflist()*
|
|||||||
If the optional {what} dictionary argument is supplied, then
|
If the optional {what} dictionary argument is supplied, then
|
||||||
returns only the items listed in {what} as a dictionary. The
|
returns only the items listed in {what} as a dictionary. The
|
||||||
following string items are supported in {what}:
|
following string items are supported in {what}:
|
||||||
nr get information for this quickfix list
|
nr get information for this quickfix list; zero
|
||||||
|
means the current quickfix list
|
||||||
title get the list title
|
title get the list title
|
||||||
winid get the |window-ID| (if opened)
|
winid get the |window-ID| (if opened)
|
||||||
all all of the above quickfix properties
|
all all of the above quickfix properties
|
||||||
@@ -4782,6 +4811,7 @@ histadd({history}, {item}) *histadd()*
|
|||||||
"expr" or "=" typed expression history
|
"expr" or "=" typed expression history
|
||||||
"input" or "@" input line history
|
"input" or "@" input line history
|
||||||
"debug" or ">" debug command history
|
"debug" or ">" debug command history
|
||||||
|
empty the current or last used history
|
||||||
The {history} string does not need to be the whole name, one
|
The {history} string does not need to be the whole name, one
|
||||||
character is sufficient.
|
character is sufficient.
|
||||||
If {item} does already exist in the history, it will be
|
If {item} does already exist in the history, it will be
|
||||||
@@ -5199,6 +5229,7 @@ join({list} [, {sep}]) *join()*
|
|||||||
js_decode({string}) *js_decode()*
|
js_decode({string}) *js_decode()*
|
||||||
This is similar to |json_decode()| with these differences:
|
This is similar to |json_decode()| with these differences:
|
||||||
- Object key names do not have to be in quotes.
|
- Object key names do not have to be in quotes.
|
||||||
|
- Strings can be in single quotes.
|
||||||
- Empty items in an array (between two commas) are allowed and
|
- Empty items in an array (between two commas) are allowed and
|
||||||
result in v:none items.
|
result in v:none items.
|
||||||
|
|
||||||
@@ -5225,6 +5256,7 @@ json_decode({string}) *json_decode()*
|
|||||||
- A trailing comma in an array and object is ignored.
|
- A trailing comma in an array and object is ignored.
|
||||||
- More floating point numbers are recognized, e.g. "1." for
|
- More floating point numbers are recognized, e.g. "1." for
|
||||||
"1.0".
|
"1.0".
|
||||||
|
However, a duplicate key in an object is not allowed. *E938*
|
||||||
The result must be a valid Vim type:
|
The result must be a valid Vim type:
|
||||||
- An empty object member name is not allowed.
|
- An empty object member name is not allowed.
|
||||||
- Duplicate object member names are not allowed.
|
- Duplicate object member names are not allowed.
|
||||||
@@ -5439,6 +5471,10 @@ map({expr1}, {expr2}) *map()*
|
|||||||
return a:key . '-' . a:val
|
return a:key . '-' . a:val
|
||||||
endfunc
|
endfunc
|
||||||
call map(myDict, function('KeyValue'))
|
call map(myDict, function('KeyValue'))
|
||||||
|
< It is shorter when using a |lambda|: >
|
||||||
|
call map(myDict, {key, val -> key . '-' . val})
|
||||||
|
< If you do not use "val" you can leave it out: >
|
||||||
|
call map(myDict, {key -> 'item: ' . key})
|
||||||
<
|
<
|
||||||
The operation is done in-place. If you want a |List| or
|
The operation is done in-place. If you want a |List| or
|
||||||
|Dictionary| to remain unmodified make a copy first: >
|
|Dictionary| to remain unmodified make a copy first: >
|
||||||
@@ -6149,9 +6185,9 @@ range({expr} [, {max} [, {stride}]]) *range()*
|
|||||||
*readfile()*
|
*readfile()*
|
||||||
readfile({fname} [, {binary} [, {max}]])
|
readfile({fname} [, {binary} [, {max}]])
|
||||||
Read file {fname} and return a |List|, each line of the file
|
Read file {fname} and return a |List|, each line of the file
|
||||||
as an item. Lines broken at NL characters. Macintosh files
|
as an item. Lines are broken at NL characters. Macintosh
|
||||||
separated with CR will result in a single long line (unless a
|
files separated with CR will result in a single long line
|
||||||
NL appears somewhere).
|
(unless a NL appears somewhere).
|
||||||
All NUL characters are replaced with a NL character.
|
All NUL characters are replaced with a NL character.
|
||||||
When {binary} 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
|
- When the last line ends in a NL an extra empty list item is
|
||||||
@@ -7214,7 +7250,7 @@ strcharpart({src}, {start}[, {len}]) *strcharpart()*
|
|||||||
Like |strpart()| but using character index and length instead
|
Like |strpart()| but using character index and length instead
|
||||||
of byte index and length.
|
of byte index and length.
|
||||||
When a character index is used where a character does not
|
When a character index is used where a character does not
|
||||||
exist it is assumed to be one byte. For example: >
|
exist it is assumed to be one character. For example: >
|
||||||
strcharpart('abc', -1, 2)
|
strcharpart('abc', -1, 2)
|
||||||
< results in 'a'.
|
< results in 'a'.
|
||||||
|
|
||||||
@@ -7371,6 +7407,9 @@ submatch({nr}[, {list}]) *submatch()* *E935*
|
|||||||
|substitute()| this list will always contain one or zero
|
|substitute()| this list will always contain one or zero
|
||||||
items, since there are no real line breaks.
|
items, since there are no real line breaks.
|
||||||
|
|
||||||
|
When substitute() is used recursively only the submatches in
|
||||||
|
the current (deepest) call can be obtained.
|
||||||
|
|
||||||
Example: >
|
Example: >
|
||||||
:s/\d\+/\=submatch(0) + 1/
|
:s/\d\+/\=submatch(0) + 1/
|
||||||
< This finds the first number in the line and adds one to it.
|
< This finds the first number in the line and adds one to it.
|
||||||
@@ -7525,6 +7564,10 @@ system({expr} [, {input}]) *system()* *E677*
|
|||||||
in a way |writefile()| does with {binary} set to "b" (i.e.
|
in a way |writefile()| does with {binary} set to "b" (i.e.
|
||||||
with a newline between each list item with newlines inside
|
with a newline between each list item with newlines inside
|
||||||
list items converted to NULs).
|
list items converted to NULs).
|
||||||
|
When {input} is given and is a number that is a valid id for
|
||||||
|
an existing buffer then the content of the buffer is written
|
||||||
|
to the file line by line, each line terminated by a NL and
|
||||||
|
NULs characters where the text has a NL.
|
||||||
|
|
||||||
Pipes are not used, the 'shelltemp' option is not used.
|
Pipes are not used, the 'shelltemp' option is not used.
|
||||||
|
|
||||||
@@ -7574,7 +7617,8 @@ systemlist({expr} [, {input}]) *systemlist()*
|
|||||||
Same as |system()|, but returns a |List| with lines (parts of
|
Same as |system()|, but returns a |List| with lines (parts of
|
||||||
output separated by NL) with NULs transformed into NLs. Output
|
output separated by NL) with NULs transformed into NLs. Output
|
||||||
is the same as |readfile()| will output with {binary} argument
|
is the same as |readfile()| will output with {binary} argument
|
||||||
set to "b".
|
set to "b". Note that on MS-Windows you may get trailing CR
|
||||||
|
characters.
|
||||||
|
|
||||||
Returns an empty string on error.
|
Returns an empty string on error.
|
||||||
|
|
||||||
@@ -8190,7 +8234,7 @@ writefile({list}, {fname} [, {flags}])
|
|||||||
end does cause the last line in the file to end in a NL.
|
end does cause the last line in the file to end in a NL.
|
||||||
|
|
||||||
When {flags} contains "a" then append mode is used, lines are
|
When {flags} contains "a" then append mode is used, lines are
|
||||||
append to the file: >
|
appended to the file: >
|
||||||
:call writefile(["foo"], "event.log", "a")
|
:call writefile(["foo"], "event.log", "a")
|
||||||
:call writefile(["bar"], "event.log", "a")
|
:call writefile(["bar"], "event.log", "a")
|
||||||
>
|
>
|
||||||
@@ -8392,6 +8436,8 @@ tgetent Compiled with tgetent support, able to use a termcap
|
|||||||
timers Compiled with |timer_start()| support.
|
timers Compiled with |timer_start()| support.
|
||||||
title Compiled with window title support |'title'|.
|
title Compiled with window title support |'title'|.
|
||||||
toolbar Compiled with support for |gui-toolbar|.
|
toolbar Compiled with support for |gui-toolbar|.
|
||||||
|
ttyin input is a terminal (tty)
|
||||||
|
ttyout output is a terminal (tty)
|
||||||
unix Unix version of Vim.
|
unix Unix version of Vim.
|
||||||
user_commands User-defined commands.
|
user_commands User-defined commands.
|
||||||
vertsplit Compiled with vertically split windows |:vsplit|.
|
vertsplit Compiled with vertically split windows |:vsplit|.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*filetype.txt* For Vim version 8.0. Last change: 2016 Sep 09
|
*filetype.txt* For Vim version 8.0. Last change: 2017 Jan 04
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -573,6 +573,8 @@ Man {number} {name}
|
|||||||
|
|
||||||
Global mapping:
|
Global mapping:
|
||||||
<Leader>K Displays the manual page for the word under the cursor.
|
<Leader>K Displays the manual page for the word under the cursor.
|
||||||
|
<Plug>ManPreGetPage idem, allows for using a mapping: >
|
||||||
|
nmap <F1> <Plug>ManPreGetPage<CR>
|
||||||
|
|
||||||
Local mappings:
|
Local mappings:
|
||||||
CTRL-] Jump to the manual page for the word under the cursor.
|
CTRL-] Jump to the manual page for the word under the cursor.
|
||||||
|
|||||||
@@ -49,10 +49,6 @@ If you want Vim to start with a maximized window, add this command to your
|
|||||||
vimrc or gvimrc file: >
|
vimrc or gvimrc file: >
|
||||||
au GUIEnter * simalt ~x
|
au GUIEnter * simalt ~x
|
||||||
<
|
<
|
||||||
*gui-w32s*
|
|
||||||
There is a specific version of gvim.exe that runs under the Win32s subsystem
|
|
||||||
of Windows 3.1 or 3.11. See |win32s|.
|
|
||||||
|
|
||||||
|
|
||||||
Using Vim as a plugin *gui-w32-windowid*
|
Using Vim as a plugin *gui-w32-windowid*
|
||||||
|
|
||||||
@@ -100,9 +96,10 @@ when you have got a new version):
|
|||||||
You can also install Vim in the "Send To" menu:
|
You can also install Vim in the "Send To" menu:
|
||||||
1. Start a Windows Explorer
|
1. Start a Windows Explorer
|
||||||
2. Navigate to your sendto directory:
|
2. Navigate to your sendto directory:
|
||||||
Windows 95: %windir%\sendto (e.g. "c:\windows\sendto")
|
|
||||||
Windows NT: %windir%\profiles\%user%\sendto (e.g.
|
Windows NT: %windir%\profiles\%user%\sendto (e.g.
|
||||||
"c:\winnt\profiles\mattha\sendto").
|
"c:\winnt\profiles\mattha\sendto")
|
||||||
|
Windows XP: C:\Documents and Settings\%user%\SendTo
|
||||||
|
Windows Vista: C:\Users\%user%\AppData\Roaming\Microsoft\Windows\SendTo .
|
||||||
3. Right-click in the file pane and select New->Shortcut
|
3. Right-click in the file pane and select New->Shortcut
|
||||||
4. Follow the shortcut wizard, using the full path to VIM/GVIM.
|
4. Follow the shortcut wizard, using the full path to VIM/GVIM.
|
||||||
|
|
||||||
@@ -274,35 +271,17 @@ WARNING: If you close this window with the "X" button, and confirm the
|
|||||||
question if you really want to kill the application, Vim may be killed too!
|
question if you really want to kill the application, Vim may be killed too!
|
||||||
(This does not apply to commands run asynchronously with ":!start".)
|
(This does not apply to commands run asynchronously with ":!start".)
|
||||||
|
|
||||||
In Windows 95, the window in which the commands are executed is always 25x80
|
The window in which the commands are executed will be the default you have set
|
||||||
characters, to be as DOS compatible as possible (this matters!). The default
|
up for "Console" in Control Panel.
|
||||||
system font is used. On NT, the window will be the default you have set up for
|
|
||||||
"Console" in Control Panel. On Win32s, the properties of the DOS box are
|
|
||||||
determined by _default.pif in the windows directory.
|
|
||||||
|
|
||||||
*msdos-mode*
|
|
||||||
If you get a dialog that says "This program is set to run in MS-DOS mode..."
|
|
||||||
when you run an external program, you can solve this by changing the
|
|
||||||
properties of the associated shortcut:
|
|
||||||
- Use a Windows Explorer to find the command.com that is used. It can be
|
|
||||||
c:\command.com, c:\dos\command.com, c:\windows\command.com, etc.
|
|
||||||
- With the right mouse button, select properties of this command.com.
|
|
||||||
- In the Program tab select "Advanced".
|
|
||||||
- Unselect "MS-DOS mode".
|
|
||||||
- Click "OK" twice.
|
|
||||||
|
|
||||||
*win32-!start*
|
*win32-!start*
|
||||||
Normally, Vim waits for a command to complete before continuing (this makes
|
Normally, Vim waits for a command to complete before continuing (this makes
|
||||||
sense for most shell commands which produce output for Vim to use). If you
|
sense for most shell commands which produce output for Vim to use). If you
|
||||||
want Vim to start a program and return immediately, you can use the following
|
want Vim to start a program and return immediately, you can use the following
|
||||||
syntax on W95 & NT: >
|
syntax: >
|
||||||
:!start [/min] {command}
|
:!start [/min] {command}
|
||||||
The optional "/min" causes the window to be minimized.
|
The optional "/min" causes the window to be minimized.
|
||||||
|
|
||||||
On Win32s, you will have to go to another window instead. Don't forget that
|
|
||||||
you must tell Windows 3.1x to keep executing a DOS command in the background
|
|
||||||
while you switch back to Vim.
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
5. Special colors *win32-colors*
|
5. Special colors *win32-colors*
|
||||||
|
|
||||||
@@ -311,7 +290,7 @@ On Win32, the normal DOS colors can be used. See |dos-colors|.
|
|||||||
Additionally the system configured colors can also be used. These are known
|
Additionally the system configured colors can also be used. These are known
|
||||||
by the names Sys_XXX, where XXX is the appropriate system color name, from the
|
by the names Sys_XXX, where XXX is the appropriate system color name, from the
|
||||||
following list (see the Win32 documentation for full descriptions). Case is
|
following list (see the Win32 documentation for full descriptions). Case is
|
||||||
ignored. Note: On Win32s not all of these colors are supported.
|
ignored.
|
||||||
|
|
||||||
Sys_3DDKShadow Sys_3DFace Sys_BTNFace
|
Sys_3DDKShadow Sys_3DFace Sys_BTNFace
|
||||||
Sys_3DHilight Sys_3DHighlight Sys_BTNHilight
|
Sys_3DHilight Sys_3DHighlight Sys_BTNHilight
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*gui_x11.txt* For Vim version 8.0. Last change: 2016 Aug 21
|
*gui_x11.txt* For Vim version 8.0. Last change: 2016 Sep 12
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -475,7 +475,7 @@ your system has a working pkg-config together with the .pc file of the
|
|||||||
required GTK+. For that, say, run the following on the command line to see if
|
required GTK+. For that, say, run the following on the command line to see if
|
||||||
your pkg-config works with your GTK+ 2: >
|
your pkg-config works with your GTK+ 2: >
|
||||||
|
|
||||||
$ pkgconfig --modversion gtk+-2.0
|
$ pkg-config --modversion gtk+-2.0
|
||||||
|
|
||||||
Replace gtk+-2.0 with gtk+-3.0 for GTK+ 3. If you get the correct version
|
Replace gtk+-2.0 with gtk+-3.0 for GTK+ 3. If you get the correct version
|
||||||
number of your GTK+, you can proceed; if not, you probably need to do some
|
number of your GTK+, you can proceed; if not, you probably need to do some
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*help.txt* For Vim version 8.0. Last change: 2016 Mar 31
|
*help.txt* For Vim version 8.0. Last change: 2016 Sep 12
|
||||||
|
|
||||||
VIM - main help file
|
VIM - main help file
|
||||||
k
|
k
|
||||||
@@ -135,6 +135,7 @@ Advanced editing ~
|
|||||||
|autocmd.txt| automatically executing commands on an event
|
|autocmd.txt| automatically executing commands on an event
|
||||||
|filetype.txt| settings done specifically for a type of file
|
|filetype.txt| settings done specifically for a type of file
|
||||||
|eval.txt| expression evaluation, conditional commands
|
|eval.txt| expression evaluation, conditional commands
|
||||||
|
|channel.txt| Jobs, Channels, inter-process communication
|
||||||
|fold.txt| hide (fold) ranges of lines
|
|fold.txt| hide (fold) ranges of lines
|
||||||
|
|
||||||
Special issues ~
|
Special issues ~
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*if_pyth.txt* For Vim version 8.0. Last change: 2016 Sep 01
|
*if_pyth.txt* For Vim version 8.0. Last change: 2016 Sep 17
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Paul Moore
|
VIM REFERENCE MANUAL by Paul Moore
|
||||||
@@ -748,11 +748,11 @@ match the Python 2.x or Python 3 version Vim was compiled with.
|
|||||||
The `:py3` and `:python3` commands work similar to `:python`. A simple check
|
The `:py3` and `:python3` commands work similar to `:python`. A simple check
|
||||||
if the `:py3` command is working: >
|
if the `:py3` command is working: >
|
||||||
:py3 print("Hello")
|
:py3 print("Hello")
|
||||||
< *:py3file*
|
|
||||||
To see what version of Python you have: >
|
To see what version of Python you have: >
|
||||||
:py3 import sys
|
:py3 import sys
|
||||||
:py3 print(sys.version)
|
:py3 print(sys.version)
|
||||||
|
< *:py3file*
|
||||||
The `:py3file` command works similar to `:pyfile`.
|
The `:py3file` command works similar to `:pyfile`.
|
||||||
*:py3do*
|
*:py3do*
|
||||||
The `:py3do` command works similar to `:pydo`.
|
The `:py3do` command works similar to `:pydo`.
|
||||||
|
|||||||
@@ -207,21 +207,19 @@ MS-Windows ~
|
|||||||
|
|
||||||
You need to install the right version of Ruby for this to work. You can find
|
You need to install the right version of Ruby for this to work. You can find
|
||||||
the package to download from:
|
the package to download from:
|
||||||
http://www.garbagecollect.jp/ruby/mswin32/en/download/release.html
|
http://rubyinstaller.org/downloads/
|
||||||
Currently that is ruby-1.9.2-p136-i386-mswin32.zip
|
Currently that is rubyinstaller-2.2.5.exe
|
||||||
|
|
||||||
To use the Ruby interface the Ruby DLL must be in your search path. In a
|
To use the Ruby interface the Ruby DLL must be in your search path. In a
|
||||||
console window type "path" to see what directories are used. The 'rubydll'
|
console window type "path" to see what directories are used. The 'rubydll'
|
||||||
option can be also used to specify the Ruby DLL.
|
option can be also used to specify the Ruby DLL.
|
||||||
|
|
||||||
The name of the DLL must match the Ruby version Vim was compiled with.
|
The name of the DLL must match the Ruby version Vim was compiled with.
|
||||||
Currently the name is "msvcrt-ruby191.dll". That is for Ruby 1.9.1. To know
|
Currently the name is "msvcrt-ruby220.dll". That is for Ruby 2.2.X. To know
|
||||||
for sure edit "gvim.exe" and search for "ruby\d*.dll\c".
|
for sure edit "gvim.exe" and search for "ruby\d*.dll\c".
|
||||||
|
|
||||||
If you want to build Vim with Ruby 1.9.1, you need to edit the config.h file
|
If you want to build Vim with RubyInstaller 1.9 or 2.X using MSVC, you need
|
||||||
and comment-out the check for _MSC_VER.
|
some tricks. See the src/INSTALLpc.txt for detail.
|
||||||
You may also need to rename the include directory name to match the version,
|
|
||||||
strangely for Ruby 1.9.3 the directory is called 1.9.1.
|
|
||||||
|
|
||||||
|
|
||||||
Unix ~
|
Unix ~
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*index.txt* For Vim version 8.0. Last change: 2016 Aug 27
|
*index.txt* For Vim version 8.0. Last change: 2016 Sep 27
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -1002,7 +1002,7 @@ tag command action in Command-line editing mode ~
|
|||||||
|c_CTRL-L| CTRL-L do completion on the pattern in front of the
|
|c_CTRL-L| CTRL-L do completion on the pattern in front of the
|
||||||
cursor and insert the longest common part
|
cursor and insert the longest common part
|
||||||
|c_<CR>| <CR> execute entered command
|
|c_<CR>| <CR> execute entered command
|
||||||
|c_<CR>| CTRL-M same as <CR>
|
|c_CTRL-M| CTRL-M same as <CR>
|
||||||
|c_CTRL-N| CTRL-N after using 'wildchar' with multiple matches:
|
|c_CTRL-N| CTRL-N after using 'wildchar' with multiple matches:
|
||||||
go to next match, otherwise: same as <Down>
|
go to next match, otherwise: same as <Down>
|
||||||
CTRL-O not used
|
CTRL-O not used
|
||||||
@@ -1026,7 +1026,7 @@ tag command action in Command-line editing mode ~
|
|||||||
CTRL-Y copy (yank) modeless selection
|
CTRL-Y copy (yank) modeless selection
|
||||||
CTRL-Z not used (reserved for suspend)
|
CTRL-Z not used (reserved for suspend)
|
||||||
|c_<Esc>| <Esc> abandon command-line without executing it
|
|c_<Esc>| <Esc> abandon command-line without executing it
|
||||||
|c_<Esc>| CTRL-[ same as <Esc>
|
|c_CTRL-[| CTRL-[ same as <Esc>
|
||||||
|c_CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode, abandon command-line
|
|c_CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode, abandon command-line
|
||||||
|c_CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode',
|
|c_CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode',
|
||||||
abandon command-line
|
abandon command-line
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*intro.txt* For Vim version 8.0. Last change: 2015 Jan 20
|
*intro.txt* For Vim version 8.0. Last change: 2016 Sep 24
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -96,21 +96,18 @@ mention that.
|
|||||||
|
|
||||||
*mail-list* *maillist*
|
*mail-list* *maillist*
|
||||||
There are several mailing lists for Vim:
|
There are several mailing lists for Vim:
|
||||||
<vim@vim.org>
|
<vim@vim.org> *vim-use* *vim_use*
|
||||||
For discussions about using existing versions of Vim: Useful mappings,
|
For discussions about using existing versions of Vim: Useful mappings,
|
||||||
questions, answers, where to get a specific version, etc. There are
|
questions, answers, where to get a specific version, etc. There are
|
||||||
quite a few people watching this list and answering questions, also
|
quite a few people watching this list and answering questions, also
|
||||||
for beginners. Don't hesitate to ask your question here.
|
for beginners. Don't hesitate to ask your question here.
|
||||||
<vim-dev@vim.org> *vim-dev* *vimdev*
|
<vim-dev@vim.org> *vim-dev* *vim_dev* *vimdev*
|
||||||
For discussions about changing Vim: New features, porting, patches,
|
For discussions about changing Vim: New features, porting, patches,
|
||||||
beta-test versions, etc.
|
beta-test versions, etc.
|
||||||
<vim-announce@vim.org> *vim-announce*
|
<vim-announce@vim.org> *vim-announce* *vim_announce*
|
||||||
Announcements about new versions of Vim; also for beta-test versions
|
Announcements about new versions of Vim; also for beta-test versions
|
||||||
and ports to different systems. This is a read-only list.
|
and ports to different systems. This is a read-only list.
|
||||||
<vim-multibyte@vim.org> *vim-multibyte*
|
<vim-mac@vim.org> *vim-mac* *vim_mac*
|
||||||
For discussions about using and improving the multi-byte aspects of
|
|
||||||
Vim.
|
|
||||||
<vim-mac@vim.org> *vim-mac*
|
|
||||||
For discussions about using and improving the Macintosh version of
|
For discussions about using and improving the Macintosh version of
|
||||||
Vim.
|
Vim.
|
||||||
|
|
||||||
@@ -135,10 +132,14 @@ http://www.vim.org/maillist.php
|
|||||||
|
|
||||||
Bug reports: *bugs* *bug-reports* *bugreport.vim*
|
Bug reports: *bugs* *bug-reports* *bugreport.vim*
|
||||||
|
|
||||||
Send bug reports to: Vim Developers <vim-dev@vim.org>
|
There are two ways to report bugs, both work:
|
||||||
This is a maillist, you need to become a member first and many people will see
|
1. Send bug reports to: Vim Developers <vim-dev@vim.org>
|
||||||
the message. If you don't want that, e.g. because it is a security issue,
|
This is a maillist, you need to become a member first and many people will
|
||||||
send it to <bugs@vim.org>, this only goes to the Vim maintainer (that's Bram).
|
see the message. If you don't want that, e.g. because it is a security
|
||||||
|
issue, send it to <bugs@vim.org>, this only goes to the Vim maintainer
|
||||||
|
(that's Bram).
|
||||||
|
2. Open issue on GitHub: https://github.com/vim/vim/issues
|
||||||
|
The text will be forwarded to the vim-dev maillist.
|
||||||
|
|
||||||
Please be brief; all the time that is spent on answering mail is subtracted
|
Please be brief; all the time that is spent on answering mail is subtracted
|
||||||
from the time that is spent on improving Vim! Always give a reproducible
|
from the time that is spent on improving Vim! Always give a reproducible
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*map.txt* For Vim version 8.0. Last change: 2016 Aug 26
|
*map.txt* For Vim version 8.0. Last change: 2016 Oct 15
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -1280,6 +1280,7 @@ completion can be enabled:
|
|||||||
-complete=locale locale names (as output of locale -a)
|
-complete=locale locale names (as output of locale -a)
|
||||||
-complete=mapping mapping name
|
-complete=mapping mapping name
|
||||||
-complete=menu menus
|
-complete=menu menus
|
||||||
|
-complete=messages |:messages| suboptions
|
||||||
-complete=option options
|
-complete=option options
|
||||||
-complete=packadd optional package |pack-add| names
|
-complete=packadd optional package |pack-add| names
|
||||||
-complete=shellcmd Shell command
|
-complete=shellcmd Shell command
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*message.txt* For Vim version 8.0. Last change: 2016 Sep 01
|
*message.txt* For Vim version 8.0. Last change: 2017 Jan 02
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -129,8 +129,9 @@ closed properly. Mostly harmless.
|
|||||||
Command too recursive
|
Command too recursive
|
||||||
|
|
||||||
This happens when an Ex command executes an Ex command that executes an Ex
|
This happens when an Ex command executes an Ex command that executes an Ex
|
||||||
command, etc. This is only allowed 200 times. When it's more there probably
|
command, etc. The limit is 200 or the value of 'maxfuncdepth', whatever is
|
||||||
is an endless loop. Probably a |:execute| or |:source| command is involved.
|
larger. When it's more there probably is an endless loop. Probably a
|
||||||
|
|:execute| or |:source| command is involved.
|
||||||
|
|
||||||
*E254* >
|
*E254* >
|
||||||
Cannot allocate color {name}
|
Cannot allocate color {name}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*motion.txt* For Vim version 8.0. Last change: 2016 Jul 12
|
*motion.txt* For Vim version 8.0. Last change: 2016 Nov 24
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -915,6 +915,7 @@ was made yet in the current file.
|
|||||||
then the position can be near the end of what the
|
then the position can be near the end of what the
|
||||||
command changed. For example when inserting a word,
|
command changed. For example when inserting a word,
|
||||||
the position will be on the last character.
|
the position will be on the last character.
|
||||||
|
To jump to older changes use |g;|.
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
|
|
||||||
*'(* *`(*
|
*'(* *`(*
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*options.txt* For Vim version 8.0. Last change: 2016 Sep 02
|
*options.txt* For Vim version 8.0. Last change: 2017 Jan 15
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -10,7 +10,7 @@ Options *options*
|
|||||||
2. Automatically setting options |auto-setting|
|
2. Automatically setting options |auto-setting|
|
||||||
3. Options summary |option-summary|
|
3. Options summary |option-summary|
|
||||||
|
|
||||||
For an overview of options see help.txt |option-list|.
|
For an overview of options see quickref.txt |option-list|.
|
||||||
|
|
||||||
Vim has a number of internal variables and switches which can be set to
|
Vim has a number of internal variables and switches which can be set to
|
||||||
achieve special effects. These options come in three forms:
|
achieve special effects. These options come in three forms:
|
||||||
@@ -242,7 +242,7 @@ opt+=val" the expansion is done before the adding or removing.
|
|||||||
Handling of local options *local-options*
|
Handling of local options *local-options*
|
||||||
|
|
||||||
Some of the options only apply to a window or buffer. Each window or buffer
|
Some of the options only apply to a window or buffer. Each window or buffer
|
||||||
has its own copy of this option, thus can each have their own value. This
|
has its own copy of this option, thus each can have its own value. This
|
||||||
allows you to set 'list' in one window but not in another. And set
|
allows you to set 'list' in one window but not in another. And set
|
||||||
'shiftwidth' to 3 in one buffer and 4 in another.
|
'shiftwidth' to 3 in one buffer and 4 in another.
|
||||||
|
|
||||||
@@ -1734,12 +1734,12 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
option + set value effect ~
|
option + set value effect ~
|
||||||
|
|
||||||
'allowrevins' off no CTRL-_ command
|
'allowrevins' off no CTRL-_ command
|
||||||
'backupcopy' Unix: "yes" backup file is a copy
|
|
||||||
others: "auto" copy or rename backup file
|
|
||||||
'backspace' "" normal backspace
|
'backspace' "" normal backspace
|
||||||
|
'backupcopy' Unix: "yes" backup file is a copy
|
||||||
|
else: "auto" copy or rename backup file
|
||||||
'backup' off no backup file
|
'backup' off no backup file
|
||||||
'cindent' off no C code indentation
|
|
||||||
'cedit' + "" no key to open the |cmdwin|
|
'cedit' + "" no key to open the |cmdwin|
|
||||||
|
'cindent' off no C code indentation
|
||||||
'cpoptions' + (all flags) Vi-compatible flags
|
'cpoptions' + (all flags) Vi-compatible flags
|
||||||
'cscopetag' off don't use cscope for ":tag"
|
'cscopetag' off don't use cscope for ":tag"
|
||||||
'cscopetagorder' 0 see |cscopetagorder|
|
'cscopetagorder' 0 see |cscopetagorder|
|
||||||
@@ -1781,6 +1781,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
'textwidth' 0 no automatic line wrap
|
'textwidth' 0 no automatic line wrap
|
||||||
'tildeop' off tilde is not an operator
|
'tildeop' off tilde is not an operator
|
||||||
'ttimeout' off no terminal timeout
|
'ttimeout' off no terminal timeout
|
||||||
|
'viminfo' + {unchanged} no viminfo file
|
||||||
'whichwrap' + "" left-right movements don't wrap
|
'whichwrap' + "" left-right movements don't wrap
|
||||||
'wildchar' + CTRL-E only when the current value is <Tab>
|
'wildchar' + CTRL-E only when the current value is <Tab>
|
||||||
use CTRL-E for cmdline completion
|
use CTRL-E for cmdline completion
|
||||||
@@ -2633,7 +2634,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
uhex Show unprintable characters hexadecimal as <xx>
|
uhex Show unprintable characters hexadecimal as <xx>
|
||||||
instead of using ^C and ~C.
|
instead of using ^C and ~C.
|
||||||
|
|
||||||
When neither "lastline" or "truncate" is included, a last line that
|
When neither "lastline" nor "truncate" is included, a last line that
|
||||||
doesn't fit is replaced with "@" lines.
|
doesn't fit is replaced with "@" lines.
|
||||||
|
|
||||||
*'eadirection'* *'ead'*
|
*'eadirection'* *'ead'*
|
||||||
@@ -3416,7 +3417,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
|
|
||||||
*'formatprg'* *'fp'*
|
*'formatprg'* *'fp'*
|
||||||
'formatprg' 'fp' string (default "")
|
'formatprg' 'fp' string (default "")
|
||||||
global
|
global or local to buffer |global-local|
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
The name of an external program that will be used to format the lines
|
The name of an external program that will be used to format the lines
|
||||||
selected with the |gq| operator. The program must take the input on
|
selected with the |gq| operator. The program must take the input on
|
||||||
@@ -3870,6 +3871,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
|
|
||||||
The format of this option is like that of 'statusline'.
|
The format of this option is like that of 'statusline'.
|
||||||
'guitabtooltip' is used for the tooltip, see below.
|
'guitabtooltip' is used for the tooltip, see below.
|
||||||
|
The expression will be evaluated in the |sandbox| when set from a
|
||||||
|
modeline, see |sandbox-option|.
|
||||||
|
|
||||||
Only used when the GUI tab pages line is displayed. 'e' must be
|
Only used when the GUI tab pages line is displayed. 'e' must be
|
||||||
present in 'guioptions'. For the non-GUI tab pages line 'tabline' is
|
present in 'guioptions'. For the non-GUI tab pages line 'tabline' is
|
||||||
@@ -4326,8 +4329,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
original position when no match is found and when pressing <Esc>. You
|
original position when no match is found and when pressing <Esc>. You
|
||||||
still need to finish the search command with <Enter> to move the
|
still need to finish the search command with <Enter> to move the
|
||||||
cursor to the match.
|
cursor to the match.
|
||||||
You can use the CTRL-N and CTRL-P keys to move to the next and
|
You can use the CTRL-G and CTRL-T keys to move to the next and
|
||||||
previous match. |c_CTRL-N| |c_CTRL-P|
|
previous match. |c_CTRL-G| |c_CTRL-T|
|
||||||
When compiled with the |+reltime| feature Vim only searches for about
|
When compiled with the |+reltime| feature Vim only searches for about
|
||||||
half a second. With a complicated pattern and/or a lot of text the
|
half a second. With a complicated pattern and/or a lot of text the
|
||||||
match may not be found. This is to avoid that Vim hangs while you
|
match may not be found. This is to avoid that Vim hangs while you
|
||||||
@@ -5018,6 +5021,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
catches endless recursion. When using a recursive function with
|
catches endless recursion. When using a recursive function with
|
||||||
more depth, set 'maxfuncdepth' to a bigger number. But this will use
|
more depth, set 'maxfuncdepth' to a bigger number. But this will use
|
||||||
more memory, there is the danger of failing when memory is exhausted.
|
more memory, there is the danger of failing when memory is exhausted.
|
||||||
|
Increasing this limit above 200 also changes the maximum for Ex
|
||||||
|
command resursion, see |E169|.
|
||||||
See also |:function|.
|
See also |:function|.
|
||||||
|
|
||||||
*'maxmapdepth'* *'mmd'* *E223*
|
*'maxmapdepth'* *'mmd'* *E223*
|
||||||
@@ -5139,7 +5144,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
{not in Vi} *E21*
|
{not in Vi} *E21*
|
||||||
When off the buffer contents cannot be changed. The 'fileformat' and
|
When off the buffer contents cannot be changed. The 'fileformat' and
|
||||||
'fileencoding' options also can't be changed.
|
'fileencoding' options also can't be changed.
|
||||||
Can be reset with the |-M| command line argument.
|
Can be reset on startup with the |-M| command line argument.
|
||||||
|
|
||||||
*'modified'* *'mod'* *'nomodified'* *'nomod'*
|
*'modified'* *'mod'* *'nomodified'* *'nomod'*
|
||||||
'modified' 'mod' boolean (default off)
|
'modified' 'mod' boolean (default off)
|
||||||
@@ -5698,6 +5703,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
and |+postscript| features}
|
and |+postscript| features}
|
||||||
Expression used to print the PostScript produced with |:hardcopy|.
|
Expression used to print the PostScript produced with |:hardcopy|.
|
||||||
See |pexpr-option|.
|
See |pexpr-option|.
|
||||||
|
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||||
|
security reasons.
|
||||||
|
|
||||||
*'printfont'* *'pfn'*
|
*'printfont'* *'pfn'*
|
||||||
'printfont' 'pfn' string (default "courier")
|
'printfont' 'pfn' string (default "courier")
|
||||||
@@ -5802,6 +5809,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
buffer, unless the 'Z' flag is in 'cpoptions'.
|
buffer, unless the 'Z' flag is in 'cpoptions'.
|
||||||
{not in Vi:} When using the ":view" command the 'readonly' option is
|
{not in Vi:} When using the ":view" command the 'readonly' option is
|
||||||
set for the newly edited buffer.
|
set for the newly edited buffer.
|
||||||
|
See 'modifiable' for disallowing changes to the buffer.
|
||||||
|
|
||||||
*'redrawtime'* *'rdt'*
|
*'redrawtime'* *'rdt'*
|
||||||
'redrawtime' 'rdt' number (default 2000)
|
'redrawtime' 'rdt' number (default 2000)
|
||||||
@@ -6122,7 +6130,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
personal preferences to overrule or add to the distributed defaults
|
personal preferences to overrule or add to the distributed defaults
|
||||||
or system-wide settings (rarely needed).
|
or system-wide settings (rarely needed).
|
||||||
|
|
||||||
More entries are added when using |packages|.
|
More entries are added when using |packages|. If it gets very long
|
||||||
|
then `:set rtp` will be truncated, use `:echo &rtp` to see the full
|
||||||
|
string.
|
||||||
|
|
||||||
Note that, unlike 'path', no wildcards like "**" are allowed. Normal
|
Note that, unlike 'path', no wildcards like "**" are allowed. Normal
|
||||||
wildcards are allowed, but can significantly slow down searching for
|
wildcards are allowed, but can significantly slow down searching for
|
||||||
@@ -6183,7 +6193,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
NOTE: This option is set to 1 when 'compatible' is set.
|
NOTE: This option is set to 1 when 'compatible' is set.
|
||||||
|
|
||||||
*'scrolloff'* *'so'*
|
*'scrolloff'* *'so'*
|
||||||
'scrolloff' 'so' number (default 0)
|
'scrolloff' 'so' number (default 0, set to 5 in |defaults.vim|)
|
||||||
global
|
global
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
Minimal number of screen lines to keep above and below the cursor.
|
Minimal number of screen lines to keep above and below the cursor.
|
||||||
@@ -7685,7 +7695,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
'timeout' 'to' boolean (default on)
|
'timeout' 'to' boolean (default on)
|
||||||
global
|
global
|
||||||
*'ttimeout'* *'nottimeout'*
|
*'ttimeout'* *'nottimeout'*
|
||||||
'ttimeout' boolean (default off)
|
'ttimeout' boolean (default off, set in |defaults.vim|))
|
||||||
global
|
global
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
These two options together determine the behavior when part of a
|
These two options together determine the behavior when part of a
|
||||||
@@ -7720,7 +7730,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
global
|
global
|
||||||
{not in all versions of Vi}
|
{not in all versions of Vi}
|
||||||
*'ttimeoutlen'* *'ttm'*
|
*'ttimeoutlen'* *'ttm'*
|
||||||
'ttimeoutlen' 'ttm' number (default -1)
|
'ttimeoutlen' 'ttm' number (default -1, set to 100 in |defaults.vim|))
|
||||||
global
|
global
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
The time in milliseconds that is waited for a key code or mapped key
|
The time in milliseconds that is waited for a key code or mapped key
|
||||||
@@ -7815,7 +7825,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
Amiga console, Win32 console, all GUI versions and terminals with a
|
Amiga console, Win32 console, all GUI versions and terminals with a
|
||||||
non-empty 't_ts' option).
|
non-empty 't_ts' option).
|
||||||
When Vim was compiled with HAVE_X11 defined, the original title will
|
When Vim was compiled with HAVE_X11 defined, the original title will
|
||||||
be restored if possible |X11|.
|
be restored if possible, see |X11|.
|
||||||
When this option contains printf-style '%' items, they will be
|
When this option contains printf-style '%' items, they will be
|
||||||
expanded according to the rules used for 'statusline'.
|
expanded according to the rules used for 'statusline'.
|
||||||
Example: >
|
Example: >
|
||||||
@@ -7963,8 +7973,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
"xterm", "xterm2", "urxvt" or "sgr" (because dec mouse codes conflict
|
"xterm", "xterm2", "urxvt" or "sgr" (because dec mouse codes conflict
|
||||||
with them).
|
with them).
|
||||||
This option is automatically set to "xterm", when the 'term' option is
|
This option is automatically set to "xterm", when the 'term' option is
|
||||||
set to a name that starts with "xterm", "mlterm", "screen", "st" (full
|
set to a name that starts with "xterm", "mlterm", "screen", "tmux",
|
||||||
match only), "st-" or "stterm", and 'ttymouse' is not set already.
|
"st" (full match only), "st-" or "stterm", and 'ttymouse' is not set
|
||||||
|
already.
|
||||||
Additionally, if vim is compiled with the |+termresponse| feature and
|
Additionally, if vim is compiled with the |+termresponse| feature and
|
||||||
|t_RV| is set to the escape sequence to request the xterm version
|
|t_RV| is set to the escape sequence to request the xterm version
|
||||||
number, more intelligent detection process runs.
|
number, more intelligent detection process runs.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*os_win32.txt* For Vim version 8.0. Last change: 2016 Aug 28
|
*os_win32.txt* For Vim version 8.0. Last change: 2016 Oct 12
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by George Reilly
|
VIM REFERENCE MANUAL by George Reilly
|
||||||
@@ -7,20 +7,18 @@
|
|||||||
*win32* *Win32* *MS-Windows*
|
*win32* *Win32* *MS-Windows*
|
||||||
This file documents the idiosyncrasies of the Win32 version of Vim.
|
This file documents the idiosyncrasies of the Win32 version of Vim.
|
||||||
|
|
||||||
The Win32 version of Vim works on Windows NT, 95, 98, ME, XP, Vista and
|
The Win32 version of Vim works on Windows XP, Vista, 7, 8 and 10. There are
|
||||||
Windows 7. There are both console and GUI versions.
|
both console and GUI versions.
|
||||||
|
|
||||||
The 32 bit version also runs on 64 bit MS-Windows systems.
|
The 32 bit version also runs on 64 bit MS-Windows systems.
|
||||||
|
|
||||||
There is GUI version for use in the Win32s subsystem in Windows 3.1[1]. You
|
|
||||||
can also use the 32-bit DOS version of Vim instead. See |os_msdos.txt|.
|
|
||||||
|
|
||||||
1. Known problems |win32-problems|
|
1. Known problems |win32-problems|
|
||||||
2. Startup |win32-startup|
|
2. Startup |win32-startup|
|
||||||
3. Restore screen contents |win32-restore|
|
3. Restore screen contents |win32-restore|
|
||||||
4. Using the mouse |win32-mouse|
|
4. Using the mouse |win32-mouse|
|
||||||
5. Running under Windows 3.1 |win32-win3.1|
|
5. Running under Windows 95 |win32-win95|
|
||||||
6. Win32 mini FAQ |win32-faq|
|
6. Running under Windows 3.1 |win32-win3.1|
|
||||||
|
7. Win32 mini FAQ |win32-faq|
|
||||||
|
|
||||||
Additionally, there are a number of common Win32 and DOS items:
|
Additionally, there are a number of common Win32 and DOS items:
|
||||||
File locations |dos-locations|
|
File locations |dos-locations|
|
||||||
@@ -43,20 +41,7 @@ The GUI version was made by George V. Reilly and Robert Webb.
|
|||||||
For compiling see "src/INSTALLpc.txt". *win32-compiling*
|
For compiling see "src/INSTALLpc.txt". *win32-compiling*
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
1. Known problems *windows95* *win32-problems*
|
1. Known problems *win32-problems*
|
||||||
|
|
||||||
There are a few known problems with running in a console on Windows 95. As
|
|
||||||
far as we know, this is the same in Windows 98 and Windows ME.
|
|
||||||
|
|
||||||
Comments from somebody working at Microsoft: "Win95 console support has always
|
|
||||||
been and will always be flaky".
|
|
||||||
1. Dead key support doesn't work.
|
|
||||||
2. Resizing the window with ":set columns=nn lines=nn" works, but executing
|
|
||||||
external commands MAY CAUSE THE SYSTEM TO HANG OR CRASH.
|
|
||||||
3. Screen updating is slow, unless you change 'columns' or 'lines' to a
|
|
||||||
non-DOS value. But then the second problem applies!
|
|
||||||
|
|
||||||
If this bothers you, use the 32 bit MS-DOS version or the Win32 GUI version.
|
|
||||||
|
|
||||||
When doing file name completion, Vim also finds matches for the short file
|
When doing file name completion, Vim also finds matches for the short file
|
||||||
name. But Vim will still find and use the corresponding long file name. For
|
name. But Vim will still find and use the corresponding long file name. For
|
||||||
@@ -141,60 +126,20 @@ When the mouse doesn't work, try disabling the "Quick Edit Mode" feature of
|
|||||||
the console.
|
the console.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
5. Running under Windows 3.1 *win32-win3.1*
|
5. Running under Windows 95 *win32-win95*
|
||||||
|
*windows95* *windows98* *windowsme*
|
||||||
|
Windows 95/98/ME support was removed in patch 8.0.0029 If you want to use it
|
||||||
|
you will need to get a version older than that.
|
||||||
|
|
||||||
*win32s* *windows-3.1*
|
==============================================================================
|
||||||
|
6. Running under Windows 3.1 *win32-win3.1*
|
||||||
|
|
||||||
|
*win32s* *windows-3.1* *gui-w32s*
|
||||||
There was a special version of Gvim that runs under Windows 3.1 and 3.11.
|
There was a special version of Gvim that runs under Windows 3.1 and 3.11.
|
||||||
Support was removed in patch 7.4.1363.
|
Support was removed in patch 7.4.1363.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
6. Win32 mini FAQ *win32-faq*
|
7. Win32 mini FAQ *win32-faq*
|
||||||
|
|
||||||
Q. Why does the Win32 version of Vim update the screen so slowly on Windows 95?
|
|
||||||
A. The support for Win32 console mode applications is very buggy in Win95.
|
|
||||||
For some unknown reason, the screen updates very slowly when Vim is run at
|
|
||||||
one of the standard resolutions (80x25, 80x43, or 80x50) and the 16-bit DOS
|
|
||||||
version updates the screen much more quickly than the Win32 version.
|
|
||||||
However, if the screen is set to some other resolution, such as by ":set
|
|
||||||
columns=100" or ":set lines=40", screen updating becomes about as fast as
|
|
||||||
it is with the 16-bit version.
|
|
||||||
|
|
||||||
WARNING: Changing 'columns' may make Windows 95 crash while updating the
|
|
||||||
window (complaints --> Microsoft). Since this mostly works, this has not
|
|
||||||
been disabled, but be careful with changing 'columns'.
|
|
||||||
|
|
||||||
Changing the screen resolution makes updates faster, but it brings
|
|
||||||
additional problems. External commands (e.g., ":!dir") can cause Vim to
|
|
||||||
freeze when the screen is set to a non-standard resolution, particularly
|
|
||||||
when 'columns' is not equal to 80. It is not possible for Vim to reliably
|
|
||||||
set the screen resolution back to the value it had upon startup before
|
|
||||||
running external commands, so if you change the number of 'lines' or
|
|
||||||
'columns', be very, very careful. In fact, Vim will not allow you to
|
|
||||||
execute external commands when 'columns' is not equal to 80, because it is
|
|
||||||
so likely to freeze up afterwards.
|
|
||||||
|
|
||||||
None of the above applies on Windows NT. Screen updates are fast, no
|
|
||||||
matter how many 'lines' or 'columns' the window has, and external commands
|
|
||||||
do not cause Vim to freeze.
|
|
||||||
|
|
||||||
Q. So if the Win32 version updates the screen so slowly on Windows 95 and the
|
|
||||||
16-bit DOS version updates the screen quickly, why would I want to run the
|
|
||||||
Win32 version?
|
|
||||||
A. Firstly, the Win32 version isn't that slow, especially when the screen is
|
|
||||||
set to some non-standard number of 'lines' or 'columns'. Secondly, the
|
|
||||||
16-bit DOS version has some severe limitations: It can't do big changes and
|
|
||||||
it doesn't know about long file names. The Win32 version doesn't have these
|
|
||||||
limitations and it's faster overall (the same is true for the 32-bit DJGPP
|
|
||||||
DOS version of Vim). The Win32 version is smarter about handling the
|
|
||||||
screen, the mouse, and the keyboard than the DJGPP version is.
|
|
||||||
|
|
||||||
Q. And what about the 16-bit DOS version versus the Win32 version on NT?
|
|
||||||
A. There are no good reasons to run the 16-bit DOS version on NT. The Win32
|
|
||||||
version updates the screen just as fast as the 16-bit version does when
|
|
||||||
running on NT. All of the above disadvantages apply. Finally, DOS
|
|
||||||
applications can take a long time to start up and will run more slowly. On
|
|
||||||
non-Intel NT platforms, the DOS version is almost unusably slow, because it
|
|
||||||
runs on top of an 80x86 emulator.
|
|
||||||
|
|
||||||
Q. How do I change the font?
|
Q. How do I change the font?
|
||||||
A. In the GUI version, you can use the 'guifont' option. Example: >
|
A. In the GUI version, you can use the 'guifont' option. Example: >
|
||||||
@@ -202,47 +147,6 @@ A. In the GUI version, you can use the 'guifont' option. Example: >
|
|||||||
< In the console version, you need to set the font of the console itself.
|
< In the console version, you need to set the font of the console itself.
|
||||||
You cannot do this from within Vim.
|
You cannot do this from within Vim.
|
||||||
|
|
||||||
Q. When I change the size of the console window with ':set lines=xx' or
|
|
||||||
similar, the font changes! (Win95)
|
|
||||||
A. You have the console font set to 'Auto' in Vim's (or your MS-DOS prompt's)
|
|
||||||
properties. This makes W95 guess (badly!) what font is best. Set an explicit
|
|
||||||
font instead.
|
|
||||||
|
|
||||||
Q. Why can't I paste into Vim when running Windows 95?
|
|
||||||
A. In the properties dialog box for the MS-DOS window, go to "MS-DOS
|
|
||||||
Prompt/Misc/Fast pasting" and make sure that it is NOT checked. You should
|
|
||||||
also do ":set paste" in Vim to avoid unexpected effects. |'paste'|
|
|
||||||
|
|
||||||
Q. How do I type dead keys on Windows 95, in the console version?
|
|
||||||
(A dead key is an accent key, such as acute, grave, or umlaut, that doesn't
|
|
||||||
produce a character by itself, but when followed by another key, produces
|
|
||||||
an accented character, such as a-acute, e-grave, u-umlaut, n-tilde, and so
|
|
||||||
on. Very useful for most European languages. English-language keyboard
|
|
||||||
layouts don't use dead keys, as far as we know.)
|
|
||||||
A. You don't. The console mode input routines simply do not work correctly in
|
|
||||||
Windows 95, and I have not been able to work around them. In the words
|
|
||||||
of a senior developer at Microsoft:
|
|
||||||
Win95 console support has always been and will always be flaky.
|
|
||||||
|
|
||||||
The flakiness is unavoidable because we are stuck between the world of
|
|
||||||
MS-DOS keyboard TSRs like KEYB (which wants to cook the data;
|
|
||||||
important for international) and the world of Win32.
|
|
||||||
|
|
||||||
So keys that don't "exist" in MS-DOS land (like dead keys) have a
|
|
||||||
very tenuous existence in Win32 console land. Keys that act
|
|
||||||
differently between MS-DOS land and Win32 console land (like
|
|
||||||
capslock) will act flaky.
|
|
||||||
|
|
||||||
Don't even _mention_ the problems with multiple language keyboard
|
|
||||||
layouts...
|
|
||||||
|
|
||||||
You may be able to fashion some sort of workaround with the digraphs
|
|
||||||
mechanism. |digraphs|
|
|
||||||
|
|
||||||
The best solution is to use the Win32 GUI version gvim.exe. Alternatively,
|
|
||||||
you can try one of the DOS versions of Vim where dead keys reportedly do
|
|
||||||
work.
|
|
||||||
|
|
||||||
Q. How do I type dead keys on Windows NT?
|
Q. How do I type dead keys on Windows NT?
|
||||||
A. Dead keys work on NT 3.51. Just type them as you would in any other
|
A. Dead keys work on NT 3.51. Just type them as you would in any other
|
||||||
application.
|
application.
|
||||||
@@ -349,28 +253,6 @@ A. You have two possible solutions depending on what you want:
|
|||||||
< The first command runs notepad minimized and the second one runs it
|
< The first command runs notepad minimized and the second one runs it
|
||||||
normally.
|
normally.
|
||||||
|
|
||||||
Q. I'm using Win32s, and when I try to run an external command like "make",
|
|
||||||
Vim doesn't wait for it to finish! Help!
|
|
||||||
A. The problem is that a 32-bit application (Vim) can't get notification from
|
|
||||||
Windows that a 16-bit application (your DOS session) has finished. Vim
|
|
||||||
includes a work-around for this, but you must set up your DOS commands to
|
|
||||||
run in a window, not full-screen. Unfortunately the default when you
|
|
||||||
install Windows is full-screen. To change this:
|
|
||||||
1) Start PIF editor (in the Main program group).
|
|
||||||
2) Open the file "_DEFAULT.PIF" in your Windows directory.
|
|
||||||
3) Changes the display option from "Full Screen" to "Windowed".
|
|
||||||
4) Save and exit.
|
|
||||||
|
|
||||||
To test, start Vim and type >
|
|
||||||
:!dir C:\<CR>".
|
|
||||||
< You should see a DOS box window appear briefly with the directory listing.
|
|
||||||
|
|
||||||
Q. I use Vim under Win32s and NT. In NT, I can define the console to default to
|
|
||||||
50 lines, so that I get a 80x50 shell when I ':sh'. Can I do the same in
|
|
||||||
W3.1x, or am I stuck with 80x25?
|
|
||||||
A. Edit SYSTEM.INI and add 'ScreenLines=50' to the [NonWindowsApp] section. DOS
|
|
||||||
prompts and external DOS commands will now run in a 50-line window.
|
|
||||||
|
|
||||||
*windows-icon*
|
*windows-icon*
|
||||||
Q. I don't like the Vim icon, can I change it?
|
Q. I don't like the Vim icon, can I change it?
|
||||||
A. Yes, place your favorite icon in bitmaps/vim.ico in a directory of
|
A. Yes, place your favorite icon in bitmaps/vim.ico in a directory of
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*pi_gzip.txt* For Vim version 8.0. Last change: 2012 Jul 19
|
*pi_gzip.txt* For Vim version 8.0. Last change: 2016 Nov 06
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -27,6 +27,8 @@ with these extensions:
|
|||||||
*.bz2 bzip2
|
*.bz2 bzip2
|
||||||
*.lzma lzma
|
*.lzma lzma
|
||||||
*.xz xz
|
*.xz xz
|
||||||
|
*.lz lzip
|
||||||
|
*.zst zstd
|
||||||
|
|
||||||
That's actually the only thing you need to know. There are no options.
|
That's actually the only thing you need to know. There are no options.
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*logiPat.txt* Logical Patterns Jun 22, 2015
|
*pi_logipat.txt* Logical Patterns Jun 22, 2015
|
||||||
|
|
||||||
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
|
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
|
||||||
Copyright: (c) 2004-2015 by Charles E. Campbell *logiPat-copyright*
|
Copyright: (c) 2004-2015 by Charles E. Campbell *logiPat-copyright*
|
||||||
|
|||||||
@@ -532,7 +532,7 @@ variable (ex. scp uses the variable g:netrw_scp_cmd, which is defaulted to
|
|||||||
let g:netrw_sftp_cmd= '"c:\Program Files\PuTTY\psftp.exe"'
|
let g:netrw_sftp_cmd= '"c:\Program Files\PuTTY\psftp.exe"'
|
||||||
<
|
<
|
||||||
(note: it has been reported that windows 7 with putty v0.6's "-batch" option
|
(note: it has been reported that windows 7 with putty v0.6's "-batch" option
|
||||||
doesn't work, so its best to leave it off for that system)
|
doesn't work, so it's best to leave it off for that system)
|
||||||
|
|
||||||
See |netrw-p8| for more about putty, pscp, psftp, etc.
|
See |netrw-p8| for more about putty, pscp, psftp, etc.
|
||||||
|
|
||||||
@@ -1206,7 +1206,7 @@ The :NetrwMB command is available outside of netrw buffers (once netrw has been
|
|||||||
invoked in the session).
|
invoked in the session).
|
||||||
|
|
||||||
The file ".netrwbook" holds bookmarks when netrw (and vim) is not active. By
|
The file ".netrwbook" holds bookmarks when netrw (and vim) is not active. By
|
||||||
default, its stored on the first directory on the user's |'runtimepath'|.
|
default, it's stored on the first directory on the user's |'runtimepath'|.
|
||||||
|
|
||||||
Related Topics:
|
Related Topics:
|
||||||
|netrw-gb| how to return (go) to a bookmark
|
|netrw-gb| how to return (go) to a bookmark
|
||||||
@@ -1431,7 +1431,7 @@ be used in that count.
|
|||||||
*.netrwhist*
|
*.netrwhist*
|
||||||
See |g:netrw_dirhistmax| for how to control the quantity of history stack
|
See |g:netrw_dirhistmax| for how to control the quantity of history stack
|
||||||
slots. The file ".netrwhist" holds history when netrw (and vim) is not
|
slots. The file ".netrwhist" holds history when netrw (and vim) is not
|
||||||
active. By default, its stored on the first directory on the user's
|
active. By default, it's stored on the first directory on the user's
|
||||||
|'runtimepath'|.
|
|'runtimepath'|.
|
||||||
|
|
||||||
Related Topics:
|
Related Topics:
|
||||||
@@ -3271,7 +3271,7 @@ The user function is passed one argument; it resembles >
|
|||||||
|
|
||||||
fun! ExampleUserMapFunc(islocal)
|
fun! ExampleUserMapFunc(islocal)
|
||||||
<
|
<
|
||||||
where a:islocal is 1 if its a local-directory system call or 0 when
|
where a:islocal is 1 if it's a local-directory system call or 0 when
|
||||||
remote-directory system call.
|
remote-directory system call.
|
||||||
|
|
||||||
Use netrw#Expose("varname") to access netrw-internal (script-local)
|
Use netrw#Expose("varname") to access netrw-internal (script-local)
|
||||||
@@ -3595,7 +3595,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
|||||||
|
|
||||||
*netrw-p16*
|
*netrw-p16*
|
||||||
P16. When editing remote files (ex. :e ftp://hostname/path/file),
|
P16. When editing remote files (ex. :e ftp://hostname/path/file),
|
||||||
under Windows I get an |E303| message complaining that its unable
|
under Windows I get an |E303| message complaining that it's unable
|
||||||
to open a swap file.
|
to open a swap file.
|
||||||
|
|
||||||
(romainl) It looks like you are starting Vim from a protected
|
(romainl) It looks like you are starting Vim from a protected
|
||||||
@@ -3649,7 +3649,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
|||||||
P21. I've made a directory (or file) with an accented character, but
|
P21. I've made a directory (or file) with an accented character, but
|
||||||
netrw isn't letting me enter that directory/read that file:
|
netrw isn't letting me enter that directory/read that file:
|
||||||
|
|
||||||
Its likely that the shell or o/s is using a different encoding
|
It's likely that the shell or o/s is using a different encoding
|
||||||
than you have vim (netrw) using. A patch to vim supporting
|
than you have vim (netrw) using. A patch to vim supporting
|
||||||
"systemencoding" may address this issue in the future; for
|
"systemencoding" may address this issue in the future; for
|
||||||
now, just have netrw use the proper encoding. For example: >
|
now, just have netrw use the proper encoding. For example: >
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*pi_zip.txt* For Vim version 8.0. Last change: 2013 Apr 17
|
*pi_zip.txt* For Vim version 8.0. Last change: 2016 Sep 13
|
||||||
|
|
||||||
+====================+
|
+====================+
|
||||||
| Zip File Interface |
|
| Zip File Interface |
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
|
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
|
||||||
(remove NOSPAM from Campbell's email first)
|
(remove NOSPAM from Campbell's email first)
|
||||||
Copyright: Copyright (C) 2005-2012 Charles E Campbell *zip-copyright*
|
Copyright: Copyright (C) 2005-2015 Charles E Campbell *zip-copyright*
|
||||||
The VIM LICENSE (see |copyright|) applies to the files in this
|
The VIM LICENSE (see |copyright|) applies to the files in this
|
||||||
package, including zipPlugin.vim, zip.vim, and pi_zip.vim. except use
|
package, including zipPlugin.vim, zip.vim, and pi_zip.vim. except use
|
||||||
"zip.vim" instead of "VIM". Like anything else that's free, zip.vim
|
"zip.vim" instead of "VIM". Like anything else that's free, zip.vim
|
||||||
@@ -33,6 +33,9 @@ Copyright: Copyright (C) 2005-2012 Charles E Campbell *zip-copyright*
|
|||||||
also write to the file. Currently, one may not make a new file in
|
also write to the file. Currently, one may not make a new file in
|
||||||
zip archives via the plugin.
|
zip archives via the plugin.
|
||||||
|
|
||||||
|
*zip-x*
|
||||||
|
x : may extract a listed file when the cursor is atop it
|
||||||
|
|
||||||
OPTIONS
|
OPTIONS
|
||||||
|
|
||||||
*g:zip_nomax*
|
*g:zip_nomax*
|
||||||
@@ -60,6 +63,11 @@ Copyright: Copyright (C) 2005-2012 Charles E Campbell *zip-copyright*
|
|||||||
It's used during the writing (updating) of a file already in a zip
|
It's used during the writing (updating) of a file already in a zip
|
||||||
file; by default: >
|
file; by default: >
|
||||||
let g:zip_zipcmd= "zip"
|
let g:zip_zipcmd= "zip"
|
||||||
|
<
|
||||||
|
*g:zip_extractcmd*
|
||||||
|
This option specifies the program (and any options needed) used to
|
||||||
|
extract a file from a zip archive. By default, >
|
||||||
|
let g:zip_extractcmd= g:zip_unzipcmd
|
||||||
<
|
<
|
||||||
PREVENTING LOADING~
|
PREVENTING LOADING~
|
||||||
|
|
||||||
@@ -83,8 +91,26 @@ Copyright: Copyright (C) 2005-2012 Charles E Campbell *zip-copyright*
|
|||||||
One can simply extend this line to accommodate additional extensions that
|
One can simply extend this line to accommodate additional extensions that
|
||||||
should be treated as zip files.
|
should be treated as zip files.
|
||||||
|
|
||||||
|
Alternatively, one may change *g:zipPlugin_ext* in one's .vimrc.
|
||||||
|
Currently (11/30/15) it holds: >
|
||||||
|
|
||||||
|
let g:zipPlugin_ext= '*.zip,*.jar,*.xpi,*.ja,*.war,*.ear,*.celzip,
|
||||||
|
\ *.oxt,*.kmz,*.wsz,*.xap,*.docx,*.docm,*.dotx,*.dotm,*.potx,*.potm,
|
||||||
|
\ *.ppsx,*.ppsm,*.pptx,*.pptm,*.ppam,*.sldx,*.thmx,*.xlam,*.xlsx,*.xlsm,
|
||||||
|
\ *.xlsb,*.xltx,*.xltm,*.xlam,*.crtx,*.vdw,*.glox,*.gcsx,*.gqsx,*.epub'
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
4. History *zip-history* {{{1
|
4. History *zip-history* {{{1
|
||||||
|
v28 Oct 08, 2014 * changed the sanity checks for executables to reflect
|
||||||
|
the command actually to be attempted in zip#Read()
|
||||||
|
and zip#Write()
|
||||||
|
* added the extraction of a file capability
|
||||||
|
Nov 30, 2015 * added *.epub to the |g:zipPlugin_ext| list
|
||||||
|
Sep 13, 2016 * added *.apk to the |g:zipPlugin_ext| list and
|
||||||
|
sorted the suffices.
|
||||||
|
v27 Jul 02, 2013 * sanity check: zipfile must have "PK" as its first
|
||||||
|
two bytes.
|
||||||
|
* modified to allow zipfile: entries in quickfix lists
|
||||||
v26 Nov 15, 2012 * (Jason Spiro) provided a lot of new extensions that
|
v26 Nov 15, 2012 * (Jason Spiro) provided a lot of new extensions that
|
||||||
are synonyms for .zip
|
are synonyms for .zip
|
||||||
v25 Jun 27, 2011 * using keepj with unzip -Z
|
v25 Jun 27, 2011 * using keepj with unzip -Z
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*quickfix.txt* For Vim version 8.0. Last change: 2016 Jul 17
|
*quickfix.txt* For Vim version 8.0. Last change: 2016 Nov 04
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -878,7 +878,7 @@ need to write down a "todo" list.
|
|||||||
|
|
||||||
|
|
||||||
The Vim plugins in the "compiler" directory will set options to use the
|
The Vim plugins in the "compiler" directory will set options to use the
|
||||||
selected compiler. For ":compiler" local options are set, for ":compiler!"
|
selected compiler. For `:compiler` local options are set, for `:compiler!`
|
||||||
global options.
|
global options.
|
||||||
*current_compiler*
|
*current_compiler*
|
||||||
To support older Vim versions, the plugins always use "current_compiler" and
|
To support older Vim versions, the plugins always use "current_compiler" and
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*quickref.txt* For Vim version 8.0. Last change: 2016 Aug 21
|
*quickref.txt* For Vim version 8.0. Last change: 2016 Dec 16
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -1067,6 +1067,8 @@ Short explanation of each option: *option-list*
|
|||||||
|c_<Up>| <Up>/<Down> recall older/newer command-line that starts
|
|c_<Up>| <Up>/<Down> recall older/newer command-line that starts
|
||||||
with current command
|
with current command
|
||||||
|c_<S-Up>| <S-Up>/<S-Down> recall older/newer command-line from history
|
|c_<S-Up>| <S-Up>/<S-Down> recall older/newer command-line from history
|
||||||
|
|c_CTRL-G| CTRL-G next match when 'incsearch' is active
|
||||||
|
|c_CTRL-T| CTRL-T previous match when 'incsearch' is active
|
||||||
|:history| :his[tory] show older command-lines
|
|:history| :his[tory] show older command-lines
|
||||||
|
|
||||||
Context-sensitive completion on the command-line:
|
Context-sensitive completion on the command-line:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*scroll.txt* For Vim version 8.0. Last change: 2006 Aug 27
|
*scroll.txt* For Vim version 8.0. Last change: 2016 Nov 10
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -108,7 +108,8 @@ z^ Without [count]: Redraw with the line just above the
|
|||||||
3. Scrolling relative to cursor *scroll-cursor*
|
3. Scrolling relative to cursor *scroll-cursor*
|
||||||
|
|
||||||
The following commands reposition the edit window (the part of the buffer that
|
The following commands reposition the edit window (the part of the buffer that
|
||||||
you see) while keeping the cursor on the same line:
|
you see) while keeping the cursor on the same line. Note that the 'scrolloff'
|
||||||
|
option may cause context lines to show above and below the cursor.
|
||||||
|
|
||||||
*z<CR>*
|
*z<CR>*
|
||||||
z<CR> Redraw, line [count] at top of window (default
|
z<CR> Redraw, line [count] at top of window (default
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*starting.txt* For Vim version 8.0. Last change: 2016 Sep 09
|
*starting.txt* For Vim version 8.0. Last change: 2017 Jan 15
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -230,6 +230,7 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
the executable "view" has the same effect as the -R argument.
|
the executable "view" has the same effect as the -R argument.
|
||||||
The 'updatecount' option will be set to 10000, meaning that
|
The 'updatecount' option will be set to 10000, meaning that
|
||||||
the swap file will not be updated automatically very often.
|
the swap file will not be updated automatically very often.
|
||||||
|
See |-M| for disallowing modifications.
|
||||||
|
|
||||||
*-m*
|
*-m*
|
||||||
-m Modifications not allowed to be written. The 'write' option
|
-m Modifications not allowed to be written. The 'write' option
|
||||||
@@ -421,6 +422,10 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
not connected to a terminal. This will avoid the warning and
|
not connected to a terminal. This will avoid the warning and
|
||||||
the two second delay that would happen. {not in Vi}
|
the two second delay that would happen. {not in Vi}
|
||||||
|
|
||||||
|
*--ttyfail*
|
||||||
|
--ttyfail When the stdin or stdout is not a terminal (tty) then exit
|
||||||
|
right away.
|
||||||
|
|
||||||
*-d*
|
*-d*
|
||||||
-d Start in diff mode, like |vimdiff|.
|
-d Start in diff mode, like |vimdiff|.
|
||||||
{not in Vi} {not available when compiled without the |+diff|
|
{not in Vi} {not available when compiled without the |+diff|
|
||||||
@@ -1215,7 +1220,7 @@ There are several ways to exit Vim:
|
|||||||
- Use `:cquit`. Also when there are changes.
|
- Use `:cquit`. Also when there are changes.
|
||||||
|
|
||||||
When using `:cquit` or when there was an error message Vim exits with exit
|
When using `:cquit` or when there was an error message Vim exits with exit
|
||||||
code 1. Errors can be avoided by using `:silent!`.
|
code 1. Errors can be avoided by using `:silent!` or with `:catch`.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
8. Saving settings *save-settings*
|
8. Saving settings *save-settings*
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*syntax.txt* For Vim version 8.0. Last change: 2016 Sep 12
|
*syntax.txt* For Vim version 8.0. Last change: 2016 Oct 30
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -2863,9 +2863,11 @@ vimrc file: >
|
|||||||
(Adapted from the html.vim help text by Claudio Fleiner <claudio@fleiner.com>)
|
(Adapted from the html.vim help text by Claudio Fleiner <claudio@fleiner.com>)
|
||||||
|
|
||||||
|
|
||||||
|
*ft-posix-synax* *ft-dash-syntax*
|
||||||
SH *sh.vim* *ft-sh-syntax* *ft-bash-syntax* *ft-ksh-syntax*
|
SH *sh.vim* *ft-sh-syntax* *ft-bash-syntax* *ft-ksh-syntax*
|
||||||
|
|
||||||
This covers the "normal" Unix (Bourne) sh, bash and the Korn shell.
|
This covers syntax highlighting for the older Unix (Bourne) sh, and newer
|
||||||
|
shells such as bash, dash, posix, and the Korn shells.
|
||||||
|
|
||||||
Vim attempts to determine which shell type is in use by specifying that
|
Vim attempts to determine which shell type is in use by specifying that
|
||||||
various filenames are of specific types: >
|
various filenames are of specific types: >
|
||||||
@@ -2874,28 +2876,31 @@ various filenames are of specific types: >
|
|||||||
bash: .bashrc* bashrc bash.bashrc .bash_profile* *.bash
|
bash: .bashrc* bashrc bash.bashrc .bash_profile* *.bash
|
||||||
<
|
<
|
||||||
If none of these cases pertain, then the first line of the file is examined
|
If none of these cases pertain, then the first line of the file is examined
|
||||||
(ex. /bin/sh /bin/ksh /bin/bash). If the first line specifies a shelltype,
|
(ex. looking for /bin/sh /bin/ksh /bin/bash). If the first line specifies a
|
||||||
then that shelltype is used. However some files (ex. .profile) are known to
|
shelltype, then that shelltype is used. However some files (ex. .profile) are
|
||||||
be shell files but the type is not apparent. Furthermore, on many systems
|
known to be shell files but the type is not apparent. Furthermore, on many
|
||||||
sh is symbolically linked to "bash" (Linux, Windows+cygwin) or "ksh" (Posix).
|
systems sh is symbolically linked to "bash" (Linux, Windows+cygwin) or "ksh"
|
||||||
|
(Posix).
|
||||||
|
|
||||||
One may specify a global default by instantiating one of the following three
|
One may specify a global default by instantiating one of the following
|
||||||
variables in your <.vimrc>:
|
variables in your <.vimrc>:
|
||||||
|
|
||||||
ksh: >
|
ksh: >
|
||||||
let g:is_kornshell = 1
|
let g:is_kornshell = 1
|
||||||
< posix: (using this is the same as setting is_kornshell to 1) >
|
< posix: (using this is the nearly the same as setting g:is_kornshell to 1) >
|
||||||
let g:is_posix = 1
|
let g:is_posix = 1
|
||||||
< bash: >
|
< bash: >
|
||||||
let g:is_bash = 1
|
let g:is_bash = 1
|
||||||
< sh: (default) Bourne shell >
|
< sh: (default) Bourne shell >
|
||||||
let g:is_sh = 1
|
let g:is_sh = 1
|
||||||
|
|
||||||
|
< (dash users should use posix)
|
||||||
|
|
||||||
If there's no "#! ..." line, and the user hasn't availed himself/herself of a
|
If there's no "#! ..." line, and the user hasn't availed himself/herself of a
|
||||||
default sh.vim syntax setting as just shown, then syntax/sh.vim will assume
|
default sh.vim syntax setting as just shown, then syntax/sh.vim will assume
|
||||||
the Bourne shell syntax. No need to quote RFCs or market penetration
|
the Bourne shell syntax. No need to quote RFCs or market penetration
|
||||||
statistics in error reports, please -- just select the default version of the
|
statistics in error reports, please -- just select the default version of the
|
||||||
sh your system uses in your <.vimrc>.
|
sh your system uses and install the associated "let..." in your <.vimrc>.
|
||||||
|
|
||||||
The syntax/sh.vim file provides several levels of syntax-based folding: >
|
The syntax/sh.vim file provides several levels of syntax-based folding: >
|
||||||
|
|
||||||
@@ -2904,7 +2909,7 @@ The syntax/sh.vim file provides several levels of syntax-based folding: >
|
|||||||
let g:sh_fold_enabled= 2 (enable heredoc folding)
|
let g:sh_fold_enabled= 2 (enable heredoc folding)
|
||||||
let g:sh_fold_enabled= 4 (enable if/do/for folding)
|
let g:sh_fold_enabled= 4 (enable if/do/for folding)
|
||||||
>
|
>
|
||||||
then various syntax items (HereDocuments and function bodies) become
|
then various syntax items (ie. HereDocuments and function bodies) become
|
||||||
syntax-foldable (see |:syn-fold|). You also may add these together
|
syntax-foldable (see |:syn-fold|). You also may add these together
|
||||||
to get multiple types of folding: >
|
to get multiple types of folding: >
|
||||||
|
|
||||||
@@ -2928,14 +2933,7 @@ reduce this, the "sh_maxlines" internal variable can be set. Example: >
|
|||||||
The default is to use the twice sh_minlines. Set it to a smaller number to
|
The default is to use the twice sh_minlines. Set it to a smaller number to
|
||||||
speed up displaying. The disadvantage is that highlight errors may appear.
|
speed up displaying. The disadvantage is that highlight errors may appear.
|
||||||
|
|
||||||
*g:sh_isk* *g:sh_noisk*
|
|
||||||
The shell languages appear to let "." be part of words, commands, etc;
|
|
||||||
consequently it should be in the isk for sh.vim. As of v116 of syntax/sh.vim,
|
|
||||||
syntax/sh.vim will append the "." to |'iskeyword'| by default; you may control
|
|
||||||
this behavior with: >
|
|
||||||
let g:sh_isk = '..whatever characters you want as part of iskeyword'
|
|
||||||
let g:sh_noisk= 1 " otherwise, if this exists, the isk will NOT chg
|
|
||||||
<
|
|
||||||
*sh-embed* *sh-awk*
|
*sh-embed* *sh-awk*
|
||||||
Sh: EMBEDDING LANGUAGES~
|
Sh: EMBEDDING LANGUAGES~
|
||||||
|
|
||||||
@@ -3521,8 +3519,8 @@ SYNTAX ISKEYWORD SETTING *:syn-iskeyword*
|
|||||||
and also determines where |:syn-keyword| will be checked for a new
|
and also determines where |:syn-keyword| will be checked for a new
|
||||||
match.
|
match.
|
||||||
|
|
||||||
It is recommended when writing syntax files, to use this command
|
It is recommended when writing syntax files, to use this command to
|
||||||
to the correct value for the specific syntax language and not change
|
set the correct value for the specific syntax language and not change
|
||||||
the 'iskeyword' option.
|
the 'iskeyword' option.
|
||||||
|
|
||||||
DEFINING KEYWORDS *:syn-keyword*
|
DEFINING KEYWORDS *:syn-keyword*
|
||||||
@@ -3580,7 +3578,11 @@ DEFINING KEYWORDS *:syn-keyword*
|
|||||||
|
|
||||||
DEFINING MATCHES *:syn-match*
|
DEFINING MATCHES *:syn-match*
|
||||||
|
|
||||||
:sy[ntax] match {group-name} [{options}] [excludenl] {pattern} [{options}]
|
:sy[ntax] match {group-name} [{options}]
|
||||||
|
[excludenl]
|
||||||
|
[keepend]
|
||||||
|
{pattern}
|
||||||
|
[{options}]
|
||||||
|
|
||||||
This defines one match.
|
This defines one match.
|
||||||
|
|
||||||
@@ -3589,6 +3591,9 @@ DEFINING MATCHES *:syn-match*
|
|||||||
[excludenl] Don't make a pattern with the end-of-line "$"
|
[excludenl] Don't make a pattern with the end-of-line "$"
|
||||||
extend a containing match or region. Must be
|
extend a containing match or region. Must be
|
||||||
given before the pattern. |:syn-excludenl|
|
given before the pattern. |:syn-excludenl|
|
||||||
|
keepend Don't allow contained matches to go past a
|
||||||
|
match with the end pattern. See
|
||||||
|
|:syn-keepend|.
|
||||||
{pattern} The search pattern that defines the match.
|
{pattern} The search pattern that defines the match.
|
||||||
See |:syn-pattern| below.
|
See |:syn-pattern| below.
|
||||||
Note that the pattern may match more than one
|
Note that the pattern may match more than one
|
||||||
@@ -4592,7 +4597,14 @@ in their own color.
|
|||||||
|
|
||||||
Doesn't work recursively, thus you can't use
|
Doesn't work recursively, thus you can't use
|
||||||
":colorscheme" in a color scheme script.
|
":colorscheme" in a color scheme script.
|
||||||
After the color scheme has been loaded the
|
|
||||||
|
To customize a colorscheme use another name, e.g.
|
||||||
|
"~/.vim/colors/mine.vim", and use `:runtime` to load
|
||||||
|
the original colorscheme: >
|
||||||
|
runtime colors/evening.vim
|
||||||
|
hi Statement ctermfg=Blue guifg=Blue
|
||||||
|
|
||||||
|
< After the color scheme has been loaded the
|
||||||
|ColorScheme| autocommand event is triggered.
|
|ColorScheme| autocommand event is triggered.
|
||||||
For info about writing a colorscheme file: >
|
For info about writing a colorscheme file: >
|
||||||
:edit $VIMRUNTIME/colors/README.txt
|
:edit $VIMRUNTIME/colors/README.txt
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*tabpage.txt* For Vim version 8.0. Last change: 2016 Sep 09
|
*tabpage.txt* For Vim version 8.0. Last change: 2016 Oct 20
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -58,6 +58,8 @@ clicking right of the labels.
|
|||||||
In the GUI tab pages line you can use the right mouse button to open menu.
|
In the GUI tab pages line you can use the right mouse button to open menu.
|
||||||
|tabline-menu|.
|
|tabline-menu|.
|
||||||
|
|
||||||
|
For the related autocommands see |tabnew-autocmd|.
|
||||||
|
|
||||||
:[count]tabe[dit] *:tabe* *:tabedit* *:tabnew*
|
:[count]tabe[dit] *:tabe* *:tabedit* *:tabnew*
|
||||||
:[count]tabnew
|
:[count]tabnew
|
||||||
Open a new tab page with an empty window, after the current
|
Open a new tab page with an empty window, after the current
|
||||||
@@ -287,6 +289,7 @@ Variables local to a tab page start with "t:". |tabpage-variable|
|
|||||||
|
|
||||||
Currently there is only one option local to a tab page: 'cmdheight'.
|
Currently there is only one option local to a tab page: 'cmdheight'.
|
||||||
|
|
||||||
|
*tabnew-autocmd*
|
||||||
The TabLeave and TabEnter autocommand events can be used to do something when
|
The TabLeave and TabEnter autocommand events can be used to do something when
|
||||||
switching from one tab page to another. The exact order depends on what you
|
switching from one tab page to another. The exact order depends on what you
|
||||||
are doing. When creating a new tab page this works as if you create a new
|
are doing. When creating a new tab page this works as if you create a new
|
||||||
|
|||||||
@@ -1357,6 +1357,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
--servername remote.txt /*--servername*
|
--servername remote.txt /*--servername*
|
||||||
--socketid starting.txt /*--socketid*
|
--socketid starting.txt /*--socketid*
|
||||||
--startuptime starting.txt /*--startuptime*
|
--startuptime starting.txt /*--startuptime*
|
||||||
|
--ttyfail starting.txt /*--ttyfail*
|
||||||
--version starting.txt /*--version*
|
--version starting.txt /*--version*
|
||||||
--windowid starting.txt /*--windowid*
|
--windowid starting.txt /*--windowid*
|
||||||
-A starting.txt /*-A*
|
-A starting.txt /*-A*
|
||||||
@@ -1844,6 +1845,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
:$ cmdline.txt /*:$*
|
:$ cmdline.txt /*:$*
|
||||||
:% cmdline.txt /*:%*
|
:% cmdline.txt /*:%*
|
||||||
:& change.txt /*:&*
|
:& change.txt /*:&*
|
||||||
|
:&& change.txt /*:&&*
|
||||||
:' cmdline.txt /*:'*
|
:' cmdline.txt /*:'*
|
||||||
:, cmdline.txt /*:,*
|
:, cmdline.txt /*:,*
|
||||||
:. cmdline.txt /*:.*
|
:. cmdline.txt /*:.*
|
||||||
@@ -4486,6 +4488,8 @@ E933 eval.txt /*E933*
|
|||||||
E934 sign.txt /*E934*
|
E934 sign.txt /*E934*
|
||||||
E935 eval.txt /*E935*
|
E935 eval.txt /*E935*
|
||||||
E936 autocmd.txt /*E936*
|
E936 autocmd.txt /*E936*
|
||||||
|
E937 autocmd.txt /*E937*
|
||||||
|
E938 eval.txt /*E938*
|
||||||
E94 windows.txt /*E94*
|
E94 windows.txt /*E94*
|
||||||
E95 message.txt /*E95*
|
E95 message.txt /*E95*
|
||||||
E96 diff.txt /*E96*
|
E96 diff.txt /*E96*
|
||||||
@@ -5184,6 +5188,7 @@ c_CTRL-I cmdline.txt /*c_CTRL-I*
|
|||||||
c_CTRL-J cmdline.txt /*c_CTRL-J*
|
c_CTRL-J cmdline.txt /*c_CTRL-J*
|
||||||
c_CTRL-K cmdline.txt /*c_CTRL-K*
|
c_CTRL-K cmdline.txt /*c_CTRL-K*
|
||||||
c_CTRL-L cmdline.txt /*c_CTRL-L*
|
c_CTRL-L cmdline.txt /*c_CTRL-L*
|
||||||
|
c_CTRL-M cmdline.txt /*c_CTRL-M*
|
||||||
c_CTRL-N cmdline.txt /*c_CTRL-N*
|
c_CTRL-N cmdline.txt /*c_CTRL-N*
|
||||||
c_CTRL-P cmdline.txt /*c_CTRL-P*
|
c_CTRL-P cmdline.txt /*c_CTRL-P*
|
||||||
c_CTRL-Q cmdline.txt /*c_CTRL-Q*
|
c_CTRL-Q cmdline.txt /*c_CTRL-Q*
|
||||||
@@ -5200,6 +5205,7 @@ c_CTRL-U cmdline.txt /*c_CTRL-U*
|
|||||||
c_CTRL-V cmdline.txt /*c_CTRL-V*
|
c_CTRL-V cmdline.txt /*c_CTRL-V*
|
||||||
c_CTRL-W cmdline.txt /*c_CTRL-W*
|
c_CTRL-W cmdline.txt /*c_CTRL-W*
|
||||||
c_CTRL-Y cmdline.txt /*c_CTRL-Y*
|
c_CTRL-Y cmdline.txt /*c_CTRL-Y*
|
||||||
|
c_CTRL-[ cmdline.txt /*c_CTRL-[*
|
||||||
c_CTRL-\_CTRL-G intro.txt /*c_CTRL-\\_CTRL-G*
|
c_CTRL-\_CTRL-G intro.txt /*c_CTRL-\\_CTRL-G*
|
||||||
c_CTRL-\_CTRL-N intro.txt /*c_CTRL-\\_CTRL-N*
|
c_CTRL-\_CTRL-N intro.txt /*c_CTRL-\\_CTRL-N*
|
||||||
c_CTRL-\_e cmdline.txt /*c_CTRL-\\_e*
|
c_CTRL-\_e cmdline.txt /*c_CTRL-\\_e*
|
||||||
@@ -5246,6 +5252,7 @@ catch-text eval.txt /*catch-text*
|
|||||||
cc change.txt /*cc*
|
cc change.txt /*cc*
|
||||||
ceil() eval.txt /*ceil()*
|
ceil() eval.txt /*ceil()*
|
||||||
ch.vim syntax.txt /*ch.vim*
|
ch.vim syntax.txt /*ch.vim*
|
||||||
|
ch_canread() eval.txt /*ch_canread()*
|
||||||
ch_close() eval.txt /*ch_close()*
|
ch_close() eval.txt /*ch_close()*
|
||||||
ch_close_in() eval.txt /*ch_close_in()*
|
ch_close_in() eval.txt /*ch_close_in()*
|
||||||
ch_evalexpr() eval.txt /*ch_evalexpr()*
|
ch_evalexpr() eval.txt /*ch_evalexpr()*
|
||||||
@@ -5293,6 +5300,7 @@ channel-close channel.txt /*channel-close*
|
|||||||
channel-close-in channel.txt /*channel-close-in*
|
channel-close-in channel.txt /*channel-close-in*
|
||||||
channel-commands channel.txt /*channel-commands*
|
channel-commands channel.txt /*channel-commands*
|
||||||
channel-demo channel.txt /*channel-demo*
|
channel-demo channel.txt /*channel-demo*
|
||||||
|
channel-drop channel.txt /*channel-drop*
|
||||||
channel-functions usr_41.txt /*channel-functions*
|
channel-functions usr_41.txt /*channel-functions*
|
||||||
channel-mode channel.txt /*channel-mode*
|
channel-mode channel.txt /*channel-mode*
|
||||||
channel-more channel.txt /*channel-more*
|
channel-more channel.txt /*channel-more*
|
||||||
@@ -6025,6 +6033,7 @@ ft-csh-syntax syntax.txt /*ft-csh-syntax*
|
|||||||
ft-css-omni insert.txt /*ft-css-omni*
|
ft-css-omni insert.txt /*ft-css-omni*
|
||||||
ft-cweb-syntax syntax.txt /*ft-cweb-syntax*
|
ft-cweb-syntax syntax.txt /*ft-cweb-syntax*
|
||||||
ft-cynlib-syntax syntax.txt /*ft-cynlib-syntax*
|
ft-cynlib-syntax syntax.txt /*ft-cynlib-syntax*
|
||||||
|
ft-dash-syntax syntax.txt /*ft-dash-syntax*
|
||||||
ft-desktop-syntax syntax.txt /*ft-desktop-syntax*
|
ft-desktop-syntax syntax.txt /*ft-desktop-syntax*
|
||||||
ft-dircolors-syntax syntax.txt /*ft-dircolors-syntax*
|
ft-dircolors-syntax syntax.txt /*ft-dircolors-syntax*
|
||||||
ft-docbk-syntax syntax.txt /*ft-docbk-syntax*
|
ft-docbk-syntax syntax.txt /*ft-docbk-syntax*
|
||||||
@@ -6085,6 +6094,7 @@ ft-php-syntax syntax.txt /*ft-php-syntax*
|
|||||||
ft-php3-syntax syntax.txt /*ft-php3-syntax*
|
ft-php3-syntax syntax.txt /*ft-php3-syntax*
|
||||||
ft-phtml-syntax syntax.txt /*ft-phtml-syntax*
|
ft-phtml-syntax syntax.txt /*ft-phtml-syntax*
|
||||||
ft-plaintex-syntax syntax.txt /*ft-plaintex-syntax*
|
ft-plaintex-syntax syntax.txt /*ft-plaintex-syntax*
|
||||||
|
ft-posix-synax syntax.txt /*ft-posix-synax*
|
||||||
ft-postscr-syntax syntax.txt /*ft-postscr-syntax*
|
ft-postscr-syntax syntax.txt /*ft-postscr-syntax*
|
||||||
ft-ppwiz-syntax syntax.txt /*ft-ppwiz-syntax*
|
ft-ppwiz-syntax syntax.txt /*ft-ppwiz-syntax*
|
||||||
ft-printcap-syntax syntax.txt /*ft-printcap-syntax*
|
ft-printcap-syntax syntax.txt /*ft-printcap-syntax*
|
||||||
@@ -6338,8 +6348,6 @@ g:netrw_win95ftp pi_netrw.txt /*g:netrw_win95ftp*
|
|||||||
g:netrw_winsize pi_netrw.txt /*g:netrw_winsize*
|
g:netrw_winsize pi_netrw.txt /*g:netrw_winsize*
|
||||||
g:netrw_wiw pi_netrw.txt /*g:netrw_wiw*
|
g:netrw_wiw pi_netrw.txt /*g:netrw_wiw*
|
||||||
g:netrw_xstrlen pi_netrw.txt /*g:netrw_xstrlen*
|
g:netrw_xstrlen pi_netrw.txt /*g:netrw_xstrlen*
|
||||||
g:sh_isk syntax.txt /*g:sh_isk*
|
|
||||||
g:sh_noisk syntax.txt /*g:sh_noisk*
|
|
||||||
g:syntax_on syntax.txt /*g:syntax_on*
|
g:syntax_on syntax.txt /*g:syntax_on*
|
||||||
g:tar_browseoptions pi_tar.txt /*g:tar_browseoptions*
|
g:tar_browseoptions pi_tar.txt /*g:tar_browseoptions*
|
||||||
g:tar_cmd pi_tar.txt /*g:tar_cmd*
|
g:tar_cmd pi_tar.txt /*g:tar_cmd*
|
||||||
@@ -6370,6 +6378,8 @@ g:vimsyn_maxlines syntax.txt /*g:vimsyn_maxlines*
|
|||||||
g:vimsyn_minlines syntax.txt /*g:vimsyn_minlines*
|
g:vimsyn_minlines syntax.txt /*g:vimsyn_minlines*
|
||||||
g:vimsyn_noerror syntax.txt /*g:vimsyn_noerror*
|
g:vimsyn_noerror syntax.txt /*g:vimsyn_noerror*
|
||||||
g:yaml_schema syntax.txt /*g:yaml_schema*
|
g:yaml_schema syntax.txt /*g:yaml_schema*
|
||||||
|
g:zipPlugin_ext pi_zip.txt /*g:zipPlugin_ext*
|
||||||
|
g:zip_extractcmd pi_zip.txt /*g:zip_extractcmd*
|
||||||
g:zip_nomax pi_zip.txt /*g:zip_nomax*
|
g:zip_nomax pi_zip.txt /*g:zip_nomax*
|
||||||
g:zip_shq pi_zip.txt /*g:zip_shq*
|
g:zip_shq pi_zip.txt /*g:zip_shq*
|
||||||
g:zip_unzipcmd pi_zip.txt /*g:zip_unzipcmd*
|
g:zip_unzipcmd pi_zip.txt /*g:zip_unzipcmd*
|
||||||
@@ -6552,7 +6562,7 @@ gui-w32-printing gui_w32.txt /*gui-w32-printing*
|
|||||||
gui-w32-start gui_w32.txt /*gui-w32-start*
|
gui-w32-start gui_w32.txt /*gui-w32-start*
|
||||||
gui-w32-various gui_w32.txt /*gui-w32-various*
|
gui-w32-various gui_w32.txt /*gui-w32-various*
|
||||||
gui-w32-windowid gui_w32.txt /*gui-w32-windowid*
|
gui-w32-windowid gui_w32.txt /*gui-w32-windowid*
|
||||||
gui-w32s gui_w32.txt /*gui-w32s*
|
gui-w32s os_win32.txt /*gui-w32s*
|
||||||
gui-win32-maximized gui_w32.txt /*gui-win32-maximized*
|
gui-win32-maximized gui_w32.txt /*gui-win32-maximized*
|
||||||
gui-x11 gui_x11.txt /*gui-x11*
|
gui-x11 gui_x11.txt /*gui-x11*
|
||||||
gui-x11-athena gui_x11.txt /*gui-x11-athena*
|
gui-x11-athena gui_x11.txt /*gui-x11-athena*
|
||||||
@@ -6956,6 +6966,7 @@ job-callback channel.txt /*job-callback*
|
|||||||
job-channel-overview channel.txt /*job-channel-overview*
|
job-channel-overview channel.txt /*job-channel-overview*
|
||||||
job-close_cb channel.txt /*job-close_cb*
|
job-close_cb channel.txt /*job-close_cb*
|
||||||
job-control channel.txt /*job-control*
|
job-control channel.txt /*job-control*
|
||||||
|
job-drop channel.txt /*job-drop*
|
||||||
job-err_cb channel.txt /*job-err_cb*
|
job-err_cb channel.txt /*job-err_cb*
|
||||||
job-err_io channel.txt /*job-err_io*
|
job-err_io channel.txt /*job-err_io*
|
||||||
job-exit_cb channel.txt /*job-exit_cb*
|
job-exit_cb channel.txt /*job-exit_cb*
|
||||||
@@ -7091,7 +7102,6 @@ logiPat-man pi_logipat.txt /*logiPat-man*
|
|||||||
logiPat-manual pi_logipat.txt /*logiPat-manual*
|
logiPat-manual pi_logipat.txt /*logiPat-manual*
|
||||||
logiPat-operators pi_logipat.txt /*logiPat-operators*
|
logiPat-operators pi_logipat.txt /*logiPat-operators*
|
||||||
logiPat-pattern pi_logipat.txt /*logiPat-pattern*
|
logiPat-pattern pi_logipat.txt /*logiPat-pattern*
|
||||||
logiPat.txt pi_logipat.txt /*logiPat.txt*
|
|
||||||
long-lines version5.txt /*long-lines*
|
long-lines version5.txt /*long-lines*
|
||||||
love intro.txt /*love*
|
love intro.txt /*love*
|
||||||
lowercase change.txt /*lowercase*
|
lowercase change.txt /*lowercase*
|
||||||
@@ -7258,7 +7268,6 @@ mouse_winid-variable eval.txt /*mouse_winid-variable*
|
|||||||
movement intro.txt /*movement*
|
movement intro.txt /*movement*
|
||||||
ms-dos os_msdos.txt /*ms-dos*
|
ms-dos os_msdos.txt /*ms-dos*
|
||||||
msdos os_msdos.txt /*msdos*
|
msdos os_msdos.txt /*msdos*
|
||||||
msdos-mode gui_w32.txt /*msdos-mode*
|
|
||||||
msql.vim syntax.txt /*msql.vim*
|
msql.vim syntax.txt /*msql.vim*
|
||||||
mswin.vim gui_w32.txt /*mswin.vim*
|
mswin.vim gui_w32.txt /*mswin.vim*
|
||||||
multi-byte mbyte.txt /*multi-byte*
|
multi-byte mbyte.txt /*multi-byte*
|
||||||
@@ -7774,6 +7783,7 @@ php3.vim syntax.txt /*php3.vim*
|
|||||||
phtml.vim syntax.txt /*phtml.vim*
|
phtml.vim syntax.txt /*phtml.vim*
|
||||||
pi_getscript.txt pi_getscript.txt /*pi_getscript.txt*
|
pi_getscript.txt pi_getscript.txt /*pi_getscript.txt*
|
||||||
pi_gzip.txt pi_gzip.txt /*pi_gzip.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_netrw.txt pi_netrw.txt /*pi_netrw.txt*
|
||||||
pi_paren.txt pi_paren.txt /*pi_paren.txt*
|
pi_paren.txt pi_paren.txt /*pi_paren.txt*
|
||||||
pi_spec.txt pi_spec.txt /*pi_spec.txt*
|
pi_spec.txt pi_spec.txt /*pi_spec.txt*
|
||||||
@@ -8596,6 +8606,7 @@ tab-page-commands tabpage.txt /*tab-page-commands*
|
|||||||
tab-page-intro tabpage.txt /*tab-page-intro*
|
tab-page-intro tabpage.txt /*tab-page-intro*
|
||||||
tab-page-other tabpage.txt /*tab-page-other*
|
tab-page-other tabpage.txt /*tab-page-other*
|
||||||
tabline-menu tabpage.txt /*tabline-menu*
|
tabline-menu tabpage.txt /*tabline-menu*
|
||||||
|
tabnew-autocmd tabpage.txt /*tabnew-autocmd*
|
||||||
tabpage tabpage.txt /*tabpage*
|
tabpage tabpage.txt /*tabpage*
|
||||||
tabpage-variable eval.txt /*tabpage-variable*
|
tabpage-variable eval.txt /*tabpage-variable*
|
||||||
tabpage.txt tabpage.txt /*tabpage.txt*
|
tabpage.txt tabpage.txt /*tabpage.txt*
|
||||||
@@ -9115,15 +9126,19 @@ vim-dev intro.txt /*vim-dev*
|
|||||||
vim-mac intro.txt /*vim-mac*
|
vim-mac intro.txt /*vim-mac*
|
||||||
vim-modes intro.txt /*vim-modes*
|
vim-modes intro.txt /*vim-modes*
|
||||||
vim-modes-intro intro.txt /*vim-modes-intro*
|
vim-modes-intro intro.txt /*vim-modes-intro*
|
||||||
vim-multibyte intro.txt /*vim-multibyte*
|
|
||||||
vim-script-intro usr_41.txt /*vim-script-intro*
|
vim-script-intro usr_41.txt /*vim-script-intro*
|
||||||
|
vim-use intro.txt /*vim-use*
|
||||||
vim-variable eval.txt /*vim-variable*
|
vim-variable eval.txt /*vim-variable*
|
||||||
vim.vim syntax.txt /*vim.vim*
|
vim.vim syntax.txt /*vim.vim*
|
||||||
vim7 version7.txt /*vim7*
|
vim7 version7.txt /*vim7*
|
||||||
vim8 version8.txt /*vim8*
|
vim8 version8.txt /*vim8*
|
||||||
vim: options.txt /*vim:*
|
vim: options.txt /*vim:*
|
||||||
|
vim_announce intro.txt /*vim_announce*
|
||||||
|
vim_dev intro.txt /*vim_dev*
|
||||||
vim_did_enter-variable eval.txt /*vim_did_enter-variable*
|
vim_did_enter-variable eval.txt /*vim_did_enter-variable*
|
||||||
|
vim_mac intro.txt /*vim_mac*
|
||||||
vim_starting eval.txt /*vim_starting*
|
vim_starting eval.txt /*vim_starting*
|
||||||
|
vim_use intro.txt /*vim_use*
|
||||||
vimball pi_vimball.txt /*vimball*
|
vimball pi_vimball.txt /*vimball*
|
||||||
vimball-contents pi_vimball.txt /*vimball-contents*
|
vimball-contents pi_vimball.txt /*vimball-contents*
|
||||||
vimball-extract pi_vimball.txt /*vimball-extract*
|
vimball-extract pi_vimball.txt /*vimball-extract*
|
||||||
@@ -9228,6 +9243,7 @@ win32-startup os_win32.txt /*win32-startup*
|
|||||||
win32-term os_win32.txt /*win32-term*
|
win32-term os_win32.txt /*win32-term*
|
||||||
win32-vimrun gui_w32.txt /*win32-vimrun*
|
win32-vimrun gui_w32.txt /*win32-vimrun*
|
||||||
win32-win3.1 os_win32.txt /*win32-win3.1*
|
win32-win3.1 os_win32.txt /*win32-win3.1*
|
||||||
|
win32-win95 os_win32.txt /*win32-win95*
|
||||||
win32s os_win32.txt /*win32s*
|
win32s os_win32.txt /*win32s*
|
||||||
win_findbuf() eval.txt /*win_findbuf()*
|
win_findbuf() eval.txt /*win_findbuf()*
|
||||||
win_getid() eval.txt /*win_getid()*
|
win_getid() eval.txt /*win_getid()*
|
||||||
@@ -9257,6 +9273,8 @@ windows-intro windows.txt /*windows-intro*
|
|||||||
windows-starting windows.txt /*windows-starting*
|
windows-starting windows.txt /*windows-starting*
|
||||||
windows.txt windows.txt /*windows.txt*
|
windows.txt windows.txt /*windows.txt*
|
||||||
windows95 os_win32.txt /*windows95*
|
windows95 os_win32.txt /*windows95*
|
||||||
|
windows98 os_win32.txt /*windows98*
|
||||||
|
windowsme os_win32.txt /*windowsme*
|
||||||
winheight() eval.txt /*winheight()*
|
winheight() eval.txt /*winheight()*
|
||||||
winid windows.txt /*winid*
|
winid windows.txt /*winid*
|
||||||
winline() eval.txt /*winline()*
|
winline() eval.txt /*winline()*
|
||||||
@@ -9386,6 +9404,7 @@ zip-extension pi_zip.txt /*zip-extension*
|
|||||||
zip-history pi_zip.txt /*zip-history*
|
zip-history pi_zip.txt /*zip-history*
|
||||||
zip-manual pi_zip.txt /*zip-manual*
|
zip-manual pi_zip.txt /*zip-manual*
|
||||||
zip-usage pi_zip.txt /*zip-usage*
|
zip-usage pi_zip.txt /*zip-usage*
|
||||||
|
zip-x pi_zip.txt /*zip-x*
|
||||||
zj fold.txt /*zj*
|
zj fold.txt /*zj*
|
||||||
zk fold.txt /*zk*
|
zk fold.txt /*zk*
|
||||||
zl scroll.txt /*zl*
|
zl scroll.txt /*zl*
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*tagsrch.txt* For Vim version 8.0. Last change: 2016 Aug 20
|
*tagsrch.txt* For Vim version 8.0. Last change: 2016 Sep 20
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -91,7 +91,7 @@ The ignore-case matches are not found for a ":tag" command when:
|
|||||||
- 'tagcase' is "followscs" and 'smartcase' option is on and the pattern
|
- 'tagcase' is "followscs" and 'smartcase' option is on and the pattern
|
||||||
contains an upper case character.
|
contains an upper case character.
|
||||||
|
|
||||||
The gnore-case matches are found when:
|
The ignore-case matches are found when:
|
||||||
- a pattern is used (starting with a "/")
|
- a pattern is used (starting with a "/")
|
||||||
- for ":tselect"
|
- for ":tselect"
|
||||||
- when 'tagcase' is "followic" and 'ignorecase' is off
|
- when 'tagcase' is "followic" and 'ignorecase' is off
|
||||||
|
|||||||
@@ -89,6 +89,18 @@ an external command (e.g., "!!"), the terminal will be put into Normal mode
|
|||||||
for a moment. This means that you can stop the output to the screen by
|
for a moment. This means that you can stop the output to the screen by
|
||||||
hitting a printing key. Output resumes when you hit <BS>.
|
hitting a printing key. Output resumes when you hit <BS>.
|
||||||
|
|
||||||
|
*xterm-bracketed-paste*
|
||||||
|
When the 't_BE' option is set then 't_BE' will be sent to the
|
||||||
|
terminal when entering "raw" mode and 't_BD' when leaving "raw" mode. The
|
||||||
|
terminal is then expected to put 't_PS' before pasted text and 't_PE' after
|
||||||
|
pasted text. This way Vim can separate text that is pasted from characters
|
||||||
|
that are typed. The pasted text is handled like when the middle mouse button
|
||||||
|
is used.
|
||||||
|
|
||||||
|
Note that in some situations Vim will not recognize the bracketed paste and
|
||||||
|
you will get the raw text. In other situations Vim will only get the first
|
||||||
|
pasted character and drop the rest, e.g. when using the "r" command.
|
||||||
|
|
||||||
*cs7-problem*
|
*cs7-problem*
|
||||||
Note: If the terminal settings are changed after running Vim, you might have
|
Note: If the terminal settings are changed after running Vim, you might have
|
||||||
an illegal combination of settings. This has been reported on Solaris 2.5
|
an illegal combination of settings. This has been reported on Solaris 2.5
|
||||||
@@ -306,6 +318,10 @@ Added by Vim (there are no standard codes for these):
|
|||||||
|xterm-true-color|
|
|xterm-true-color|
|
||||||
t_8b set background color (R, G, B) *t_8b* *'t_8b'*
|
t_8b set background color (R, G, B) *t_8b* *'t_8b'*
|
||||||
|xterm-true-color|
|
|xterm-true-color|
|
||||||
|
t_BE enable bracketed paste mode *t_BE* *'t_BE'*
|
||||||
|
|xterm-bracketed-paste|
|
||||||
|
t_BD disable bracketed paste mode *t_BD* *'t_BD'*
|
||||||
|
|xterm-bracketed-paste|
|
||||||
|
|
||||||
KEY CODES
|
KEY CODES
|
||||||
Note: Use the <> form if possible
|
Note: Use the <> form if possible
|
||||||
@@ -398,6 +414,8 @@ Note: Use the <> form if possible
|
|||||||
t_KK <k8> keypad 8 *<k8>* *t_KK* *'t_KK'*
|
t_KK <k8> keypad 8 *<k8>* *t_KK* *'t_KK'*
|
||||||
t_KL <k9> keypad 9 *<k9>* *t_KL* *'t_KL'*
|
t_KL <k9> keypad 9 *<k9>* *t_KL* *'t_KL'*
|
||||||
<Mouse> leader of mouse code *<Mouse>*
|
<Mouse> leader of mouse code *<Mouse>*
|
||||||
|
t_PS start of brackted paste |xterm-bracketed-paste| *t_PS* 't_PS'
|
||||||
|
t_PE end of bracketed paste |xterm-bracketed-paste| *t_PE* 't_PE'
|
||||||
|
|
||||||
Note about t_so and t_mr: When the termcap entry "so" is not present the
|
Note about t_so and t_mr: When the termcap entry "so" is not present the
|
||||||
entry for "mr" is used. And vice versa. The same is done for "se" and "me".
|
entry for "mr" is used. And vice versa. The same is done for "se" and "me".
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
|||||||
*usr_22.txt* For Vim version 8.0. Last change: 2012 Nov 15
|
*usr_22.txt* For Vim version 8.0. Last change: 2016 Dec 13
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@@ -93,7 +93,7 @@ browser. This is what you get: >
|
|||||||
o................Browsing with a Horizontal Split...........|netrw-o|
|
o................Browsing with a Horizontal Split...........|netrw-o|
|
||||||
p................Use Preview Window.........................|netrw-p|
|
p................Use Preview Window.........................|netrw-p|
|
||||||
P................Edit in Previous Window....................|netrw-p|
|
P................Edit in Previous Window....................|netrw-p|
|
||||||
q................Listing Bookmarks and History..............|netrw-q|
|
q................Listing Bookmarks and History..............|netrw-qb|
|
||||||
r................Reversing Sorting Order....................|netrw-r|
|
r................Reversing Sorting Order....................|netrw-r|
|
||||||
< (etc)
|
< (etc)
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*usr_41.txt* For Vim version 8.0. Last change: 2016 Sep 01
|
*usr_41.txt* For Vim version 8.0. Last change: 2016 Nov 29
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@@ -930,6 +930,7 @@ Testing: *test-functions*
|
|||||||
test_null_string() return a null String
|
test_null_string() return a null String
|
||||||
|
|
||||||
Inter-process communication: *channel-functions*
|
Inter-process communication: *channel-functions*
|
||||||
|
ch_canread() check if there is something to read
|
||||||
ch_open() open a channel
|
ch_open() open a channel
|
||||||
ch_close() close a channel
|
ch_close() close a channel
|
||||||
ch_close_in() close the in part of a channel
|
ch_close_in() close the in part of a channel
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*version8.txt* For Vim version 8.0. Last change: 2016 Sep 12
|
*version8.txt* For Vim version 8.0. Last change: 2017 Jan 15
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -159,7 +159,7 @@ Many functions and commands have been added to support the new types.
|
|||||||
On some systems the numbers used in Vim script are now 64 bit. This can be
|
On some systems the numbers used in Vim script are now 64 bit. This can be
|
||||||
checked with the |+num64| feature.
|
checked with the |+num64| feature.
|
||||||
|
|
||||||
Many items were added so support |new-style-testing|.
|
Many items were added to support |new-style-testing|.
|
||||||
|
|
||||||
printf() now accepts any type of argument for %s. It is converted to a string
|
printf() now accepts any type of argument for %s. It is converted to a string
|
||||||
like with string().
|
like with string().
|
||||||
@@ -181,6 +181,12 @@ Insert mode commands: ~
|
|||||||
|i_CTRL-G_U| CTRL-G U don't break undo with next cursor movement
|
|i_CTRL-G_U| CTRL-G U don't break undo with next cursor movement
|
||||||
|
|
||||||
|
|
||||||
|
Cmdline mode commands: ~
|
||||||
|
|
||||||
|
|/_CTRL-G| CTRL-G move to the next match in 'incsearch' mode
|
||||||
|
|/_CTRL-T| CTRL-T move to the previous match in 'incsearch' mode
|
||||||
|
|
||||||
|
|
||||||
Options: ~
|
Options: ~
|
||||||
|
|
||||||
'belloff' do not ring the bell for these reasons
|
'belloff' do not ring the bell for these reasons
|
||||||
@@ -224,6 +230,7 @@ Ex commands: ~
|
|||||||
Ex command modifiers: ~
|
Ex command modifiers: ~
|
||||||
|
|
||||||
|:keeppatterns| following command keeps search pattern history
|
|:keeppatterns| following command keeps search pattern history
|
||||||
|
|<mods>| supply command modifiers to user defined commands
|
||||||
|
|
||||||
|
|
||||||
New and extended functions: ~
|
New and extended functions: ~
|
||||||
@@ -1031,7 +1038,7 @@ Files: src/configure.in, src/auto/configure
|
|||||||
|
|
||||||
Patch 7.4.095 (after 7.4.093)
|
Patch 7.4.095 (after 7.4.093)
|
||||||
Problem: Regexp for LuaJIT version doesn't work on BSD.
|
Problem: Regexp for LuaJIT version doesn't work on BSD.
|
||||||
Solution: Use "*" instead of "\+" and "\?". (Ozaki)
|
Solution: Use "*" instead of "\+" and "\?". (Ozaki Kiichi)
|
||||||
Files: src/configure.in, src/auto/configure
|
Files: src/configure.in, src/auto/configure
|
||||||
|
|
||||||
Patch 7.4.096
|
Patch 7.4.096
|
||||||
@@ -1750,7 +1757,7 @@ Files: src/Makefile
|
|||||||
|
|
||||||
Patch 7.4.218
|
Patch 7.4.218
|
||||||
Problem: It's not easy to remove duplicates from a list.
|
Problem: It's not easy to remove duplicates from a list.
|
||||||
Solution: Add the uniq() function. (LCD)
|
Solution: Add the uniq() function. (Lcd)
|
||||||
Files: runtime/doc/change.txt, runtime/doc/eval.txt,
|
Files: runtime/doc/change.txt, runtime/doc/eval.txt,
|
||||||
runtime/doc/usr_41.txt, runtime/doc/version7.txt, src/eval.c,
|
runtime/doc/usr_41.txt, runtime/doc/version7.txt, src/eval.c,
|
||||||
src/testdir/test55.in, src/testdir/test55.ok
|
src/testdir/test55.in, src/testdir/test55.ok
|
||||||
@@ -4311,7 +4318,7 @@ Files: src/misc2.c
|
|||||||
|
|
||||||
Patch 7.4.650
|
Patch 7.4.650
|
||||||
Problem: Configure check may fail because the dl library is not used.
|
Problem: Configure check may fail because the dl library is not used.
|
||||||
Solution: Put "-ldl" in LIBS rather than LDFLAGS. (Oazki Kiichi)
|
Solution: Put "-ldl" in LIBS rather than LDFLAGS. (Ozaki Kiichi)
|
||||||
Files: src/configure.in, src/auto/configure
|
Files: src/configure.in, src/auto/configure
|
||||||
|
|
||||||
Patch 7.4.651 (after 7.4.582)
|
Patch 7.4.651 (after 7.4.582)
|
||||||
@@ -4903,7 +4910,7 @@ Solution: Make the buffer larger. (Kazunobu Kuriyama)
|
|||||||
Files: src/eval.c
|
Files: src/eval.c
|
||||||
|
|
||||||
Patch 7.4.749 (after 7.4.741)
|
Patch 7.4.749 (after 7.4.741)
|
||||||
Problem: For some options two consecutive commas are OK. (Nikolay Pavlov)
|
Problem: For some options two consecutive commas are OK. (Nikolai Pavlov)
|
||||||
Solution: Add the P_ONECOMMA flag.
|
Solution: Add the P_ONECOMMA flag.
|
||||||
Files: src/option.c
|
Files: src/option.c
|
||||||
|
|
||||||
@@ -6969,7 +6976,7 @@ Files: src/Make_mvc.mak, src/GvimExt/Makefile
|
|||||||
|
|
||||||
Patch 7.4.1096
|
Patch 7.4.1096
|
||||||
Problem: Need several lines to verify a command produces an error.
|
Problem: Need several lines to verify a command produces an error.
|
||||||
Solution: Add assert_fails(). (suggested by Nikolay Pavlov)
|
Solution: Add assert_fails(). (suggested by Nikolai Pavlov)
|
||||||
Make the quickfix alloc test actually work.
|
Make the quickfix alloc test actually work.
|
||||||
Files: src/testdir/test_quickfix.vim, src/eval.c, runtime/doc/eval.txt,
|
Files: src/testdir/test_quickfix.vim, src/eval.c, runtime/doc/eval.txt,
|
||||||
src/misc2.c, src/alloc.h
|
src/misc2.c, src/alloc.h
|
||||||
@@ -7432,7 +7439,7 @@ Files: src/mbyte.c, src/os_win32.c
|
|||||||
|
|
||||||
Patch 7.4.1166
|
Patch 7.4.1166
|
||||||
Problem: Can't encode a Funcref into JSON. jsonencode() doesn't handle the
|
Problem: Can't encode a Funcref into JSON. jsonencode() doesn't handle the
|
||||||
same list or dict twice properly. (Nikolay Pavlov)
|
same list or dict twice properly. (Nikolai Pavlov)
|
||||||
Solution: Give an error. Reset copyID when the list or dict is finished.
|
Solution: Give an error. Reset copyID when the list or dict is finished.
|
||||||
Files: src/json.c, src/proto/json.pro, src/testdir/test_json.vim
|
Files: src/json.c, src/proto/json.pro, src/testdir/test_json.vim
|
||||||
|
|
||||||
@@ -7442,7 +7449,7 @@ Solution: Add tests.
|
|||||||
Files: src/testdir/test_viml.vim
|
Files: src/testdir/test_viml.vim
|
||||||
|
|
||||||
Patch 7.4.1168
|
Patch 7.4.1168
|
||||||
Problem: This doesn't give the right result: eval(string(v:true)). (Nikolay
|
Problem: This doesn't give the right result: eval(string(v:true)). (Nikolai
|
||||||
Pavlov)
|
Pavlov)
|
||||||
Solution: Make the string "v:true" instead of "true".
|
Solution: Make the string "v:true" instead of "true".
|
||||||
Files: src/eval.c, src/testdir/test_viml.vim
|
Files: src/eval.c, src/testdir/test_viml.vim
|
||||||
@@ -7993,7 +8000,7 @@ Files: src/testdir/test_channel.vim
|
|||||||
|
|
||||||
Patch 7.4.1258
|
Patch 7.4.1258
|
||||||
Problem: The channel test can fail if messages arrive later.
|
Problem: The channel test can fail if messages arrive later.
|
||||||
Solution: Add a short sleep. (Jun T.)
|
Solution: Add a short sleep. (Jun Takimoto)
|
||||||
Files: src/testdir/test_channel.vim
|
Files: src/testdir/test_channel.vim
|
||||||
|
|
||||||
Patch 7.4.1259
|
Patch 7.4.1259
|
||||||
@@ -8848,8 +8855,8 @@ Files: src/channel.c, src/gui_w32.c, src/os_win32.c, src/structs.h,
|
|||||||
|
|
||||||
Patch 7.4.1405
|
Patch 7.4.1405
|
||||||
Problem: Completion menu flickers.
|
Problem: Completion menu flickers.
|
||||||
Solution: Delay showing the popup menu. (Shougo, Justin M. Keyes, closes
|
Solution: Delay showing the popup menu. (Shougo Matsu, Justin M. Keyes,
|
||||||
#656)
|
closes #656)
|
||||||
Files: src/edit.c
|
Files: src/edit.c
|
||||||
|
|
||||||
Patch 7.4.1406
|
Patch 7.4.1406
|
||||||
@@ -9372,7 +9379,7 @@ Solution: Handle blinking differently. (Kazunobu Kuriyama)
|
|||||||
Files: src/gui_gtk_x11.c
|
Files: src/gui_gtk_x11.c
|
||||||
|
|
||||||
Patch 7.4.1498
|
Patch 7.4.1498
|
||||||
Problem: Error for locked item when using json_decode(). (Shougo)
|
Problem: Error for locked item when using json_decode(). (Shougo Matsu)
|
||||||
Solution: Initialize v_lock.
|
Solution: Initialize v_lock.
|
||||||
Files: src/json.c
|
Files: src/json.c
|
||||||
|
|
||||||
@@ -9775,7 +9782,7 @@ Files: src/testdir/Make_all.mak, src/testdir/test106.in,
|
|||||||
|
|
||||||
Patch 7.4.1570
|
Patch 7.4.1570
|
||||||
Problem: There is no way to avoid the message when editing a file.
|
Problem: There is no way to avoid the message when editing a file.
|
||||||
Solution: Add the "F" flag to 'shortmess'. (Shougo, closes #686)
|
Solution: Add the "F" flag to 'shortmess'. (Shougo Matsu, closes #686)
|
||||||
Files: runtime/doc/options.txt, src/buffer.c, src/ex_cmds.c,
|
Files: runtime/doc/options.txt, src/buffer.c, src/ex_cmds.c,
|
||||||
src/option.h
|
src/option.h
|
||||||
|
|
||||||
@@ -10793,7 +10800,7 @@ Files: src/if_py_both.h
|
|||||||
|
|
||||||
Patch 7.4.1744
|
Patch 7.4.1744
|
||||||
Problem: Python: Converting a sequence may leak memory.
|
Problem: Python: Converting a sequence may leak memory.
|
||||||
Solution: Decrement a reference. (Nikolay Pavlov)
|
Solution: Decrement a reference. (Nikolai Pavlov)
|
||||||
Files: src/if_py_both.h
|
Files: src/if_py_both.h
|
||||||
|
|
||||||
Patch 7.4.1745
|
Patch 7.4.1745
|
||||||
@@ -10866,7 +10873,8 @@ Files: src/option.c, src/testdir/test_alot.vim,
|
|||||||
Patch 7.4.1757
|
Patch 7.4.1757
|
||||||
Problem: When using complete() it may set 'modified' even though nothing
|
Problem: When using complete() it may set 'modified' even though nothing
|
||||||
was inserted.
|
was inserted.
|
||||||
Solution: Use Down/Up instead of Next/Previous match. (Shougo, closes #745)
|
Solution: Use Down/Up instead of Next/Previous match. (Shougo Matsu, closes
|
||||||
|
#745)
|
||||||
Files: src/edit.c
|
Files: src/edit.c
|
||||||
|
|
||||||
Patch 7.4.1758
|
Patch 7.4.1758
|
||||||
@@ -11392,7 +11400,7 @@ Solution: Check if ch_to_be_closed is set.
|
|||||||
Files: src/channel.c
|
Files: src/channel.c
|
||||||
|
|
||||||
Patch 7.4.1850
|
Patch 7.4.1850
|
||||||
Problem: GUI freezes when using a job. (Shougo)
|
Problem: GUI freezes when using a job. (Shougo Matsu)
|
||||||
Solution: Unregister the channel when there is an input error.
|
Solution: Unregister the channel when there is an input error.
|
||||||
Files: src/channel.c
|
Files: src/channel.c
|
||||||
|
|
||||||
@@ -12354,12 +12362,12 @@ Files: src/testdir/test_cmdline.vim
|
|||||||
|
|
||||||
Patch 7.4.2013
|
Patch 7.4.2013
|
||||||
Problem: Using "noinsert" in 'completeopt' breaks redo.
|
Problem: Using "noinsert" in 'completeopt' breaks redo.
|
||||||
Solution: Set compl_curr_match. (Shougo, closes #874)
|
Solution: Set compl_curr_match. (Shougo Matsu, closes #874)
|
||||||
Files: src/edit.c, src/testdir/test_popup.vim
|
Files: src/edit.c, src/testdir/test_popup.vim
|
||||||
|
|
||||||
Patch 7.4.2014
|
Patch 7.4.2014
|
||||||
Problem: Using "noinsert" in 'completeopt' does not insert match.
|
Problem: Using "noinsert" in 'completeopt' does not insert match.
|
||||||
Solution: Set compl_enter_selects. (Shougo, closes #875)
|
Solution: Set compl_enter_selects. (Shougo Matsu, closes #875)
|
||||||
Files: src/edit.c, src/testdir/test_popup.vim
|
Files: src/edit.c, src/testdir/test_popup.vim
|
||||||
|
|
||||||
Patch 7.4.2015
|
Patch 7.4.2015
|
||||||
@@ -14279,7 +14287,7 @@ Solution: Make close_buffer() go back to the right window.
|
|||||||
Files: src/buffer.c, src/testdir/test_autocmd.vim
|
Files: src/buffer.c, src/testdir/test_autocmd.vim
|
||||||
|
|
||||||
Patch 7.4.2329
|
Patch 7.4.2329
|
||||||
Problem: Error for min() and max() contains %s. (Nikolay Pavlov)
|
Problem: Error for min() and max() contains %s. (Nikolai Pavlov)
|
||||||
Solution: Pass the function name. (closes #1040)
|
Solution: Pass the function name. (closes #1040)
|
||||||
Files: src/evalfunc.c, src/testdir/test_expr.vim
|
Files: src/evalfunc.c, src/testdir/test_expr.vim
|
||||||
|
|
||||||
@@ -14405,7 +14413,7 @@ Solution: Don't access curwin when exiting.
|
|||||||
Files: src/buffer.c
|
Files: src/buffer.c
|
||||||
|
|
||||||
Patch 7.4.2349
|
Patch 7.4.2349
|
||||||
Problem: Valgrind reports using uninitialzed memory. (Dominique Pelle)
|
Problem: Valgrind reports using uninitialized memory. (Dominique Pelle)
|
||||||
Solution: Check the length before checking for a NUL.
|
Solution: Check the length before checking for a NUL.
|
||||||
Files: src/message.c
|
Files: src/message.c
|
||||||
|
|
||||||
@@ -14506,4 +14514,420 @@ Problem: Test runner misses a comma.
|
|||||||
Solution: Add the comma.
|
Solution: Add the comma.
|
||||||
Files: src/testdir/runtest.vim
|
Files: src/testdir/runtest.vim
|
||||||
|
|
||||||
|
Patch 8.0.0001
|
||||||
|
Problem: Intro screen still mentions version7. (Paul)
|
||||||
|
Solution: Change it to version8.
|
||||||
|
Files: src/version.c
|
||||||
|
|
||||||
|
Patch 8.0.0002
|
||||||
|
Problem: The netrw plugin does not work.
|
||||||
|
Solution: Make it accept version 8.0.
|
||||||
|
Files: runtime/autoload/netrw.vim
|
||||||
|
|
||||||
|
Patch 8.0.0003
|
||||||
|
Problem: getwinvar() returns wrong Value of boolean and number options,
|
||||||
|
especially non big endian systems. (James McCoy)
|
||||||
|
Solution: Cast the pointer to long or int. (closes #1060)
|
||||||
|
Files: src/option.c, src/testdir/test_bufwintabinfo.vim
|
||||||
|
|
||||||
|
Patch 8.0.0004
|
||||||
|
Problem: A string argument for function() that is not a function name
|
||||||
|
results in an error message with NULL. (Christian Brabandt)
|
||||||
|
Solution: Use the argument for the error message.
|
||||||
|
Files: src/evalfunc.c, src/testdir/test_expr.vim
|
||||||
|
|
||||||
|
Patch 8.0.0005
|
||||||
|
Problem: Netbeans test fails with Python 3. (Jonathonf)
|
||||||
|
Solution: Encode the string before sending it. (closes #1070)
|
||||||
|
Files: src/testdir/test_netbeans.py
|
||||||
|
|
||||||
|
Patch 8.0.0006
|
||||||
|
Problem: ":lb" is interpreted as ":lbottom" while the documentation says it
|
||||||
|
means ":lbuffer".
|
||||||
|
Solution: Adjust the order of the commands. (haya14busa, closes #1093)
|
||||||
|
Files: src/ex_cmds.h
|
||||||
|
|
||||||
|
Patch 8.0.0007
|
||||||
|
Problem: Vim 7.4 is still mentioned in a few places.
|
||||||
|
Solution: Update to Vim 8. (Uncle Bill, closes #1094)
|
||||||
|
Files: src/INSTALLpc.txt, src/vimtutor, uninstal.txt
|
||||||
|
|
||||||
|
Patch 8.0.0008
|
||||||
|
Problem: Popup complete test is disabled.
|
||||||
|
Solution: Enable the test and change the assert. (Hirohito Higashi)
|
||||||
|
Files: src/testdir/test_popup.vim
|
||||||
|
|
||||||
|
Patch 8.0.0009
|
||||||
|
Problem: Unnecessary workaround for AppVeyor.
|
||||||
|
Solution: Revert patch 7.4.990. (Christian Brabandt)
|
||||||
|
Files: appveyor.yml
|
||||||
|
|
||||||
|
Patch 8.0.0010
|
||||||
|
Problem: Crash when editing file that starts with crypt header. (igor2x)
|
||||||
|
Solution: Check for length of text. (Christian Brabandt) Add a test.
|
||||||
|
Files: src/fileio.c, src/testdir/test_crypt.vim, src/Makefile,
|
||||||
|
src/testdir/Make_all.mak
|
||||||
|
|
||||||
|
Patch 8.0.0011
|
||||||
|
Problem: On OSX Test_pipe_through_sort_all() sometimes fails.
|
||||||
|
Solution: Add the test to the list of flaky tests.
|
||||||
|
Files: src/testdir/runtest.vim
|
||||||
|
|
||||||
|
Patch 8.0.0012
|
||||||
|
Problem: Typos in comments.
|
||||||
|
Solution: Change "its" to "it's". (Matthew Brener, closes #1088)
|
||||||
|
Files: src/evalfunc.c, src/main.aap, src/nbdebug.c, src/netbeans.c,
|
||||||
|
src/quickfix.c, src/workshop.c, src/wsdebug.c
|
||||||
|
|
||||||
|
Patch 8.0.0013 (after 8.0.0011)
|
||||||
|
Problem: Missing comma in list.
|
||||||
|
Solution: Add the comma.
|
||||||
|
Files: src/testdir/runtest.vim
|
||||||
|
|
||||||
|
Patch 8.0.0014
|
||||||
|
Problem: Crypt tests are old style.
|
||||||
|
Solution: Convert to new style.
|
||||||
|
Files: src/testdir/test71.in, src/testdir/test71.ok,
|
||||||
|
src/testdir/test71a.in, src/testdir/test_crypt.vim, src/Makefile,
|
||||||
|
src/testdir/Make_all.mak
|
||||||
|
|
||||||
|
Patch 8.0.0015
|
||||||
|
Problem: Can't tell which part of a channel has "buffered" status.
|
||||||
|
Solution: Add an optional argument to ch_status(). Let ch_info() also
|
||||||
|
return "buffered" for out_status and err_status.
|
||||||
|
Files: src/evalfunc.c, src/channel.c, src/proto/channel.pro,
|
||||||
|
src/testdir/test_channel.vim, runtime/doc/eval.txt
|
||||||
|
|
||||||
|
Patch 8.0.0016 (after 8.0.0015)
|
||||||
|
Problem: Build fails.
|
||||||
|
Solution: Include missing change.
|
||||||
|
Files: src/eval.c
|
||||||
|
|
||||||
|
Patch 8.0.0017
|
||||||
|
Problem: Cannot get the number of the current quickfix or location list.
|
||||||
|
Solution: Use the current list if "nr" in "what" is zero. (Yegappan
|
||||||
|
Lakshmanan) Remove debug command from test.
|
||||||
|
Files: src/quickfix.c, src/testdir/test_quickfix.vim,
|
||||||
|
runtime/doc/eval.txt
|
||||||
|
|
||||||
|
Patch 8.0.0018
|
||||||
|
Problem: When using ":sleep" channel input is not handled.
|
||||||
|
Solution: When there is a channel check for input also when not in raw mode.
|
||||||
|
Check every 100 msec.
|
||||||
|
Files: src/channel.c, src/proto/channel.pro, src/ui.c, src/proto/ui.pro,
|
||||||
|
src/ex_docmd.c, src/os_amiga.c, src/proto/os_amiga.pro,
|
||||||
|
src/os_unix.c, src/proto/os_unix.pro, src/os_win32.c,
|
||||||
|
src/proto/os_win32.pro
|
||||||
|
|
||||||
|
Patch 8.0.0019
|
||||||
|
Problem: Test_command_count is old style.
|
||||||
|
Solution: Turn it into a new style test. (Naruhiko Nishino)
|
||||||
|
Use more assert functions.
|
||||||
|
Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/test_alot.vim,
|
||||||
|
src/testdir/test_autocmd.vim, src/testdir/test_command_count.in,
|
||||||
|
src/testdir/test_command_count.ok,
|
||||||
|
src/testdir/test_command_count.vim
|
||||||
|
|
||||||
|
Patch 8.0.0020
|
||||||
|
Problem: The regexp engines are not reentrant.
|
||||||
|
Solution: Add regexec_T and save/restore the state when needed.
|
||||||
|
Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test_expr.vim,
|
||||||
|
runtime/doc/eval.txt, runtime/doc/change.txt
|
||||||
|
|
||||||
|
Patch 8.0.0021
|
||||||
|
Problem: In the GUI when redrawing the cursor it may be on the second half
|
||||||
|
of a double byte character.
|
||||||
|
Solution: Correct the cursor column. (Yasuhiro Matsumoto)
|
||||||
|
Files: src/screen.c
|
||||||
|
|
||||||
|
Patch 8.0.0022
|
||||||
|
Problem: If a channel in NL mode is missing the NL at the end the remaining
|
||||||
|
characters are dropped.
|
||||||
|
Solution: When the channel is closed use the remaining text. (Ozaki Kiichi)
|
||||||
|
Files: src/channel.c, src/testdir/test_channel.vim
|
||||||
|
|
||||||
|
Patch 8.0.0023
|
||||||
|
Problem: "gd" and "gD" may find a match in a comment or string.
|
||||||
|
Solution: Ignore matches in comments and strings. (Anton Lindqvist)
|
||||||
|
Files: src/normal.c, src/testdir/test_goto.vim
|
||||||
|
|
||||||
|
Patch 8.0.0024
|
||||||
|
Problem: When the netbeans channel closes, "DETACH" is put in the output
|
||||||
|
part. (Ozaki Kiichi)
|
||||||
|
Solution: Write "DETACH" in the socket part.
|
||||||
|
Files: src/channel.c, src/testdir/test_netbeans.vim
|
||||||
|
|
||||||
|
Patch 8.0.0025
|
||||||
|
Problem: Inconsistent use of spaces vs tabs in gd test.
|
||||||
|
Solution: Use tabs. (Anton Lindqvist)
|
||||||
|
Files: src/testdir/test_goto.vim
|
||||||
|
|
||||||
|
Patch 8.0.0026
|
||||||
|
Problem: Error format with %W, %C and %Z does not work. (Gerd Wachsmuth)
|
||||||
|
Solution: Skip code when qf_multiignore is set. (Lcd)
|
||||||
|
Files: src/quickfix.c, src/testdir/test_quickfix.vim
|
||||||
|
|
||||||
|
Patch 8.0.0027
|
||||||
|
Problem: A channel is closed when reading on stderr or stdout fails, but
|
||||||
|
there may still be something to read on another part.
|
||||||
|
Solution: Turn ch_to_be_closed into a bitfield. (Ozaki Kiichi)
|
||||||
|
Files: src/channel.c, src/eval.c, src/structs.h, src/proto/channel.pro,
|
||||||
|
src/testdir/test_channel.vim
|
||||||
|
|
||||||
|
Patch 8.0.0028
|
||||||
|
Problem: Superfluous semicolons.
|
||||||
|
Solution: Remove them. (Ozaki Kiichi)
|
||||||
|
Files: src/ex_cmds2.c
|
||||||
|
|
||||||
|
Patch 8.0.0029
|
||||||
|
Problem: Code for MS-Windows is complicated because of the exceptions for
|
||||||
|
old systems.
|
||||||
|
Solution: Drop support for MS-Windows older than Windows XP. (Ken Takata)
|
||||||
|
Files: runtime/doc/gui_w32.txt, runtime/doc/os_win32.txt,
|
||||||
|
runtime/doc/todo.txt, src/GvimExt/Makefile, src/Make_mvc.mak,
|
||||||
|
src/evalfunc.c, src/ex_cmds.c, src/ex_docmd.c, src/gui_w32.c,
|
||||||
|
src/if_cscope.c, src/misc1.c, src/misc2.c, src/option.c,
|
||||||
|
src/os_mswin.c, src/os_win32.c, src/os_win32.h,
|
||||||
|
src/proto/os_mswin.pro, src/proto/os_win32.pro, src/version.c
|
||||||
|
|
||||||
|
Patch 8.0.0030
|
||||||
|
Problem: Mouse mode is not automatically detected for tmux.
|
||||||
|
Solution: Check for 'term' to be "tmux". (Michael Henry)
|
||||||
|
Files: src/os_unix.c
|
||||||
|
|
||||||
|
Patch 8.0.0031
|
||||||
|
Problem: After ":bwipeout" 'fileformat' is not set to the right default.
|
||||||
|
Solution: Get the default from 'fileformats'. (Mike Williams)
|
||||||
|
Files: src/option.c, src/Makefile, src/testdir/test_fileformat.vim,
|
||||||
|
src/testdir/test_alot.vim
|
||||||
|
|
||||||
|
Patch 8.0.0032
|
||||||
|
Problem: Tests may change the input file when something goes wrong.
|
||||||
|
Solution: Avoid writing the input file.
|
||||||
|
Files: src/testdir/test51.in, src/testdir/test67.in,
|
||||||
|
src/testdir/test97.in, src/testdir/test_tabpage.vim
|
||||||
|
|
||||||
|
Patch 8.0.0033
|
||||||
|
Problem: Cannot use overlapping positions with matchaddpos().
|
||||||
|
Solution: Check end of match. (Ozaki Kiichi) Add a test (Hirohito Higashi)
|
||||||
|
Files: src/screen.c, src/testdir/test_match.vim
|
||||||
|
|
||||||
|
Patch 8.0.0034
|
||||||
|
Problem: No completion for ":messages".
|
||||||
|
Solution: Complete "clear" argument. (Hirohito Higashi)
|
||||||
|
Files: src/ex_docmd.c, src/ex_getln.c, src/proto/ex_docmd.pro,
|
||||||
|
src/testdir/test_cmdline.vim, src/vim.h,
|
||||||
|
runtime/doc/eval.txt, runtime/doc/map.txt
|
||||||
|
|
||||||
|
Patch 8.0.0035 (after 7.4.2013)
|
||||||
|
Problem: Order of matches for 'omnifunc' is messed up. (Danny Su)
|
||||||
|
Solution: Do not set compl_curr_match when called from complete_check().
|
||||||
|
(closes #1168)
|
||||||
|
Files: src/edit.c, src/evalfunc.c, src/proto/edit.pro, src/search.c,
|
||||||
|
src/spell.c, src/tag.c, src/testdir/test76.in,
|
||||||
|
src/testdir/test76.ok, src/testdir/test_popup.vim, src/Makefile,
|
||||||
|
src/testdir/Make_all.mak
|
||||||
|
|
||||||
|
Patch 8.0.0036
|
||||||
|
Problem: Detecting that a job has finished may take a while.
|
||||||
|
Solution: Check for a finished job more often (Ozaki Kiichi)
|
||||||
|
Files: src/channel.c, src/os_unix.c, src/os_win32.c,
|
||||||
|
src/proto/os_unix.pro, src/proto/os_win32.pro,
|
||||||
|
src/testdir/test_channel.vim
|
||||||
|
|
||||||
|
Patch 8.0.0037
|
||||||
|
Problem: Get E924 when switching tabs. ()
|
||||||
|
Solution: Use win_valid_any_tab() instead of win_valid(). (Martin Vuille,
|
||||||
|
closes #1167, closes #1171)
|
||||||
|
Files: src/quickfix.c, src/testdir/test_quickfix.vim
|
||||||
|
|
||||||
|
Patch 8.0.0038
|
||||||
|
Problem: OPEN_CHR_FILES not defined for FreeBSD using Debian userland
|
||||||
|
files.
|
||||||
|
Solution: Check for __FreeBSD_kernel__. (James McCoy, closes #1166)
|
||||||
|
Files: src/vim.h
|
||||||
|
|
||||||
|
Patch 8.0.0039
|
||||||
|
Problem: When Vim 8 reads an old viminfo and exits, the next time marks are
|
||||||
|
not read from viminfo. (Ned Batchelder)
|
||||||
|
Solution: Set a mark when it wasn't set before, even when the timestamp is
|
||||||
|
zero. (closes #1170)
|
||||||
|
Files: src/mark.c, src/testdir/test_viminfo.vim
|
||||||
|
|
||||||
|
Patch 8.0.0040 (after 8.0.0033)
|
||||||
|
Problem: Whole line highlighting with matchaddpos() does not work.
|
||||||
|
Solution: Check for zero length. (Hirohito Higashi)
|
||||||
|
Files: src/screen.c, src/testdir/test_match.vim
|
||||||
|
|
||||||
|
Patch 8.0.0041
|
||||||
|
Problem: When using Insert mode completion but not actually inserting
|
||||||
|
anything an undo item is still created. (Tommy Allen)
|
||||||
|
Solution: Do not call stop_arrow() when not inserting anything.
|
||||||
|
Files: src/edit.c, src/testdir/test_popup.vim
|
||||||
|
|
||||||
|
Patch 8.0.0042 (after 8.0.0041)
|
||||||
|
Problem: When using Insert mode completion with 'completeopt' containing
|
||||||
|
"noinsert" change is not saved for undo. (Tommy Allen)
|
||||||
|
Solution: Call stop_arrow() before inserting for pressing Enter.
|
||||||
|
Files: src/edit.c, src/testdir/test_popup.vim
|
||||||
|
|
||||||
|
Patch 8.0.0043 (after 8.0.0041)
|
||||||
|
Problem: When using Insert mode completion with 'completeopt' containing
|
||||||
|
"noinsert" with CTRL-N the change is not saved for undo. (Tommy
|
||||||
|
Allen)
|
||||||
|
Solution: Call stop_arrow() before inserting for any key.
|
||||||
|
Files: src/edit.c, src/testdir/test_popup.vim
|
||||||
|
|
||||||
|
Patch 8.0.0044
|
||||||
|
Problem: In diff mode the cursor may end up below the last line, resulting
|
||||||
|
in an ml_get error.
|
||||||
|
Solution: Check the line to be valid.
|
||||||
|
Files: src/move.c, src/diff.c, src/proto/diff.pro,
|
||||||
|
src/testdir/test_diffmode.vim
|
||||||
|
|
||||||
|
Patch 8.0.0045
|
||||||
|
Problem: Calling job_stop() right after job_start() does not work.
|
||||||
|
Solution: Block signals while fork is still busy. (Ozaki Kiichi, closes
|
||||||
|
#1155)
|
||||||
|
Files: src/auto/configure, src/config.h.in, src/configure.in,
|
||||||
|
src/os_unix.c, src/testdir/test_channel.vim
|
||||||
|
|
||||||
|
Patch 8.0.0046
|
||||||
|
Problem: Using NUL instead of NULL.
|
||||||
|
Solution: Change to NULL. (Dominique Pelle)
|
||||||
|
Files: src/ex_cmds.c, src/json.c
|
||||||
|
|
||||||
|
Patch 8.0.0047
|
||||||
|
Problem: Crash when using the preview window from an unnamed buffer.
|
||||||
|
(lifepillar)
|
||||||
|
Solution: Do not clear the wrong buffer. (closes #1200)
|
||||||
|
Files: src/popupmnu.c
|
||||||
|
|
||||||
|
Patch 8.0.0048
|
||||||
|
Problem: On Windows job_stop() stops cmd.exe, not the processes it runs.
|
||||||
|
(Linwei)
|
||||||
|
Solution: Iterate over all processes and terminate the one where the parent
|
||||||
|
is the job process. (Yasuhiro Matsumoto, closes #1184)
|
||||||
|
Files: src/os_win32.c, src/structs.h
|
||||||
|
|
||||||
|
Patch 8.0.0049
|
||||||
|
Problem: When a match ends in part of concealed text highlighting, it might
|
||||||
|
mess up concealing by resetting prev_syntax_id.
|
||||||
|
Solution: Do not reset prev_syntax_id and add a test to verify. (Christian
|
||||||
|
Brabandt, closes #1092)
|
||||||
|
Files: src/screen.c, src/testdir/test_matchadd_conceal.vim
|
||||||
|
|
||||||
|
Patch 8.0.0050
|
||||||
|
Problem: An exiting job is detected with a large latency.
|
||||||
|
Solution: Check for pending job more often. (Ozaki Kiichi) Change the
|
||||||
|
double loop in mch_inchar() into one.
|
||||||
|
Files: src/channel.c, src/os_unix.c, src/testdir/shared.vim,
|
||||||
|
src/testdir/test_channel.vim
|
||||||
|
|
||||||
|
Patch 8.0.0051 (after 8.0.0048)
|
||||||
|
Problem: New code for job_stop() breaks channel test on AppVeyor.
|
||||||
|
Solution: Revert the change.
|
||||||
|
Files: src/os_win32.c, src/structs.h
|
||||||
|
|
||||||
|
Patch 8.0.0052 (after 8.0.0049)
|
||||||
|
Problem: Conceal test passes even without the bug fix.
|
||||||
|
Solution: Add a redraw command. (Christian Brabandt)
|
||||||
|
Files: src/testdir/test_matchadd_conceal.vim
|
||||||
|
|
||||||
|
Patch 8.0.0053 (after 8.0.0047)
|
||||||
|
Problem: No test for what 8.0.0047 fixes.
|
||||||
|
Solution: Add a test. (Hirohito Higashi)
|
||||||
|
Files: src/testdir/test_popup.vim
|
||||||
|
|
||||||
|
Patch 8.0.0054 (after 8.0.0051)
|
||||||
|
Problem: On Windows job_stop() stops cmd.exe, not the processes it runs.
|
||||||
|
(Linwei)
|
||||||
|
Solution: Iterate over all processes and terminate the one where the parent
|
||||||
|
is the job process. Now only when there is no job object.
|
||||||
|
(Yasuhiro Matsumoto, closes #1203)
|
||||||
|
Files: src/os_win32.c
|
||||||
|
|
||||||
|
Patch 8.0.0055
|
||||||
|
Problem: Minor comment and style deficiencies.
|
||||||
|
Solution: Update comments and fix style.
|
||||||
|
Files: src/buffer.c, src/misc2.c, src/os_unix.c
|
||||||
|
|
||||||
|
Patch 8.0.0056
|
||||||
|
Problem: When setting 'filetype' there is no check for a valid name.
|
||||||
|
Solution: Only allow valid characters in 'filetype', 'syntax' and 'keymap'.
|
||||||
|
Files: src/option.c, src/testdir/test_options.vim
|
||||||
|
|
||||||
|
Patch 8.0.0057 (after 8.0.0056)
|
||||||
|
Problem: Tests fail without the 'keymap' features.
|
||||||
|
Solution: Check for feature in test.
|
||||||
|
Files: src/testdir/test_options.vim
|
||||||
|
|
||||||
|
Patch 8.0.0058
|
||||||
|
Problem: Positioning of the popup menu is not good.
|
||||||
|
Solution: Position it better. (Hirohito Higashi)
|
||||||
|
Files: src/popupmnu.c
|
||||||
|
|
||||||
|
Patch 8.0.0059
|
||||||
|
Problem: Vim does not build on VMS systems.
|
||||||
|
Solution: Various changes for VMS. (Zoltan Arpadffy)
|
||||||
|
Files: src/json.c, src/macros.h, src/Make_vms.mms, src/os_unix.c,
|
||||||
|
src/os_unix.h, src/os_vms.c, src/os_vms_conf.h,
|
||||||
|
src/proto/os_vms.pro, src/testdir/Make_vms.mms
|
||||||
|
|
||||||
|
Patch 8.0.0060
|
||||||
|
Problem: When using an Ex command for 'keywordprg' it is escaped as with a
|
||||||
|
shell command. (Romain Lafourcade)
|
||||||
|
Solution: Escape for an Ex command. (closes #1175)
|
||||||
|
Files: src/normal.c, src/testdir/test_normal.vim
|
||||||
|
|
||||||
|
Patch 8.0.0061 (after 8.0.0058)
|
||||||
|
Problem: Compiler warning for unused variable.
|
||||||
|
Solution: Add #ifdef. (John Marriott)
|
||||||
|
Files: src/popupmnu.c
|
||||||
|
|
||||||
|
Patch 8.0.0062
|
||||||
|
Problem: No digraph for HORIZONTAL ELLIPSIS.
|
||||||
|
Solution: Use ",.". (Hans Ginzel, closes #1226)
|
||||||
|
Files: src/digraph.c, runtime/doc/digraph.txt
|
||||||
|
|
||||||
|
Patch 8.0.0063
|
||||||
|
Problem: Compiler warning for comparing with unsigned. (Zoltan Arpadffy)
|
||||||
|
Solution: Change <= to ==.
|
||||||
|
Files: src/undo.c
|
||||||
|
|
||||||
|
Patch 8.0.0064 (after 8.0.0060)
|
||||||
|
Problem: Normal test fails on MS-Windows.
|
||||||
|
Solution: Don't try using an illegal file name.
|
||||||
|
Files: src/testdir/test_normal.vim
|
||||||
|
|
||||||
|
Patch 8.0.0065 (after 8.0.0056)
|
||||||
|
Problem: Compiler warning for unused function in tiny build. (Tony
|
||||||
|
Mechelynck)
|
||||||
|
Solution: Add #ifdef.
|
||||||
|
Files: src/option.c
|
||||||
|
|
||||||
|
Patch 8.0.0066
|
||||||
|
Problem: when calling an operator function when 'linebreak' is set, it is
|
||||||
|
internally reset before calling the operator function.
|
||||||
|
Solution: Restore 'linebreak' before calling op_function(). (Christian
|
||||||
|
Brabandt)
|
||||||
|
Files: src/normal.c, src/testdir/test_normal.vim
|
||||||
|
|
||||||
|
Patch 8.0.0067
|
||||||
|
Problem: VMS has a problem with infinity.
|
||||||
|
Solution: Avoid an overflow. (Zoltan Arpadffy)
|
||||||
|
Files: src/json.c, src/macros.h
|
||||||
|
|
||||||
|
Patch 8.0.0068
|
||||||
|
Problem: Checking did_throw after executing autocommands is wrong. (Daniel
|
||||||
|
Hahler)
|
||||||
|
Solution: Call aborting() instead, and only when autocommands were executed.
|
||||||
|
Files: src/quickfix.c, src/if_cscope.c, src/testdir/test_quickfix.vim
|
||||||
|
|
||||||
|
Patch 8.0.0069
|
||||||
|
Problem: Compiler warning for self-comparison.
|
||||||
|
Solution: Define ONE_WINDOW and add #ifdef.
|
||||||
|
Files: src/globals.h, src/buffer.c, src/ex_docmd.c, src/move.c,
|
||||||
|
src/screen.c, src/quickfix.c, src/window.c
|
||||||
|
|
||||||
vim:tw=78:ts=8:ft=help:norl:
|
vim:tw=78:ts=8:ft=help:norl:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*windows.txt* For Vim version 8.0. Last change: 2016 Aug 23
|
*windows.txt* For Vim version 8.0. Last change: 2016 Dec 01
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -295,8 +295,8 @@ CTRL-W CTRL-Q *CTRL-W_CTRL-Q*
|
|||||||
:1quit " quit the first window
|
:1quit " quit the first window
|
||||||
:$quit " quit the last window
|
:$quit " quit the last window
|
||||||
:9quit " quit the last window
|
:9quit " quit the last window
|
||||||
" if there are less than 9 windows opened
|
" if there are fewer than 9 windows opened
|
||||||
:-quit " quit the previews window
|
:-quit " quit the previous window
|
||||||
:+quit " quit the next window
|
:+quit " quit the next window
|
||||||
:+2quit " quit the second next window
|
:+2quit " quit the second next window
|
||||||
<
|
<
|
||||||
@@ -696,6 +696,8 @@ can also get to them with the buffer list commands, like ":bnext".
|
|||||||
- If the file is not open in a window edit the file in the
|
- If the file is not open in a window edit the file in the
|
||||||
current window. If the current buffer can't be |abandon|ed,
|
current window. If the current buffer can't be |abandon|ed,
|
||||||
the window is split first.
|
the window is split first.
|
||||||
|
- Windows that are not in the argument list or are not full
|
||||||
|
width will be closed if possible.
|
||||||
The |argument-list| is set, like with the |:next| command.
|
The |argument-list| is set, like with the |:next| command.
|
||||||
The purpose of this command is that it can be used from a
|
The purpose of this command is that it can be used from a
|
||||||
program that wants Vim to edit another file, e.g., a debugger.
|
program that wants Vim to edit another file, e.g., a debugger.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim support file to detect file types
|
" Vim support file to detect file types
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2016 Aug 26
|
" Last Change: 2017 Jan 06
|
||||||
|
|
||||||
" Listen very carefully, I will say this only once
|
" Listen very carefully, I will say this only once
|
||||||
if exists("did_load_filetypes")
|
if exists("did_load_filetypes")
|
||||||
@@ -309,7 +309,10 @@ au BufNewFile,BufRead *.bl setf blank
|
|||||||
au BufNewFile,BufRead */etc/blkid.tab,*/etc/blkid.tab.old setf xml
|
au BufNewFile,BufRead */etc/blkid.tab,*/etc/blkid.tab.old setf xml
|
||||||
|
|
||||||
" Bazel (http://bazel.io)
|
" Bazel (http://bazel.io)
|
||||||
autocmd BufRead,BufNewFile *.bzl,BUILD,WORKSPACE setfiletype bzl
|
autocmd BufRead,BufNewFile *.bzl,WORKSPACE setfiletype bzl
|
||||||
|
if has("fname_case")
|
||||||
|
autocmd BufRead,BufNewFile BUILD setfiletype bzl
|
||||||
|
endif
|
||||||
|
|
||||||
" C or lpc
|
" C or lpc
|
||||||
au BufNewFile,BufRead *.c call s:FTlpc()
|
au BufNewFile,BufRead *.c call s:FTlpc()
|
||||||
@@ -673,8 +676,17 @@ au BufNewFile,BufRead *.dtd setf dtd
|
|||||||
" DTS/DSTI (device tree files)
|
" DTS/DSTI (device tree files)
|
||||||
au BufNewFile,BufRead *.dts,*.dtsi setf dts
|
au BufNewFile,BufRead *.dts,*.dtsi setf dts
|
||||||
|
|
||||||
" EDIF (*.edf,*.edif,*.edn,*.edo)
|
" EDIF (*.edf,*.edif,*.edn,*.edo) or edn
|
||||||
au BufNewFile,BufRead *.ed\(f\|if\|n\|o\) setf edif
|
au BufNewFile,BufRead *.ed\(f\|if\|o\) setf edif
|
||||||
|
au BufNewFile,BufRead *.edn
|
||||||
|
\ if getline(1) =~ '^\s*(\s*edif\>' |
|
||||||
|
\ setf edif |
|
||||||
|
\ else |
|
||||||
|
\ setf clojure |
|
||||||
|
\ endif
|
||||||
|
|
||||||
|
" EditorConfig (close enough to dosini)
|
||||||
|
au BufNewFile,BufRead .editorconfig setf dosini
|
||||||
|
|
||||||
" Embedix Component Description
|
" Embedix Component Description
|
||||||
au BufNewFile,BufRead *.ecd setf ecd
|
au BufNewFile,BufRead *.ecd setf ecd
|
||||||
@@ -806,6 +818,10 @@ au BufNewFile,BufRead *.gp,.gprc setf gp
|
|||||||
au BufNewFile,BufRead */.gnupg/options setf gpg
|
au BufNewFile,BufRead */.gnupg/options setf gpg
|
||||||
au BufNewFile,BufRead */.gnupg/gpg.conf setf gpg
|
au BufNewFile,BufRead */.gnupg/gpg.conf setf gpg
|
||||||
au BufNewFile,BufRead */usr/*/gnupg/options.skel setf gpg
|
au BufNewFile,BufRead */usr/*/gnupg/options.skel setf gpg
|
||||||
|
if !empty($GNUPGHOME)
|
||||||
|
au BufNewFile,BufRead $GNUPGHOME/options setf gpg
|
||||||
|
au BufNewFile,BufRead $GNUPGHOME/gpg.conf setf gpg
|
||||||
|
endif
|
||||||
|
|
||||||
" gnash(1) configuration files
|
" gnash(1) configuration files
|
||||||
au BufNewFile,BufRead gnashrc,.gnashrc,gnashpluginrc,.gnashpluginrc setf gnash
|
au BufNewFile,BufRead gnashrc,.gnashrc,gnashpluginrc,.gnashpluginrc setf gnash
|
||||||
@@ -855,7 +871,7 @@ au BufNewFile,BufRead *.ht setf haste
|
|||||||
au BufNewFile,BufRead *.htpp setf hastepreproc
|
au BufNewFile,BufRead *.htpp setf hastepreproc
|
||||||
|
|
||||||
" Hercules
|
" Hercules
|
||||||
au BufNewFile,BufRead *.vc,*.ev,*.rs,*.sum,*.errsum setf hercules
|
au BufNewFile,BufRead *.vc,*.ev,*.sum,*.errsum setf hercules
|
||||||
|
|
||||||
" HEX (Intel)
|
" HEX (Intel)
|
||||||
au BufNewFile,BufRead *.hex,*.h32 setf hex
|
au BufNewFile,BufRead *.hex,*.h32 setf hex
|
||||||
@@ -1753,6 +1769,9 @@ au BufNewFile,BufRead *.rb,*.rbw setf ruby
|
|||||||
" RubyGems
|
" RubyGems
|
||||||
au BufNewFile,BufRead *.gemspec setf ruby
|
au BufNewFile,BufRead *.gemspec setf ruby
|
||||||
|
|
||||||
|
" Rust
|
||||||
|
au BufNewFile,BufRead *.rs setf rust
|
||||||
|
|
||||||
" Rackup
|
" Rackup
|
||||||
au BufNewFile,BufRead *.ru setf ruby
|
au BufNewFile,BufRead *.ru setf ruby
|
||||||
|
|
||||||
@@ -2247,7 +2266,7 @@ func! s:FTtex()
|
|||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
" ConTeXt
|
" ConTeXt
|
||||||
au BufNewFile,BufRead tex/context/*/*.tex,*.mkii,*.mkiv setf context
|
au BufNewFile,BufRead tex/context/*/*.tex,*.mkii,*.mkiv,*.mkvi setf context
|
||||||
|
|
||||||
" Texinfo
|
" Texinfo
|
||||||
au BufNewFile,BufRead *.texinfo,*.texi,*.txi setf texinfo
|
au BufNewFile,BufRead *.texinfo,*.texi,*.txi setf texinfo
|
||||||
@@ -2661,6 +2680,9 @@ au BufNewFile,BufRead mutt{ng,}rc*,Mutt{ng,}rc* call s:StarSetf('muttrc')
|
|||||||
" Nroff macros
|
" Nroff macros
|
||||||
au BufNewFile,BufRead tmac.* call s:StarSetf('nroff')
|
au BufNewFile,BufRead tmac.* call s:StarSetf('nroff')
|
||||||
|
|
||||||
|
" OpenBSD hostname.if
|
||||||
|
au BufNewFile,BufRead /etc/hostname.* call s:StarSetf('config')
|
||||||
|
|
||||||
" Pam conf
|
" Pam conf
|
||||||
au BufNewFile,BufRead */etc/pam.d/* call s:StarSetf('pamconf')
|
au BufNewFile,BufRead */etc/pam.d/* call s:StarSetf('pamconf')
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
" Vim filetype plugin file
|
" Vim filetype plugin file
|
||||||
" Language: ConTeXt typesetting engine
|
" Language: ConTeXt typesetting engine
|
||||||
" Maintainer: Nikolai Weibull <now@bitwi.se>
|
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||||
" Latest Revision: 2008-07-09
|
" Former Maintainers: Nikolai Weibull <now@bitwi.se>
|
||||||
|
" Latest Revision: 2016 Oct 30
|
||||||
|
|
||||||
if exists("b:did_ftplugin")
|
if exists("b:did_ftplugin")
|
||||||
finish
|
finish
|
||||||
@@ -11,16 +12,26 @@ let b:did_ftplugin = 1
|
|||||||
let s:cpo_save = &cpo
|
let s:cpo_save = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
let b:undo_ftplugin = "setl com< cms< def< inc< sua< fo<"
|
if !exists('current_compiler')
|
||||||
|
compiler context
|
||||||
|
endif
|
||||||
|
|
||||||
setlocal comments=b:%D,b:%C,b:%M,:% commentstring=%\ %s formatoptions+=tcroql
|
let b:undo_ftplugin = "setl com< cms< def< inc< sua< fo< ofu<"
|
||||||
|
\ . "| unlet! b:match_ignorecase b:match_words b:match_skip"
|
||||||
|
|
||||||
|
setlocal comments=b:%D,b:%C,b:%M,:% commentstring=%\ %s formatoptions+=tjcroql2
|
||||||
|
if get(b:, 'context_metapost', get(g:, 'context_metapost', 1))
|
||||||
|
setlocal omnifunc=contextcomplete#Complete
|
||||||
|
let g:omni_syntax_group_include_context = 'mf\w\+,mp\w\+'
|
||||||
|
let g:omni_syntax_group_exclude_context = 'mfTodoComment'
|
||||||
|
endif
|
||||||
|
|
||||||
let &l:define='\\\%([egx]\|char\|mathchar\|count\|dimen\|muskip\|skip\|toks\)\='
|
let &l:define='\\\%([egx]\|char\|mathchar\|count\|dimen\|muskip\|skip\|toks\)\='
|
||||||
\ . 'def\|\\font\|\\\%(future\)\=let'
|
\ . 'def\|\\font\|\\\%(future\)\=let'
|
||||||
\ . '\|\\new\%(count\|dimen\|skip\|muskip\|box\|toks\|read\|write'
|
\ . '\|\\new\%(count\|dimen\|skip\|muskip\|box\|toks\|read\|write'
|
||||||
\ . '\|fam\|insert\|if\)'
|
\ . '\|fam\|insert\|if\)'
|
||||||
|
|
||||||
let &l:include = '^\s*\%(input\|component\)'
|
let &l:include = '^\s*\\\%(input\|component\|product\|project\|environment\)'
|
||||||
|
|
||||||
setlocal suffixesadd=.tex
|
setlocal suffixesadd=.tex
|
||||||
|
|
||||||
@@ -31,5 +42,61 @@ if exists("loaded_matchit")
|
|||||||
\ '\\start\(\a\+\):\\stop\1'
|
\ '\\start\(\a\+\):\\stop\1'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
let s:context_regex = {
|
||||||
|
\ 'beginsection' : '\\\%(start\)\=\%(\%(sub\)*section\|\%(sub\)*subject\|chapter\|part\|component\|product\|title\)\>',
|
||||||
|
\ 'endsection' : '\\\%(stop\)\=\%(\%(sub\)*section\|\%(sub\)*subject\|chapter\|part\|component\|product\|title\)\>',
|
||||||
|
\ 'beginblock' : '\\\%(start\|setup\|define\)',
|
||||||
|
\ 'endblock' : '\\\%(stop\|setup\|define\)'
|
||||||
|
\ }
|
||||||
|
|
||||||
|
function! s:move_around(count, what, flags, visual)
|
||||||
|
if a:visual
|
||||||
|
exe "normal! gv"
|
||||||
|
endif
|
||||||
|
call search(s:context_regex[a:what], a:flags.'s') " 's' sets previous context mark
|
||||||
|
call map(range(2, a:count), 'search(s:context_regex[a:what], a:flags)')
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" Move around macros.
|
||||||
|
nnoremap <silent><buffer> [[ :<C-U>call <SID>move_around(v:count1, "beginsection", "bW", v:false) <CR>
|
||||||
|
vnoremap <silent><buffer> [[ :<C-U>call <SID>move_around(v:count1, "beginsection", "bW", v:true) <CR>
|
||||||
|
nnoremap <silent><buffer> ]] :<C-U>call <SID>move_around(v:count1, "beginsection", "W", v:false) <CR>
|
||||||
|
vnoremap <silent><buffer> ]] :<C-U>call <SID>move_around(v:count1, "beginsection", "W", v:true) <CR>
|
||||||
|
nnoremap <silent><buffer> [] :<C-U>call <SID>move_around(v:count1, "endsection", "bW", v:false) <CR>
|
||||||
|
vnoremap <silent><buffer> [] :<C-U>call <SID>move_around(v:count1, "endsection", "bW", v:true) <CR>
|
||||||
|
nnoremap <silent><buffer> ][ :<C-U>call <SID>move_around(v:count1, "endsection", "W", v:false) <CR>
|
||||||
|
vnoremap <silent><buffer> ][ :<C-U>call <SID>move_around(v:count1, "endsection", "W", v:true) <CR>
|
||||||
|
nnoremap <silent><buffer> [{ :<C-U>call <SID>move_around(v:count1, "beginblock", "bW", v:false) <CR>
|
||||||
|
vnoremap <silent><buffer> [{ :<C-U>call <SID>move_around(v:count1, "beginblock", "bW", v:true) <CR>
|
||||||
|
nnoremap <silent><buffer> ]} :<C-U>call <SID>move_around(v:count1, "endblock", "W", v:false) <CR>
|
||||||
|
vnoremap <silent><buffer> ]} :<C-U>call <SID>move_around(v:count1, "endblock", "W", v:true) <CR>
|
||||||
|
|
||||||
|
" Other useful mappings
|
||||||
|
if get(g:, 'context_mappings', 1)
|
||||||
|
let s:tp_regex = '?^$\|^\s*\\\(item\|start\|stop\|blank\|\%(sub\)*section\|chapter\|\%(sub\)*subject\|title\|part\)'
|
||||||
|
|
||||||
|
fun! s:tp()
|
||||||
|
call cursor(search(s:tp_regex, 'bcW') + 1, 1)
|
||||||
|
normal! V
|
||||||
|
call cursor(search(s:tp_regex, 'W') - 1, 1)
|
||||||
|
endf
|
||||||
|
|
||||||
|
" Reflow paragraphs with commands like gqtp ("gq TeX paragraph")
|
||||||
|
onoremap <silent><buffer> tp :<c-u>call <sid>tp()<cr>
|
||||||
|
" Select TeX paragraph
|
||||||
|
vnoremap <silent><buffer> tp <esc>:<c-u>call <sid>tp()<cr>
|
||||||
|
|
||||||
|
" $...$ text object
|
||||||
|
onoremap <silent><buffer> i$ :<c-u>normal! T$vt$<cr>
|
||||||
|
onoremap <silent><buffer> a$ :<c-u>normal! F$vf$<cr>
|
||||||
|
vnoremap <buffer> i$ T$ot$
|
||||||
|
vnoremap <buffer> a$ F$of$
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Commands for asynchronous typesetting
|
||||||
|
command! -buffer -nargs=? -complete=file ConTeXt call context#typeset(<q-args>)
|
||||||
|
command! -nargs=0 ConTeXtJobStatus call context#job_status()
|
||||||
|
command! -nargs=0 ConTeXtStopJobs call context#stop_jobs()
|
||||||
|
|
||||||
let &cpo = s:cpo_save
|
let &cpo = s:cpo_save
|
||||||
unlet s:cpo_save
|
unlet s:cpo_save
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim filetype plugin file
|
" Vim filetype plugin file
|
||||||
" Language: man
|
" Language: man
|
||||||
" Maintainer: SungHyun Nam <goweol@gmail.com>
|
" Maintainer: SungHyun Nam <goweol@gmail.com>
|
||||||
" Last Change: 2016 Jun 20
|
" Last Change: 2017 Jan 04
|
||||||
|
|
||||||
" To make the ":Man" command available before editing a manual page, source
|
" To make the ":Man" command available before editing a manual page, source
|
||||||
" this script from your startup vimrc file.
|
" this script from your startup vimrc file.
|
||||||
@@ -47,6 +47,7 @@ endif
|
|||||||
if exists(":Man") != 2
|
if exists(":Man") != 2
|
||||||
com -nargs=+ Man call s:GetPage(<f-args>)
|
com -nargs=+ Man call s:GetPage(<f-args>)
|
||||||
nmap <Leader>K :call <SID>PreGetPage(0)<CR>
|
nmap <Leader>K :call <SID>PreGetPage(0)<CR>
|
||||||
|
nmap <Plug>ManPreGetPage :call <SID>PreGetPage(0)<CR>
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Define functions only once.
|
" Define functions only once.
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
" Vim filetype plugin file
|
" Vim filetype plugin file
|
||||||
" Language: MetaFont
|
" Language: METAFONT
|
||||||
" Maintainer: Nikolai Weibull <now@bitwi.se>
|
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||||
" Latest Revision: 2008-07-09
|
" Former Maintainers: Nikolai Weibull <now@bitwi.se>
|
||||||
|
" Latest Revision: 2016 Oct 2
|
||||||
|
|
||||||
if exists("b:did_ftplugin")
|
if exists("b:did_ftplugin")
|
||||||
finish
|
finish
|
||||||
@@ -11,9 +12,59 @@ let b:did_ftplugin = 1
|
|||||||
let s:cpo_save = &cpo
|
let s:cpo_save = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
let b:undo_ftplugin = "setl com< cms< fo<"
|
let b:undo_ftplugin = "setl com< cms< fo< sua< inc< def< ofu<"
|
||||||
|
\ . "| unlet! b:match_ignorecase b:match_words b:match_skip"
|
||||||
|
|
||||||
setlocal comments=:% commentstring=%\ %s formatoptions-=t formatoptions+=croql
|
setlocal comments=:% commentstring=%\ %s formatoptions-=t formatoptions+=cjroql2
|
||||||
|
setlocal suffixesadd=.mf
|
||||||
|
let &l:include = '\<input\>'
|
||||||
|
let &l:define = '\<\%(let\|newinternal\|interim\|def\|vardef\)\>\|\<\%(primary\|secondary\|tertiary\)def\>\s*[^ .]\+'
|
||||||
|
setlocal omnifunc=syntaxcomplete#Complete
|
||||||
|
let g:omni_syntax_group_include_mf = 'mf\w\+'
|
||||||
|
let g:omni_syntax_group_exclude_mf = 'mfTodoComment'
|
||||||
|
|
||||||
|
let s:mp_regex = {
|
||||||
|
\ 'beginsection' : '^\s*\%(\%(\|var\|primary\|secondary\|tertiary\)def\|beginchar\|beginlogochar\)\>',
|
||||||
|
\ 'endsection' : '^\s*\%(enddef\|endchar\)\>',
|
||||||
|
\ 'beginblock' : '^\s*\%(begingroup\|if\|for\%(\|suffixes\|ever\)\)\>',
|
||||||
|
\ 'endblock' : '^\s*\%(endgroup\|fi\|endfor\)\>'
|
||||||
|
\ }
|
||||||
|
|
||||||
|
function! s:move_around(count, what, flags, visual)
|
||||||
|
if a:visual
|
||||||
|
exe "normal! gv"
|
||||||
|
endif
|
||||||
|
call search(s:mp_regex[a:what], a:flags.'s') " 's' sets previous context mark
|
||||||
|
call map(range(2, a:count), 'search(s:mp_regex[a:what], a:flags)')
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
|
||||||
|
" Move around macros.
|
||||||
|
nnoremap <silent><buffer> [[ :<C-U>call <SID>move_around(v:count1, "beginsection", "bW", v:false) <CR>
|
||||||
|
vnoremap <silent><buffer> [[ :<C-U>call <SID>move_around(v:count1, "beginsection", "bW", v:true) <CR>
|
||||||
|
nnoremap <silent><buffer> ]] :<C-U>call <SID>move_around(v:count1, "beginsection", "W", v:false) <CR>
|
||||||
|
vnoremap <silent><buffer> ]] :<C-U>call <SID>move_around(v:count1, "beginsection", "W", v:true) <CR>
|
||||||
|
nnoremap <silent><buffer> [] :<C-U>call <SID>move_around(v:count1, "endsection", "bW", v:false) <CR>
|
||||||
|
vnoremap <silent><buffer> [] :<C-U>call <SID>move_around(v:count1, "endsection", "bW", v:true) <CR>
|
||||||
|
nnoremap <silent><buffer> ][ :<C-U>call <SID>move_around(v:count1, "endsection", "W", v:false) <CR>
|
||||||
|
vnoremap <silent><buffer> ][ :<C-U>call <SID>move_around(v:count1, "endsection", "W", v:true) <CR>
|
||||||
|
nnoremap <silent><buffer> [{ :<C-U>call <SID>move_around(v:count1, "beginblock", "bW", v:false) <CR>
|
||||||
|
vnoremap <silent><buffer> [{ :<C-U>call <SID>move_around(v:count1, "beginblock", "bW", v:true) <CR>
|
||||||
|
nnoremap <silent><buffer> ]} :<C-U>call <SID>move_around(v:count1, "endblock", "W", v:false) <CR>
|
||||||
|
vnoremap <silent><buffer> ]} :<C-U>call <SID>move_around(v:count1, "endblock", "W", v:true) <CR>
|
||||||
|
|
||||||
|
if exists("loaded_matchit")
|
||||||
|
let b:match_ignorecase = 0
|
||||||
|
let b:match_words =
|
||||||
|
\ '\<if\>:\<else\%[if]\>:\<fi\>,' .
|
||||||
|
\ '\<for\%(\|suffixes\|ever\)\>:\<exit\%(if\|unless\)\>:\<endfor\>,' .
|
||||||
|
\ '\<\%(\|var\|primary\|secondary\|tertiary\)def\>:\<enddef\>,' .
|
||||||
|
\ '\<begingroup\>:\<endgroup\>,' .
|
||||||
|
\ '\<begin\%(logo\)\?char\>:\<endchar\>'
|
||||||
|
" Ignore comments and strings
|
||||||
|
let b:match_skip = 'synIDattr(synID(line("."), col("."), 1), "name")
|
||||||
|
\ =~# "mf\\(Comment\\|String\\)$"'
|
||||||
|
endif
|
||||||
|
|
||||||
let &cpo = s:cpo_save
|
let &cpo = s:cpo_save
|
||||||
unlet s:cpo_save
|
unlet s:cpo_save
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
" Vim filetype plugin file
|
" Vim filetype plugin file
|
||||||
" Language: MetaPost
|
" Language: MetaPost
|
||||||
" Maintainer: Nikolai Weibull <now@bitwi.se>
|
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||||
" Latest Revision: 2008-07-09
|
" Former Maintainers: Nikolai Weibull <now@bitwi.se>
|
||||||
|
" Latest Revision: 2016 Oct 2
|
||||||
|
|
||||||
if exists("b:did_ftplugin")
|
if exists("b:did_ftplugin")
|
||||||
finish
|
finish
|
||||||
@@ -11,9 +12,16 @@ let b:did_ftplugin = 1
|
|||||||
let s:cpo_save = &cpo
|
let s:cpo_save = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
let b:undo_ftplugin = "setl com< cms< fo<"
|
let b:undo_ftplugin = "setl com< cms< fo< sua< inc< def< ofu<"
|
||||||
|
\ . "| unlet! b:match_ignorecase b:match_words b:match_skip"
|
||||||
|
|
||||||
setlocal comments=:% commentstring=%\ %s formatoptions-=t formatoptions+=croql
|
setlocal comments=:% commentstring=%\ %s formatoptions-=t formatoptions+=cjroql2
|
||||||
|
setlocal suffixesadd=.mp,.mpiv
|
||||||
|
let &l:include = '\<\%(input\|loadmodule\)\>' " loadmodule is in MetaFun
|
||||||
|
let &l:define = '\<\%(let\|newinternal\|interim\|def\|vardef\)\>\|\<\%(primary\|secondary\|tertiary\)def\>\s*[^ .]\+'
|
||||||
|
setlocal omnifunc=syntaxcomplete#Complete
|
||||||
|
let g:omni_syntax_group_include_mp = 'mf\w\+,mp\w\+'
|
||||||
|
let g:omni_syntax_group_exclude_mp = 'mfTodoComment'
|
||||||
|
|
||||||
if exists(":FixBeginfigs") != 2
|
if exists(":FixBeginfigs") != 2
|
||||||
command -nargs=0 FixBeginfigs call s:fix_beginfigs()
|
command -nargs=0 FixBeginfigs call s:fix_beginfigs()
|
||||||
@@ -24,5 +32,51 @@ if exists(":FixBeginfigs") != 2
|
|||||||
endfunction
|
endfunction
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
let s:mp_regex = {
|
||||||
|
\ 'beginsection' : '^\s*\%(\%(\|var\|primary\|secondary\|tertiary\)def\|begin\%(fig\|char\|logochar\|glyph\|graph\)\)\>',
|
||||||
|
\ 'endsection' : '^\s*\%(enddef\|end\%(fig\|char\|glyph\|graph\)\)\>',
|
||||||
|
\ 'beginblock' : '^\s*\%(begingroup\|if\|for\%(\|suffixes\|ever\)\)\>',
|
||||||
|
\ 'endblock' : '^\s*\%(endgroup\|fi\|endfor\)\>'
|
||||||
|
\ }
|
||||||
|
|
||||||
|
function! s:move_around(count, what, flags, visual)
|
||||||
|
if a:visual
|
||||||
|
exe "normal! gv"
|
||||||
|
endif
|
||||||
|
call search(s:mp_regex[a:what], a:flags.'s') " 's' sets previous context mark
|
||||||
|
call map(range(2, a:count), 'search(s:mp_regex[a:what], a:flags)')
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
|
||||||
|
" Move around macros.
|
||||||
|
nnoremap <silent><buffer> [[ :<C-U>call <SID>move_around(v:count1, "beginsection", "bW", v:false) <CR>
|
||||||
|
vnoremap <silent><buffer> [[ :<C-U>call <SID>move_around(v:count1, "beginsection", "bW", v:true) <CR>
|
||||||
|
nnoremap <silent><buffer> ]] :<C-U>call <SID>move_around(v:count1, "beginsection", "W", v:false) <CR>
|
||||||
|
vnoremap <silent><buffer> ]] :<C-U>call <SID>move_around(v:count1, "beginsection", "W", v:true) <CR>
|
||||||
|
nnoremap <silent><buffer> [] :<C-U>call <SID>move_around(v:count1, "endsection", "bW", v:false) <CR>
|
||||||
|
vnoremap <silent><buffer> [] :<C-U>call <SID>move_around(v:count1, "endsection", "bW", v:true) <CR>
|
||||||
|
nnoremap <silent><buffer> ][ :<C-U>call <SID>move_around(v:count1, "endsection", "W", v:false) <CR>
|
||||||
|
vnoremap <silent><buffer> ][ :<C-U>call <SID>move_around(v:count1, "endsection", "W", v:true) <CR>
|
||||||
|
nnoremap <silent><buffer> [{ :<C-U>call <SID>move_around(v:count1, "beginblock", "bW", v:false) <CR>
|
||||||
|
vnoremap <silent><buffer> [{ :<C-U>call <SID>move_around(v:count1, "beginblock", "bW", v:true) <CR>
|
||||||
|
nnoremap <silent><buffer> ]} :<C-U>call <SID>move_around(v:count1, "endblock", "W", v:false) <CR>
|
||||||
|
vnoremap <silent><buffer> ]} :<C-U>call <SID>move_around(v:count1, "endblock", "W", v:true) <CR>
|
||||||
|
|
||||||
|
if exists("loaded_matchit")
|
||||||
|
let b:match_ignorecase = 0
|
||||||
|
let b:match_words =
|
||||||
|
\ '\<if\>:\<else\%[if]\>:\<fi\>,' .
|
||||||
|
\ '\<for\%(\|suffixes\|ever\)\>:\<exit\%(if\|unless\)\>:\<endfor\>,' .
|
||||||
|
\ '\<\%(\|var\|primary\|secondary\|tertiary\)def\>:\<enddef\>,' .
|
||||||
|
\ '\<beginfig\>:\<endfig\>,' .
|
||||||
|
\ '\<begingroup\>:\<endgroup\>,' .
|
||||||
|
\ '\<begin\%(logo\)\?char\>:\<endchar\>,' .
|
||||||
|
\ '\<beginglyph\>:\<endglyph\>,' .
|
||||||
|
\ '\<begingraph\>:\<endgraph\>'
|
||||||
|
" Ignore comments and strings
|
||||||
|
let b:match_skip = 'synIDattr(synID(line("."), col("."), 1), "name")
|
||||||
|
\ =~# "^mf\\%(Comment\\|String\\|\\)$\\|^mpTeXinsert$"'
|
||||||
|
endif
|
||||||
|
|
||||||
let &cpo = s:cpo_save
|
let &cpo = s:cpo_save
|
||||||
unlet s:cpo_save
|
unlet s:cpo_save
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
" Language: python
|
" Language: python
|
||||||
" Maintainer: James Sully <sullyj3@gmail.com>
|
" Maintainer: James Sully <sullyj3@gmail.com>
|
||||||
" Previous Maintainer: Johannes Zellner <johannes@zellner.org>
|
" Previous Maintainer: Johannes Zellner <johannes@zellner.org>
|
||||||
" Last Change: Tue, 06 September 2016
|
" Last Change: Tue, 09 October 2016
|
||||||
" https://github.com/sullyj3/vim-ftplugin-python
|
" https://github.com/sullyj3/vim-ftplugin-python
|
||||||
|
|
||||||
if exists("b:did_ftplugin") | finish | endif
|
if exists("b:did_ftplugin") | finish | endif
|
||||||
@@ -22,10 +22,10 @@ setlocal omnifunc=pythoncomplete#Complete
|
|||||||
|
|
||||||
set wildignore+=*.pyc
|
set wildignore+=*.pyc
|
||||||
|
|
||||||
let b:next_toplevel='\v%$\|^(class\|def)>'
|
let b:next_toplevel='\v%$\|^(class\|def\|async def)>'
|
||||||
let b:prev_toplevel='\v^(class\|def)>'
|
let b:prev_toplevel='\v^(class\|def\|async def)>'
|
||||||
let b:next='\v%$\|^\s*(class\|def)>'
|
let b:next='\v%$\|^\s*(class\|def\|async def)>'
|
||||||
let b:prev='\v^\s*(class\|def)>'
|
let b:prev='\v^\s*(class\|def\|async def)>'
|
||||||
|
|
||||||
execute "nnoremap <silent> <buffer> ]] :call <SID>Python_jump('n', '". b:next_toplevel."', 'W')<cr>"
|
execute "nnoremap <silent> <buffer> ]] :call <SID>Python_jump('n', '". b:next_toplevel."', 'W')<cr>"
|
||||||
execute "nnoremap <silent> <buffer> [[ :call <SID>Python_jump('n', '". b:prev_toplevel."', 'Wb')<cr>"
|
execute "nnoremap <silent> <buffer> [[ :call <SID>Python_jump('n', '". b:prev_toplevel."', 'Wb')<cr>"
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ if exists("*CdlGetIndent")
|
|||||||
"finish
|
"finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" find out if an "...=..." expresion its an asignment (or a conditional)
|
" find out if an "...=..." expresion is an assignment (or a conditional)
|
||||||
" it scans 'line' first, and then the previos lines
|
" it scans 'line' first, and then the previos lines
|
||||||
fun! CdlAsignment(lnum, line)
|
fun! CdlAsignment(lnum, line)
|
||||||
let f = -1
|
let f = -1
|
||||||
|
|||||||
36
runtime/indent/context.vim
Normal file
36
runtime/indent/context.vim
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
" ConTeXt indent file
|
||||||
|
" Language: ConTeXt typesetting engine
|
||||||
|
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||||
|
" Last Change: 2016 Oct 15
|
||||||
|
|
||||||
|
if exists("b:did_indent")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !get(b:, 'context_metapost', get(g:, 'context_metapost', 1))
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Load MetaPost indentation script
|
||||||
|
runtime! indent/mp.vim
|
||||||
|
|
||||||
|
let s:keepcpo= &cpo
|
||||||
|
set cpo&vim
|
||||||
|
|
||||||
|
setlocal indentexpr=GetConTeXtIndent()
|
||||||
|
|
||||||
|
let b:undo_indent = "setl indentexpr<"
|
||||||
|
|
||||||
|
function! GetConTeXtIndent()
|
||||||
|
" Use MetaPost rules inside MetaPost graphic environments
|
||||||
|
if len(synstack(v:lnum, 1)) > 0 &&
|
||||||
|
\ synIDattr(synstack(v:lnum, 1)[0], "name") ==# 'contextMPGraphic'
|
||||||
|
return GetMetaPostIndent()
|
||||||
|
endif
|
||||||
|
return -1
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
let &cpo = s:keepcpo
|
||||||
|
unlet s:keepcpo
|
||||||
|
|
||||||
|
" vim:sw=2
|
||||||
@@ -1,11 +1,12 @@
|
|||||||
" Vim indent file
|
" Vim indent file
|
||||||
" Language: Fortran 2008 (and older: Fortran 2003, 95, 90, and 77)
|
" Language: Fortran 2008 (and older: Fortran 2003, 95, 90, and 77)
|
||||||
" Version: 0.45
|
" Version: 47
|
||||||
" Last Change: 2016 Aug. 29
|
" Last Change: 2016 Oct. 29
|
||||||
" Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/>
|
" Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/>
|
||||||
" Usage: For instructions, do :help fortran-indent from Vim
|
" Usage: For instructions, do :help fortran-indent from Vim
|
||||||
" Credits:
|
" Credits:
|
||||||
" Useful suggestions were made by: Albert Oliver Serra and Takuya Fujiwara.
|
" Useful suggestions were made, in chronological order, by:
|
||||||
|
" Albert Oliver Serra, Takuya Fujiwara and Philipp Edelmann.
|
||||||
|
|
||||||
" Only load this indent file when no other was loaded.
|
" Only load this indent file when no other was loaded.
|
||||||
if exists("b:did_indent")
|
if exists("b:did_indent")
|
||||||
@@ -99,9 +100,9 @@ function FortranGetIndent(lnum)
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
"Add a shiftwidth to statements following if, else, else if, case,
|
"Add a shiftwidth to statements following if, else, else if, case, class,
|
||||||
"where, else where, forall, type, interface and associate statements
|
"where, else where, forall, type, interface and associate statements
|
||||||
if prevstat =~? '^\s*\(case\|else\|else\s*if\|else\s*where\)\>'
|
if prevstat =~? '^\s*\(case\|class\|else\|else\s*if\|else\s*where\)\>'
|
||||||
\ ||prevstat=~? '^\s*\(type\|interface\|associate\|enum\)\>'
|
\ ||prevstat=~? '^\s*\(type\|interface\|associate\|enum\)\>'
|
||||||
\ ||prevstat=~?'^\s*\(\d\+\s\)\=\s*\(\a\w*\s*:\)\=\s*\(forall\|where\|block\)\>'
|
\ ||prevstat=~?'^\s*\(\d\+\s\)\=\s*\(\a\w*\s*:\)\=\s*\(forall\|where\|block\)\>'
|
||||||
\ ||prevstat=~? '^\s*\(\d\+\s\)\=\s*\(\a\w*\s*:\)\=\s*if\>'
|
\ ||prevstat=~? '^\s*\(\d\+\s\)\=\s*\(\a\w*\s*:\)\=\s*if\>'
|
||||||
@@ -121,7 +122,8 @@ function FortranGetIndent(lnum)
|
|||||||
let prefix='\(\(pure\|impure\|elemental\|recursive\)\s\+\)\{,2}'
|
let prefix='\(\(pure\|impure\|elemental\|recursive\)\s\+\)\{,2}'
|
||||||
let type='\(\(integer\|real\|double\s\+precision\|complex\|logical'
|
let type='\(\(integer\|real\|double\s\+precision\|complex\|logical'
|
||||||
\.'\|character\|type\|class\)\s*\S*\s\+\)\='
|
\.'\|character\|type\|class\)\s*\S*\s\+\)\='
|
||||||
if prevstat =~? '^\s*\(module\|contains\/submodule\|program\)\>'
|
if prevstat =~? '^\s*\(contains\|submodule\|program\)\>'
|
||||||
|
\ ||prevstat =~? '^\s*'.'module\>\(\s*\procedure\)\@!'
|
||||||
\ ||prevstat =~? '^\s*'.prefix.'subroutine\>'
|
\ ||prevstat =~? '^\s*'.prefix.'subroutine\>'
|
||||||
\ ||prevstat =~? '^\s*'.prefix.type.'function\>'
|
\ ||prevstat =~? '^\s*'.prefix.type.'function\>'
|
||||||
\ ||prevstat =~? '^\s*'.type.prefix.'function\>'
|
\ ||prevstat =~? '^\s*'.type.prefix.'function\>'
|
||||||
@@ -129,16 +131,16 @@ function FortranGetIndent(lnum)
|
|||||||
endif
|
endif
|
||||||
if getline(v:lnum) =~? '^\s*contains\>'
|
if getline(v:lnum) =~? '^\s*contains\>'
|
||||||
\ ||getline(v:lnum)=~? '^\s*end\s*'
|
\ ||getline(v:lnum)=~? '^\s*end\s*'
|
||||||
\ .'\(function\|subroutine\|module\/submodule\|program\)\>'
|
\ .'\(function\|subroutine\|module\|submodule\|program\)\>'
|
||||||
let ind = ind - shiftwidth()
|
let ind = ind - shiftwidth()
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
"Subtract a shiftwidth from else, else if, elsewhere, case, end if,
|
"Subtract a shiftwidth from else, else if, elsewhere, case, class, end if,
|
||||||
" end where, end select, end forall, end interface, end associate,
|
" end where, end select, end forall, end interface, end associate,
|
||||||
" end enum, end type, end block and end type statements
|
" end enum, end type, end block and end type statements
|
||||||
if getline(v:lnum) =~? '^\s*\(\d\+\s\)\=\s*'
|
if getline(v:lnum) =~? '^\s*\(\d\+\s\)\=\s*'
|
||||||
\. '\(else\|else\s*if\|else\s*where\|case\|'
|
\. '\(else\|else\s*if\|else\s*where\|case\|class\|'
|
||||||
\. 'end\s*\(if\|where\|select\|interface\|'
|
\. 'end\s*\(if\|where\|select\|interface\|'
|
||||||
\. 'type\|forall\|associate\|enum\|block\)\)\>'
|
\. 'type\|forall\|associate\|enum\|block\)\)\>'
|
||||||
let ind = ind - shiftwidth()
|
let ind = ind - shiftwidth()
|
||||||
|
|||||||
@@ -749,7 +749,7 @@ func! s:CssPrevNonComment(lnum, stopline)
|
|||||||
while 1
|
while 1
|
||||||
let ccol = match(getline(lnum), '\*/')
|
let ccol = match(getline(lnum), '\*/')
|
||||||
if ccol < 0
|
if ccol < 0
|
||||||
" No comment end thus its something else.
|
" No comment end thus it's something else.
|
||||||
return lnum
|
return lnum
|
||||||
endif
|
endif
|
||||||
call cursor(lnum, ccol + 1)
|
call cursor(lnum, ccol + 1)
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
" Language: Javascript
|
" Language: Javascript
|
||||||
" Maintainer: Chris Paul ( https://github.com/bounceme )
|
" Maintainer: Chris Paul ( https://github.com/bounceme )
|
||||||
" URL: https://github.com/pangloss/vim-javascript
|
" URL: https://github.com/pangloss/vim-javascript
|
||||||
" Last Change: August 25, 2016
|
" Last Change: December 31, 2016
|
||||||
|
|
||||||
" Only load this indent file when no other was loaded.
|
" Only load this indent file when no other was loaded.
|
||||||
if exists('b:did_indent')
|
if exists('b:did_indent')
|
||||||
@@ -12,11 +12,10 @@ let b:did_indent = 1
|
|||||||
|
|
||||||
" Now, set up our indentation expression and keys that trigger it.
|
" Now, set up our indentation expression and keys that trigger it.
|
||||||
setlocal indentexpr=GetJavascriptIndent()
|
setlocal indentexpr=GetJavascriptIndent()
|
||||||
setlocal nolisp noautoindent nosmartindent
|
setlocal autoindent nolisp nosmartindent
|
||||||
setlocal indentkeys=0{,0},0),0],:,!^F,o,O,e
|
setlocal indentkeys+=0],0)
|
||||||
setlocal cinoptions+=j1,J1
|
|
||||||
|
|
||||||
let b:undo_indent = 'setlocal indentexpr< smartindent< autoindent< indentkeys< cinoptions<'
|
let b:undo_indent = 'setlocal indentexpr< smartindent< autoindent< indentkeys<'
|
||||||
|
|
||||||
" Only define the function once.
|
" Only define the function once.
|
||||||
if exists('*GetJavascriptIndent')
|
if exists('*GetJavascriptIndent')
|
||||||
@@ -37,158 +36,329 @@ else
|
|||||||
endfunction
|
endfunction
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let s:line_pre = '^\s*\%(\%(\%(\/\*.\{-}\)\=\*\+\/\s*\)\=\)\@>'
|
" searchpair() wrapper
|
||||||
let s:expr_case = s:line_pre . '\%(\%(case\>.\+\)\|default\)\s*:'
|
if has('reltime')
|
||||||
|
function s:GetPair(start,end,flags,skip,time,...)
|
||||||
|
return searchpair('\m'.a:start,'','\m'.a:end,a:flags,a:skip,max([prevnonblank(v:lnum) - 2000,0] + a:000),a:time)
|
||||||
|
endfunction
|
||||||
|
else
|
||||||
|
function s:GetPair(start,end,flags,skip,...)
|
||||||
|
return searchpair('\m'.a:start,'','\m'.a:end,a:flags,a:skip,max([prevnonblank(v:lnum) - 1000,get(a:000,1)]))
|
||||||
|
endfunction
|
||||||
|
endif
|
||||||
|
|
||||||
" Regex of syntax group names that are or delimit string or are comments.
|
" Regex of syntax group names that are or delimit string or are comments.
|
||||||
let s:syng_strcom = '\%(s\%(tring\|pecial\)\|comment\|regex\|doc\|template\)'
|
let s:syng_strcom = 'string\|comment\|regex\|special\|doc\|template'
|
||||||
|
let s:syng_str = 'string\|template'
|
||||||
" Regex of syntax group names that are strings or documentation.
|
let s:syng_com = 'comment\|doc'
|
||||||
let s:syng_comment = '\%(comment\|doc\)'
|
|
||||||
|
|
||||||
" Expression used to check whether we should skip a match with searchpair().
|
" Expression used to check whether we should skip a match with searchpair().
|
||||||
let s:skip_expr = "synIDattr(synID(line('.'),col('.'),0),'name') =~? '".s:syng_strcom."'"
|
let s:skip_expr = "synIDattr(synID(line('.'),col('.'),0),'name') =~? '".s:syng_strcom."'"
|
||||||
|
|
||||||
if has('reltime')
|
function s:skip_func()
|
||||||
function s:GetPair(start,end,flags,time)
|
if !s:free || search('\m`\|\*\/','nW',s:looksyn)
|
||||||
return searchpair(a:start,'',a:end,a:flags,s:skip_expr,max([prevnonblank(v:lnum) - 2000,0]),a:time)
|
let s:free = !eval(s:skip_expr)
|
||||||
endfunction
|
let s:looksyn = s:free ? line('.') : s:looksyn
|
||||||
else
|
return !s:free
|
||||||
function s:GetPair(start,end,flags,n)
|
|
||||||
return searchpair(a:start,'',a:end,a:flags,0,max([prevnonblank(v:lnum) - 2000,0]))
|
|
||||||
endfunction
|
|
||||||
endif
|
endif
|
||||||
|
let s:looksyn = line('.')
|
||||||
|
return (search('\m\/','nbW',s:looksyn) || search('\m[''"]\|\\$','nW',s:looksyn)) && eval(s:skip_expr)
|
||||||
|
endfunction
|
||||||
|
|
||||||
let s:line_term = '\s*\%(\%(\/\%(\%(\*.\{-}\*\/\)\|\%(\*\+\)\)\)\s*\)\=$'
|
function s:alternatePair(stop)
|
||||||
|
let pos = getpos('.')[1:2]
|
||||||
|
while search('\m[][(){}]','bW',a:stop)
|
||||||
|
if !s:skip_func()
|
||||||
|
let idx = stridx('])}',s:looking_at())
|
||||||
|
if idx + 1
|
||||||
|
if !s:GetPair(['\[','(','{'][idx], '])}'[idx],'bW','s:skip_func()',2000,a:stop)
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endwhile
|
||||||
|
call call('cursor',pos)
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function s:save_pos(f,...)
|
||||||
|
let l:pos = getpos('.')[1:2]
|
||||||
|
let ret = call(a:f,a:000)
|
||||||
|
call call('cursor',l:pos)
|
||||||
|
return ret
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function s:syn_at(l,c)
|
||||||
|
return synIDattr(synID(a:l,a:c,0),'name')
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function s:looking_at()
|
||||||
|
return getline('.')[col('.')-1]
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function s:token()
|
||||||
|
return s:looking_at() =~ '\k' ? expand('<cword>') : s:looking_at()
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function s:b_token()
|
||||||
|
if s:looking_at() =~ '\k'
|
||||||
|
call search('\m\<','cbW')
|
||||||
|
endif
|
||||||
|
return search('\m\S','bW')
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function s:previous_token()
|
||||||
|
let l:n = line('.')
|
||||||
|
while s:b_token()
|
||||||
|
if (s:looking_at() == '/' || line('.') != l:n && search('\m\/\/','nbW',
|
||||||
|
\ line('.'))) && s:syn_at(line('.'),col('.')) =~? s:syng_com
|
||||||
|
call search('\m\_[^/]\zs\/[/*]','bW')
|
||||||
|
else
|
||||||
|
return s:token()
|
||||||
|
endif
|
||||||
|
endwhile
|
||||||
|
return ''
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function s:others(p)
|
||||||
|
return "((line2byte(line('.')) + col('.')) <= ".(line2byte(a:p[0]) + a:p[1]).") || ".s:skip_expr
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function s:tern_skip(p)
|
||||||
|
return s:GetPair('{','}','nbW',s:others(a:p),200,a:p[0]) > 0
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function s:tern_col(p)
|
||||||
|
return s:GetPair('?',':\@<!::\@!','nbW',s:others(a:p)
|
||||||
|
\ .' || s:tern_skip('.string(a:p).')',200,a:p[0]) > 0
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function s:label_col()
|
||||||
|
let pos = getpos('.')[1:2]
|
||||||
|
let [s:looksyn,s:free] = pos
|
||||||
|
call s:alternatePair(0)
|
||||||
|
if s:save_pos('s:IsBlock')
|
||||||
|
let poss = getpos('.')[1:2]
|
||||||
|
return call('cursor',pos) || !s:tern_col(poss)
|
||||||
|
elseif s:looking_at() == ':'
|
||||||
|
return !s:tern_col([0,0])
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
" configurable regexes that define continuation lines, not including (, {, or [.
|
" configurable regexes that define continuation lines, not including (, {, or [.
|
||||||
if !exists('g:javascript_opfirst')
|
let s:opfirst = '^' . get(g:,'javascript_opfirst',
|
||||||
let g:javascript_opfirst = '\%([<>,:?^%|*&]\|\/[^/*]\|\([-.+]\)\1\@!\|=>\@!\|in\%(stanceof\)\=\>\)'
|
\ '\%([<>=,?^%|*/&]\|\([-.:+]\)\1\@!\|!=\|in\%(stanceof\)\=\>\)')
|
||||||
endif
|
let s:continuation = get(g:,'javascript_continuation',
|
||||||
if !exists('g:javascript_continuation')
|
\ '\%([<=,.~!?/*^%|&:]\|+\@<!+\|-\@<!-\|=\@<!>\|\<\%(typeof\|delete\|void\|in\|instanceof\)\)') . '$'
|
||||||
let g:javascript_continuation = '\%([<=,.?/*:^%|&]\|+\@<!+\|-\@<!-\|=\@<!>\|\<in\%(stanceof\)\=\)'
|
|
||||||
endif
|
|
||||||
|
|
||||||
let g:javascript_opfirst = s:line_pre . g:javascript_opfirst
|
function s:continues(ln,con)
|
||||||
let g:javascript_continuation .= s:line_term
|
return !cursor(a:ln, match(' '.a:con,s:continuation)) &&
|
||||||
|
\ eval((['s:syn_at(line("."),col(".")) !~? "regex"'] +
|
||||||
function s:OneScope(lnum,text,add)
|
\ repeat(['s:previous_token() != "."'],5) + [1])[
|
||||||
return a:text =~# '\%(\<else\|\<do\|=>\)' . s:line_term ? 'no b' :
|
\ index(split('/ typeof in instanceof void delete'),s:token())])
|
||||||
\ ((a:add && a:text =~ s:line_pre . '$' && search('\%' . s:PrevCodeLine(a:lnum - 1) . 'l.)' . s:line_term)) ||
|
|
||||||
\ cursor(a:lnum, match(a:text, ')' . s:line_term)) > -1) &&
|
|
||||||
\ s:GetPair('(', ')', 'cbW', 100) > 0 && search('\C\l\+\_s*\%#','bW') &&
|
|
||||||
\ (a:add || ((expand('<cword>') !=# 'while' || !s:GetPair('\C\<do\>', '\C\<while\>','nbW',100)) &&
|
|
||||||
\ (expand('<cword>') !=# 'each' || search('\C\<for\_s\+\%#','nbW')))) ? expand('<cword>') : ''
|
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
" https://github.com/sweet-js/sweet.js/wiki/design#give-lookbehind-to-the-reader
|
" get the line of code stripped of comments and move cursor to the last
|
||||||
function s:IsBlock()
|
" non-comment char.
|
||||||
return getline(line('.'))[col('.')-1] == '{' && !search(
|
function s:Trim(ln)
|
||||||
\ '\C\%(\<return\s*\|\%([-=~!<*+,.?^%|&\[(]\|=\@<!>\|\*\@<!\/\|\<\%(var\|const\|let\|import\|export\%(\_s\+default\)\=\|yield\|delete\|void\|t\%(ypeof\|hrow\)\|new\|in\%(stanceof\)\=\)\)\_s*\)\%#','bnW') &&
|
let pline = substitute(getline(a:ln),'\s*$','','')
|
||||||
\ (!search(':\_s*\%#','bW') || (!s:GetPair('[({[]','[])}]','bW',200) || s:IsBlock()))
|
let l:max = max([match(pline,'.*[^/]\zs\/[/*]'),0])
|
||||||
|
while l:max && s:syn_at(a:ln, strlen(pline)) =~? s:syng_com
|
||||||
|
let pline = substitute(strpart(pline, 0, l:max),'\s*$','','')
|
||||||
|
let l:max = max([match(pline,'.*[^/]\zs\/[/*]'),0])
|
||||||
|
endwhile
|
||||||
|
return cursor(a:ln,strlen(pline)) ? pline : pline
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
" Auxiliary Functions {{{2
|
" Find line above 'lnum' that isn't empty or in a comment
|
||||||
|
|
||||||
" Find line above 'lnum' that isn't empty, in a comment, or in a string.
|
|
||||||
function s:PrevCodeLine(lnum)
|
function s:PrevCodeLine(lnum)
|
||||||
let l:lnum = prevnonblank(a:lnum)
|
let l:n = prevnonblank(a:lnum)
|
||||||
while l:lnum
|
while l:n
|
||||||
if synIDattr(synID(l:lnum,matchend(getline(l:lnum), '^\s*[^''"]'),0),'name') !~? s:syng_strcom
|
if getline(l:n) =~ '^\s*\/[/*]'
|
||||||
return l:lnum
|
if (stridx(getline(l:n),'`') > 0 || getline(l:n-1)[-1:] == '\') &&
|
||||||
|
\ s:syn_at(l:n,1) =~? s:syng_str
|
||||||
|
return l:n
|
||||||
|
endif
|
||||||
|
let l:n = prevnonblank(l:n-1)
|
||||||
|
elseif s:syn_at(l:n,1) =~? s:syng_com
|
||||||
|
let l:n = s:save_pos('eval',
|
||||||
|
\ 'cursor('.l:n.',1) + search(''\m\/\*'',"bW")')
|
||||||
|
else
|
||||||
|
return l:n
|
||||||
endif
|
endif
|
||||||
let l:lnum = prevnonblank(l:lnum - 1)
|
|
||||||
endwhile
|
endwhile
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
" Check if line 'lnum' has a balanced amount of parentheses.
|
" Check if line 'lnum' has a balanced amount of parentheses.
|
||||||
function s:Balanced(lnum)
|
function s:Balanced(lnum)
|
||||||
let [open_0,open_2,open_4] = [0,0,0]
|
let l:open = 0
|
||||||
let l:line = getline(a:lnum)
|
let l:line = getline(a:lnum)
|
||||||
let pos = match(l:line, '[][(){}]', 0)
|
let pos = match(l:line, '[][(){}]', 0)
|
||||||
while pos != -1
|
while pos != -1
|
||||||
if synIDattr(synID(a:lnum,pos + 1,0),'name') !~? s:syng_strcom
|
if s:syn_at(a:lnum,pos + 1) !~? s:syng_strcom
|
||||||
let idx = stridx('(){}[]', l:line[pos])
|
let l:open += match(' ' . l:line[pos],'[[({]')
|
||||||
if idx % 2 == 0
|
if l:open < 0
|
||||||
let open_{idx} = open_{idx} + 1
|
return
|
||||||
else
|
|
||||||
let open_{idx - 1} = open_{idx - 1} - 1
|
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
let pos = match(l:line, '[][(){}]', pos + 1)
|
let pos = match(l:line, '[][(){}]', pos + 1)
|
||||||
endwhile
|
endwhile
|
||||||
return (!open_4 + !open_2 + !open_0) - 2
|
return !l:open
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function s:OneScope(lnum)
|
||||||
|
let pline = s:Trim(a:lnum)
|
||||||
|
let kw = 'else do'
|
||||||
|
if pline[-1:] == ')' && s:GetPair('(', ')', 'bW', s:skip_expr, 100) > 0
|
||||||
|
call s:previous_token()
|
||||||
|
let kw = 'for if let while with'
|
||||||
|
if index(split('await each'),s:token()) + 1
|
||||||
|
call s:previous_token()
|
||||||
|
let kw = 'for'
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
return pline[-2:] == '=>' || index(split(kw),s:token()) + 1 &&
|
||||||
|
\ s:save_pos('s:previous_token') != '.'
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" returns braceless levels started by 'i' and above lines * &sw. 'num' is the
|
||||||
|
" lineNr which encloses the entire context, 'cont' if whether line 'i' + 1 is
|
||||||
|
" a continued expression, which could have started in a braceless context
|
||||||
|
function s:iscontOne(i,num,cont)
|
||||||
|
let [l:i, l:num, bL] = [a:i, a:num + !a:num, 0]
|
||||||
|
let pind = a:num ? indent(l:num) + s:W : 0
|
||||||
|
let ind = indent(l:i) + (a:cont ? 0 : s:W)
|
||||||
|
while l:i >= l:num && (ind > pind || l:i == l:num)
|
||||||
|
if indent(l:i) < ind && s:OneScope(l:i)
|
||||||
|
let bL += s:W
|
||||||
|
let l:i = line('.')
|
||||||
|
elseif !a:cont || bL || ind < indent(a:i)
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
let ind = min([ind, indent(l:i)])
|
||||||
|
let l:i = s:PrevCodeLine(l:i - 1)
|
||||||
|
endwhile
|
||||||
|
return bL
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" https://github.com/sweet-js/sweet.js/wiki/design#give-lookbehind-to-the-reader
|
||||||
|
function s:IsBlock()
|
||||||
|
if s:looking_at() == '{'
|
||||||
|
let l:n = line('.')
|
||||||
|
let char = s:previous_token()
|
||||||
|
let syn = char =~ '[{>/]' ? s:syn_at(line('.'),col('.')-(char == '{')) : ''
|
||||||
|
if syn =~? 'xml\|jsx'
|
||||||
|
return char != '{'
|
||||||
|
elseif char =~ '\k'
|
||||||
|
return index(split('return const let import export yield default delete var await void typeof throw case new in instanceof')
|
||||||
|
\ ,char) < (line('.') != l:n) || s:previous_token() == '.'
|
||||||
|
elseif char == '>'
|
||||||
|
return getline('.')[col('.')-2] == '=' || syn =~? '^jsflow'
|
||||||
|
elseif char == ':'
|
||||||
|
return getline('.')[col('.')-2] != ':' && s:label_col()
|
||||||
|
endif
|
||||||
|
return syn =~? 'regex' || char !~ '[-=~!<*+,/?^%|&([]'
|
||||||
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
" }}}
|
|
||||||
|
|
||||||
function GetJavascriptIndent()
|
function GetJavascriptIndent()
|
||||||
if !exists('b:js_cache')
|
let b:js_cache = get(b:,'js_cache',[0,0,0])
|
||||||
let b:js_cache = [0,0,0]
|
|
||||||
endif
|
|
||||||
" Get the current line.
|
" Get the current line.
|
||||||
let l:line = getline(v:lnum)
|
call cursor(v:lnum,1)
|
||||||
let syns = synIDattr(synID(v:lnum, 1, 0), 'name')
|
let l:line = getline('.')
|
||||||
|
let syns = s:syn_at(v:lnum, 1)
|
||||||
|
|
||||||
" start with strings,comments,etc.{{{2
|
" start with strings,comments,etc.
|
||||||
if (l:line !~ '^[''"`]' && syns =~? '\%(string\|template\)') ||
|
if syns =~? s:syng_com
|
||||||
\ (l:line !~ '^\s*[/*]' && syns =~? s:syng_comment)
|
if l:line =~ '^\s*\*'
|
||||||
|
return cindent(v:lnum)
|
||||||
|
elseif l:line !~ '^\s*\/[/*]'
|
||||||
return -1
|
return -1
|
||||||
endif
|
endif
|
||||||
if l:line !~ '^\%(\/\*\|\s*\/\/\)' && syns =~? s:syng_comment
|
elseif syns =~? s:syng_str && l:line !~ '^[''"]'
|
||||||
return cindent(v:lnum)
|
if b:js_cache[0] == v:lnum - 1 && s:Balanced(v:lnum-1)
|
||||||
|
let b:js_cache[0] = v:lnum
|
||||||
|
endif
|
||||||
|
return -1
|
||||||
endif
|
endif
|
||||||
let l:lnum = s:PrevCodeLine(v:lnum - 1)
|
let l:lnum = s:PrevCodeLine(v:lnum - 1)
|
||||||
if l:lnum == 0
|
if !l:lnum
|
||||||
return 0
|
return
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if (l:line =~# s:expr_case)
|
let l:line = substitute(l:line,'^\s*','','')
|
||||||
let cpo_switch = &cpo
|
if l:line[:1] == '/*'
|
||||||
set cpo+=%
|
let l:line = substitute(l:line,'^\%(\/\*.\{-}\*\/\s*\)*','','')
|
||||||
let ind = cindent(v:lnum)
|
endif
|
||||||
let &cpo = cpo_switch
|
if l:line =~ '^\/[/*]'
|
||||||
return ind
|
let l:line = ''
|
||||||
endif
|
endif
|
||||||
"}}}
|
|
||||||
|
|
||||||
" the containing paren, bracket, curly. Memoize, last lineNr either has the
|
" the containing paren, bracket, or curly. Many hacks for performance
|
||||||
" same scope or starts a new one, unless if it closed a scope.
|
let idx = strlen(l:line) ? stridx('])}',l:line[0]) : -1
|
||||||
call cursor(v:lnum,1)
|
if b:js_cache[0] >= l:lnum && b:js_cache[0] < v:lnum &&
|
||||||
if b:js_cache[0] >= l:lnum && b:js_cache[0] < v:lnum && b:js_cache[0] &&
|
\ (b:js_cache[0] > l:lnum || s:Balanced(l:lnum))
|
||||||
\ (b:js_cache[0] > l:lnum || s:Balanced(l:lnum) > 0)
|
call call('cursor',b:js_cache[1:])
|
||||||
let num = b:js_cache[1]
|
|
||||||
elseif syns != '' && l:line[0] =~ '\s'
|
|
||||||
let pattern = syns =~? 'block' ? ['{','}'] : syns =~? 'jsparen' ? ['(',')'] :
|
|
||||||
\ syns =~? 'jsbracket'? ['\[','\]'] : ['[({[]','[])}]']
|
|
||||||
let num = s:GetPair(pattern[0],pattern[1],'bW',2000)
|
|
||||||
else
|
else
|
||||||
let num = s:GetPair('[({[]','[])}]','bW',2000)
|
let [s:looksyn, s:free, top] = [v:lnum - 1, 1, (!indent(l:lnum) &&
|
||||||
|
\ s:syn_at(l:lnum,1) !~? s:syng_str) * l:lnum]
|
||||||
|
if idx + 1
|
||||||
|
call s:GetPair(['\[','(','{'][idx], '])}'[idx],'bW','s:skip_func()',2000,top)
|
||||||
|
elseif indent(v:lnum) && syns =~? 'block'
|
||||||
|
call s:GetPair('{','}','bW','s:skip_func()',2000,top)
|
||||||
|
else
|
||||||
|
call s:alternatePair(top)
|
||||||
endif
|
endif
|
||||||
let b:js_cache = [v:lnum,num,line('.') == v:lnum ? b:js_cache[2] : col('.')]
|
|
||||||
|
|
||||||
if l:line =~ s:line_pre . '[])}]'
|
|
||||||
return indent(num)
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
call cursor(b:js_cache[1],b:js_cache[2])
|
if idx + 1 || l:line[:1] == '|}'
|
||||||
|
if idx == 2 && search('\m\S','bW',line('.')) && s:looking_at() == ')'
|
||||||
let swcase = getline(l:lnum) =~# s:expr_case
|
call s:GetPair('(',')','bW',s:skip_expr,200)
|
||||||
let pline = swcase ? getline(l:lnum) : substitute(getline(l:lnum), '\%(:\@<!\/\/.*\)$', '','')
|
endif
|
||||||
let inb = num == 0 || num < l:lnum && ((l:line !~ s:line_pre . ',' && pline !~ ',' . s:line_term) || s:IsBlock())
|
return indent('.')
|
||||||
let switch_offset = num == 0 || s:OneScope(num, strpart(getline(num),0,b:js_cache[2] - 1),1) !=# 'switch' ? 0 :
|
|
||||||
\ &cino !~ ':' || !has('float') ? s:sw() :
|
|
||||||
\ float2nr(str2float(matchstr(&cino,'.*:\zs[-0-9.]*')) * (&cino =~# '.*:[^,]*s' ? s:sw() : 1))
|
|
||||||
|
|
||||||
" most significant, find the indent amount
|
|
||||||
if inb && !swcase && ((l:line =~# g:javascript_opfirst || pline =~# g:javascript_continuation) ||
|
|
||||||
\ num < l:lnum && s:OneScope(l:lnum,pline,0) =~# '\<\%(for\|each\|if\|let\|no\sb\|w\%(hile\|ith\)\)\>' &&
|
|
||||||
\ l:line !~ s:line_pre . '{')
|
|
||||||
return (num > 0 ? indent(num) : -s:sw()) + (s:sw() * 2) + switch_offset
|
|
||||||
elseif num > 0
|
|
||||||
return indent(num) + s:sw() + switch_offset
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
let b:js_cache = [v:lnum] + (line('.') == v:lnum ? [0,0] : getpos('.')[1:2])
|
||||||
|
let num = b:js_cache[1]
|
||||||
|
|
||||||
|
let [s:W, isOp, bL, switch_offset] = [s:sw(),0,0,0]
|
||||||
|
if !num || s:IsBlock()
|
||||||
|
let pline = s:save_pos('s:Trim',l:lnum)
|
||||||
|
if num && s:looking_at() == ')' && s:GetPair('(', ')', 'bW', s:skip_expr, 100) > 0
|
||||||
|
let num = line('.')
|
||||||
|
if s:previous_token() ==# 'switch' && s:previous_token() != '.'
|
||||||
|
if &cino !~ ':' || !has('float')
|
||||||
|
let switch_offset = s:W
|
||||||
|
else
|
||||||
|
let cinc = matchlist(&cino,'.*:\(-\)\=\([0-9.]*\)\(s\)\=\C')
|
||||||
|
let switch_offset = float2nr(str2float(cinc[1].(strlen(cinc[2]) ? cinc[2] : strlen(cinc[3])))
|
||||||
|
\ * (strlen(cinc[3]) ? s:W : 1))
|
||||||
|
endif
|
||||||
|
if pline[-1:] != '.' && l:line =~# '^\%(default\|case\)\>'
|
||||||
|
return indent(num) + switch_offset
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
if pline[-1:] !~ '[{;]'
|
||||||
|
if pline =~# ':\@<!:$'
|
||||||
|
call cursor(l:lnum,strlen(pline))
|
||||||
|
let isOp = s:tern_col(b:js_cache[1:2])
|
||||||
|
else
|
||||||
|
let isOp = l:line =~# s:opfirst || s:continues(l:lnum,pline)
|
||||||
|
endif
|
||||||
|
let bL = s:iscontOne(l:lnum,num,isOp)
|
||||||
|
let bL -= (bL && l:line[0] == '{') * s:W
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
" main return
|
||||||
|
if isOp
|
||||||
|
return (num ? indent(num) : -s:W) + (s:W * 2) + switch_offset + bL
|
||||||
|
elseif num
|
||||||
|
return indent(num) + s:W + switch_offset + bL
|
||||||
|
endif
|
||||||
|
return bL
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
|
||||||
let &cpo = s:cpo_save
|
let &cpo = s:cpo_save
|
||||||
unlet s:cpo_save
|
unlet s:cpo_save
|
||||||
|
|||||||
6
runtime/indent/mf.vim
Normal file
6
runtime/indent/mf.vim
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
" METAFONT indent file
|
||||||
|
" Language: METAFONT
|
||||||
|
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||||
|
" Last Change: 2016 Oct 1
|
||||||
|
|
||||||
|
runtime! indent/mp.vim
|
||||||
@@ -1,56 +1,19 @@
|
|||||||
" MetaPost indent file
|
" MetaPost indent file
|
||||||
" Language: MetaPost
|
" Language: MetaPost
|
||||||
" Maintainer: Eugene Minkovskii <emin@mccme.ru>
|
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||||
" Last Change: 2012 May 18
|
" Former Maintainers: Eugene Minkovskii <emin@mccme.ru>
|
||||||
" Version: 0.1
|
" Last Change: 2016 Oct 2, 4:13pm
|
||||||
" ==========================================================================
|
" Version: 0.2
|
||||||
|
|
||||||
" Identation Rules: {{{1
|
|
||||||
" First of all, MetaPost language don't expect any identation rules.
|
|
||||||
" This screept need for you only if you (not MetaPost) need to do
|
|
||||||
" exactly code. If you don't need to use indentation, see
|
|
||||||
" :help filetype-indent-off
|
|
||||||
"
|
|
||||||
" Note: Every rules of identation in MetaPost or TeX languages (and in some
|
|
||||||
" other of course) is very subjective. I can release only my vision of this
|
|
||||||
" promlem.
|
|
||||||
"
|
|
||||||
" ..........................................................................
|
|
||||||
" Example of correct (by me) identation {{{2
|
|
||||||
" shiftwidth=4
|
|
||||||
" ==========================================================================
|
|
||||||
" for i=0 upto 99:
|
|
||||||
" z[i] = (0,1u) rotated (i*360/100);
|
|
||||||
" endfor
|
|
||||||
" draw z0 -- z10 -- z20
|
|
||||||
" withpen ... % <- 2sw because breaked line
|
|
||||||
" withcolor ...; % <- same as previous
|
|
||||||
" draw z0 for i=1 upto 99:
|
|
||||||
" -- z[i] % <- 1sw from left end of 'for' satement
|
|
||||||
" endfor withpen ... % <- 0sw from left end of 'for' satement
|
|
||||||
" withcolor ...; % <- 2sw because breaked line
|
|
||||||
" draw if One: % <- This is internal if (like 'for' above)
|
|
||||||
" one
|
|
||||||
" elsif Other:
|
|
||||||
" other
|
|
||||||
" fi withpen ...;
|
|
||||||
" if one: % <- This is external if
|
|
||||||
" draw one;
|
|
||||||
" elseif other:
|
|
||||||
" draw other;
|
|
||||||
" fi
|
|
||||||
" draw z0; draw z1;
|
|
||||||
" }}}
|
|
||||||
" }}}
|
|
||||||
|
|
||||||
" Only load this indent file when no other was loaded.
|
|
||||||
if exists("b:did_indent")
|
if exists("b:did_indent")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
let b:did_indent = 1
|
let b:did_indent = 1
|
||||||
|
|
||||||
setlocal indentexpr=GetMetaPostIndent()
|
setlocal indentexpr=GetMetaPostIndent()
|
||||||
setlocal indentkeys+=;,<:>,=if,=for,=def,=end,=else,=fi
|
setlocal indentkeys+==end,=else,=fi,=fill,0),0]
|
||||||
|
|
||||||
|
let b:undo_indent = "setl indentkeys< indentexpr<"
|
||||||
|
|
||||||
" Only define the function once.
|
" Only define the function once.
|
||||||
if exists("*GetMetaPostIndent")
|
if exists("*GetMetaPostIndent")
|
||||||
@@ -59,151 +22,337 @@ endif
|
|||||||
let s:keepcpo= &cpo
|
let s:keepcpo= &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
" Auxiliary Definitions: {{{1
|
function GetMetaPostIndent()
|
||||||
function! MetaNextNonblankNoncomment(pos)
|
let ignorecase_save = &ignorecase
|
||||||
" Like nextnonblank() but ignore comment lines
|
try
|
||||||
let tmp = nextnonblank(a:pos)
|
let &ignorecase = 0
|
||||||
while tmp && getline(tmp) =~ '^\s*%'
|
return GetMetaPostIndentIntern()
|
||||||
let tmp = nextnonblank(tmp+1)
|
finally
|
||||||
|
let &ignorecase = ignorecase_save
|
||||||
|
endtry
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Regexps {{{
|
||||||
|
" Note: the next three variables are made global so that a user may add
|
||||||
|
" further keywords.
|
||||||
|
"
|
||||||
|
" Example:
|
||||||
|
"
|
||||||
|
" Put these in ~/.vim/after/indent/mp.vim
|
||||||
|
"
|
||||||
|
" let g:mp_open_tag .= '\|\<begintest\>'
|
||||||
|
" let g:mp_close_tag .= '\|\<endtest\>'
|
||||||
|
|
||||||
|
" Expressions starting indented blocks
|
||||||
|
let g:mp_open_tag = ''
|
||||||
|
\ . '\<if\>'
|
||||||
|
\ . '\|\<else\%[if]\>'
|
||||||
|
\ . '\|\<for\%(\|ever\|suffixes\)\>'
|
||||||
|
\ . '\|\<begingroup\>'
|
||||||
|
\ . '\|\<\%(\|var\|primary\|secondary\|tertiary\)def\>'
|
||||||
|
\ . '\|^\s*\<begin\%(fig\|graph\|glyph\|char\|logochar\)\>'
|
||||||
|
\ . '\|[([{]'
|
||||||
|
|
||||||
|
" Expressions ending indented blocks
|
||||||
|
let g:mp_close_tag = ''
|
||||||
|
\ . '\<fi\>'
|
||||||
|
\ . '\|\<else\%[if]\>'
|
||||||
|
\ . '\|\<end\%(\|for\|group\|def\|fig\|char\|glyph\|graph\)\>'
|
||||||
|
\ . '\|[)\]}]'
|
||||||
|
|
||||||
|
" Statements that may span multiple lines and are ended by a semicolon. To
|
||||||
|
" keep this list short, statements that are unlikely to be very long or are
|
||||||
|
" not very common (e.g., keywords like `interim` or `showtoken`) are not
|
||||||
|
" included.
|
||||||
|
"
|
||||||
|
" The regex for assignments and equations (the last branch) is tricky, because
|
||||||
|
" it must not match things like `for i :=`, `if a=b`, `def...=`, etc... It is
|
||||||
|
" not perfect, but it works reasonably well.
|
||||||
|
let g:mp_statement = ''
|
||||||
|
\ . '\<\%(\|un\|cut\)draw\>'
|
||||||
|
\ . '\|\<\%(\|un\)fill\%[draw]\>'
|
||||||
|
\ . '\|\<draw\%(dbl\)\=arrow\>'
|
||||||
|
\ . '\|\<clip\>'
|
||||||
|
\ . '\|\<addto\>'
|
||||||
|
\ . '\|\<save\>'
|
||||||
|
\ . '\|\<setbounds\>'
|
||||||
|
\ . '\|\<message\>'
|
||||||
|
\ . '\|\<errmessage\>'
|
||||||
|
\ . '\|\<errhelp\>'
|
||||||
|
\ . '\|\<fontmapline\>'
|
||||||
|
\ . '\|\<pickup\>'
|
||||||
|
\ . '\|\<show\>'
|
||||||
|
\ . '\|\<special\>'
|
||||||
|
\ . '\|\<write\>'
|
||||||
|
\ . '\|\%(^\|;\)\%([^;=]*\%('.g:mp_open_tag.'\)\)\@!.\{-}:\=='
|
||||||
|
|
||||||
|
" A line ends with zero or more spaces, possibly followed by a comment.
|
||||||
|
let s:eol = '\s*\%($\|%\)'
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
" Auxiliary functions {{{
|
||||||
|
" Returns 1 if (0-based) position immediately preceding `pos` in `line` is
|
||||||
|
" inside a string or a comment; returns 0 otherwise.
|
||||||
|
|
||||||
|
" This is the function that is called more often when indenting, so it is
|
||||||
|
" critical that it is efficient. The method we use is significantly faster
|
||||||
|
" than using syntax attributes, and more general (it does not require
|
||||||
|
" syntax_items). It is also faster than using a single regex matching an even
|
||||||
|
" number of quotes. It helps that MetaPost strings cannot span more than one
|
||||||
|
" line and cannot contain escaped quotes.
|
||||||
|
function! s:CommentOrString(line, pos)
|
||||||
|
let in_string = 0
|
||||||
|
let q = stridx(a:line, '"')
|
||||||
|
let c = stridx(a:line, '%')
|
||||||
|
while q >= 0 && q < a:pos
|
||||||
|
if c >= 0 && c < q
|
||||||
|
if in_string " Find next percent symbol
|
||||||
|
let c = stridx(a:line, '%', q + 1)
|
||||||
|
else " Inside comment
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
let in_string = 1 - in_string
|
||||||
|
let q = stridx(a:line, '"', q + 1) " Find next quote
|
||||||
endwhile
|
endwhile
|
||||||
return tmp
|
return in_string || (c >= 0 && c <= a:pos)
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! MetaPrevNonblankNoncomment(pos)
|
" Find the first non-comment non-blank line before the current line.
|
||||||
" Like prevnonblank() but ignore comment lines
|
function! s:PrevNonBlankNonComment(lnum)
|
||||||
let tmp = prevnonblank(a:pos)
|
let l:lnum = prevnonblank(a:lnum - 1)
|
||||||
while tmp && getline(tmp) =~ '^\s*%'
|
while getline(l:lnum) =~# '^\s*%'
|
||||||
let tmp = prevnonblank(tmp-1)
|
let l:lnum = prevnonblank(l:lnum - 1)
|
||||||
endwhile
|
endwhile
|
||||||
return tmp
|
return l:lnum
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! MetaSearchNoncomment(pattern, ...)
|
" Returns true if the last tag appearing in the line is an open tag; returns
|
||||||
" Like search() but ignore commented areas
|
" false otherwise.
|
||||||
if a:0
|
function! s:LastTagIsOpen(line)
|
||||||
let flags = a:1
|
let o = s:LastValidMatchEnd(a:line, g:mp_open_tag, 0)
|
||||||
elseif &wrapscan
|
if o == - 1 | return v:false | endif
|
||||||
let flags = "w"
|
return s:LastValidMatchEnd(a:line, g:mp_close_tag, o) < 0
|
||||||
else
|
endfunction
|
||||||
let flags = "W"
|
|
||||||
endif
|
" A simple, efficient and quite effective heuristics is used to test whether
|
||||||
let cl = line(".")
|
" a line should cause the next line to be indented: count the "opening tags"
|
||||||
let cc = col(".")
|
" (if, for, def, ...) in the line, count the "closing tags" (endif, endfor,
|
||||||
let tmp = search(a:pattern, flags)
|
" ...) in the line, and compute the difference. We call the result the
|
||||||
while tmp && synIDattr(synID(line("."), col("."), 1), "name") =~
|
" "weight" of the line. If the weight is positive, then the next line should
|
||||||
\ 'm[fp]\(Comment\|TeXinsert\|String\)'
|
" most likely be indented. Note that `else` and `elseif` are both opening and
|
||||||
let tmp = search(a:pattern, flags)
|
" closing tags, so they "cancel out" in almost all cases, the only exception
|
||||||
|
" being a leading `else[if]`, which is counted as an opening tag, but not as
|
||||||
|
" a closing tag (so that, for instance, a line containing a single `else:`
|
||||||
|
" will have weight equal to one, not zero). We do not treat a trailing
|
||||||
|
" `else[if]` in any special way, because lines ending with an open tag are
|
||||||
|
" dealt with separately before this function is called (see
|
||||||
|
" GetMetaPostIndentIntern()).
|
||||||
|
"
|
||||||
|
" Example:
|
||||||
|
"
|
||||||
|
" forsuffixes $=a,b: if x.$ = y.$ : draw else: fill fi
|
||||||
|
" % This line will be indented because |{forsuffixes,if,else}| > |{else,fi}| (3 > 2)
|
||||||
|
" endfor
|
||||||
|
|
||||||
|
function! s:Weight(line)
|
||||||
|
let [o, i] = [0, s:ValidMatchEnd(a:line, g:mp_open_tag, 0)]
|
||||||
|
while i > 0
|
||||||
|
let o += 1
|
||||||
|
let i = s:ValidMatchEnd(a:line, g:mp_open_tag, i)
|
||||||
endwhile
|
endwhile
|
||||||
if !tmp
|
let [c, i] = [0, matchend(a:line, '^\s*\<else\%[if]\>')] " Skip a leading else[if]
|
||||||
call cursor(cl,cc)
|
let i = s:ValidMatchEnd(a:line, g:mp_close_tag, i)
|
||||||
|
while i > 0
|
||||||
|
let c += 1
|
||||||
|
let i = s:ValidMatchEnd(a:line, g:mp_close_tag, i)
|
||||||
|
endwhile
|
||||||
|
return o - c
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" Similar to matchend(), but skips strings and comments.
|
||||||
|
" line: a String
|
||||||
|
function! s:ValidMatchEnd(line, pat, start)
|
||||||
|
let i = matchend(a:line, a:pat, a:start)
|
||||||
|
while i > 0 && s:CommentOrString(a:line, i)
|
||||||
|
let i = matchend(a:line, a:pat, i)
|
||||||
|
endwhile
|
||||||
|
return i
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" Like s:ValidMatchEnd(), but returns the end position of the last (i.e.,
|
||||||
|
" rightmost) match.
|
||||||
|
function! s:LastValidMatchEnd(line, pat, start)
|
||||||
|
let last_found = -1
|
||||||
|
let i = matchend(a:line, a:pat, a:start)
|
||||||
|
while i > 0
|
||||||
|
if !s:CommentOrString(a:line, i)
|
||||||
|
let last_found = i
|
||||||
endif
|
endif
|
||||||
return tmp
|
let i = matchend(a:line, a:pat, i)
|
||||||
|
endwhile
|
||||||
|
return last_found
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:DecreaseIndentOnClosingTag(curr_indent)
|
||||||
|
let cur_text = getline(v:lnum)
|
||||||
|
if cur_text =~# '^\s*\%('.g:mp_close_tag.'\)'
|
||||||
|
return max([a:curr_indent - shiftwidth(), 0])
|
||||||
|
endif
|
||||||
|
return a:curr_indent
|
||||||
endfunction
|
endfunction
|
||||||
" }}}
|
" }}}
|
||||||
|
|
||||||
function! GetMetaPostIndent()
|
" Main function {{{
|
||||||
" not indent in comment ???
|
"
|
||||||
if synIDattr(synID(line("."), col("."), 1), "name") =~
|
" Note: Every rule of indentation in MetaPost is very subjective. We might get
|
||||||
\ 'm[fp]\(Comment\|TeXinsert\|String\)'
|
" creative, but things get murky very soon (there are too many corner cases).
|
||||||
|
" So, we provide a means for the user to decide what to do when this script
|
||||||
|
" doesn't get it. We use a simple idea: use '%>', '%<' and '%=' to explicitly
|
||||||
|
" control indentation. The '<' and '>' symbols may be repeated many times
|
||||||
|
" (e.g., '%>>' will cause the next line to be indented twice).
|
||||||
|
"
|
||||||
|
" By using '%>...', '%<...' and '%=', the indentation the user wants is
|
||||||
|
" preserved by commands like gg=G, even if it does not follow the rules of
|
||||||
|
" this script.
|
||||||
|
"
|
||||||
|
" Example:
|
||||||
|
"
|
||||||
|
" def foo =
|
||||||
|
" makepen(
|
||||||
|
" subpath(T-n,t) of r %>
|
||||||
|
" shifted .5down %>
|
||||||
|
" --subpath(t,T) of r shifted .5up -- cycle %<<<
|
||||||
|
" )
|
||||||
|
" withcolor black
|
||||||
|
" enddef
|
||||||
|
"
|
||||||
|
" The default indentation of the previous example would be:
|
||||||
|
"
|
||||||
|
" def foo =
|
||||||
|
" makepen(
|
||||||
|
" subpath(T-n,t) of r
|
||||||
|
" shifted .5down
|
||||||
|
" --subpath(t,T) of r shifted .5up -- cycle
|
||||||
|
" )
|
||||||
|
" withcolor black
|
||||||
|
" enddef
|
||||||
|
"
|
||||||
|
" Personally, I prefer the latter, but anyway...
|
||||||
|
function! GetMetaPostIndentIntern()
|
||||||
|
" Do not touch indentation inside verbatimtex/btex.. etex blocks.
|
||||||
|
if synIDattr(synID(v:lnum, 1, 1), "name") =~# '^mpTeXinsert$\|^tex\|^Delimiter'
|
||||||
return -1
|
return -1
|
||||||
endif
|
endif
|
||||||
" Some RegExps: {{{1
|
|
||||||
" end_of_item: all of end by ';'
|
|
||||||
" + all of end by :endfor, :enddef, :endfig, :endgroup, :fi
|
|
||||||
" + all of start by :beginfig(num), :begingroup
|
|
||||||
" + all of start by :for, :if, :else, :elseif and end by ':'
|
|
||||||
" + all of start by :def, :vardef and end by '='
|
|
||||||
let end_of_item = '\(' .
|
|
||||||
\ ';\|' .
|
|
||||||
\ '\<\(end\(for\|def\|fig\|group\)\|fi\)\>\|' .
|
|
||||||
\ '\<begin\(group\>\|fig\s*(\s*\d\+\s*)\)\|' .
|
|
||||||
\ '\<\(for\|if\|else\(if\)\=\)\>.\+:\|' .
|
|
||||||
\ '\<\(var\)\=def\>.\+=' . '\)'
|
|
||||||
" }}}
|
|
||||||
" Save: current position {{{1
|
|
||||||
let cl = line (".")
|
|
||||||
let cc = col (".")
|
|
||||||
let cs = getline(".")
|
|
||||||
" if it is :beginfig or :endfig use zero indent
|
|
||||||
if cs =~ '^\s*\(begin\|end\)fig\>'
|
|
||||||
return 0
|
|
||||||
endif
|
|
||||||
" }}}
|
|
||||||
" Initialise: ind variable {{{1
|
|
||||||
" search previous item not in current line
|
|
||||||
let p_semicol_l = MetaSearchNoncomment(end_of_item,"bW")
|
|
||||||
while p_semicol_l == cl
|
|
||||||
let p_semicol_l = MetaSearchNoncomment(end_of_item,"bW")
|
|
||||||
endwhile
|
|
||||||
" if this is first item in program use zero indent
|
|
||||||
if !p_semicol_l
|
|
||||||
return 0
|
|
||||||
endif
|
|
||||||
" if this is multiline item, remember first indent
|
|
||||||
if MetaNextNonblankNoncomment(p_semicol_l+1) < cl
|
|
||||||
let ind = indent(MetaNextNonblankNoncomment(p_semicol_l+1))
|
|
||||||
" else --- search pre-previous item for search first line in previous item
|
|
||||||
else
|
|
||||||
" search pre-previous item not in current line
|
|
||||||
let pp_semicol_l = MetaSearchNoncomment(end_of_item,"bW")
|
|
||||||
while pp_semicol_l == p_semicol_l
|
|
||||||
let pp_semicol_l = MetaSearchNoncomment(end_of_item,"bW")
|
|
||||||
endwhile
|
|
||||||
" if we find pre-previous item, remember indent of previous item
|
|
||||||
" else --- remember zero
|
|
||||||
if pp_semicol_l
|
|
||||||
let ind = indent(MetaNextNonblankNoncomment(line(".")+1))
|
|
||||||
else
|
|
||||||
let ind = 0
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
" }}}
|
|
||||||
" Increase Indent: {{{1
|
|
||||||
" if it is an internal/external :for or :if statements {{{2
|
|
||||||
let pnn_s = getline(MetaPrevNonblankNoncomment(cl-1))
|
|
||||||
if pnn_s =~ '\<\(for\|if\)\>.\+:\s*\($\|%\)'
|
|
||||||
let ind = match(pnn_s, '\<\(for\|if\)\>.\+:\s*\($\|%\)') + &sw
|
|
||||||
" }}}
|
|
||||||
" if it is a :def, :vardef, :beginfig, :begingroup, :else, :elseif {{{2
|
|
||||||
elseif pnn_s =~ '^\s*\(' .
|
|
||||||
\ '\(var\)\=def\|' .
|
|
||||||
\ 'begin\(group\|fig\s*(\s*\d\+\s*)\)\|' .
|
|
||||||
\ 'else\(if\)\=' . '\)\>'
|
|
||||||
let ind = ind + &sw
|
|
||||||
" }}}
|
|
||||||
" if it is a broken line {{{2
|
|
||||||
elseif pnn_s !~ end_of_item.'\s*\($\|%\)'
|
|
||||||
let ind = ind + (2 * &sw)
|
|
||||||
endif
|
|
||||||
" }}}
|
|
||||||
" }}}
|
|
||||||
" Decrease Indent: {{{1
|
|
||||||
" if this is :endfor or :enddef statements {{{2
|
|
||||||
" this is correct because :def cannot be inside :for
|
|
||||||
if cs =~ '\<end\(for\|def\)\=\>'
|
|
||||||
call MetaSearchNoncomment('\<for\>.\+:\s*\($\|%\)' . '\|' .
|
|
||||||
\ '^\s*\(var\)\=def\>',"bW")
|
|
||||||
if col(".") > 1
|
|
||||||
let ind = col(".") - 1
|
|
||||||
else
|
|
||||||
let ind = indent(".")
|
|
||||||
endif
|
|
||||||
" }}}
|
|
||||||
" if this is :fi, :else, :elseif statements {{{2
|
|
||||||
elseif cs =~ '\<\(else\(if\)\=\|fi\)\>'
|
|
||||||
call MetaSearchNoncomment('\<if\>.\+:\s*\($\|%\)',"bW")
|
|
||||||
let ind = col(".") - 1
|
|
||||||
" }}}
|
|
||||||
" if this is :endgroup statement {{{2
|
|
||||||
elseif cs =~ '^\s*endgroup\>'
|
|
||||||
let ind = ind - &sw
|
|
||||||
endif
|
|
||||||
" }}}
|
|
||||||
" }}}
|
|
||||||
|
|
||||||
return ind
|
" This is the reference line relative to which the current line is indented
|
||||||
endfunction
|
" (but see below).
|
||||||
|
let lnum = s:PrevNonBlankNonComment(v:lnum)
|
||||||
|
|
||||||
|
" At the start of the file use zero indent.
|
||||||
|
if lnum == 0
|
||||||
|
return 0
|
||||||
|
endif
|
||||||
|
|
||||||
|
let prev_text = getline(lnum)
|
||||||
|
|
||||||
|
" User-defined overrides take precedence over anything else.
|
||||||
|
" See above for an example.
|
||||||
|
let j = match(prev_text, '%[<>=]')
|
||||||
|
if j > 0
|
||||||
|
let i = strlen(matchstr(prev_text, '%>\+', j)) - 1
|
||||||
|
if i > 0
|
||||||
|
return indent(lnum) + i * shiftwidth()
|
||||||
|
endif
|
||||||
|
|
||||||
|
let i = strlen(matchstr(prev_text, '%<\+', j)) - 1
|
||||||
|
if i > 0
|
||||||
|
return max([indent(lnum) - i * shiftwidth(), 0])
|
||||||
|
endif
|
||||||
|
|
||||||
|
if match(prev_text, '%=', j)
|
||||||
|
return indent(lnum)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
" If the reference line ends with an open tag, indent.
|
||||||
"
|
"
|
||||||
|
" Example:
|
||||||
|
"
|
||||||
|
" if c:
|
||||||
|
" 0
|
||||||
|
" else:
|
||||||
|
" 1
|
||||||
|
" fi if c2: % Note that this line has weight equal to zero.
|
||||||
|
" ... % This line will be indented
|
||||||
|
if s:LastTagIsOpen(prev_text)
|
||||||
|
return s:DecreaseIndentOnClosingTag(indent(lnum) + shiftwidth())
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Lines with a positive weight are unbalanced and should likely be indented.
|
||||||
|
"
|
||||||
|
" Example:
|
||||||
|
"
|
||||||
|
" def f = enddef for i = 1 upto 5: if x[i] > 0: 1 else: 2 fi
|
||||||
|
" ... % This line will be indented (because of the unterminated `for`)
|
||||||
|
if s:Weight(prev_text) > 0
|
||||||
|
return s:DecreaseIndentOnClosingTag(indent(lnum) + shiftwidth())
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Unterminated statements cause indentation to kick in.
|
||||||
|
"
|
||||||
|
" Example:
|
||||||
|
"
|
||||||
|
" draw unitsquare
|
||||||
|
" withcolor black; % This line is indented because of `draw`.
|
||||||
|
" x := a + b + c
|
||||||
|
" + d + e; % This line is indented because of `:=`.
|
||||||
|
"
|
||||||
|
let i = s:LastValidMatchEnd(prev_text, g:mp_statement, 0)
|
||||||
|
if i >= 0 " Does the line contain a statement?
|
||||||
|
if s:ValidMatchEnd(prev_text, ';', i) < 0 " Is the statement unterminated?
|
||||||
|
return indent(lnum) + shiftwidth()
|
||||||
|
else
|
||||||
|
return s:DecreaseIndentOnClosingTag(indent(lnum))
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Deal with the special case of a statement spanning multiple lines. If the
|
||||||
|
" current reference line L ends with a semicolon, search backwards for
|
||||||
|
" another semicolon or a statement keyword. If the latter is found first,
|
||||||
|
" its line is used as the reference line for indenting the current line
|
||||||
|
" instead of L.
|
||||||
|
"
|
||||||
|
" Example:
|
||||||
|
"
|
||||||
|
" if cond:
|
||||||
|
" draw if a: z0 else: z1 fi
|
||||||
|
" shifted S
|
||||||
|
" scaled T; % L
|
||||||
|
"
|
||||||
|
" for i = 1 upto 3: % <-- Current line: this gets the same indent as `draw ...`
|
||||||
|
"
|
||||||
|
" NOTE: we get here only if L does not contain a statement (among those
|
||||||
|
" listed in g:mp_statement).
|
||||||
|
if s:ValidMatchEnd(prev_text, ';'.s:eol, 0) >= 0 " L ends with a semicolon
|
||||||
|
let stm_lnum = s:PrevNonBlankNonComment(lnum)
|
||||||
|
while stm_lnum > 0
|
||||||
|
let prev_text = getline(stm_lnum)
|
||||||
|
let sc_pos = s:LastValidMatchEnd(prev_text, ';', 0)
|
||||||
|
let stm_pos = s:ValidMatchEnd(prev_text, g:mp_statement, sc_pos)
|
||||||
|
if stm_pos > sc_pos
|
||||||
|
let lnum = stm_lnum
|
||||||
|
break
|
||||||
|
elseif sc_pos > stm_pos
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
let stm_lnum = s:PrevNonBlankNonComment(stm_lnum)
|
||||||
|
endwhile
|
||||||
|
endif
|
||||||
|
|
||||||
|
return s:DecreaseIndentOnClosingTag(indent(lnum))
|
||||||
|
endfunction
|
||||||
|
" }}}
|
||||||
|
|
||||||
let &cpo = s:keepcpo
|
let &cpo = s:keepcpo
|
||||||
unlet s:keepcpo
|
unlet s:keepcpo
|
||||||
|
|||||||
@@ -92,11 +92,12 @@ let s:end_skip_expr = s:skip_expr .
|
|||||||
\ ' && getline(".") =~ "^\\s*\\<\\(while\\|until\\|for\\):\\@!\\>")'
|
\ ' && getline(".") =~ "^\\s*\\<\\(while\\|until\\|for\\):\\@!\\>")'
|
||||||
|
|
||||||
" Regex that defines continuation lines, not including (, {, or [.
|
" Regex that defines continuation lines, not including (, {, or [.
|
||||||
let s:non_bracket_continuation_regex = '\%([\\.,:*/%+]\|\<and\|\<or\|\%(<%\)\@<![=-]\|\W[|&?]\|||\|&&\)\s*\%(#.*\)\=$'
|
let s:non_bracket_continuation_regex =
|
||||||
|
\ '\%([\\.,:*/%+]\|\<and\|\<or\|\%(<%\)\@<![=-]\|:\@<![^[:alnum:]:][|&?]\|||\|&&\)\s*\%(#.*\)\=$'
|
||||||
|
|
||||||
" Regex that defines continuation lines.
|
" Regex that defines continuation lines.
|
||||||
let s:continuation_regex =
|
let s:continuation_regex =
|
||||||
\ '\%(%\@<![({[\\.,:*/%+]\|\<and\|\<or\|\%(<%\)\@<![=-]\|\W[|&?]\|||\|&&\)\s*\%(#.*\)\=$'
|
\ '\%(%\@<![({[\\.,:*/%+]\|\<and\|\<or\|\%(<%\)\@<![=-]\|:\@<![^[:alnum:]:][|&?]\|||\|&&\)\s*\%(#.*\)\=$'
|
||||||
|
|
||||||
" Regex that defines continuable keywords
|
" Regex that defines continuable keywords
|
||||||
let s:continuable_regex =
|
let s:continuable_regex =
|
||||||
@@ -389,7 +390,7 @@ function! s:FindContainingClass()
|
|||||||
call setpos('.', saved_position)
|
call setpos('.', saved_position)
|
||||||
return found_lnum
|
return found_lnum
|
||||||
endif
|
endif
|
||||||
endif
|
endwhile
|
||||||
|
|
||||||
call setpos('.', saved_position)
|
call setpos('.', saved_position)
|
||||||
return 0
|
return 0
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
" Maintainer: Benjamin Linskey <vim@benlinskey.com>
|
" Maintainer: Benjamin Linskey <vim@benlinskey.com>
|
||||||
" Last Changed: 2016 July 20
|
" Last Changed: 2016 December 5
|
||||||
" URL: https://github.com/blinskey/vim-armenian-keymaps
|
" URL: https://github.com/blinskey/vim-armenian-keymaps
|
||||||
|
|
||||||
let b:keymap_name = "hy"
|
let b:keymap_name = "hy"
|
||||||
@@ -98,6 +98,8 @@ f ֆ
|
|||||||
7 .
|
7 .
|
||||||
8 «
|
8 «
|
||||||
9 »
|
9 »
|
||||||
|
* (
|
||||||
|
( )
|
||||||
\\ '
|
\\ '
|
||||||
| ՞
|
| ՞
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
" Maintainer: Benjamin Linskey <vim@benlinskey.com>
|
" Maintainer: Benjamin Linskey <vim@benlinskey.com>
|
||||||
" Last Changed: 2016 July 20
|
" Last Changed: 2016 December 5
|
||||||
" URL: https://github.com/blinskey/vim-armenian-keymaps
|
" URL: https://github.com/blinskey/vim-armenian-keymaps
|
||||||
|
|
||||||
let b:keymap_name = "hy"
|
let b:keymap_name = "hy"
|
||||||
@@ -98,6 +98,8 @@ f ֆ
|
|||||||
7 .
|
7 .
|
||||||
8 «
|
8 «
|
||||||
9 »
|
9 »
|
||||||
|
* (
|
||||||
|
( )
|
||||||
\\ '
|
\\ '
|
||||||
| ՞
|
| ՞
|
||||||
|
|
||||||
|
|||||||
102
runtime/keymap/kazakh-jcuken.vim
Normal file
102
runtime/keymap/kazakh-jcuken.vim
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
" Vim Keymap file for kazakh characters, layout 'jcuken', classical variant
|
||||||
|
|
||||||
|
" Derived from russian-jcuken.vim by Artem Chuprina <ran@ran.pp.ru>
|
||||||
|
" Maintainer: Darkhan Kubigenov <darkhanu@gmail.com>
|
||||||
|
" Last Changed: 2016 Oct 25
|
||||||
|
|
||||||
|
" All characters are given literally, conversion to another encoding (e.g.,
|
||||||
|
" UTF-8) should work.
|
||||||
|
scriptencoding utf-8
|
||||||
|
|
||||||
|
let b:keymap_name = "kk"
|
||||||
|
|
||||||
|
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
|
||||||
|
@ Ә CYRILLIC CAPITAL LETTER SCHWA
|
||||||
|
# І CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
|
||||||
|
$ Ң CYRILLIC CAPITAL LETTER EN WITH DESCENDER
|
||||||
|
% Ғ CYRILLIC CAPITAL LETTER GHE WITH STROKE
|
||||||
|
^ ;
|
||||||
|
& :
|
||||||
|
* Ү CYRILLIC CAPITAL LETTER STRAIGHT U
|
||||||
|
( Ұ CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
|
||||||
|
) Қ CYRILLIC CAPITAL LETTER KA WITH DESCENDER
|
||||||
|
_ Ө CYRILLIC CAPITAL LETTER BARRED O
|
||||||
|
+ Һ CYRILLIC CAPITAL LETTER SHHA
|
||||||
|
1 "
|
||||||
|
2 ә CYRILLIC SMALL LETTER SCHWA
|
||||||
|
3 і CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
|
||||||
|
4 ң CYRILLIC SMALL LETTER EN WITH DESCENDER
|
||||||
|
5 ғ CYRILLIC SMALL LETTER GHE WITH STROKE
|
||||||
|
6 ,
|
||||||
|
7 .
|
||||||
|
8 ү CYRILLIC SMALL LETTER STRAIGHT U
|
||||||
|
9 ұ CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
|
||||||
|
0 қ CYRILLIC SMALL LETTER KA WITH DESCENDER
|
||||||
|
- ө CYRILLIC SMALL LETTER BARRED O
|
||||||
|
= һ CYRILLIC SMALL LETTER SHHA
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
" Menu Translations: Slovenian / Slovensko
|
" Menu Translations: Slovenian / Slovensko
|
||||||
" Maintainer: Mojca Miklavec <mojca.miklavec.lists@gmail.com>
|
" Maintainer: Mojca Miklavec <mojca.miklavec.lists@gmail.com>
|
||||||
" Originally By: Mojca Miklavec <mojca.miklavec.lists@gmail.com>
|
" Originally By: Mojca Miklavec <mojca.miklavec.lists@gmail.com>
|
||||||
" Last Change: Sat, 17 Jun 2006
|
" Last Change: 2016 Oct 17
|
||||||
" vim:set foldmethod=marker tabstop=8:
|
" vim:set foldmethod=marker tabstop=8:
|
||||||
|
|
||||||
" TODO: add/check all '&'s
|
" TODO: add/check all '&'s
|
||||||
@@ -31,7 +31,7 @@ menutrans E&xit<Tab>:qa &Izhod<Tab>:qa
|
|||||||
|
|
||||||
if has("diff")
|
if has("diff")
|
||||||
menutrans Split\ &Diff\ with\.\.\. Primerjaj\ z\ (di&ff)\ \.\.\.
|
menutrans Split\ &Diff\ with\.\.\. Primerjaj\ z\ (di&ff)\ \.\.\.
|
||||||
menutrans Split\ Patched\ &By\.\.\. &Popravi\ z\ (patch)\ \.\.\.
|
menutrans Split\ Patched\ &By\.\.\. &Popravi\ s\ (patch)\ \.\.\.
|
||||||
endif
|
endif
|
||||||
" }}} FILE / DATOTEKA
|
" }}} FILE / DATOTEKA
|
||||||
|
|
||||||
@@ -96,12 +96,12 @@ menutrans Soft\ &Tabstop
|
|||||||
menutrans Te&xt\ Width\.\.\. <09>irina\ besedila\ \.\.\.
|
menutrans Te&xt\ Width\.\.\. <09>irina\ besedila\ \.\.\.
|
||||||
menutrans &File\ Format\.\.\. Format\ &datoteke\ \.\.\.
|
menutrans &File\ Format\.\.\. Format\ &datoteke\ \.\.\.
|
||||||
menutrans C&olor\ Scheme &Barvna\ shema\ \.\.\.
|
menutrans C&olor\ Scheme &Barvna\ shema\ \.\.\.
|
||||||
menutrans &Keymap &Keymap
|
menutrans &Keymap Razporeditev\ tip&k
|
||||||
menutrans Select\ Fo&nt\.\.\. Pisava\ \.\.\.
|
menutrans Select\ Fo&nt\.\.\. Pisava\ \.\.\.
|
||||||
" }}} EDIT / UREDI
|
" }}} EDIT / UREDI
|
||||||
|
|
||||||
" {{{ TOOLS / ORODJA
|
" {{{ TOOLS / ORODJA
|
||||||
menutrans &Tools &Orodja
|
menutrans &Tools O&rodja
|
||||||
menutrans &Jump\ to\ this\ tag<Tab>g^] &Sko<EFBFBD>i\ k\ tej\ zna<EFBFBD>ki<Tab>g^]
|
menutrans &Jump\ to\ this\ tag<Tab>g^] &Sko<EFBFBD>i\ k\ tej\ zna<EFBFBD>ki<Tab>g^]
|
||||||
menutrans Jump\ &back<Tab>^T Sko<EFBFBD>i\ Na&zaj<Tab>^T
|
menutrans Jump\ &back<Tab>^T Sko<EFBFBD>i\ Na&zaj<Tab>^T
|
||||||
menutrans Build\ &Tags\ File Napravi\ datoteke\ z\ zna<EFBFBD>kami\ (tag)
|
menutrans Build\ &Tags\ File Napravi\ datoteke\ z\ zna<EFBFBD>kami\ (tag)
|
||||||
@@ -175,7 +175,7 @@ menutrans &Set\ Compiler Nastavi\ &prevajalnik
|
|||||||
menutrans Se&T\ Compiler Nastavi\ &prevajalnik " bug in original translation?
|
menutrans Se&T\ Compiler Nastavi\ &prevajalnik " bug in original translation?
|
||||||
|
|
||||||
menutrans &Convert\ to\ HEX<Tab>:%!xxd Pretvori\ v\ HE&X<Tab>:%!xxd
|
menutrans &Convert\ to\ HEX<Tab>:%!xxd Pretvori\ v\ HE&X<Tab>:%!xxd
|
||||||
menutrans Conve&rt\ back<Tab>:%!xxd\ -r Pretvori\ nazaj<Tab>:%!xxd\ -r
|
menutrans Conve&rt\ back<Tab>:%!xxd\ -r Povrni\ pretvo&rbo<Tab>:%!xxd\ -r
|
||||||
" }}} TOOLS / ORODJA
|
" }}} TOOLS / ORODJA
|
||||||
|
|
||||||
" {{{ SYNTAX / BARVANJE KODE
|
" {{{ SYNTAX / BARVANJE KODE
|
||||||
@@ -242,7 +242,7 @@ menutrans &About &O\ programu
|
|||||||
" {{{ POPUP
|
" {{{ POPUP
|
||||||
menutrans &Undo &Razveljavi
|
menutrans &Undo &Razveljavi
|
||||||
menutrans Cu&t &Izre<EFBFBD>i
|
menutrans Cu&t &Izre<EFBFBD>i
|
||||||
menutrans &Copy &Kopieraj
|
menutrans &Copy &Kopiraj
|
||||||
menutrans &Paste &Prilepi
|
menutrans &Paste &Prilepi
|
||||||
menutrans &Delete &Zbri<EFBFBD>i
|
menutrans &Delete &Zbri<EFBFBD>i
|
||||||
menutrans Select\ Blockwise Izbiraj\ po\ blokih
|
menutrans Select\ Blockwise Izbiraj\ po\ blokih
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Menu Translations: Slovenian / Slovensko
|
" Menu Translations: Slovenian / Slovensko
|
||||||
" Maintainer: Mojca Miklavec <mojca.miklavec.lists@gmail.com>
|
" Maintainer: Mojca Miklavec <mojca.miklavec.lists@gmail.com>
|
||||||
" Originally By: Mojca Miklavec <mojca.miklavec.lists@gmail.com>
|
" Originally By: Mojca Miklavec <mojca.miklavec.lists@gmail.com>
|
||||||
" Last Change: Mon, 12 Jun 2006 00:00:00 CEST
|
" Last Change: 2016 Oct 17
|
||||||
" vim:set foldmethod=marker tabstop=8:
|
" vim:set foldmethod=marker tabstop=8:
|
||||||
|
|
||||||
" TODO: add/check all '&'s
|
" TODO: add/check all '&'s
|
||||||
@@ -31,7 +31,7 @@ menutrans E&xit<Tab>:qa &Izhod<Tab>:qa
|
|||||||
|
|
||||||
if has("diff")
|
if has("diff")
|
||||||
menutrans Split\ &Diff\ with\.\.\. Primerjaj\ z\ (di&ff)\ \.\.\.
|
menutrans Split\ &Diff\ with\.\.\. Primerjaj\ z\ (di&ff)\ \.\.\.
|
||||||
menutrans Split\ Patched\ &By\.\.\. &Popravi\ z\ (patch)\ \.\.\.
|
menutrans Split\ Patched\ &By\.\.\. &Popravi\ s\ (patch)\ \.\.\.
|
||||||
endif
|
endif
|
||||||
" }}} FILE / DATOTEKA
|
" }}} FILE / DATOTEKA
|
||||||
|
|
||||||
@@ -96,12 +96,12 @@ menutrans Soft\ &Tabstop
|
|||||||
menutrans Te&xt\ Width\.\.\. <09>irina\ besedila\ \.\.\.
|
menutrans Te&xt\ Width\.\.\. <09>irina\ besedila\ \.\.\.
|
||||||
menutrans &File\ Format\.\.\. Format\ &datoteke\ \.\.\.
|
menutrans &File\ Format\.\.\. Format\ &datoteke\ \.\.\.
|
||||||
menutrans C&olor\ Scheme &Barvna\ shema\ \.\.\.
|
menutrans C&olor\ Scheme &Barvna\ shema\ \.\.\.
|
||||||
menutrans &Keymap &Keymap
|
menutrans &Keymap Razporeditev\ tip&k
|
||||||
menutrans Select\ Fo&nt\.\.\. Pisava\ \.\.\.
|
menutrans Select\ Fo&nt\.\.\. Pisava\ \.\.\.
|
||||||
" }}} EDIT / UREDI
|
" }}} EDIT / UREDI
|
||||||
|
|
||||||
" {{{ TOOLS / ORODJA
|
" {{{ TOOLS / ORODJA
|
||||||
menutrans &Tools &Orodja
|
menutrans &Tools O&rodja
|
||||||
menutrans &Jump\ to\ this\ tag<Tab>g^] &Sko<EFBFBD>i\ k\ tej\ zna<EFBFBD>ki<Tab>g^]
|
menutrans &Jump\ to\ this\ tag<Tab>g^] &Sko<EFBFBD>i\ k\ tej\ zna<EFBFBD>ki<Tab>g^]
|
||||||
menutrans Jump\ &back<Tab>^T Sko<EFBFBD>i\ Na&zaj<Tab>^T
|
menutrans Jump\ &back<Tab>^T Sko<EFBFBD>i\ Na&zaj<Tab>^T
|
||||||
menutrans Build\ &Tags\ File Napravi\ datoteke\ z\ zna<EFBFBD>kami\ (tag)
|
menutrans Build\ &Tags\ File Napravi\ datoteke\ z\ zna<EFBFBD>kami\ (tag)
|
||||||
@@ -175,7 +175,7 @@ menutrans &Set\ Compiler Nastavi\ &prevajalnik
|
|||||||
menutrans Se&T\ Compiler Nastavi\ &prevajalnik " bug in original translation?
|
menutrans Se&T\ Compiler Nastavi\ &prevajalnik " bug in original translation?
|
||||||
|
|
||||||
menutrans &Convert\ to\ HEX<Tab>:%!xxd Pretvori\ v\ HE&X<Tab>:%!xxd
|
menutrans &Convert\ to\ HEX<Tab>:%!xxd Pretvori\ v\ HE&X<Tab>:%!xxd
|
||||||
menutrans Conve&rt\ back<Tab>:%!xxd\ -r Pretvori\ nazaj<Tab>:%!xxd\ -r
|
menutrans Conve&rt\ back<Tab>:%!xxd\ -r Povrni\ pretvo&rbo<Tab>:%!xxd\ -r
|
||||||
" }}} TOOLS / ORODJA
|
" }}} TOOLS / ORODJA
|
||||||
|
|
||||||
" {{{ SYNTAX / BARVANJE KODE
|
" {{{ SYNTAX / BARVANJE KODE
|
||||||
@@ -242,7 +242,7 @@ menutrans &About &O\ programu
|
|||||||
" {{{ POPUP
|
" {{{ POPUP
|
||||||
menutrans &Undo &Razveljavi
|
menutrans &Undo &Razveljavi
|
||||||
menutrans Cu&t &Izre<EFBFBD>i
|
menutrans Cu&t &Izre<EFBFBD>i
|
||||||
menutrans &Copy &Kopieraj
|
menutrans &Copy &Kopiraj
|
||||||
menutrans &Paste &Prilepi
|
menutrans &Paste &Prilepi
|
||||||
menutrans &Delete &Zbri<EFBFBD>i
|
menutrans &Delete &Zbri<EFBFBD>i
|
||||||
menutrans Select\ Blockwise Izbiraj\ po\ blokih
|
menutrans Select\ Blockwise Izbiraj\ po\ blokih
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Menu Translations: Slovenian / Slovensko
|
" Menu Translations: Slovenian / Slovensko
|
||||||
" Maintainer: Mojca Miklavec <mojca.miklavec.lists@gmail.com>
|
" Maintainer: Mojca Miklavec <mojca.miklavec.lists@gmail.com>
|
||||||
" Originally By: Mojca Miklavec <mojca.miklavec.lists@gmail.com>
|
" Originally By: Mojca Miklavec <mojca.miklavec.lists@gmail.com>
|
||||||
" Last Change: Sat, 17 Jun 2006
|
" Last Change: 2016 Oct 17
|
||||||
" vim:set foldmethod=marker tabstop=8:
|
" vim:set foldmethod=marker tabstop=8:
|
||||||
|
|
||||||
" TODO: add/check all '&'s
|
" TODO: add/check all '&'s
|
||||||
@@ -31,7 +31,7 @@ menutrans E&xit<Tab>:qa &Izhod<Tab>:qa
|
|||||||
|
|
||||||
if has("diff")
|
if has("diff")
|
||||||
menutrans Split\ &Diff\ with\.\.\. Primerjaj\ z\ (di&ff)\ \.\.\.
|
menutrans Split\ &Diff\ with\.\.\. Primerjaj\ z\ (di&ff)\ \.\.\.
|
||||||
menutrans Split\ Patched\ &By\.\.\. &Popravi\ z\ (patch)\ \.\.\.
|
menutrans Split\ Patched\ &By\.\.\. &Popravi\ s\ (patch)\ \.\.\.
|
||||||
endif
|
endif
|
||||||
" }}} FILE / DATOTEKA
|
" }}} FILE / DATOTEKA
|
||||||
|
|
||||||
@@ -96,12 +96,12 @@ menutrans Soft\ &Tabstop Širina\ &tabulatorja
|
|||||||
menutrans Te&xt\ Width\.\.\. Širina\ besedila\ \.\.\.
|
menutrans Te&xt\ Width\.\.\. Širina\ besedila\ \.\.\.
|
||||||
menutrans &File\ Format\.\.\. Format\ &datoteke\ \.\.\.
|
menutrans &File\ Format\.\.\. Format\ &datoteke\ \.\.\.
|
||||||
menutrans C&olor\ Scheme &Barvna\ shema\ \.\.\.
|
menutrans C&olor\ Scheme &Barvna\ shema\ \.\.\.
|
||||||
menutrans &Keymap &Keymap
|
menutrans &Keymap Razporeditev\ tip&k
|
||||||
menutrans Select\ Fo&nt\.\.\. Pisava\ \.\.\.
|
menutrans Select\ Fo&nt\.\.\. Pisava\ \.\.\.
|
||||||
" }}} EDIT / UREDI
|
" }}} EDIT / UREDI
|
||||||
|
|
||||||
" {{{ TOOLS / ORODJA
|
" {{{ TOOLS / ORODJA
|
||||||
menutrans &Tools &Orodja
|
menutrans &Tools O&rodja
|
||||||
menutrans &Jump\ to\ this\ tag<Tab>g^] &Skoči\ k\ tej\ znački<Tab>g^]
|
menutrans &Jump\ to\ this\ tag<Tab>g^] &Skoči\ k\ tej\ znački<Tab>g^]
|
||||||
menutrans Jump\ &back<Tab>^T Skoči\ Na&zaj<Tab>^T
|
menutrans Jump\ &back<Tab>^T Skoči\ Na&zaj<Tab>^T
|
||||||
menutrans Build\ &Tags\ File Napravi\ datoteke\ z\ značkami\ (tag)
|
menutrans Build\ &Tags\ File Napravi\ datoteke\ z\ značkami\ (tag)
|
||||||
@@ -175,7 +175,7 @@ menutrans &Set\ Compiler Nastavi\ &prevajalnik
|
|||||||
menutrans Se&T\ Compiler Nastavi\ &prevajalnik " bug in original translation?
|
menutrans Se&T\ Compiler Nastavi\ &prevajalnik " bug in original translation?
|
||||||
|
|
||||||
menutrans &Convert\ to\ HEX<Tab>:%!xxd Pretvori\ v\ HE&X<Tab>:%!xxd
|
menutrans &Convert\ to\ HEX<Tab>:%!xxd Pretvori\ v\ HE&X<Tab>:%!xxd
|
||||||
menutrans Conve&rt\ back<Tab>:%!xxd\ -r Pretvori\ nazaj<Tab>:%!xxd\ -r
|
menutrans Conve&rt\ back<Tab>:%!xxd\ -r Povrni\ pretvo&rbo<Tab>:%!xxd\ -r
|
||||||
" }}} TOOLS / ORODJA
|
" }}} TOOLS / ORODJA
|
||||||
|
|
||||||
" {{{ SYNTAX / BARVANJE KODE
|
" {{{ SYNTAX / BARVANJE KODE
|
||||||
@@ -242,7 +242,7 @@ menutrans &About &O\ programu
|
|||||||
" {{{ POPUP
|
" {{{ POPUP
|
||||||
menutrans &Undo &Razveljavi
|
menutrans &Undo &Razveljavi
|
||||||
menutrans Cu&t &Izreži
|
menutrans Cu&t &Izreži
|
||||||
menutrans &Copy &Kopieraj
|
menutrans &Copy &Kopiraj
|
||||||
menutrans &Paste &Prilepi
|
menutrans &Paste &Prilepi
|
||||||
menutrans &Delete &Zbriši
|
menutrans &Delete &Zbriši
|
||||||
menutrans Select\ Blockwise Izbiraj\ po\ blokih
|
menutrans Select\ Blockwise Izbiraj\ po\ blokih
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
" Vim plugin for editing compressed files.
|
" Vim plugin for editing compressed files.
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2010 Mar 10
|
" Last Change: 2016 Oct 30
|
||||||
|
|
||||||
" Exit quickly when:
|
" Exit quickly when:
|
||||||
" - this plugin was already loaded
|
" - this plugin was already loaded
|
||||||
@@ -20,25 +20,33 @@ augroup gzip
|
|||||||
"
|
"
|
||||||
" Set binary mode before reading the file.
|
" Set binary mode before reading the file.
|
||||||
" Use "gzip -d", gunzip isn't always available.
|
" Use "gzip -d", gunzip isn't always available.
|
||||||
autocmd BufReadPre,FileReadPre *.gz,*.bz2,*.Z,*.lzma,*.xz setlocal bin
|
autocmd BufReadPre,FileReadPre *.gz,*.bz2,*.Z,*.lzma,*.xz,*.lz,*.zst setlocal bin
|
||||||
autocmd BufReadPost,FileReadPost *.gz call gzip#read("gzip -dn")
|
autocmd BufReadPost,FileReadPost *.gz call gzip#read("gzip -dn")
|
||||||
autocmd BufReadPost,FileReadPost *.bz2 call gzip#read("bzip2 -d")
|
autocmd BufReadPost,FileReadPost *.bz2 call gzip#read("bzip2 -d")
|
||||||
autocmd BufReadPost,FileReadPost *.Z call gzip#read("uncompress")
|
autocmd BufReadPost,FileReadPost *.Z call gzip#read("uncompress")
|
||||||
autocmd BufReadPost,FileReadPost *.lzma call gzip#read("lzma -d")
|
autocmd BufReadPost,FileReadPost *.lzma call gzip#read("lzma -d")
|
||||||
autocmd BufReadPost,FileReadPost *.xz call gzip#read("xz -d")
|
autocmd BufReadPost,FileReadPost *.xz call gzip#read("xz -d")
|
||||||
|
autocmd BufReadPost,FileReadPost *.lz call gzip#read("lzip -d")
|
||||||
|
autocmd BufReadPost,FileReadPost *.zst call gzip#read("zstd -d --rm")
|
||||||
autocmd BufWritePost,FileWritePost *.gz call gzip#write("gzip")
|
autocmd BufWritePost,FileWritePost *.gz call gzip#write("gzip")
|
||||||
autocmd BufWritePost,FileWritePost *.bz2 call gzip#write("bzip2")
|
autocmd BufWritePost,FileWritePost *.bz2 call gzip#write("bzip2")
|
||||||
autocmd BufWritePost,FileWritePost *.Z call gzip#write("compress -f")
|
autocmd BufWritePost,FileWritePost *.Z call gzip#write("compress -f")
|
||||||
autocmd BufWritePost,FileWritePost *.lzma call gzip#write("lzma -z")
|
autocmd BufWritePost,FileWritePost *.lzma call gzip#write("lzma -z")
|
||||||
autocmd BufWritePost,FileWritePost *.xz call gzip#write("xz -z")
|
autocmd BufWritePost,FileWritePost *.xz call gzip#write("xz -z")
|
||||||
|
autocmd BufWritePost,FileWritePost *.lz call gzip#write("lzip")
|
||||||
|
autocmd BufWritePost,FileWritePost *.zst call gzip#write("zstd --rm")
|
||||||
autocmd FileAppendPre *.gz call gzip#appre("gzip -dn")
|
autocmd FileAppendPre *.gz call gzip#appre("gzip -dn")
|
||||||
autocmd FileAppendPre *.bz2 call gzip#appre("bzip2 -d")
|
autocmd FileAppendPre *.bz2 call gzip#appre("bzip2 -d")
|
||||||
autocmd FileAppendPre *.Z call gzip#appre("uncompress")
|
autocmd FileAppendPre *.Z call gzip#appre("uncompress")
|
||||||
autocmd FileAppendPre *.lzma call gzip#appre("lzma -d")
|
autocmd FileAppendPre *.lzma call gzip#appre("lzma -d")
|
||||||
autocmd FileAppendPre *.xz call gzip#appre("xz -d")
|
autocmd FileAppendPre *.xz call gzip#appre("xz -d")
|
||||||
|
autocmd FileAppendPre *.lz call gzip#appre("lzip -d")
|
||||||
|
autocmd FileAppendPre *.zst call gzip#appre("zstd -d --rm")
|
||||||
autocmd FileAppendPost *.gz call gzip#write("gzip")
|
autocmd FileAppendPost *.gz call gzip#write("gzip")
|
||||||
autocmd FileAppendPost *.bz2 call gzip#write("bzip2")
|
autocmd FileAppendPost *.bz2 call gzip#write("bzip2")
|
||||||
autocmd FileAppendPost *.Z call gzip#write("compress -f")
|
autocmd FileAppendPost *.Z call gzip#write("compress -f")
|
||||||
autocmd FileAppendPost *.lzma call gzip#write("lzma -z")
|
autocmd FileAppendPost *.lzma call gzip#write("lzma -z")
|
||||||
autocmd FileAppendPost *.xz call gzip#write("xz -z")
|
autocmd FileAppendPost *.xz call gzip#write("xz -z")
|
||||||
|
autocmd FileAppendPost *.lz call gzip#write("lzip")
|
||||||
|
autocmd FileAppendPost *.zst call gzip#write("zstd --rm")
|
||||||
augroup END
|
augroup END
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
" zipPlugin.vim: Handles browsing zipfiles
|
" zipPlugin.vim: Handles browsing zipfiles
|
||||||
" PLUGIN PORTION
|
" PLUGIN PORTION
|
||||||
" Date: Jun 07, 2013
|
" Date: Sep 13, 2016
|
||||||
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
||||||
" License: Vim License (see vim's :help license)
|
" License: Vim License (see vim's :help license)
|
||||||
" Copyright: Copyright (C) 2005-2013 Charles E. Campbell {{{1
|
" Copyright: Copyright (C) 2005-2016 Charles E. Campbell {{{1
|
||||||
" Permission is hereby granted to use and distribute this code,
|
" Permission is hereby granted to use and distribute this code,
|
||||||
" with or without modifications, provided that this copyright
|
" with or without modifications, provided that this copyright
|
||||||
" notice is copied with it. Like anything else that's free,
|
" notice is copied with it. Like anything else that's free,
|
||||||
@@ -20,14 +20,14 @@
|
|||||||
if &cp || exists("g:loaded_zipPlugin")
|
if &cp || exists("g:loaded_zipPlugin")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
let g:loaded_zipPlugin = "v27"
|
let g:loaded_zipPlugin = "v28"
|
||||||
let s:keepcpo = &cpo
|
let s:keepcpo = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
" ---------------------------------------------------------------------
|
" ---------------------------------------------------------------------
|
||||||
" Options: {{{1
|
" Options: {{{1
|
||||||
if !exists("g:zipPlugin_ext")
|
if !exists("g:zipPlugin_ext")
|
||||||
let g:zipPlugin_ext= '*.zip,*.jar,*.xpi,*.ja,*.war,*.ear,*.celzip,*.oxt,*.kmz,*.wsz,*.xap,*.docx,*.docm,*.dotx,*.dotm,*.potx,*.potm,*.ppsx,*.ppsm,*.pptx,*.pptm,*.ppam,*.sldx,*.thmx,*.xlam,*.xlsx,*.xlsm,*.xlsb,*.xltx,*.xltm,*.xlam,*.crtx,*.vdw,*.glox,*.gcsx,*.gqsx'
|
let g:zipPlugin_ext='*.apk,*.celzip,*.crtx,*.docm,*.docx,*.dotm,*.dotx,*.ear,*.epub,*.gcsx,*.glox,*.gqsx,*.ja,*.jar,*.kmz,*.oxt,*.potm,*.potx,*.ppam,*.ppsm,*.ppsx,*.pptm,*.pptx,*.sldx,*.thmx,*.vdw,*.war,*.wsz,*.xap,*.xlam,*.xlam,*.xlsb,*.xlsm,*.xlsx,*.xltm,*.xltx,*.xpi,*.zip'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" ---------------------------------------------------------------------
|
" ---------------------------------------------------------------------
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ syn match aveNumber "[+-]\=\<[0-9]\+\>"
|
|||||||
" Operator
|
" Operator
|
||||||
|
|
||||||
syn keyword aveOperator or and max min xor mod by
|
syn keyword aveOperator or and max min xor mod by
|
||||||
" 'not' is a kind of a problem: Its an Operator as well as a method
|
" 'not' is a kind of a problem: It's an Operator as well as a method
|
||||||
" 'not' is only marked as an Operator if not applied as method
|
" 'not' is only marked as an Operator if not applied as method
|
||||||
syn match aveOperator "[^\.]not[^a-zA-Z]"
|
syn match aveOperator "[^\.]not[^a-zA-Z]"
|
||||||
|
|
||||||
|
|||||||
@@ -2,14 +2,12 @@
|
|||||||
" Language: AVR Assembler (AVRA)
|
" Language: AVR Assembler (AVRA)
|
||||||
" AVRA Home: http://avra.sourceforge.net/index.html
|
" AVRA Home: http://avra.sourceforge.net/index.html
|
||||||
" AVRA Version: 1.3.0
|
" AVRA Version: 1.3.0
|
||||||
|
" Last Update: 2016 Oct 7
|
||||||
" Maintainer: Marius Ghita <mhitza@gmail.com>
|
" Maintainer: Marius Ghita <mhitza@gmail.com>
|
||||||
|
|
||||||
let s:cpo_save = &cpo
|
let s:cpo_save = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
setlocal iskeyword=a-z,A-Z,48-57,.,_
|
|
||||||
" 'isident' is a global option, better not set it
|
|
||||||
" setlocal isident=a-z,A-Z,48-57,.,_
|
|
||||||
syn case ignore
|
syn case ignore
|
||||||
|
|
||||||
syn keyword avraRegister r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14
|
syn keyword avraRegister r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: C
|
" Language: C
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2016 Jul 07
|
" Last Change: 2016 Nov 18
|
||||||
|
|
||||||
" Quit when a (custom) syntax file was already loaded
|
" Quit when a (custom) syntax file was already loaded
|
||||||
if exists("b:current_syntax")
|
if exists("b:current_syntax")
|
||||||
@@ -358,11 +358,11 @@ if !exists("c_no_c99") " ISO C99
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
" Accept %: for # (C99)
|
" Accept %: for # (C99)
|
||||||
syn region cPreCondit start="^\s*\(%:\|#\)\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" keepend contains=cComment,cCommentL,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError
|
syn region cPreCondit start="^\s*\zs\(%:\|#\)\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" keepend contains=cComment,cCommentL,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError
|
||||||
syn match cPreConditMatch display "^\s*\(%:\|#\)\s*\(else\|endif\)\>"
|
syn match cPreConditMatch display "^\s*\zs\(%:\|#\)\s*\(else\|endif\)\>"
|
||||||
if !exists("c_no_if0")
|
if !exists("c_no_if0")
|
||||||
syn cluster cCppOutInGroup contains=cCppInIf,cCppInElse,cCppInElse2,cCppOutIf,cCppOutIf2,cCppOutElse,cCppInSkip,cCppOutSkip
|
syn cluster cCppOutInGroup contains=cCppInIf,cCppInElse,cCppInElse2,cCppOutIf,cCppOutIf2,cCppOutElse,cCppInSkip,cCppOutSkip
|
||||||
syn region cCppOutWrapper start="^\s*\(%:\|#\)\s*if\s\+0\+\s*\($\|//\|/\*\|&\)" end=".\@=\|$" contains=cCppOutIf,cCppOutElse,@NoSpell fold
|
syn region cCppOutWrapper start="^\s*\zs\(%:\|#\)\s*if\s\+0\+\s*\($\|//\|/\*\|&\)" end=".\@=\|$" contains=cCppOutIf,cCppOutElse,@NoSpell fold
|
||||||
syn region cCppOutIf contained start="0\+" matchgroup=cCppOutWrapper end="^\s*\(%:\|#\)\s*endif\>" contains=cCppOutIf2,cCppOutElse
|
syn region cCppOutIf contained start="0\+" matchgroup=cCppOutWrapper end="^\s*\(%:\|#\)\s*endif\>" contains=cCppOutIf2,cCppOutElse
|
||||||
if !exists("c_no_if0_fold")
|
if !exists("c_no_if0_fold")
|
||||||
syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0\+\s*\($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell fold
|
syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0\+\s*\($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell fold
|
||||||
@@ -370,7 +370,7 @@ if !exists("c_no_if0")
|
|||||||
syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0\+\s*\($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell
|
syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0\+\s*\($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell
|
||||||
endif
|
endif
|
||||||
syn region cCppOutElse contained matchgroup=cCppOutWrapper start="^\s*\(%:\|#\)\s*\(else\|elif\)" end="^\s*\(%:\|#\)\s*endif\>"me=s-1 contains=TOP,cPreCondit
|
syn region cCppOutElse contained matchgroup=cCppOutWrapper start="^\s*\(%:\|#\)\s*\(else\|elif\)" end="^\s*\(%:\|#\)\s*endif\>"me=s-1 contains=TOP,cPreCondit
|
||||||
syn region cCppInWrapper start="^\s*\(%:\|#\)\s*if\s\+0*[1-9]\d*\s*\($\|//\|/\*\||\)" end=".\@=\|$" contains=cCppInIf,cCppInElse fold
|
syn region cCppInWrapper start="^\s*\zs\(%:\|#\)\s*if\s\+0*[1-9]\d*\s*\($\|//\|/\*\||\)" end=".\@=\|$" contains=cCppInIf,cCppInElse fold
|
||||||
syn region cCppInIf contained matchgroup=cCppInWrapper start="\d\+" end="^\s*\(%:\|#\)\s*endif\>" contains=TOP,cPreCondit
|
syn region cCppInIf contained matchgroup=cCppInWrapper start="\d\+" end="^\s*\(%:\|#\)\s*endif\>" contains=TOP,cPreCondit
|
||||||
if !exists("c_no_if0_fold")
|
if !exists("c_no_if0_fold")
|
||||||
syn region cCppInElse contained start="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0*[1-9]\d*\s*\($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2 fold
|
syn region cCppInElse contained start="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0*[1-9]\d*\s*\($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2 fold
|
||||||
@@ -383,11 +383,11 @@ if !exists("c_no_if0")
|
|||||||
endif
|
endif
|
||||||
syn region cIncluded display contained start=+"+ skip=+\\\\\|\\"+ end=+"+
|
syn region cIncluded display contained start=+"+ skip=+\\\\\|\\"+ end=+"+
|
||||||
syn match cIncluded display contained "<[^>]*>"
|
syn match cIncluded display contained "<[^>]*>"
|
||||||
syn match cInclude display "^\s*\(%:\|#\)\s*include\>\s*["<]" contains=cIncluded
|
syn match cInclude display "^\s*\zs\(%:\|#\)\s*include\>\s*["<]" contains=cIncluded
|
||||||
"syn match cLineSkip "\\$"
|
"syn match cLineSkip "\\$"
|
||||||
syn cluster cPreProcGroup contains=cPreCondit,cIncluded,cInclude,cDefine,cErrInParen,cErrInBracket,cUserLabel,cSpecial,cOctalZero,cCppOutWrapper,cCppInWrapper,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cString,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cParen,cBracket,cMulti,cBadBlock
|
syn cluster cPreProcGroup contains=cPreCondit,cIncluded,cInclude,cDefine,cErrInParen,cErrInBracket,cUserLabel,cSpecial,cOctalZero,cCppOutWrapper,cCppInWrapper,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cString,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cParen,cBracket,cMulti,cBadBlock
|
||||||
syn region cDefine start="^\s*\(%:\|#\)\s*\(define\|undef\)\>" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell
|
syn region cDefine start="^\s*\zs\(%:\|#\)\s*\(define\|undef\)\>" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell
|
||||||
syn region cPreProc start="^\s*\(%:\|#\)\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell
|
syn region cPreProc start="^\s*\zs\(%:\|#\)\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell
|
||||||
|
|
||||||
" Highlight User Labels
|
" Highlight User Labels
|
||||||
syn cluster cMultiGroup contains=cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserCont,cUserLabel,cBitField,cOctalZero,cCppOutWrapper,cCppInWrapper,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cCppParen,cCppBracket,cCppString
|
syn cluster cMultiGroup contains=cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserCont,cUserLabel,cBitField,cOctalZero,cCppOutWrapper,cCppInWrapper,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cCppParen,cCppBracket,cCppString
|
||||||
@@ -396,21 +396,21 @@ if s:ft ==# 'c' || exists("cpp_no_cpp11")
|
|||||||
endif
|
endif
|
||||||
" Avoid matching foo::bar() in C++ by requiring that the next char is not ':'
|
" Avoid matching foo::bar() in C++ by requiring that the next char is not ':'
|
||||||
syn cluster cLabelGroup contains=cUserLabel
|
syn cluster cLabelGroup contains=cUserLabel
|
||||||
syn match cUserCont display "^\s*\I\i*\s*:$" contains=@cLabelGroup
|
syn match cUserCont display "^\s*\zs\I\i*\s*:$" contains=@cLabelGroup
|
||||||
syn match cUserCont display ";\s*\I\i*\s*:$" contains=@cLabelGroup
|
syn match cUserCont display ";\s*\zs\I\i*\s*:$" contains=@cLabelGroup
|
||||||
if s:ft ==# 'cpp'
|
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*\zs\%(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
|
syn match cUserCont display ";\s*\zs\%(class\|struct\|enum\)\@!\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
|
||||||
else
|
else
|
||||||
syn match cUserCont display "^\s*\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
|
syn match cUserCont display "^\s*\zs\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
|
||||||
syn match cUserCont display ";\s*\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
|
syn match cUserCont display ";\s*\zs\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
|
||||||
endif
|
endif
|
||||||
|
|
||||||
syn match cUserLabel display "\I\i*" contained
|
syn match cUserLabel display "\I\i*" contained
|
||||||
|
|
||||||
" Avoid recognizing most bitfields as labels
|
" Avoid recognizing most bitfields as labels
|
||||||
syn match cBitField display "^\s*\I\i*\s*:\s*[1-9]"me=e-1 contains=cType
|
syn match cBitField display "^\s*\zs\I\i*\s*:\s*[1-9]"me=e-1 contains=cType
|
||||||
syn match cBitField display ";\s*\I\i*\s*:\s*[1-9]"me=e-1 contains=cType
|
syn match cBitField display ";\s*\zs\I\i*\s*:\s*[1-9]"me=e-1 contains=cType
|
||||||
|
|
||||||
if exists("c_minlines")
|
if exists("c_minlines")
|
||||||
let b:c_minlines = c_minlines
|
let b:c_minlines = c_minlines
|
||||||
|
|||||||
Binary file not shown.
@@ -1,7 +1,8 @@
|
|||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: ConTeXt typesetting engine
|
" Language: ConTeXt typesetting engine
|
||||||
" Maintainer: Nikolai Weibull <now@bitwi.se>
|
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||||
" Latest Revision: 2006-08-10
|
" Former Maintainers: Nikolai Weibull <now@bitwi.se>
|
||||||
|
" Latest Revision: 2016 Oct 16
|
||||||
|
|
||||||
if exists("b:current_syntax")
|
if exists("b:current_syntax")
|
||||||
finish
|
finish
|
||||||
@@ -13,65 +14,93 @@ unlet b:current_syntax
|
|||||||
let s:cpo_save = &cpo
|
let s:cpo_save = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
if !exists('g:context_include')
|
" Dictionary of (filetype, group) pairs to highlight between \startGROUP \stopGROUP.
|
||||||
let g:context_include = ['mp', 'javascript', 'xml']
|
let s:context_include = get(b:, 'context_include', get(g:, 'context_include', {'xml': 'XML'}))
|
||||||
|
|
||||||
|
" For backward compatibility (g:context_include used to be a List)
|
||||||
|
if type(s:context_include) ==# type([])
|
||||||
|
let g:context_metapost = (index(s:context_include, 'mp') != -1)
|
||||||
|
let s:context_include = filter(
|
||||||
|
\ {'c': 'C', 'javascript': 'JS', 'ruby': 'Ruby', 'xml': 'XML'},
|
||||||
|
\ { k,_ -> index(s:context_include, k) != -1 }
|
||||||
|
\ )
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
syn iskeyword @,48-57,a-z,A-Z,192-255
|
||||||
|
|
||||||
syn spell toplevel
|
syn spell toplevel
|
||||||
|
|
||||||
syn match contextBlockDelim display '\\\%(start\|stop\)\a\+'
|
" ConTeXt options, i.e., [...] blocks
|
||||||
\ contains=@NoSpell
|
syn region contextOptions matchgroup=contextDelimiter start='\[' end=']\|\ze\\stop' skip='\\\[\|\\\]' contains=ALLBUT,contextBeginEndLua,@Spell
|
||||||
|
|
||||||
syn region contextEscaped display matchgroup=contextPreProc
|
" Highlight braces
|
||||||
\ start='\\type\z(\A\)' end='\z1'
|
syn match contextDelimiter '[{}]'
|
||||||
syn region contextEscaped display matchgroup=contextPreProc
|
|
||||||
\ start='\\type\={' end='}'
|
" Comments
|
||||||
syn region contextEscaped display matchgroup=contextPreProc
|
syn match contextComment '\\\@<!\%(\\\\\)*\zs%.*$' display contains=initexTodo
|
||||||
\ start='\\type\=<<' end='>>'
|
syn match contextComment '^\s*%[CDM].*$' display contains=initexTodo
|
||||||
|
|
||||||
|
syn match contextBlockDelim '\\\%(start\|stop\)\a\+' contains=@NoSpell
|
||||||
|
|
||||||
|
syn region contextEscaped matchgroup=contextPreProc start='\\type\%(\s*\|\n\)*\z([^A-Za-z%]\)' end='\z1'
|
||||||
|
syn region contextEscaped matchgroup=contextPreProc start='\\type\=\%(\s\|\n\)*{' end='}'
|
||||||
|
syn region contextEscaped matchgroup=contextPreProc start='\\type\=\%(\s*\|\n\)*<<' end='>>'
|
||||||
syn region contextEscaped matchgroup=contextPreProc
|
syn region contextEscaped matchgroup=contextPreProc
|
||||||
\ start='\\start\z(\a*\%(typing\|typen\)\)'
|
\ start='\\start\z(\a*\%(typing\|typen\)\)'
|
||||||
\ end='\\stop\z1' contains=plaintexComment keepend
|
\ end='\\stop\z1' contains=plaintexComment keepend
|
||||||
syn region contextEscaped display matchgroup=contextPreProc
|
syn region contextEscaped matchgroup=contextPreProc start='\\\h\+Type\%(\s\|\n\)*{' end='}'
|
||||||
\ start='\\\h\+Type{' end='}'
|
syn region contextEscaped matchgroup=contextPreProc start='\\Typed\h\+\%(\s\|\n\)*{' end='}'
|
||||||
syn region contextEscaped display matchgroup=contextPreProc
|
|
||||||
\ start='\\Typed\h\+{' end='}'
|
|
||||||
|
|
||||||
syn match contextBuiltin display contains=@NoSpell
|
syn match contextBuiltin display contains=@NoSpell
|
||||||
\ '\\\%(unprotect\|protect\|unexpanded\)'
|
\ '\\\%(unprotect\|protect\|unexpanded\)\>'
|
||||||
|
|
||||||
syn match contextPreProc '^\s*\\\%(start\|stop\)\=\%(component\|environment\|project\|product\).*$'
|
syn match contextPreProc '^\s*\\\%(start\|stop\)\=\%(component\|environment\|project\|product\)\>'
|
||||||
\ contains=@NoSpell
|
\ contains=@NoSpell
|
||||||
|
|
||||||
if index(g:context_include, 'mp') != -1
|
if get(b:, 'context_metapost', get(g:, 'context_metapost', 1))
|
||||||
|
let b:mp_metafun_macros = 1 " Highlight MetaFun keywords
|
||||||
syn include @mpTop syntax/mp.vim
|
syn include @mpTop syntax/mp.vim
|
||||||
unlet b:current_syntax
|
unlet b:current_syntax
|
||||||
|
|
||||||
syn region contextMPGraphic transparent matchgroup=contextBlockDelim
|
syn region contextMPGraphic matchgroup=contextBlockDelim
|
||||||
\ start='\\start\z(\a*MPgraphic\|MP\%(page\|inclusions\|run\)\).*'
|
\ start='\\start\z(MP\%(clip\|code\|definitions\|drawing\|environment\|extensions\|inclusions\|initializations\|page\|\)\)\>.*$'
|
||||||
\ end='\\stop\z1'
|
\ end='\\stop\z1'
|
||||||
\ contains=@mpTop
|
\ contains=@mpTop,@NoSpell
|
||||||
|
syn region contextMPGraphic matchgroup=contextBlockDelim
|
||||||
|
\ start='\\start\z(\%(\%[re]usable\|use\|unique\|static\)MPgraphic\|staticMPfigure\|uniqueMPpagegraphic\)\>.*$'
|
||||||
|
\ end='\\stop\z1'
|
||||||
|
\ contains=@mpTop,@NoSpell
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" TODO: also need to implement this for \\typeC or something along those
|
if get(b:, 'context_lua', get(g:, 'context_lua', 1))
|
||||||
" lines.
|
syn include @luaTop syntax/lua.vim
|
||||||
function! s:include_syntax(name, group)
|
|
||||||
if index(g:context_include, a:name) != -1
|
|
||||||
execute 'syn include @' . a:name . 'Top' 'syntax/' . a:name . '.vim'
|
|
||||||
unlet b:current_syntax
|
unlet b:current_syntax
|
||||||
execute 'syn region context' . a:group . 'Code'
|
|
||||||
\ 'transparent matchgroup=contextBlockDelim'
|
syn region contextLuaCode matchgroup=contextBlockDelim
|
||||||
\ 'start=+\\start' . a:group . '+ end=+\\stop' . a:group . '+'
|
\ start='\\startluacode\>'
|
||||||
\ 'contains=@' . a:name . 'Top'
|
\ end='\\stopluacode\>' keepend
|
||||||
|
\ contains=@luaTop,@NoSpell
|
||||||
|
|
||||||
|
syn match contextDirectLua "\\\%(directlua\|ctxlua\)\>\%(\s*%.*$\)\="
|
||||||
|
\ nextgroup=contextBeginEndLua skipwhite skipempty
|
||||||
|
\ contains=initexComment
|
||||||
|
syn region contextBeginEndLua matchgroup=contextSpecial
|
||||||
|
\ start="{" end="}" skip="\\[{}]"
|
||||||
|
\ contained contains=@luaTop,@NoSpell
|
||||||
endif
|
endif
|
||||||
endfunction
|
|
||||||
|
|
||||||
call s:include_syntax('c', 'C')
|
for synname in keys(s:context_include)
|
||||||
call s:include_syntax('ruby', 'Ruby')
|
execute 'syn include @' . synname . 'Top' 'syntax/' . synname . '.vim'
|
||||||
call s:include_syntax('javascript', 'JS')
|
unlet b:current_syntax
|
||||||
call s:include_syntax('xml', 'XML')
|
execute 'syn region context' . s:context_include[synname] . 'Code'
|
||||||
|
\ 'matchgroup=contextBlockDelim'
|
||||||
|
\ 'start=+\\start' . s:context_include[synname] . '+'
|
||||||
|
\ 'end=+\\stop' . s:context_include[synname] . '+'
|
||||||
|
\ 'contains=@' . synname . 'Top,@NoSpell'
|
||||||
|
endfor
|
||||||
|
|
||||||
syn match contextSectioning '\\chapter\>' contains=@NoSpell
|
syn match contextSectioning '\\\%(start\|stop\)\=\%(\%(sub\)*section\|\%(sub\)*subject\|chapter\|part\|component\|product\|title\)\>'
|
||||||
syn match contextSectioning '\\\%(sub\)*section\>' contains=@NoSpell
|
\ contains=@NoSpell
|
||||||
|
|
||||||
syn match contextSpecial '\\crlf\>\|\\par\>\|-\{2,3}\||[<>/]\=|'
|
syn match contextSpecial '\\crlf\>\|\\par\>\|-\{2,3}\||[<>/]\=|'
|
||||||
\ contains=@NoSpell
|
\ contains=@NoSpell
|
||||||
@@ -92,15 +121,19 @@ syn match contextFont '\\\%(vi\{1,3}\|ix\|xi\{0,2}\)\>'
|
|||||||
syn match contextFont '\\\%(tf\|b[si]\|s[cl]\|os\)\%(xx\|[xabcd]\)\=\>'
|
syn match contextFont '\\\%(tf\|b[si]\|s[cl]\|os\)\%(xx\|[xabcd]\)\=\>'
|
||||||
\ contains=@NoSpell
|
\ contains=@NoSpell
|
||||||
|
|
||||||
|
hi def link contextOptions Typedef
|
||||||
|
hi def link contextComment Comment
|
||||||
hi def link contextBlockDelim Keyword
|
hi def link contextBlockDelim Keyword
|
||||||
hi def link contextBuiltin Keyword
|
hi def link contextBuiltin Keyword
|
||||||
hi def link contextDelimiter Delimiter
|
hi def link contextDelimiter Delimiter
|
||||||
|
hi def link contextEscaped String
|
||||||
hi def link contextPreProc PreProc
|
hi def link contextPreProc PreProc
|
||||||
hi def link contextSectioning PreProc
|
hi def link contextSectioning PreProc
|
||||||
hi def link contextSpecial Special
|
hi def link contextSpecial Special
|
||||||
hi def link contextType Type
|
hi def link contextType Type
|
||||||
hi def link contextStyle contextType
|
hi def link contextStyle contextType
|
||||||
hi def link contextFont contextType
|
hi def link contextFont contextType
|
||||||
|
hi def link contextDirectLua Keyword
|
||||||
|
|
||||||
let b:current_syntax = "context"
|
let b:current_syntax = "context"
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
" Language: C++
|
" Language: C++
|
||||||
" Current Maintainer: vim-jp (https://github.com/vim-jp/vim-cpp)
|
" Current Maintainer: vim-jp (https://github.com/vim-jp/vim-cpp)
|
||||||
" Previous Maintainer: Ken Shan <ccshan@post.harvard.edu>
|
" Previous Maintainer: Ken Shan <ccshan@post.harvard.edu>
|
||||||
" Last Change: 2016 Jul 07
|
" Last Change: 2016 Oct 28
|
||||||
|
|
||||||
" quit when a syntax file was already loaded
|
" quit when a syntax file was already loaded
|
||||||
if exists("b:current_syntax")
|
if exists("b:current_syntax")
|
||||||
@@ -31,7 +31,7 @@ syn keyword cppConstant __cplusplus
|
|||||||
" C++ 11 extensions
|
" C++ 11 extensions
|
||||||
if !exists("cpp_no_cpp11")
|
if !exists("cpp_no_cpp11")
|
||||||
syn keyword cppModifier override final
|
syn keyword cppModifier override final
|
||||||
syn keyword cppType nullptr_t
|
syn keyword cppType nullptr_t auto
|
||||||
syn keyword cppExceptions noexcept
|
syn keyword cppExceptions noexcept
|
||||||
syn keyword cppStorageClass constexpr decltype thread_local
|
syn keyword cppStorageClass constexpr decltype thread_local
|
||||||
syn keyword cppConstant nullptr
|
syn keyword cppConstant nullptr
|
||||||
@@ -46,7 +46,11 @@ endif
|
|||||||
|
|
||||||
" C++ 14 extensions
|
" C++ 14 extensions
|
||||||
if !exists("cpp_no_cpp14")
|
if !exists("cpp_no_cpp14")
|
||||||
syn match cppNumber display "\<0b[01]\+\(u\=l\{0,2}\|ll\=u\)\>"
|
syn case ignore
|
||||||
|
syn match cppNumber display "\<0b[01]\('\=[01]\+\)*\(u\=l\{0,2}\|ll\=u\)\>"
|
||||||
|
syn match cppNumber display "\<[1-9]\('\=\d\+\)*\(u\=l\{0,2}\|ll\=u\)\>"
|
||||||
|
syn match cppNumber display "\<0x\x\('\=\x\+\)*\(u\=l\{0,2}\|ll\=u\)\>"
|
||||||
|
syn case match
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" The minimum and maximum operators in GNU C++
|
" The minimum and maximum operators in GNU C++
|
||||||
|
|||||||
@@ -6,7 +6,8 @@
|
|||||||
" Nikolai Weibull (Add CSS2 support)
|
" Nikolai Weibull (Add CSS2 support)
|
||||||
" Maintainer: Jules Wang <w.jq0722@gmail.com>
|
" Maintainer: Jules Wang <w.jq0722@gmail.com>
|
||||||
" URL: https://github.com/JulesWang/css.vim
|
" URL: https://github.com/JulesWang/css.vim
|
||||||
" Last Change: 2015 Apr.17
|
" Last Change: 2017 Jan 14
|
||||||
|
" cssClassName updated by Ryuichi Hayashida Jan 2016
|
||||||
|
|
||||||
" quit when a syntax file was already loaded
|
" quit when a syntax file was already loaded
|
||||||
if !exists("main_syntax")
|
if !exists("main_syntax")
|
||||||
@@ -56,7 +57,7 @@ syn match cssSelectorOp2 "[~|^$*]\?=" contained
|
|||||||
syn region cssAttributeSelector matchgroup=cssSelectorOp start="\[" end="]" contains=cssUnicodeEscape,cssSelectorOp2,cssStringQ,cssStringQQ
|
syn region cssAttributeSelector matchgroup=cssSelectorOp start="\[" end="]" contains=cssUnicodeEscape,cssSelectorOp2,cssStringQ,cssStringQQ
|
||||||
|
|
||||||
" .class and #id
|
" .class and #id
|
||||||
syn match cssClassName "\.[A-Za-z][A-Za-z0-9_-]\+" contains=cssClassNameDot
|
syn match cssClassName "\.-\=[A-Za-z_][A-Za-z0-9_-]*" contains=cssClassNameDot
|
||||||
syn match cssClassNameDot contained '\.'
|
syn match cssClassNameDot contained '\.'
|
||||||
|
|
||||||
try
|
try
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||||
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
|
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
|
||||||
" Wichert Akkerman <wakkerma@debian.org>
|
" Wichert Akkerman <wakkerma@debian.org>
|
||||||
" Last Change: 2016 Aug 30
|
" Last Change: 2016 Nov 12
|
||||||
" URL: https://anonscm.debian.org/cgit/pkg-vim/vim.git/plain/runtime/syntax/debchangelog.vim
|
" URL: https://anonscm.debian.org/cgit/pkg-vim/vim.git/plain/runtime/syntax/debchangelog.vim
|
||||||
|
|
||||||
" Standard syntax initialization
|
" Standard syntax initialization
|
||||||
@@ -21,7 +21,7 @@ let binNMU='binary-only=yes'
|
|||||||
syn match debchangelogName contained "^[[:alnum:]][[:alnum:].+-]\+ "
|
syn match debchangelogName contained "^[[:alnum:]][[:alnum:].+-]\+ "
|
||||||
exe 'syn match debchangelogFirstKV contained "; \('.urgency.'\|'.binNMU.'\)"'
|
exe 'syn match debchangelogFirstKV contained "; \('.urgency.'\|'.binNMU.'\)"'
|
||||||
exe 'syn match debchangelogOtherKV 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|precise|trusty|vivid|wily|xenial|yakkety)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
|
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|precise|trusty|vivid|wily|xenial|yakkety|zesty)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
|
||||||
syn match debchangelogVersion contained "(.\{-})"
|
syn match debchangelogVersion contained "(.\{-})"
|
||||||
syn match debchangelogCloses contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*"
|
syn match debchangelogCloses contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*"
|
||||||
syn match debchangelogLP contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*"
|
syn match debchangelogLP contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*"
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ unlet s:kernels s:archs s:pairs
|
|||||||
syn match debcontrolMultiArch contained "\%(no\|foreign\|allowed\|same\)"
|
syn match debcontrolMultiArch contained "\%(no\|foreign\|allowed\|same\)"
|
||||||
syn match debcontrolName contained "[a-z0-9][a-z0-9+.-]\+"
|
syn match debcontrolName contained "[a-z0-9][a-z0-9+.-]\+"
|
||||||
syn match debcontrolPriority contained "\(extra\|important\|optional\|required\|standard\)"
|
syn match debcontrolPriority contained "\(extra\|important\|optional\|required\|standard\)"
|
||||||
syn match debcontrolSection contained "\v((contrib|non-free|non-US/main|non-US/contrib|non-US/non-free|restricted|universe|multiverse)/)?(admin|cli-mono|comm|database|debian-installer|debug|devel|doc|editors|education|electronics|embedded|fonts|games|gnome|gnustep|gnu-r|graphics|hamradio|haskell|httpd|interpreters|introspection|java|kde|kernel|libs|libdevel|lisp|localization|mail|math|metapackages|misc|net|news|ocaml|oldlibs|otherosfs|perl|php|python|ruby|science|shells|sound|text|tex|utils|vcs|video|web|x11|xfce|zope)"
|
syn match debcontrolSection contained "\v((contrib|non-free|non-US/main|non-US/contrib|non-US/non-free|restricted|universe|multiverse)/)?(admin|cli-mono|comm|database|debian-installer|debug|devel|doc|editors|education|electronics|embedded|fonts|games|gnome|gnustep|gnu-r|graphics|hamradio|haskell|httpd|interpreters|introspection|java|javascript|kde|kernel|libs|libdevel|lisp|localization|mail|math|metapackages|misc|net|news|ocaml|oldlibs|otherosfs|perl|php|python|ruby|rust|science|shells|sound|text|tex|utils|vcs|video|web|x11|xfce|zope)"
|
||||||
syn match debcontrolPackageType contained "u\?deb"
|
syn match debcontrolPackageType contained "u\?deb"
|
||||||
syn match debcontrolVariable contained "\${.\{-}}"
|
syn match debcontrolVariable contained "\${.\{-}}"
|
||||||
syn match debcontrolDmUpload contained "\cyes"
|
syn match debcontrolDmUpload contained "\cyes"
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
" Language: Debian sources.list
|
" Language: Debian sources.list
|
||||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||||
" Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
|
" Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
|
||||||
" Last Change: 2016 Aug 30
|
" Last Change: 2016 Nov 12
|
||||||
" URL: https://anonscm.debian.org/cgit/pkg-vim/vim.git/plain/runtime/syntax/debsources.vim
|
" URL: https://anonscm.debian.org/cgit/pkg-vim/vim.git/plain/runtime/syntax/debsources.vim
|
||||||
|
|
||||||
" Standard syntax initialization
|
" Standard syntax initialization
|
||||||
@@ -25,7 +25,7 @@ let s:supported = [
|
|||||||
\ 'oldstable', 'stable', 'testing', 'unstable', 'experimental',
|
\ 'oldstable', 'stable', 'testing', 'unstable', 'experimental',
|
||||||
\ 'squeeze', 'wheezy', 'jessie', 'stretch', 'sid', 'rc-buggy',
|
\ 'squeeze', 'wheezy', 'jessie', 'stretch', 'sid', 'rc-buggy',
|
||||||
\
|
\
|
||||||
\ 'precise', 'trusty', 'xenial', 'yakkety', 'devel'
|
\ 'precise', 'trusty', 'xenial', 'yakkety', 'zesty', 'devel'
|
||||||
\ ]
|
\ ]
|
||||||
let s:unsupported = [
|
let s:unsupported = [
|
||||||
\ 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato',
|
\ 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato',
|
||||||
@@ -39,7 +39,7 @@ let s:unsupported = [
|
|||||||
let &cpo=s:cpo
|
let &cpo=s:cpo
|
||||||
|
|
||||||
" Match uri's
|
" Match uri's
|
||||||
syn match debsourcesUri +\(http://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^' <>"]\++
|
syn match debsourcesUri +\(https\?://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^' <>"]\++
|
||||||
exe 'syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\('. join(s:supported, '\|'). '\)\([-[:alnum:]_./]*\)+'
|
exe 'syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\('. join(s:supported, '\|'). '\)\([-[:alnum:]_./]*\)+'
|
||||||
exe 'syn match debsourcesUnsupportedDistrKeyword +\([[:alnum:]_./]*\)\('. join(s:unsupported, '\|') .'\)\([-[:alnum:]_./]*\)+'
|
exe 'syn match debsourcesUnsupportedDistrKeyword +\([[:alnum:]_./]*\)\('. join(s:unsupported, '\|') .'\)\([-[:alnum:]_./]*\)+'
|
||||||
|
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: Fortran 2008 (and older: Fortran 2003, 95, 90, and 77)
|
" Language: Fortran 2008 (and older: Fortran 2003, 95, 90, and 77)
|
||||||
" Version: 0.98
|
" Version: 100
|
||||||
" Last Change: 2016 Aug. 29
|
" Last Change: 2016 Oct. 29
|
||||||
" Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/>
|
" Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/>
|
||||||
" Usage: For instructions, do :help fortran-syntax from Vim
|
" Usage: For instructions, do :help fortran-syntax from Vim
|
||||||
" Credits:
|
" Credits:
|
||||||
" Version 0.1 (April 2000) was based on the fortran 77 syntax file by Mario Eusebio and
|
" Version 0.1 (April 2000) for Fortran 95 was based on the Fortran 77 syntax file by
|
||||||
" Preben Guldberg. Since then, useful suggestions and contributions have been made,
|
" Mario Eusebio and Preben Guldberg. Since then, useful suggestions and contributions
|
||||||
" in chronological order, by:
|
" have been made, in chronological order, by:
|
||||||
" Andrej Panjkov, Bram Moolenaar, Thomas Olsen, Michael Sternberg, Christian Reile,
|
" Andrej Panjkov, Bram Moolenaar, Thomas Olsen, Michael Sternberg, Christian Reile,
|
||||||
" Walter Dieudonn<6E>, Alexander Wagner, Roman Bertle, Charles Rendleman,
|
" Walter Dieudonn<6E>, Alexander Wagner, Roman Bertle, Charles Rendleman,
|
||||||
" Andrew Griffiths, Joe Krahn, Hendrik Merx, Matt Thompson, Jan Hermann,
|
" Andrew Griffiths, Joe Krahn, Hendrik Merx, Matt Thompson, Jan Hermann,
|
||||||
" Stefano Zaghi and Vishnu V. Krishnan.
|
" Stefano Zaghi, Vishnu V. Krishnan and Judica<63>l Grasset
|
||||||
|
|
||||||
if exists("b:current_syntax")
|
if exists("b:current_syntax")
|
||||||
finish
|
finish
|
||||||
@@ -368,7 +368,7 @@ else
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
syn match fortranComment excludenl "!.*$" contains=@fortranCommentGroup,@spell
|
syn match fortranComment excludenl "!.*$" contains=@fortranCommentGroup,@spell
|
||||||
syn match fortranOpenMP excludenl "^\s*!\$\(OMP\)\=\s.*$"
|
syn match fortranOpenMP excludenl "^\s*!\$\(OMP\)\=&\=\s.*$"
|
||||||
|
|
||||||
"cpp is often used with Fortran
|
"cpp is often used with Fortran
|
||||||
syn match cPreProc "^\s*#\s*\(define\|ifdef\)\>.*"
|
syn match cPreProc "^\s*#\s*\(define\|ifdef\)\>.*"
|
||||||
@@ -397,6 +397,7 @@ if exists("fortran_fold")
|
|||||||
syn region fortranFunction transparent fold keepend extend start="^\s*\(elemental \|pure \|impure \|module \|recursive \)\=\s*\(\(\(real \|integer \|logical \|complex \|double \s*precision \)\s*\((\(\s*kind\s*=\)\=\s*\w\+\s*)\)\=\)\|type\s\+(\s*\w\+\s*) \|character \((\(\s*len\s*=\)\=\s*\d\+\s*)\|(\(\s*kind\s*=\)\=\s*\w\+\s*)\)\=\)\=\s*function\s\+\z(\a\w*\)" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*\($\|function\(\s\+\z1\>\)\=\)" contains=ALLBUT,fortranProgram,fortranModule
|
syn region fortranFunction transparent fold keepend extend start="^\s*\(elemental \|pure \|impure \|module \|recursive \)\=\s*\(\(\(real \|integer \|logical \|complex \|double \s*precision \)\s*\((\(\s*kind\s*=\)\=\s*\w\+\s*)\)\=\)\|type\s\+(\s*\w\+\s*) \|character \((\(\s*len\s*=\)\=\s*\d\+\s*)\|(\(\s*kind\s*=\)\=\s*\w\+\s*)\)\=\)\=\s*function\s\+\z(\a\w*\)" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*\($\|function\(\s\+\z1\>\)\=\)" contains=ALLBUT,fortranProgram,fortranModule
|
||||||
syn region fortranSubroutine transparent fold keepend extend start="^\s*\(elemental \|pure \|impure \|module \|recursive \)\=\s*subroutine\s\+\z(\a\w*\)" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*\($\|subroutine\(\s\+\z1\>\)\=\)" contains=ALLBUT,fortranProgram,fortranModule
|
syn region fortranSubroutine transparent fold keepend extend start="^\s*\(elemental \|pure \|impure \|module \|recursive \)\=\s*subroutine\s\+\z(\a\w*\)" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*\($\|subroutine\(\s\+\z1\>\)\=\)" contains=ALLBUT,fortranProgram,fortranModule
|
||||||
syn region fortranBlockData transparent fold keepend start="\<block\s*data\(\s\+\z(\a\w*\)\)\=" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*\($\|block\s*data\(\s\+\z1\>\)\=\)" contains=ALLBUT,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortran77Loop,fortranCase,fortran90Loop,fortranIfBlock
|
syn region fortranBlockData transparent fold keepend start="\<block\s*data\(\s\+\z(\a\w*\)\)\=" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*\($\|block\s*data\(\s\+\z1\>\)\=\)" contains=ALLBUT,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortran77Loop,fortranCase,fortran90Loop,fortranIfBlock
|
||||||
|
syn region fortranAssociate transparent fold keepend start="^\s*\<associate\s\+" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*associate" contains=ALLBUT,fortranProgram,fortranModule,fortranSubroutine,fortranFunction
|
||||||
syn region fortranInterface transparent fold keepend extend start="^\s*\(abstract \)\=\s*interface\>" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*interface\>" contains=ALLBUT,fortranProgram,fortranModule,fortran77Loop,fortranCase,fortran90Loop,fortranIfBlock
|
syn region fortranInterface transparent fold keepend extend start="^\s*\(abstract \)\=\s*interface\>" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*interface\>" contains=ALLBUT,fortranProgram,fortranModule,fortran77Loop,fortranCase,fortran90Loop,fortranIfBlock
|
||||||
syn region fortranTypeDef transparent fold keepend extend start="^\s*type\s*\(,\s*\(public\|private\|abstract\)\)\=\s*::" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*type\>" contains=ALLBUT,fortranProgram,fortranModule,fortran77Loop,fortranCase,fortran90Loop,fortranIfBlock,fortranInterface
|
syn region fortranTypeDef transparent fold keepend extend start="^\s*type\s*\(,\s*\(public\|private\|abstract\)\)\=\s*::" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*type\>" contains=ALLBUT,fortranProgram,fortranModule,fortran77Loop,fortranCase,fortran90Loop,fortranIfBlock,fortranInterface
|
||||||
else
|
else
|
||||||
@@ -406,6 +407,7 @@ if exists("fortran_fold")
|
|||||||
syn region fortranFunction transparent fold keepend extend start="^\s*\(elemental \|pure \|impure \|module \|recursive \)\=\s*\(\(\(real \|integer \|logical \|complex \|double \s*precision \)\s*\((\(\s*kind\s*=\)\=\s*\w\+\s*)\)\=\)\|type\s\+(\s*\w\+\s*) \|character \((\(\s*len\s*=\)\=\s*\d\+\s*)\|(\(\s*kind\s*=\)\=\s*\w\+\s*)\)\=\)\=\s*function\s\+\z(\a\w*\)" skip="^\s*[!#].*$" excludenl end="\<end\s*\($\|function\(\s\+\z1\>\)\=\)" contains=ALLBUT,fortranProgram,fortranModule
|
syn region fortranFunction transparent fold keepend extend start="^\s*\(elemental \|pure \|impure \|module \|recursive \)\=\s*\(\(\(real \|integer \|logical \|complex \|double \s*precision \)\s*\((\(\s*kind\s*=\)\=\s*\w\+\s*)\)\=\)\|type\s\+(\s*\w\+\s*) \|character \((\(\s*len\s*=\)\=\s*\d\+\s*)\|(\(\s*kind\s*=\)\=\s*\w\+\s*)\)\=\)\=\s*function\s\+\z(\a\w*\)" skip="^\s*[!#].*$" excludenl end="\<end\s*\($\|function\(\s\+\z1\>\)\=\)" contains=ALLBUT,fortranProgram,fortranModule
|
||||||
syn region fortranSubroutine transparent fold keepend extend start="^\s*\(elemental \|pure \|impure \|module \|recursive \)\=\s*subroutine\s\+\z(\a\w*\)" skip="^\s*[!#].*$" excludenl end="\<end\s*\($\|subroutine\(\s\+\z1\>\)\=\)" contains=ALLBUT,fortranProgram,fortranModule
|
syn region fortranSubroutine transparent fold keepend extend start="^\s*\(elemental \|pure \|impure \|module \|recursive \)\=\s*subroutine\s\+\z(\a\w*\)" skip="^\s*[!#].*$" excludenl end="\<end\s*\($\|subroutine\(\s\+\z1\>\)\=\)" contains=ALLBUT,fortranProgram,fortranModule
|
||||||
syn region fortranBlockData transparent fold keepend start="\<block\s*data\(\s\+\z(\a\w*\)\)\=" skip="^\s*[!#].*$" excludenl end="\<end\s*\($\|block\s*data\(\s\+\z1\>\)\=\)" contains=ALLBUT,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortran77Loop,fortranCase,fortran90Loop,fortranIfBlock
|
syn region fortranBlockData transparent fold keepend start="\<block\s*data\(\s\+\z(\a\w*\)\)\=" skip="^\s*[!#].*$" excludenl end="\<end\s*\($\|block\s*data\(\s\+\z1\>\)\=\)" contains=ALLBUT,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortran77Loop,fortranCase,fortran90Loop,fortranIfBlock
|
||||||
|
syn region fortranAssociate transparent fold keepend start="^\s*\<associate\s\+" skip="^\s*[!#].*$" excludenl end="\<end\s*associate" contains=ALLBUT,fortranProgram,fortranModule,fortranSubroutine,fortranFunction
|
||||||
syn region fortranInterface transparent fold keepend extend start="^\s*\(abstract \)\=\s*interface\>" skip="^\s*[!#].*$" excludenl end="\<end\s*interface\>" contains=ALLBUT,fortranProgram,fortranModule,fortran77Loop,fortranCase,fortran90Loop,fortranIfBlock
|
syn region fortranInterface transparent fold keepend extend start="^\s*\(abstract \)\=\s*interface\>" skip="^\s*[!#].*$" excludenl end="\<end\s*interface\>" contains=ALLBUT,fortranProgram,fortranModule,fortran77Loop,fortranCase,fortran90Loop,fortranIfBlock
|
||||||
syn region fortranTypeDef transparent fold keepend extend start="^\s*type\s*\(,\s*\(public\|private\|abstract\)\)\=\s*::" skip="^\s*[!#].*$" excludenl end="\<end\s*type\>" contains=ALLBUT,fortranProgram,fortranModule,fortran77Loop,fortranCase,fortran90Loop,fortranIfBlock,fortranInterface
|
syn region fortranTypeDef transparent fold keepend extend start="^\s*type\s*\(,\s*\(public\|private\|abstract\)\)\=\s*::" skip="^\s*[!#].*$" excludenl end="\<end\s*type\>" contains=ALLBUT,fortranProgram,fortranModule,fortran77Loop,fortranCase,fortran90Loop,fortranIfBlock,fortranInterface
|
||||||
endif
|
endif
|
||||||
@@ -415,12 +417,12 @@ if exists("fortran_fold")
|
|||||||
syn region fortran77Loop transparent fold keepend start="\<do\s\+\z(\d\+\)" end="^\s*\z1\>" contains=ALLBUT,fortranUnitHeader,fortranStructure,fortranStorageClass,fortranType,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortranBlockData
|
syn region fortran77Loop transparent fold keepend start="\<do\s\+\z(\d\+\)" end="^\s*\z1\>" contains=ALLBUT,fortranUnitHeader,fortranStructure,fortranStorageClass,fortranType,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortranBlockData
|
||||||
syn region fortran90Loop transparent fold keepend extend start="\(\<end\s\+\)\@<!\<do\(\s\+\a\|\s*$\)" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*do\>" contains=ALLBUT,fortranUnitHeader,fortranStructure,fortranStorageClass,fortranType,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortranBlockData
|
syn region fortran90Loop transparent fold keepend extend start="\(\<end\s\+\)\@<!\<do\(\s\+\a\|\s*$\)" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*do\>" contains=ALLBUT,fortranUnitHeader,fortranStructure,fortranStorageClass,fortranType,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortranBlockData
|
||||||
syn region fortranIfBlock transparent fold keepend extend start="\(\<e\(nd\|lse\)\s\+\)\@<!\<if\s*(.\+)\s*then\>" skip="^\([!c*]\|\s*#\).*$" end="\<end\s*if\>" contains=ALLBUT,fortranUnitHeader,fortranStructure,fortranStorageClass,fortranType,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortranBlockData
|
syn region fortranIfBlock transparent fold keepend extend start="\(\<e\(nd\|lse\)\s\+\)\@<!\<if\s*(.\+)\s*then\>" skip="^\([!c*]\|\s*#\).*$" end="\<end\s*if\>" contains=ALLBUT,fortranUnitHeader,fortranStructure,fortranStorageClass,fortranType,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortranBlockData
|
||||||
syn region fortranCase transparent fold keepend extend start="\<select\s*case\>" skip="^\([!c*]\|\s*#\).*$" end="\<end\s*select\>" contains=ALLBUT,fortranUnitHeader,fortranStructure,fortranStorageClass,fortranType,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortranBlockData
|
syn region fortranCase transparent fold keepend extend start="\<select\s*\(case\|type\)\>" skip="^\([!c*]\|\s*#\).*$" end="\<end\s*select\>" contains=ALLBUT,fortranUnitHeader,fortranStructure,fortranStorageClass,fortranType,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortranBlockData
|
||||||
else
|
else
|
||||||
syn region fortran77Loop transparent fold keepend start="\<do\s\+\z(\d\+\)" end="^\s*\z1\>" contains=ALLBUT,fortranUnitHeader,fortranStructure,fortranStorageClass,fortranType,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortranBlockData
|
syn region fortran77Loop transparent fold keepend start="\<do\s\+\z(\d\+\)" end="^\s*\z1\>" contains=ALLBUT,fortranUnitHeader,fortranStructure,fortranStorageClass,fortranType,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortranBlockData
|
||||||
syn region fortran90Loop transparent fold keepend extend start="\(\<end\s\+\)\@<!\<do\(\s\+\a\|\s*$\)" skip="^\s*[!#].*$" excludenl end="\<end\s*do\>" contains=ALLBUT,fortranUnitHeader,fortranStructure,fortranStorageClass,fortranType,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortranBlockData
|
syn region fortran90Loop transparent fold keepend extend start="\(\<end\s\+\)\@<!\<do\(\s\+\a\|\s*$\)" skip="^\s*[!#].*$" excludenl end="\<end\s*do\>" contains=ALLBUT,fortranUnitHeader,fortranStructure,fortranStorageClass,fortranType,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortranBlockData
|
||||||
syn region fortranIfBlock transparent fold keepend extend start="\(\<e\(nd\|lse\)\s\+\)\@<!\<if\s*(\(.\|&\s*\n\)\+)\(\s\|&\s*\n\)*then\>" skip="^\s*[!#].*$" end="\<end\s*if\>" contains=ALLBUT,fortranUnitHeader,fortranStructure,fortranStorageClass,fortranType,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortranBlockData
|
syn region fortranIfBlock transparent fold keepend extend start="\(\<e\(nd\|lse\)\s\+\)\@<!\<if\s*(\(.\|&\s*\n\)\+)\(\s\|&\s*\n\)*then\>" skip="^\s*[!#].*$" end="\<end\s*if\>" contains=ALLBUT,fortranUnitHeader,fortranStructure,fortranStorageClass,fortranType,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortranBlockData
|
||||||
syn region fortranCase transparent fold keepend extend start="\<select\s*case\>" skip="^\s*[!#].*$" end="\<end\s*select\>" contains=ALLBUT,fortranUnitHeader,fortranStructure,fortranStorageClass,fortranType,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortranBlockData
|
syn region fortranCase transparent fold keepend extend start="\<select\s*\(case\|type\)\>" skip="^\s*[!#].*$" end="\<end\s*select\>" contains=ALLBUT,fortranUnitHeader,fortranStructure,fortranStorageClass,fortranType,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortranBlockData
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: HTML
|
" Language: HTML
|
||||||
" Maintainer: Claudio Fleiner <claudio@fleiner.com>
|
" Maintainer: Jorge Maldonado Ventura <jorgesumle@freakspot.net>
|
||||||
" URL: http://www.fleiner.com/vim/syntax/html.vim
|
" Previous Maintainer: Claudio Fleiner <claudio@fleiner.com>
|
||||||
" Last Change: 2015 Jan 07
|
" Repository: https://notabug.org/jorgesumle/vim-html-syntax
|
||||||
" included patch from David Felix
|
" Last Change: 2017 Jan 04
|
||||||
|
" included patch from Jorge Maldonado Ventura
|
||||||
|
|
||||||
" Please check :help html.vim for some comments and a description of the options
|
" Please check :help html.vim for some comments and a description of the options
|
||||||
|
|
||||||
@@ -53,6 +54,14 @@ syn keyword htmlTagName contained abbr acronym bdo button col label
|
|||||||
syn keyword htmlTagName contained colgroup del fieldset iframe ins legend
|
syn keyword htmlTagName contained colgroup del fieldset iframe ins legend
|
||||||
syn keyword htmlTagName contained object optgroup q s tbody tfoot thead
|
syn keyword htmlTagName contained object optgroup q s tbody tfoot thead
|
||||||
|
|
||||||
|
" new html 5 tags
|
||||||
|
syn keyword htmlTagName contained article aside audio bdi canvas datalist
|
||||||
|
syn keyword htmlTagName contained details embed figcaption figure
|
||||||
|
syn keyword htmlTagName contained footer header hgroup main mark
|
||||||
|
syn keyword htmlTagName contained menuitem meter nav output picture
|
||||||
|
syn keyword htmlTagName contained progress rb rp rt rtc ruby section
|
||||||
|
syn keyword htmlTagName contained slot source template time track video wbr
|
||||||
|
|
||||||
" legal arg names
|
" legal arg names
|
||||||
syn keyword htmlArg contained action
|
syn keyword htmlArg contained action
|
||||||
syn keyword htmlArg contained align alink alt archive background bgcolor
|
syn keyword htmlArg contained align alink alt archive background bgcolor
|
||||||
@@ -87,6 +96,10 @@ syn keyword htmlArg contained multiple nohref nowrap object profile readonly
|
|||||||
syn keyword htmlArg contained rules scheme scope span standby style
|
syn keyword htmlArg contained rules scheme scope span standby style
|
||||||
syn keyword htmlArg contained summary tabindex valuetype version
|
syn keyword htmlArg contained summary tabindex valuetype version
|
||||||
|
|
||||||
|
" html 5 arg names
|
||||||
|
syn keyword htmlArg contained contenteditable contextmenu draggable dropzone
|
||||||
|
syn keyword htmlArg contained hidden spellcheck title translate
|
||||||
|
|
||||||
" special characters
|
" special characters
|
||||||
syn match htmlSpecialChar "&#\=[0-9A-Za-z]\{1,8};"
|
syn match htmlSpecialChar "&#\=[0-9A-Za-z]\{1,8};"
|
||||||
|
|
||||||
|
|||||||
@@ -1,132 +1,238 @@
|
|||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: Metafont
|
" Language: METAFONT
|
||||||
" Maintainer: Andreas Scherer <andreas.scherer@pobox.com>
|
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||||
" Last Change: April 25, 2001
|
" Former Maintainers: Andreas Scherer <andreas.scherer@pobox.com>
|
||||||
|
" Last Change: 2016 Oct 1
|
||||||
|
|
||||||
" quit when a syntax file was already loaded
|
|
||||||
if exists("b:current_syntax")
|
if exists("b:current_syntax")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Metafont 'primitives' as defined in chapter 25 of 'The METAFONTbook'
|
syn iskeyword @,_
|
||||||
|
|
||||||
|
" METAFONT 'primitives' as defined in chapter 25 of 'The METAFONTbook'
|
||||||
" Page 210: 'boolean expressions'
|
" Page 210: 'boolean expressions'
|
||||||
syn keyword mfBoolExp true false known unknown odd charexists not and or
|
syn keyword mfBoolExp and charexists false known not odd or true unknown
|
||||||
|
|
||||||
" Page 210: 'numeric expression'
|
" Page 210: 'numeric expression'
|
||||||
syn keyword mfNumExp normaldeviate length ASCII oct hex angle turningnumber
|
syn keyword mfNumExp ASCII angle cosd directiontime floor hex length
|
||||||
syn keyword mfNumExp totalweight directiontime xpart ypart xxpart xypart
|
syn keyword mfNumExp mexp mlog normaldeviate oct sind sqrt totalweight
|
||||||
syn keyword mfNumExp yxpart yypart sqrt sind cosd mlog mexp floor
|
syn keyword mfNumExp turningnumber uniformdeviate xpart xxpart xypart
|
||||||
syn keyword mfNumExp uniformdeviate
|
syn keyword mfNumExp ypart yxpart yypart
|
||||||
|
|
||||||
" Page 211: 'internal quantities'
|
" Page 211: 'internal quantities'
|
||||||
syn keyword mfInternal tracingtitles tracingequations tracingcapsules
|
syn keyword mfInternal autorounding boundarychar charcode chardp chardx
|
||||||
syn keyword mfInternal tracingchoices tracingspecs tracingpens
|
syn keyword mfInternal chardy charext charht charic charwd day designsize
|
||||||
syn keyword mfInternal tracingcommands tracingrestores tracingmacros
|
syn keyword mfInternal fillin fontmaking granularity hppp jobname month
|
||||||
syn keyword mfInternal tracingedges tracingoutput tracingonline tracingstats
|
syn keyword mfInternal pausing proofing showstopping smoothing time
|
||||||
syn keyword mfInternal pausing showstopping fontmaking proofing
|
syn keyword mfInternal tracingcapsules tracingchoices tracingcommands
|
||||||
syn keyword mfInternal turningcheck warningcheck smoothing autorounding
|
syn keyword mfInternal tracingedges tracingequations tracingmacros
|
||||||
syn keyword mfInternal granularity fillin year month day time
|
syn keyword mfInternal tracingonline tracingoutput tracingpens
|
||||||
syn keyword mfInternal charcode charext charwd charht chardp charic
|
syn keyword mfInternal tracingrestores tracingspecs tracingstats
|
||||||
syn keyword mfInternal chardx chardy designsize hppp vppp xoffset yoffset
|
syn keyword mfInternal tracingtitles turningcheck vppp warningcheck
|
||||||
syn keyword mfInternal boundarychar
|
syn keyword mfInternal xoffset year yoffset
|
||||||
|
|
||||||
" Page 212: 'pair expressions'
|
" Page 212: 'pair expressions'
|
||||||
syn keyword mfPairExp point of precontrol postcontrol penoffset rotated
|
syn keyword mfPairExp of penoffset point postcontrol precontrol rotated
|
||||||
syn keyword mfPairExp scaled shifted slanted transformed xscaled yscaled
|
syn keyword mfPairExp scaled shifted slanted transformed xscaled yscaled
|
||||||
syn keyword mfPairExp zscaled
|
syn keyword mfPairExp zscaled
|
||||||
|
|
||||||
" Page 213: 'path expressions'
|
" Page 213: 'path expressions'
|
||||||
syn keyword mfPathExp makepath reverse subpath curl tension atleast
|
syn keyword mfPathExp atleast controls curl cycle makepath reverse
|
||||||
syn keyword mfPathExp controls cycle
|
syn keyword mfPathExp subpath tension
|
||||||
|
|
||||||
" Page 214: 'pen expressions'
|
" Page 214: 'pen expressions'
|
||||||
syn keyword mfPenExp nullpen pencircle makepen
|
syn keyword mfPenExp makepen nullpen pencircle
|
||||||
|
|
||||||
" Page 214: 'picutre expressions'
|
" Page 214: 'picture expressions'
|
||||||
syn keyword mfPicExp nullpicture
|
syn keyword mfPicExp nullpicture
|
||||||
|
|
||||||
" Page 214: 'string expressions'
|
" Page 214: 'string expressions'
|
||||||
syn keyword mfStringExp jobname readstring str char decimal substring
|
syn keyword mfStringExp char decimal readstring str substring
|
||||||
|
|
||||||
" Page 217: 'commands and statements'
|
" Page 217: 'commands and statements'
|
||||||
syn keyword mfCommand end dump save interim newinternal randomseed let
|
syn keyword mfCommand addto also at batchmode contour cull delimiters
|
||||||
syn keyword mfCommand delimiters outer everyjob show showvariable showtoken
|
syn keyword mfCommand display doublepath dropping dump end errhelp
|
||||||
syn keyword mfCommand showdependencies showstats message errmessage errhelp
|
syn keyword mfCommand errmessage errorstopmode everyjob from interim
|
||||||
syn keyword mfCommand batchmode nonstopmode scrollmode errorstopmode
|
syn keyword mfCommand inwindow keeping let message newinternal
|
||||||
syn keyword mfCommand addto also contour doublepath withpen withweight cull
|
syn keyword mfCommand nonstopmode numspecial openwindow outer randomseed
|
||||||
syn keyword mfCommand keeping dropping display inwindow openwindow at from to
|
syn keyword mfCommand save scrollmode shipout show showdependencies
|
||||||
syn keyword mfCommand shipout special numspecial
|
syn keyword mfCommand showstats showtoken showvariable special to withpen
|
||||||
|
syn keyword mfCommand withweight
|
||||||
|
|
||||||
" Page 56: 'types'
|
" Page 56: 'types'
|
||||||
syn keyword mfType boolean numeric pair path pen picture string transform
|
syn keyword mfType boolean numeric pair path pen picture string
|
||||||
|
syn keyword mfType transform
|
||||||
|
|
||||||
" Page 155: 'grouping'
|
" Page 155: 'grouping'
|
||||||
syn keyword mfStatement begingroup endgroup
|
syn keyword mfStatement begingroup endgroup
|
||||||
|
|
||||||
" Page 165: 'definitions'
|
" Page 165: 'definitions'
|
||||||
syn keyword mfDefinition enddef def expr suffix text primary secondary
|
syn keyword mfDefinition def enddef expr primary primarydef secondary
|
||||||
syn keyword mfDefinition tertiary vardef primarydef secondarydef tertiarydef
|
syn keyword mfDefinition secondarydef suffix tertiary tertiarydef text
|
||||||
|
syn keyword mfDefinition vardef
|
||||||
|
|
||||||
" Page 169: 'conditions and loops'
|
" Page 169: 'conditions and loops'
|
||||||
syn keyword mfCondition if fi else elseif endfor for forsuffixes forever
|
syn keyword mfCondition else elseif endfor exitif fi for forever
|
||||||
syn keyword mfCondition step until exitif
|
syn keyword mfCondition forsuffixes if step until
|
||||||
|
|
||||||
" Other primitives listed in the index
|
" Other primitives listed in the index
|
||||||
syn keyword mfPrimitive charlist endinput expandafter extensible
|
syn keyword mfPrimitive charlist endinput expandafter extensible fontdimen
|
||||||
syn keyword mfPrimitive fontdimen headerbyte inner input intersectiontimes
|
syn keyword mfPrimitive headerbyte inner input intersectiontimes kern
|
||||||
syn keyword mfPrimitive kern ligtable quote scantokens skipto
|
syn keyword mfPrimitive ligtable quote scantokens skipto
|
||||||
|
|
||||||
|
" Implicit suffix parameters
|
||||||
|
syn match mfSuffixParam "@#\|#@\|@"
|
||||||
|
|
||||||
|
" These are just tags, but given their special status, we
|
||||||
|
" highlight them as variables
|
||||||
|
syn keyword mfVariable x y
|
||||||
|
|
||||||
" Keywords defined by plain.mf (defined on pp.262-278)
|
" Keywords defined by plain.mf (defined on pp.262-278)
|
||||||
if !exists("plain_mf_macros")
|
if get(g:, "plain_mf_macros", 1)
|
||||||
let plain_mf_macros = 1 " Set this to '0' if your source gets too colourful
|
syn keyword mfDef addto_currentpicture beginchar capsule_def
|
||||||
" metapost.vim does so to turn off Metafont macros
|
syn keyword mfDef change_width clear_pen_memory clearit clearpen
|
||||||
|
syn keyword mfDef clearxy culldraw cullit cutdraw
|
||||||
|
syn keyword mfDef define_blacker_pixels define_corrected_pixels
|
||||||
|
syn keyword mfDef define_good_x_pixels define_good_y_pixels
|
||||||
|
syn keyword mfDef define_horizontal_corrected_pixels define_pixels
|
||||||
|
syn keyword mfDef define_whole_blacker_pixels define_whole_pixels
|
||||||
|
syn keyword mfDef define_whole_vertical_blacker_pixels
|
||||||
|
syn keyword mfDef define_whole_vertical_pixels downto draw drawdot
|
||||||
|
syn keyword mfDef endchar erase exitunless fill filldraw fix_units
|
||||||
|
syn keyword mfDef flex font_coding_scheme font_extra_space
|
||||||
|
syn keyword mfDef font_identifier font_normal_shrink
|
||||||
|
syn keyword mfDef font_normal_space font_normal_stretch font_quad
|
||||||
|
syn keyword mfDef font_size font_slant font_x_height gfcorners gobble
|
||||||
|
syn keyword mfDef hide imagerules interact italcorr killtext
|
||||||
|
syn keyword mfDef loggingall lowres_fix makebox makegrid maketicks
|
||||||
|
syn keyword mfDef mode_def mode_setup nodisplays notransforms numtok
|
||||||
|
syn keyword mfDef openit penrazor pensquare penstroke pickup
|
||||||
|
syn keyword mfDef proofoffset proofrule range reflectedabout
|
||||||
|
syn keyword mfDef rotatedaround screenchars screenrule screenstrokes
|
||||||
|
syn keyword mfDef shipit showit smode stop superellipse takepower
|
||||||
|
syn keyword mfDef tracingall tracingnone undraw undrawdot unfill
|
||||||
|
syn keyword mfDef unfilldraw upto z
|
||||||
|
syn match mfDef "???"
|
||||||
|
syn keyword mfVardef bot byte ceiling counterclockwise cutoff decr dir
|
||||||
|
syn keyword mfVardef direction directionpoint grayfont hround incr
|
||||||
|
syn keyword mfVardef interpath inverse labelfont labels lft magstep
|
||||||
|
" Note: nodot is not a vardef, it is used as in makelabel.lft.nodot("5",z5)
|
||||||
|
" (METAFONT only)
|
||||||
|
syn keyword mfVardef makelabel max min nodot penlabels penpos
|
||||||
|
syn keyword mfVardef proofrulethickness round rt savepen slantfont solve
|
||||||
|
syn keyword mfVardef tensepath titlefont top unitvector vround whatever
|
||||||
|
syn match mpVardef "\<good\.\%(x\|y\|lft\|rt\|top\|bot\)\>"
|
||||||
|
syn keyword mfPrimaryDef div dotprod gobbled mod
|
||||||
|
syn keyword mfSecondaryDef intersectionpoint
|
||||||
|
syn keyword mfTertiaryDef softjoin thru
|
||||||
|
syn keyword mfNewInternal blacker currentwindow displaying eps epsilon
|
||||||
|
syn keyword mfNewInternal infinity join_radius number_of_modes o_correction
|
||||||
|
syn keyword mfNewInternal pen_bot pen_lft pen_rt pen_top pixels_per_inch
|
||||||
|
syn keyword mfNewInternal screen_cols screen_rows tolerance
|
||||||
|
" Predefined constants
|
||||||
|
syn keyword mfConstant base_name base_version blankpicture ditto down
|
||||||
|
syn keyword mfConstant fullcircle halfcircle identity left lowres origin
|
||||||
|
syn keyword mfConstant penspeck proof quartercircle right rulepen smoke
|
||||||
|
syn keyword mfConstant unitpixel unitsquare up
|
||||||
|
" Other predefined variables
|
||||||
|
syn keyword mfVariable aspect_ratio currentpen extra_beginchar
|
||||||
|
syn keyword mfVariable extra_endchar currentpen_path currentpicture
|
||||||
|
syn keyword mfVariable currenttransform d extra_setup h localfont mag mode
|
||||||
|
syn keyword mfVariable mode_name w
|
||||||
|
" let statements:
|
||||||
|
syn keyword mfnumExp abs
|
||||||
|
syn keyword mfPairExp rotatedabout
|
||||||
|
syn keyword mfCommand bye relax
|
||||||
endif
|
endif
|
||||||
if plain_mf_macros
|
|
||||||
syn keyword mfMacro abs addto_currentpicture aspect_ratio base_name
|
" By default, METAFONT loads modes.mf, too
|
||||||
syn keyword mfMacro base_version beginchar blacker blankpicture bot bye byte
|
if get(g:, "plain_mf_modes", 1)
|
||||||
syn keyword mfMacro capsule_def ceiling change_width clear_pen_memory clearit
|
syn keyword mfConstant APSSixMed AgfaFourZeroZero AgfaThreeFourZeroZero
|
||||||
syn keyword mfMacro clearpen clearxy counterclockwise culldraw cullit
|
syn keyword mfConstant AtariNineFive AtariNineSix AtariSLMEightZeroFour
|
||||||
syn keyword mfMacro currentpen currentpen_path currentpicture
|
syn keyword mfConstant AtariSMOneTwoFour CItohEightFiveOneZero
|
||||||
syn keyword mfMacro currenttransform currentwindow cutdraw cutoff d decr
|
syn keyword mfConstant CItohThreeOneZero CanonBJCSixZeroZero CanonCX
|
||||||
syn keyword mfMacro define_blacker_pixels define_corrected_pixels
|
syn keyword mfConstant CanonEX CanonLBPLX CanonLBPTen CanonSX ChelgraphIBX
|
||||||
syn keyword mfMacro define_good_x_pixels define_good_y_pixels
|
syn keyword mfConstant CompugraphicEightSixZeroZero
|
||||||
syn keyword mfMacro define_horizontal_corrected_pixels define_pixels
|
syn keyword mfConstant CompugraphicNineSixZeroZero DD DEClarge DECsmall
|
||||||
syn keyword mfMacro define_whole_blacker_pixels define_whole_pixels
|
syn keyword mfConstant DataDiscNew EightThree EpsonAction
|
||||||
syn keyword mfMacro define_whole_vertical_blacker_pixels
|
syn keyword mfConstant EpsonLQFiveZeroZeroLo EpsonLQFiveZeroZeroMed
|
||||||
syn keyword mfMacro define_whole_vertical_pixels dir direction directionpoint
|
syn keyword mfConstant EpsonMXFX EpsonSQEightSevenZero EpsonStylusPro
|
||||||
syn keyword mfMacro displaying ditto div dotprod down downto draw drawdot
|
syn keyword mfConstant EpsonStylusProHigh EpsonStylusProLow
|
||||||
syn keyword mfMacro endchar eps epsilon extra_beginchar extra_endchar
|
syn keyword mfConstant EpsonStylusProMed FourFour GThreefax HPDeskJet
|
||||||
syn keyword mfMacro extra_setup erase exitunless fill filldraw fix_units flex
|
syn keyword mfConstant HPLaserJetIIISi IBMFourTwoFiveZero IBMFourTwoOneSix
|
||||||
syn keyword mfMacro font_coding_scheme font_extra_space font_identifier
|
syn keyword mfConstant IBMFourTwoThreeZero IBMFourZeroOneNine
|
||||||
syn keyword mfMacro font_normal_shrink font_normal_space font_normal_stretch
|
syn keyword mfConstant IBMFourZeroThreeNine IBMFourZeroTwoNine
|
||||||
syn keyword mfMacro font_quad font_setup font_size font_slant font_x_height
|
syn keyword mfConstant IBMProPrinter IBMSixOneFiveFour IBMSixSixSevenZero
|
||||||
syn keyword mfMacro fullcircle generate gfcorners gobble gobbled grayfont h
|
syn keyword mfConstant IBMThreeEightOneTwo IBMThreeEightTwoZero
|
||||||
syn keyword mfMacro halfcircle hide hround identity image_rules incr infinity
|
syn keyword mfConstant IBMThreeOneNineThree IBMThreeOneSevenNine
|
||||||
syn keyword mfMacro interact interpath intersectionpoint inverse italcorr
|
syn keyword mfConstant IBMUlfHolleberg LASevenFive LNOthreR LNOthree
|
||||||
syn keyword mfMacro join_radius killtext labelfont labels left lft localfont
|
syn keyword mfConstant LNZeroOne LNZeroThree LPSFourZero LPSTwoZero
|
||||||
syn keyword mfMacro loggingall lowres lowres_fix mag magstep makebox makegrid
|
syn keyword mfConstant LexmarkFourZeroThreeNine LexmarkOptraR
|
||||||
syn keyword mfMacro makelabel maketicks max min mod mode mode_def mode_name
|
syn keyword mfConstant LexmarkOptraS LinotypeLThreeThreeZero
|
||||||
syn keyword mfMacro mode_setup nodisplays notransforms number_of_modes numtok
|
syn keyword mfConstant LinotypeOneZeroZero LinotypeOneZeroZeroLo
|
||||||
syn keyword mfMacro o_correction openit origin pen_bot pen_lft pen_rt pen_top
|
syn keyword mfConstant LinotypeThreeZeroZeroHi MacTrueSize NeXTprinter
|
||||||
syn keyword mfMacro penlabels penpos penrazor penspeck pensquare penstroke
|
syn keyword mfConstant NeXTscreen NecTwoZeroOne Newgen NineOne
|
||||||
syn keyword mfMacro pickup pixels_per_inch proof proofoffset proofrule
|
syn keyword mfConstant OCESixSevenFiveZeroPS OneTwoZero OneZeroZero
|
||||||
syn keyword mfMacro proofrulethickness quartercircle range reflectedabout
|
syn keyword mfConstant PrintwareSevenTwoZeroIQ Prism QMSOneSevenTwoFive
|
||||||
syn keyword mfMacro relax right rotatedabout rotatedaround round rt rulepen
|
syn keyword mfConstant QMSOneSevenZeroZero QMSTwoFourTwoFive RicohA
|
||||||
syn keyword mfMacro savepen screenchars screen_rows screen_cols screenrule
|
syn keyword mfConstant RicohFortyEighty RicohFourZeroEightZero RicohLP
|
||||||
syn keyword mfMacro screenstrokes shipit showit slantfont smode smoke softjoin
|
syn keyword mfConstant SparcPrinter StarNLOneZero VAXstation VTSix
|
||||||
syn keyword mfMacro solve stop superellipse takepower tensepath titlefont
|
syn keyword mfConstant VarityperFiveZeroSixZeroW
|
||||||
syn keyword mfMacro tolerance top tracingall tracingnone undraw undrawdot
|
syn keyword mfConstant VarityperFourThreeZeroZeroHi
|
||||||
syn keyword mfMacro unfill unfilldraw unitpixel unitsquare unitvector up upto
|
syn keyword mfConstant VarityperFourThreeZeroZeroLo
|
||||||
syn keyword mfMacro vround w whatever
|
syn keyword mfConstant VarityperFourTwoZeroZero VarityperSixZeroZero
|
||||||
|
syn keyword mfConstant XeroxDocutech XeroxEightSevenNineZero
|
||||||
|
syn keyword mfConstant XeroxFourZeroFiveZero XeroxNineSevenZeroZero
|
||||||
|
syn keyword mfConstant XeroxPhaserSixTwoZeroZeroDP XeroxThreeSevenZeroZero
|
||||||
|
syn keyword mfConstant Xerox_world agfafzz agfatfzz amiga aps apssixhi
|
||||||
|
syn keyword mfConstant aselect atariezf atarinf atarins atariotf bitgraph
|
||||||
|
syn keyword mfConstant bjtenex bjtzzex bjtzzl bjtzzs boise canonbjc
|
||||||
|
syn keyword mfConstant canonex canonlbp cg cgl cgnszz citohtoz corona crs
|
||||||
|
syn keyword mfConstant cthreeten cx datadisc declarge decsmall deskjet
|
||||||
|
syn keyword mfConstant docutech dover dp dpdfezzz eighthre elvira epscszz
|
||||||
|
syn keyword mfConstant epsdraft epsdrft epsdrftl epsfast epsfastl epshi
|
||||||
|
syn keyword mfConstant epslo epsmed epsmedl epson epsonact epsonfx epsonl
|
||||||
|
syn keyword mfConstant epsonlo epsonlol epsonlq epsonsq epstylus epstylwr
|
||||||
|
syn keyword mfConstant epstyplo epstypmd epstypml epstypro epswlo epswlol
|
||||||
|
syn keyword mfConstant esphi fourfour gpx gtfax gtfaxhi gtfaxl gtfaxlo
|
||||||
|
syn keyword mfConstant gtfaxlol help hifax highfax hplaser hprugged ibm_a
|
||||||
|
syn keyword mfConstant ibmd ibmega ibmegal ibmfzon ibmfztn ibmpp ibmppl
|
||||||
|
syn keyword mfConstant ibmsoff ibmteot ibmtetz ibmtont ibmtosn ibmtosnl
|
||||||
|
syn keyword mfConstant ibmvga ibx imagen imagewriter itoh itohl itohtoz
|
||||||
|
syn keyword mfConstant itohtozl iw jetiiisi kyocera laserjet laserjetfive
|
||||||
|
syn keyword mfConstant laserjetfivemp laserjetfour laserjetfourthousand
|
||||||
|
syn keyword mfConstant laserjetfourzerozerozero laserjethi laserjetlo
|
||||||
|
syn keyword mfConstant laserjettwoonezerozero
|
||||||
|
syn keyword mfConstant laserjettwoonezerozerofastres lasermaster
|
||||||
|
syn keyword mfConstant laserwriter lasf lexmarkr lexmarks lexmarku
|
||||||
|
syn keyword mfConstant linohalf linohi linolo linolttz linoone linosuper
|
||||||
|
syn keyword mfConstant linothree linothreelo linotzzh ljfive ljfivemp
|
||||||
|
syn keyword mfConstant ljfour ljfzzz ljfzzzfr ljlo ljtozz ljtozzfr lmaster
|
||||||
|
syn keyword mfConstant lnotr lnzo lps lpstz lqhires lqlores lqmed lqmedl
|
||||||
|
syn keyword mfConstant lqmedres lview lviewl lwpro macmag mactrue modes_mf
|
||||||
|
syn keyword mfConstant ncd nec nechi neclm nectzo newdd newddl nexthi
|
||||||
|
syn keyword mfConstant nextscreen nextscrn nineone nullmode ocessfz
|
||||||
|
syn keyword mfConstant okidata okidatal okifourten okifte okihi onetz
|
||||||
|
syn keyword mfConstant onezz pcprevw pcscreen phaser phaserfs phasertf
|
||||||
|
syn keyword mfConstant phasertfl phasertl pixpt printware prntware
|
||||||
|
syn keyword mfConstant proprinter qms qmsesz qmsostf qmsoszz qmstftf ricoh
|
||||||
|
syn keyword mfConstant ricoha ricohlp ricohsp sherpa sparcptr starnlt
|
||||||
|
syn keyword mfConstant starnltl styletwo stylewr stylewri stylewriter sun
|
||||||
|
syn keyword mfConstant supre swtwo toshiba ultre varityper vs vtftzz
|
||||||
|
syn keyword mfConstant vtftzzhi vtftzzlo vtfzszw vtszz xpstzz xpstzzl
|
||||||
|
syn keyword mfConstant xrxesnz xrxfzfz xrxnszz xrxtszz
|
||||||
|
syn keyword mfDef BCPL_string coding_scheme font_face_byte
|
||||||
|
syn keyword mfDef font_family landscape
|
||||||
|
syn keyword mfDef mode_extra_info mode_help mode_param
|
||||||
|
syn keyword mfNewInternal blacker_min
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Some other basic macro names, e.g., from cmbase, logo, etc.
|
" Some other basic macro names, e.g., from cmbase, logo, etc.
|
||||||
if !exists("other_mf_macros")
|
if get(g:, "other_mf_macros", 1)
|
||||||
let other_mf_macros = 1 " Set this to '0' if your code gets too colourful
|
syn keyword mfDef beginlogochar
|
||||||
" metapost.vim does so to turn off Metafont macros
|
syn keyword mfDef font_setup
|
||||||
endif
|
syn keyword mfPrimitive generate
|
||||||
if other_mf_macros
|
|
||||||
syn keyword mfMacro beginlogochar
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Numeric tokens
|
" Numeric tokens
|
||||||
@@ -134,51 +240,56 @@ syn match mfNumeric "[-]\=\d\+"
|
|||||||
syn match mfNumeric "[-]\=\.\d\+"
|
syn match mfNumeric "[-]\=\.\d\+"
|
||||||
syn match mfNumeric "[-]\=\d\+\.\d\+"
|
syn match mfNumeric "[-]\=\d\+\.\d\+"
|
||||||
|
|
||||||
" Metafont lengths
|
" METAFONT lengths
|
||||||
syn match mfLength "\<\(bp\|cc\|cm\|dd\|in\|mm\|pc\|pt\)\>"
|
syn match mfLength "\<\(bp\|cc\|cm\|dd\|in\|mm\|pc\|pt\)\>"
|
||||||
syn match mfLength "\<[-]\=\d\+\(bp\|cc\|cm\|dd\|in\|mm\|pc\|pt\)\#\=\>"
|
syn match mfLength "[-]\=\d\+\(bp\|cc\|cm\|dd\|in\|mm\|pc\|pt\)\#\="
|
||||||
syn match mfLength "\<[-]\=\.\d\+\(bp\|cc\|cm\|dd\|in\|mm\|pc\|pt\)\#\=\>"
|
syn match mfLength "[-]\=\.\d\+\(bp\|cc\|cm\|dd\|in\|mm\|pc\|pt\)\#\="
|
||||||
syn match mfLength "\<[-]\=\d\+\.\d\+\(bp\|cc\|cm\|dd\|in\|mm\|pc\|pt\)\#\=\>"
|
syn match mfLength "[-]\=\d\+\.\d\+\(bp\|cc\|cm\|dd\|in\|mm\|pc\|pt\)\#\="
|
||||||
|
|
||||||
" Metafont coordinates and points
|
|
||||||
syn match mfCoord "\<[xy]\d\+\>"
|
|
||||||
syn match mfPoint "\<z\d\+\>"
|
|
||||||
|
|
||||||
" String constants
|
" String constants
|
||||||
syn region mfString start=+"+ end=+"+
|
syn match mfOpenString /"[^"]*/
|
||||||
|
syn region mfString oneline keepend start=+"+ end=+"+
|
||||||
|
|
||||||
" Comments:
|
" Comments:
|
||||||
syn match mfComment "%.*$"
|
syn keyword mfTodoComment contained TODO FIXME XXX DEBUG NOTE
|
||||||
|
syn match mfComment "%.*$" contains=mfTodoComment,@Spell
|
||||||
|
|
||||||
" synchronizing
|
" synchronizing
|
||||||
syn sync maxlines=50
|
syn sync maxlines=50
|
||||||
|
|
||||||
" Define the default highlighting
|
" Define the default highlighting
|
||||||
" Only when an item doesn't have highlighting yet
|
|
||||||
|
|
||||||
hi def link mfBoolExp Statement
|
hi def link mfBoolExp Statement
|
||||||
hi def link mfNumExp Statement
|
hi def link mfNumExp Statement
|
||||||
hi def link mfInternal Identifier
|
|
||||||
hi def link mfPairExp Statement
|
hi def link mfPairExp Statement
|
||||||
hi def link mfPathExp Statement
|
hi def link mfPathExp Statement
|
||||||
hi def link mfPenExp Statement
|
hi def link mfPenExp Statement
|
||||||
hi def link mfPicExp Statement
|
hi def link mfPicExp Statement
|
||||||
hi def link mfStringExp Statement
|
hi def link mfStringExp Statement
|
||||||
|
hi def link mfInternal Identifier
|
||||||
hi def link mfCommand Statement
|
hi def link mfCommand Statement
|
||||||
hi def link mfType Type
|
hi def link mfType Type
|
||||||
hi def link mfStatement Statement
|
hi def link mfStatement Statement
|
||||||
hi def link mfDefinition Statement
|
hi def link mfDefinition Statement
|
||||||
hi def link mfCondition Conditional
|
hi def link mfCondition Conditional
|
||||||
hi def link mfPrimitive Statement
|
hi def link mfPrimitive Statement
|
||||||
hi def link mfMacro Macro
|
hi def link mfDef Function
|
||||||
|
hi def link mfVardef mfDef
|
||||||
|
hi def link mfPrimaryDef mfDef
|
||||||
|
hi def link mfSecondaryDef mfDef
|
||||||
|
hi def link mfTertiaryDef mfDef
|
||||||
hi def link mfCoord Identifier
|
hi def link mfCoord Identifier
|
||||||
hi def link mfPoint Identifier
|
hi def link mfPoint Identifier
|
||||||
hi def link mfNumeric Number
|
hi def link mfNumeric Number
|
||||||
hi def link mfLength Number
|
hi def link mfLength Number
|
||||||
hi def link mfComment Comment
|
hi def link mfComment Comment
|
||||||
hi def link mfString String
|
hi def link mfString String
|
||||||
|
hi def link mfOpenString Todo
|
||||||
|
hi def link mfSuffixParam Label
|
||||||
|
hi def link mfNewInternal mfInternal
|
||||||
|
hi def link mfVariable Identifier
|
||||||
|
hi def link mfConstant Constant
|
||||||
|
hi def link mfTodoComment Todo
|
||||||
|
|
||||||
let b:current_syntax = "mf"
|
let b:current_syntax = "mf"
|
||||||
|
|
||||||
" vim: ts=8
|
" vim:sw=2
|
||||||
|
|||||||
@@ -1,115 +1,769 @@
|
|||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: MetaPost
|
" Language: MetaPost
|
||||||
" Maintainer: Andreas Scherer <andreas.scherer@pobox.com>
|
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||||
" Last Change: April 30, 2001
|
" Former Maintainers: Andreas Scherer <andreas.scherer@pobox.com>
|
||||||
|
" Last Change: 2016 Oct 14
|
||||||
|
|
||||||
" quit when a syntax file was already loaded
|
|
||||||
if exists("b:current_syntax")
|
if exists("b:current_syntax")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let plain_mf_macros = 0 " plain.mf has no special meaning for MetaPost
|
let s:cpo_sav = &cpo
|
||||||
let other_mf_macros = 0 " cmbase.mf, logo.mf, ... neither
|
set cpo&vim
|
||||||
|
|
||||||
" Read the Metafont syntax to start with
|
if exists("g:plain_mf_macros")
|
||||||
|
let s:plain_mf_macros = g:plain_mf_macros
|
||||||
|
endif
|
||||||
|
if exists("g:plain_mf_modes")
|
||||||
|
let s:plain_mf_modes = g:plain_mf_modes
|
||||||
|
endif
|
||||||
|
if exists("g:other_mf_macros")
|
||||||
|
let s:other_mf_macros = g:other_mf_macros
|
||||||
|
endif
|
||||||
|
|
||||||
|
let g:plain_mf_macros = 0 " plain.mf has no special meaning for MetaPost
|
||||||
|
let g:plain_mf_modes = 0 " No METAFONT modes
|
||||||
|
let g:other_mf_macros = 0 " cmbase.mf, logo.mf, ... neither
|
||||||
|
|
||||||
|
" Read the METAFONT syntax to start with
|
||||||
runtime! syntax/mf.vim
|
runtime! syntax/mf.vim
|
||||||
|
unlet b:current_syntax " Necessary for syn include below
|
||||||
|
|
||||||
" MetaPost has TeX inserts for typeset labels
|
" Restore the value of existing global variables
|
||||||
" verbatimtex, btex, and etex will be treated as keywords
|
if exists("s:plain_mf_macros")
|
||||||
syn match mpTeXbegin "\(verbatimtex\|btex\)"
|
let g:plain_mf_macros = s:plain_mf_macros
|
||||||
syn match mpTeXend "etex"
|
else
|
||||||
syn region mpTeXinsert start="\(verbatimtex\|btex\)"hs=e+1 end="etex"he=s-1 contains=mpTeXbegin,mpTeXend keepend
|
unlet g:plain_mf_macros
|
||||||
|
endif
|
||||||
|
if exists("s:plain_mf_modes")
|
||||||
|
let g:plain_mf_modes = s:plain_mf_modes
|
||||||
|
else
|
||||||
|
unlet g:plain_mf_modes
|
||||||
|
endif
|
||||||
|
if exists("s:other_mf_macros")
|
||||||
|
let g:other_mf_macros = s:other_mf_macros
|
||||||
|
else
|
||||||
|
unlet g:other_mf_macros
|
||||||
|
endif
|
||||||
|
|
||||||
" MetaPost primitives not found in Metafont
|
" Use TeX highlighting inside verbatimtex/btex... etex
|
||||||
syn keyword mpInternal bluepart clip color dashed fontsize greenpart infont
|
syn include @MPTeX syntax/tex.vim
|
||||||
syn keyword mpInternal linecap linejoin llcorner lrcorner miterlimit mpxbreak
|
unlet b:current_syntax
|
||||||
syn keyword mpInternal prologues redpart setbounds tracinglostchars
|
" These are defined as keywords rather than using matchgroup
|
||||||
syn keyword mpInternal truecorners ulcorner urcorner withcolor
|
" in order to make them available to syntaxcomplete.
|
||||||
|
syn keyword mpTeXdelim btex etex verbatimtex contained
|
||||||
|
syn region mpTeXinsert
|
||||||
|
\ start=/\<verbatimtex\>\|\<btex\>/rs=e+1
|
||||||
|
\ end=/\<etex\>/re=s-1 keepend
|
||||||
|
\ contains=@MPTeX,mpTeXdelim
|
||||||
|
|
||||||
" Metafont primitives not found in MetaPost
|
" iskeyword must be set after the syn include above, because tex.vim sets `syn
|
||||||
syn keyword notDefined autorounding chardx chardy fillin granularity hppp
|
" iskeyword`. Note that keywords do not contain numbers (numbers are
|
||||||
|
" subscripts)
|
||||||
|
syntax iskeyword @,_
|
||||||
|
|
||||||
|
" MetaPost primitives not found in METAFONT
|
||||||
|
syn keyword mpBoolExp bounded clipped filled stroked textual arclength
|
||||||
|
syn keyword mpNumExp arctime blackpart bluepart colormodel cyanpart
|
||||||
|
syn keyword mpNumExp fontsize greenpart greypart magentapart redpart
|
||||||
|
syn keyword mpPairExp yellowpart llcorner lrcorner ulcorner urcorner
|
||||||
|
" envelope is seemingly undocumented, but it exists since mpost 1.003.
|
||||||
|
" The syntax is: envelope <polygonal pen> of <path primary>. For example,
|
||||||
|
" path p;
|
||||||
|
" p := envelope pensquare of (up--left);
|
||||||
|
" (Thanks to Daniel H. Luecking for the example!)
|
||||||
|
syn keyword mpPathExp envelope pathpart
|
||||||
|
syn keyword mpPenExp penpart
|
||||||
|
syn keyword mpPicExp dashpart glyph infont
|
||||||
|
syn keyword mpStringExp fontpart readfrom textpart
|
||||||
|
syn keyword mpType cmykcolor color rgbcolor
|
||||||
|
" Other MetaPost primitives listed in the manual
|
||||||
|
syn keyword mpPrimitive mpxbreak within
|
||||||
|
" Internal quantities not found in METAFONT
|
||||||
|
" (Table 6 in MetaPost: A User's Manual)
|
||||||
|
syn keyword mpInternal defaultcolormodel hour minute linecap linejoin
|
||||||
|
syn keyword mpInternal miterlimit mpprocset mpversion numberprecision
|
||||||
|
syn keyword mpInternal numbersystem outputfilename outputformat
|
||||||
|
syn keyword mpInternal outputformatoptions outputtemplate prologues
|
||||||
|
syn keyword mpInternal restoreclipcolor tracinglostchars troffmode
|
||||||
|
syn keyword mpInternal truecorners
|
||||||
|
" List of commands not found in METAFONT (from MetaPost: A User's Manual)
|
||||||
|
syn keyword mpCommand clip closefrom dashed filenametemplate fontmapfile
|
||||||
|
syn keyword mpCommand fontmapline setbounds withcmykcolor withcolor
|
||||||
|
syn keyword mpCommand withgreyscale withoutcolor withpostscript
|
||||||
|
syn keyword mpCommand withprescript withrgbcolor write
|
||||||
|
" METAFONT internal variables not found in MetaPost
|
||||||
|
syn keyword notDefined autorounding chardx chardy fillin granularity
|
||||||
syn keyword notDefined proofing smoothing tracingedges tracingpens
|
syn keyword notDefined proofing smoothing tracingedges tracingpens
|
||||||
syn keyword notDefined turningcheck vppp xoffset yoffset
|
syn keyword notDefined turningcheck xoffset yoffset
|
||||||
|
" Suffix defined only in METAFONT:
|
||||||
|
syn keyword notDefined nodot
|
||||||
|
" Other not implemented primitives (see MetaPost: A User's Manual, §C.1)
|
||||||
|
syn keyword notDefined cull display openwindow numspecial totalweight
|
||||||
|
syn keyword notDefined withweight
|
||||||
|
|
||||||
" Keywords defined by plain.mp
|
" Keywords defined by plain.mp
|
||||||
if !exists("plain_mp_macros")
|
if get(g:, "plain_mp_macros", 1) || get(g:, "mp_metafun_macros", 0)
|
||||||
let plain_mp_macros = 1 " Set this to '0' if your source gets too colourful
|
syn keyword mpDef beginfig clear_pen_memory clearit clearpen clearpen
|
||||||
endif
|
syn keyword mpDef clearxy colorpart cutdraw downto draw drawarrow
|
||||||
if plain_mp_macros
|
syn keyword mpDef drawdblarrow drawdot drawoptions endfig erase
|
||||||
syn keyword mpMacro ahangle ahlength background bbox bboxmargin beginfig
|
syn keyword mpDef exitunless fill filldraw flex gobble hide interact
|
||||||
syn keyword mpMacro beveled black blue buildcycle butt center cutafter
|
syn keyword mpDef label loggingall makelabel numtok penstroke pickup
|
||||||
syn keyword mpMacro cutbefore cuttings dashpattern defaultfont defaultpen
|
syn keyword mpDef range reflectedabout rotatedaround shipit
|
||||||
syn keyword mpMacro defaultscale dotlabel dotlabels drawarrow drawdblarrow
|
syn keyword mpDef stop superellipse takepower tracingall tracingnone
|
||||||
syn keyword mpMacro drawoptions endfig evenly extra_beginfig extra_endfig
|
syn keyword mpDef undraw undrawdot unfill unfilldraw upto
|
||||||
syn keyword mpMacro green label labeloffset mitered red rounded squared
|
syn match mpDef "???"
|
||||||
syn keyword mpMacro thelabel white base_name base_version
|
syn keyword mpVardef arrowhead bbox bot buildcycle byte ceiling center
|
||||||
syn keyword mpMacro upto downto exitunless relax gobble gobbled
|
syn keyword mpVardef counterclockwise decr dir direction directionpoint
|
||||||
syn keyword mpMacro interact loggingall tracingall tracingnone
|
syn keyword mpVardef dotlabel dotlabels image incr interpath inverse
|
||||||
syn keyword mpMacro eps epsilon infinity right left up down origin
|
syn keyword mpVardef labels lft magstep max min penlabels penpos round
|
||||||
syn keyword mpMacro quartercircle halfcircle fullcircle unitsquare identity
|
syn keyword mpVardef rt savepen solve tensepath thelabel top unitvector
|
||||||
syn keyword mpMacro blankpicture withdots ditto EOF pensquare penrazor
|
syn keyword mpVardef whatever z
|
||||||
syn keyword mpMacro penspeck whatever abs round ceiling byte dir unitvector
|
syn keyword mpPrimaryDef div dotprod gobbled mod
|
||||||
syn keyword mpMacro inverse counterclockwise tensepath mod div dotprod
|
syn keyword mpSecondaryDef intersectionpoint
|
||||||
syn keyword mpMacro takepower direction directionpoint intersectionpoint
|
syn keyword mpTertiaryDef cutafter cutbefore softjoin thru
|
||||||
syn keyword mpMacro softjoin incr decr reflectedabout rotatedaround
|
syn keyword mpNewInternal ahangle ahlength bboxmargin beveled butt defaultpen
|
||||||
syn keyword mpMacro rotatedabout min max flex superellipse interpath
|
syn keyword mpNewInternal defaultscale dotlabeldiam eps epsilon infinity
|
||||||
syn keyword mpMacro magstep currentpen currentpen_path currentpicture
|
syn keyword mpNewInternal join_radius labeloffset mitered pen_bot pen_lft
|
||||||
syn keyword mpMacro fill draw filldraw drawdot unfill undraw unfilldraw
|
syn keyword mpNewInternal pen_rt pen_top rounded squared tolerance
|
||||||
syn keyword mpMacro undrawdot erase cutdraw image pickup numeric_pickup
|
" Predefined constants
|
||||||
syn keyword mpMacro pen_lft pen_rt pen_top pen_bot savepen clearpen
|
syn keyword mpConstant EOF background base_name base_version black
|
||||||
syn keyword mpMacro clear_pen_memory lft rt top bot ulft urt llft lrt
|
syn keyword mpConstant blankpicture blue ditto down evenly fullcircle
|
||||||
syn keyword mpMacro penpos penstroke arrowhead makelabel labels penlabel
|
syn keyword mpConstant green halfcircle identity left origin penrazor
|
||||||
syn keyword mpMacro range numtok thru clearxy clearit clearpen pickup
|
syn keyword mpConstant penspeck pensquare quartercircle red right
|
||||||
syn keyword mpMacro shipit bye hide stop solve
|
syn keyword mpConstant unitsquare up white withdots
|
||||||
|
" Other predefined variables
|
||||||
|
syn keyword mpVariable currentpen currentpen_path currentpicture cuttings
|
||||||
|
syn keyword mpVariable defaultfont extra_beginfig extra_endfig
|
||||||
|
syn match mpVariable /\<\%(laboff\|labxf\|labyf\)\>/
|
||||||
|
syn match mpVariable /\<\%(laboff\|labxf\|labyf\)\.\%(lft\|rt\|bot\|top\|ulft\|urt\|llft\|lrt\)\>/
|
||||||
|
" let statements:
|
||||||
|
syn keyword mpnumExp abs
|
||||||
|
syn keyword mpDef rotatedabout
|
||||||
|
syn keyword mpCommand bye relax
|
||||||
|
" on and off are not technically keywords, but it is nice to highlight them
|
||||||
|
" inside dashpattern().
|
||||||
|
syn keyword mpOnOff off on contained
|
||||||
|
syn keyword mpDash dashpattern contained
|
||||||
|
syn region mpDashPattern
|
||||||
|
\ start="dashpattern\s*"
|
||||||
|
\ end=")"he=e-1
|
||||||
|
\ contains=mfNumeric,mfLength,mpOnOff,mpDash
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Keywords defined by mfplain.mp
|
" Keywords defined by mfplain.mp
|
||||||
if !exists("mfplain_mp_macros")
|
if get(g:, "mfplain_mp_macros", 0)
|
||||||
let mfplain_mp_macros = 0 " Set this to '1' to include these macro names
|
syn keyword mpDef beginchar capsule_def change_width
|
||||||
endif
|
syn keyword mpDef define_blacker_pixels define_corrected_pixels
|
||||||
if mfplain_mp_macros
|
syn keyword mpDef define_good_x_pixels define_good_y_pixels
|
||||||
syn keyword mpMacro beginchar blacker capsule_def change_width
|
syn keyword mpDef define_horizontal_corrected_pixels define_pixels
|
||||||
syn keyword mpMacro define_blacker_pixels define_corrected_pixels
|
syn keyword mpDef define_whole_blacker_pixels define_whole_pixels
|
||||||
syn keyword mpMacro define_good_x_pixels define_good_y_pixels
|
syn keyword mpDef define_whole_vertical_blacker_pixels
|
||||||
syn keyword mpMacro define_horizontal_corrected_pixels
|
syn keyword mpDef define_whole_vertical_pixels endchar
|
||||||
syn keyword mpMacro define_pixels define_whole_blacker_pixels
|
syn keyword mpDef font_coding_scheme font_extra_space font_identifier
|
||||||
syn keyword mpMacro define_whole_vertical_blacker_pixels
|
syn keyword mpDef font_normal_shrink font_normal_space
|
||||||
syn keyword mpMacro define_whole_vertical_pixels endchar
|
syn keyword mpDef font_normal_stretch font_quad font_size font_slant
|
||||||
syn keyword mpMacro extra_beginchar extra_endchar extra_setup
|
syn keyword mpDef font_x_height italcorr labelfont lowres_fix makebox
|
||||||
syn keyword mpMacro font_coding_scheme font_extra_space font_identifier
|
syn keyword mpDef makegrid maketicks mode_def mode_setup proofrule
|
||||||
syn keyword mpMacro font_normal_shrink font_normal_space
|
syn keyword mpDef smode
|
||||||
syn keyword mpMacro font_normal_stretch font_quad font_size
|
syn keyword mpVardef hround proofrulethickness vround
|
||||||
syn keyword mpMacro font_slant font_x_height italcorr labelfont
|
syn keyword mpNewInternal blacker o_correction
|
||||||
syn keyword mpMacro makebox makegrid maketicks mode_def mode_setup
|
syn keyword mpVariable extra_beginchar extra_endchar extra_setup rulepen
|
||||||
syn keyword mpMacro o_correction proofrule proofrulethickness rulepen smode
|
|
||||||
|
|
||||||
" plus some no-ops, also from mfplain.mp
|
" plus some no-ops, also from mfplain.mp
|
||||||
syn keyword mpMacro cullit currenttransform gfcorners grayfont hround
|
syn keyword mpDef cull cullit gfcorners imagerules nodisplays
|
||||||
syn keyword mpMacro imagerules lowres_fix nodisplays notransforms openit
|
syn keyword mpDef notransforms openit proofoffset screenchars
|
||||||
syn keyword mpMacro proofoffset screenchars screenrule screenstrokes
|
syn keyword mpDef screenrule screenstrokes showit
|
||||||
syn keyword mpMacro showit slantfont titlefont unitpixel vround
|
syn keyword mpVardef grayfont slantfont titlefont
|
||||||
|
syn keyword mpVariable currenttransform
|
||||||
|
syn keyword mpConstant unitpixel
|
||||||
|
" These are not listed in the MetaPost manual, and some are ignored by
|
||||||
|
" MetaPost, but are nonetheless defined in mfplain.mp
|
||||||
|
syn keyword mpDef killtext
|
||||||
|
syn match mpVardef "\<good\.\%(x\|y\|lft\|rt\|top\|bot\)\>"
|
||||||
|
syn keyword mpVariable aspect_ratio localfont mag mode mode_name
|
||||||
|
syn keyword mpVariable proofcolor
|
||||||
|
syn keyword mpConstant lowres proof smoke
|
||||||
|
syn keyword mpNewInternal autorounding bp_per_pixel granularity
|
||||||
|
syn keyword mpNewInternal number_of_modes proofing smoothing turningcheck
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Keywords defined by other macro packages, e.g., boxes.mp
|
" Keywords defined by all base macro packages:
|
||||||
if !exists("other_mp_macros")
|
" - (r)boxes.mp
|
||||||
let other_mp_macros = 1 " Set this to '0' if your source gets too colourful
|
" - format.mp
|
||||||
endif
|
" - graph.mp
|
||||||
if other_mp_macros
|
" - marith.mp
|
||||||
syn keyword mpMacro circmargin defaultdx defaultdy
|
" - sarith.mp
|
||||||
syn keyword mpMacro boxit boxjoin bpath circleit drawboxed drawboxes
|
" - string.mp
|
||||||
syn keyword mpMacro drawunboxed fixpos fixsize pic
|
" - TEX.mp
|
||||||
|
if get(g:, "other_mp_macros", 1)
|
||||||
|
" boxes and rboxes
|
||||||
|
syn keyword mpDef boxjoin drawboxed drawboxes drawunboxed
|
||||||
|
syn keyword mpNewInternal circmargin defaultdx defaultdy rbox_radius
|
||||||
|
syn keyword mpVardef boxit bpath circleit fixpos fixsize generic_declare
|
||||||
|
syn keyword mpVardef generic_redeclare generisize pic rboxit str_prefix
|
||||||
|
" format
|
||||||
|
syn keyword mpVardef Mformat format init_numbers roundd
|
||||||
|
syn keyword mpVariable Fe_base Fe_plus
|
||||||
|
syn keyword mpConstant Ten_to
|
||||||
|
" graph
|
||||||
|
syn keyword mpDef Gfor Gxyscale OUT auto begingraph endgraph gdata
|
||||||
|
syn keyword mpDef gdraw gdrawarrow gdrawdblarrow gfill plot
|
||||||
|
syn keyword mpVardef augment autogrid frame gdotlabel glabel grid itick
|
||||||
|
syn keyword mpVardef otick
|
||||||
|
syn keyword mpVardef Mreadpath setcoords setrange
|
||||||
|
syn keyword mpNewInternal Gmarks Gminlog Gpaths linear log
|
||||||
|
syn keyword mpVariable Autoform Gemarks Glmarks Gumarks
|
||||||
|
syn keyword mpConstant Gtemplate
|
||||||
|
syn match mpVariable /Gmargin\.\%(low\|high\)/
|
||||||
|
" marith
|
||||||
|
syn keyword mpVardef Mabs Meform Mexp Mexp_str Mlog Mlog_Str Mlog_str
|
||||||
|
syn keyword mpPrimaryDef Mdiv Mmul
|
||||||
|
syn keyword mpSecondaryDef Madd Msub
|
||||||
|
syn keyword mpTertiaryDef Mleq
|
||||||
|
syn keyword mpNewInternal Mten Mzero
|
||||||
|
" sarith
|
||||||
|
syn keyword mpVardef Sabs Scvnum
|
||||||
|
syn keyword mpPrimaryDef Sdiv Smul
|
||||||
|
syn keyword mpSecondaryDef Sadd Ssub
|
||||||
|
syn keyword mpTertiaryDef Sleq Sneq
|
||||||
|
" string
|
||||||
|
syn keyword mpVardef cspan isdigit loptok
|
||||||
|
" TEX
|
||||||
|
syn keyword mpVardef TEX TEXPOST TEXPRE
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" Up to date as of 23-Sep-2016.
|
||||||
|
if get(b:, 'mp_metafun_macros', get(g:, 'mp_metafun_macros', 0))
|
||||||
|
" Highlight TeX keywords (for use in ConTeXt documents)
|
||||||
|
syn match mpTeXKeyword '\\[a-zA-Z@]\+'
|
||||||
|
|
||||||
|
" These keywords have been added manually.
|
||||||
|
syn keyword mpPrimitive runscript
|
||||||
|
|
||||||
|
" The following MetaFun keywords have been extracted automatically from
|
||||||
|
" ConTeXt source code. They include all "public" macros (where a macro is
|
||||||
|
" considered public if and only if it does not start with _, mfun_, mlib_, or
|
||||||
|
" do_, and it does not end with _), all "public" unsaved variables, and all
|
||||||
|
" `let` statements.
|
||||||
|
|
||||||
|
" mp-abck.mpiv
|
||||||
|
syn keyword mpDef abck_grid_line anchor_box box_found boxfilloptions
|
||||||
|
syn keyword mpDef boxgridoptions boxlineoptions draw_multi_pars
|
||||||
|
syn keyword mpDef draw_multi_side draw_multi_side_path freeze_box
|
||||||
|
syn keyword mpDef initialize_box initialize_box_pos
|
||||||
|
syn keyword mpDef multi_side_draw_options show_multi_kind
|
||||||
|
syn keyword mpDef show_multi_pars
|
||||||
|
syn keyword mpVardef abck_baseline_grid abck_draw_path abck_graphic_grid
|
||||||
|
syn keyword mpVariable boxdashtype boxfilloffset boxfilltype
|
||||||
|
syn keyword mpVariable boxgriddirection boxgriddistance boxgridshift
|
||||||
|
syn keyword mpVariable boxgridtype boxgridwidth boxlineoffset
|
||||||
|
syn keyword mpVariable boxlineradius boxlinetype boxlinewidth multikind
|
||||||
|
syn keyword mpConstant context_abck
|
||||||
|
" mp-apos.mpiv
|
||||||
|
syn keyword mpDef anch_sidebars_draw boxfilloptions boxlineoptions
|
||||||
|
syn keyword mpDef connect_positions
|
||||||
|
syn keyword mpConstant context_apos
|
||||||
|
" mp-asnc.mpiv
|
||||||
|
syn keyword mpDef FlushSyncTasks ProcessSyncTask ResetSyncTasks
|
||||||
|
syn keyword mpDef SetSyncColor SetSyncThreshold SyncTask
|
||||||
|
syn keyword mpVardef PrepareSyncTasks SyncBox TheSyncColor
|
||||||
|
syn keyword mpVardef TheSyncThreshold
|
||||||
|
syn keyword mpVariable CurrentSyncClass NOfSyncPaths SyncColor
|
||||||
|
syn keyword mpVariable SyncLeftOffset SyncPaths SyncTasks SyncThreshold
|
||||||
|
syn keyword mpVariable SyncThresholdMethod SyncWidth
|
||||||
|
syn keyword mpConstant context_asnc
|
||||||
|
" mp-back.mpiv
|
||||||
|
syn keyword mpDef some_double_back some_hash
|
||||||
|
syn keyword mpVariable back_nillcolor
|
||||||
|
syn keyword mpConstant context_back
|
||||||
|
" mp-bare.mpiv
|
||||||
|
syn keyword mpVardef colordecimals rawtextext
|
||||||
|
syn keyword mpPrimaryDef infont
|
||||||
|
syn keyword mpConstant context_bare
|
||||||
|
" mp-base.mpiv
|
||||||
|
" This is essentially plain.mp with only a few keywords added
|
||||||
|
syn keyword mpNumExp graypart
|
||||||
|
syn keyword mpType graycolor greycolor
|
||||||
|
syn keyword mpConstant cyan magenta yellow
|
||||||
|
" mp-butt.mpiv
|
||||||
|
syn keyword mpDef predefinedbutton some_button
|
||||||
|
syn keyword mpConstant context_butt
|
||||||
|
" mp-char.mpiv
|
||||||
|
syn keyword mpDef flow_begin_chart flow_begin_sub_chart
|
||||||
|
syn keyword mpDef flow_chart_draw_comment flow_chart_draw_exit
|
||||||
|
syn keyword mpDef flow_chart_draw_label flow_chart_draw_text
|
||||||
|
syn keyword mpDef flow_clip_chart flow_collapse_points
|
||||||
|
syn keyword mpDef flow_connect_bottom_bottom flow_connect_bottom_left
|
||||||
|
syn keyword mpDef flow_connect_bottom_right flow_connect_bottom_top
|
||||||
|
syn keyword mpDef flow_connect_left_bottom flow_connect_left_left
|
||||||
|
syn keyword mpDef flow_connect_left_right flow_connect_left_top
|
||||||
|
syn keyword mpDef flow_connect_right_bottom flow_connect_right_left
|
||||||
|
syn keyword mpDef flow_connect_right_right flow_connect_right_top
|
||||||
|
syn keyword mpDef flow_connect_top_bottom flow_connect_top_left
|
||||||
|
syn keyword mpDef flow_connect_top_right flow_connect_top_top
|
||||||
|
syn keyword mpDef flow_draw_connection flow_draw_connection_point
|
||||||
|
syn keyword mpDef flow_draw_midpoint flow_draw_shape
|
||||||
|
syn keyword mpDef flow_draw_test_area flow_draw_test_shape
|
||||||
|
syn keyword mpDef flow_draw_test_shapes flow_end_chart
|
||||||
|
syn keyword mpDef flow_end_sub_chart flow_flush_connections
|
||||||
|
syn keyword mpDef flow_flush_picture flow_flush_pictures
|
||||||
|
syn keyword mpDef flow_flush_shape flow_flush_shapes
|
||||||
|
syn keyword mpDef flow_initialize_grid flow_new_chart flow_new_shape
|
||||||
|
syn keyword mpDef flow_scaled_to_grid flow_show_connection
|
||||||
|
syn keyword mpDef flow_show_connections flow_show_shapes
|
||||||
|
syn keyword mpDef flow_xy_offset flow_y_pos
|
||||||
|
syn keyword mpVardef flow_connection_path flow_down_on_grid
|
||||||
|
syn keyword mpVardef flow_down_to_grid flow_i_point flow_left_on_grid
|
||||||
|
syn keyword mpVardef flow_left_to_grid flow_offset
|
||||||
|
syn keyword mpVardef flow_points_initialized flow_right_on_grid
|
||||||
|
syn keyword mpVardef flow_right_to_grid flow_smooth_connection
|
||||||
|
syn keyword mpVardef flow_trim_points flow_trimmed flow_up_on_grid
|
||||||
|
syn keyword mpVardef flow_up_to_grid flow_valid_connection
|
||||||
|
syn keyword mpVardef flow_x_on_grid flow_xy_bottom flow_xy_left
|
||||||
|
syn keyword mpVardef flow_xy_on_grid flow_xy_right flow_xy_top
|
||||||
|
syn keyword mpVardef flow_y_on_grid
|
||||||
|
syn keyword mpVariable flow_arrowtip flow_chart_background_color
|
||||||
|
syn keyword mpVariable flow_chart_offset flow_comment_offset
|
||||||
|
syn keyword mpVariable flow_connection_arrow_size
|
||||||
|
syn keyword mpVariable flow_connection_dash_size
|
||||||
|
syn keyword mpVariable flow_connection_line_color
|
||||||
|
syn keyword mpVariable flow_connection_line_width
|
||||||
|
syn keyword mpVariable flow_connection_smooth_size flow_connections
|
||||||
|
syn keyword mpVariable flow_cpath flow_dash_pattern flow_dashline
|
||||||
|
syn keyword mpVariable flow_exit_offset flow_forcevalid flow_grid_height
|
||||||
|
syn keyword mpVariable flow_grid_width flow_label_offset flow_max_x
|
||||||
|
syn keyword mpVariable flow_max_y flow_peepshape flow_reverse_connection
|
||||||
|
syn keyword mpVariable flow_reverse_y flow_shape_action flow_shape_archive
|
||||||
|
syn keyword mpVariable flow_shape_decision flow_shape_down
|
||||||
|
syn keyword mpVariable flow_shape_fill_color flow_shape_height
|
||||||
|
syn keyword mpVariable flow_shape_left flow_shape_line_color
|
||||||
|
syn keyword mpVariable flow_shape_line_width flow_shape_loop
|
||||||
|
syn keyword mpVariable flow_shape_multidocument flow_shape_node
|
||||||
|
syn keyword mpVariable flow_shape_procedure flow_shape_product
|
||||||
|
syn keyword mpVariable flow_shape_right flow_shape_singledocument
|
||||||
|
syn keyword mpVariable flow_shape_subprocedure flow_shape_up
|
||||||
|
syn keyword mpVariable flow_shape_wait flow_shape_width
|
||||||
|
syn keyword mpVariable flow_show_all_points flow_show_con_points
|
||||||
|
syn keyword mpVariable flow_show_mid_points flow_showcrossing flow_smooth
|
||||||
|
syn keyword mpVariable flow_touchshape flow_xypoint flow_zfactor
|
||||||
|
syn keyword mpConstant context_flow
|
||||||
|
" mp-chem.mpiv
|
||||||
|
syn keyword mpDef chem_init_all chem_reset chem_start_structure
|
||||||
|
syn keyword mpDef chem_transformed
|
||||||
|
syn keyword mpVardef chem_ad chem_adj chem_align chem_arrow chem_au
|
||||||
|
syn keyword mpVardef chem_b chem_bb chem_bd chem_bw chem_c chem_cc
|
||||||
|
syn keyword mpVardef chem_ccd chem_cd chem_crz chem_cz chem_dash chem_db
|
||||||
|
syn keyword mpVardef chem_diff chem_dir chem_do chem_dr chem_draw
|
||||||
|
syn keyword mpVardef chem_drawarrow chem_eb chem_ed chem_ep chem_er
|
||||||
|
syn keyword mpVardef chem_es chem_et chem_fill chem_hb chem_init_some
|
||||||
|
syn keyword mpVardef chem_label chem_ldb chem_ldd chem_line chem_lr
|
||||||
|
syn keyword mpVardef chem_lrb chem_lrbd chem_lrd chem_lrh chem_lrn
|
||||||
|
syn keyword mpVardef chem_lrt chem_lrz chem_lsr chem_lsub chem_mark
|
||||||
|
syn keyword mpVardef chem_marked chem_mid chem_mids chem_midz chem_mir
|
||||||
|
syn keyword mpVardef chem_mov chem_move chem_number chem_oe chem_off
|
||||||
|
syn keyword mpVardef chem_pb chem_pe chem_r chem_r_fragment chem_rb
|
||||||
|
syn keyword mpVardef chem_rbd chem_rd chem_rdb chem_rdd chem_restore
|
||||||
|
syn keyword mpVardef chem_rh chem_rm chem_rn chem_rot chem_rr chem_rrb
|
||||||
|
syn keyword mpVardef chem_rrbd chem_rrd chem_rrh chem_rrn chem_rrt
|
||||||
|
syn keyword mpVardef chem_rrz chem_rsr chem_rsub chem_rt chem_rz chem_s
|
||||||
|
syn keyword mpVardef chem_save chem_sb chem_sd chem_set chem_sr chem_ss
|
||||||
|
syn keyword mpVardef chem_start_component chem_stop_component
|
||||||
|
syn keyword mpVardef chem_stop_structure chem_sub chem_symbol chem_tb
|
||||||
|
syn keyword mpVardef chem_text chem_z chem_zln chem_zlt chem_zn chem_zrn
|
||||||
|
syn keyword mpVardef chem_zrt chem_zt
|
||||||
|
syn keyword mpVariable chem_mark_pair chem_stack_mirror chem_stack_origin
|
||||||
|
syn keyword mpVariable chem_stack_p chem_stack_previous
|
||||||
|
syn keyword mpVariable chem_stack_rotation chem_trace_boundingbox
|
||||||
|
syn keyword mpVariable chem_trace_nesting chem_trace_text
|
||||||
|
syn keyword mpConstant context_chem
|
||||||
|
" mp-core.mpiv
|
||||||
|
syn keyword mpDef FlushSyncTasks ProcessSyncTask
|
||||||
|
syn keyword mpDef RegisterLocalTextArea RegisterPlainTextArea
|
||||||
|
syn keyword mpDef RegisterRegionTextArea RegisterTextArea
|
||||||
|
syn keyword mpDef ResetLocalTextArea ResetSyncTasks ResetTextAreas
|
||||||
|
syn keyword mpDef SaveTextAreas SetSyncColor SetSyncThreshold
|
||||||
|
syn keyword mpDef SyncTask anchor_box box_found boxfilloptions
|
||||||
|
syn keyword mpDef boxgridoptions boxlineoptions collapse_multi_pars
|
||||||
|
syn keyword mpDef draw_box draw_multi_pars draw_par freeze_box
|
||||||
|
syn keyword mpDef initialize_area initialize_area_par initialize_box
|
||||||
|
syn keyword mpDef initialize_box_pos initialize_par
|
||||||
|
syn keyword mpDef prepare_multi_pars relocate_multipars save_multipar
|
||||||
|
syn keyword mpDef set_par_line_height show_multi_pars show_par
|
||||||
|
syn keyword mpDef simplify_multi_pars sort_multi_pars
|
||||||
|
syn keyword mpVardef InsideSavedTextArea InsideSomeSavedTextArea
|
||||||
|
syn keyword mpVardef InsideSomeTextArea InsideTextArea PrepareSyncTasks
|
||||||
|
syn keyword mpVardef SyncBox TextAreaH TextAreaW TextAreaWH TextAreaX
|
||||||
|
syn keyword mpVardef TextAreaXY TextAreaY TheSyncColor TheSyncThreshold
|
||||||
|
syn keyword mpVardef baseline_grid graphic_grid multi_par_at_top
|
||||||
|
syn keyword mpVariable CurrentSyncClass NOfSavedTextAreas
|
||||||
|
syn keyword mpVariable NOfSavedTextColumns NOfSyncPaths NOfTextAreas
|
||||||
|
syn keyword mpVariable NOfTextColumns PlainTextArea RegionTextArea
|
||||||
|
syn keyword mpVariable SavedTextColumns SyncColor SyncLeftOffset SyncPaths
|
||||||
|
syn keyword mpVariable SyncTasks SyncThreshold SyncThresholdMethod
|
||||||
|
syn keyword mpVariable SyncWidth TextAreas TextColumns
|
||||||
|
syn keyword mpVariable auto_multi_par_hsize boxdashtype boxfilloffset
|
||||||
|
syn keyword mpVariable boxfilltype boxgriddirection boxgriddistance
|
||||||
|
syn keyword mpVariable boxgridshift boxgridtype boxgridwidth boxlineradius
|
||||||
|
syn keyword mpVariable boxlinetype boxlinewidth check_multi_par_chain
|
||||||
|
syn keyword mpVariable compensate_multi_par_topskip
|
||||||
|
syn keyword mpVariable enable_multi_par_fallback force_multi_par_chain
|
||||||
|
syn keyword mpVariable ignore_multi_par_page last_multi_par_shift lefthang
|
||||||
|
syn keyword mpVariable local_multi_par_area multi_column_first_page_hack
|
||||||
|
syn keyword mpVariable multi_par_pages multiloc multilocs multipar
|
||||||
|
syn keyword mpVariable multipars multiref multirefs nofmultipars
|
||||||
|
syn keyword mpVariable obey_multi_par_hang obey_multi_par_more
|
||||||
|
syn keyword mpVariable one_piece_multi_par par_hang_after par_hang_indent
|
||||||
|
syn keyword mpVariable par_indent par_left_skip par_line_height
|
||||||
|
syn keyword mpVariable par_right_skip par_start_pos par_stop_pos
|
||||||
|
syn keyword mpVariable par_strut_depth par_strut_height ppos righthang
|
||||||
|
syn keyword mpVariable snap_multi_par_tops somehang span_multi_column_pars
|
||||||
|
syn keyword mpVariable use_multi_par_region
|
||||||
|
syn keyword mpConstant context_core
|
||||||
|
syn keyword LET anchor_area anchor_par draw_area
|
||||||
|
" mp-cows.mpiv
|
||||||
|
syn keyword mpConstant context_cows cow
|
||||||
|
" mp-crop.mpiv
|
||||||
|
syn keyword mpDef page_marks_add_color page_marks_add_lines
|
||||||
|
syn keyword mpDef page_marks_add_marking page_marks_add_number
|
||||||
|
syn keyword mpVardef crop_color crop_gray crop_marks_cmyk
|
||||||
|
syn keyword mpVardef crop_marks_cmykrgb crop_marks_gray crop_marks_lines
|
||||||
|
syn keyword mpVariable crop_colors more page
|
||||||
|
syn keyword mpConstant context_crop
|
||||||
|
" mp-figs.mpiv
|
||||||
|
syn keyword mpDef naturalfigure registerfigure
|
||||||
|
syn keyword mpVardef figuredimensions figureheight figuresize
|
||||||
|
syn keyword mpVardef figurewidth
|
||||||
|
syn keyword mpConstant context_figs
|
||||||
|
" mp-fobg.mpiv
|
||||||
|
syn keyword mpDef DrawFoFrame
|
||||||
|
syn keyword mpVardef equalpaths
|
||||||
|
syn keyword mpPrimaryDef inset outset
|
||||||
|
syn keyword mpVariable FoBackground FoBackgroundColor FoFrame FoLineColor
|
||||||
|
syn keyword mpVariable FoLineStyle FoLineWidth FoSplit
|
||||||
|
syn keyword mpConstant FoAll FoBottom FoDash FoDotted FoDouble FoGroove
|
||||||
|
syn keyword mpConstant FoHidden FoInset FoLeft FoMedium FoNoColor FoNone
|
||||||
|
syn keyword mpConstant FoOutset FoRidge FoRight FoSolid FoThick FoThin
|
||||||
|
syn keyword mpConstant FoTop context_fobg
|
||||||
|
" mp-form.mpiv
|
||||||
|
syn keyword mpConstant context_form
|
||||||
|
" mp-func.mpiv
|
||||||
|
syn keyword mpDef constructedfunction constructedpairs
|
||||||
|
syn keyword mpDef constructedpath curvedfunction curvedpairs
|
||||||
|
syn keyword mpDef curvedpath function pathconnectors straightfunction
|
||||||
|
syn keyword mpDef straightpairs straightpath
|
||||||
|
syn keyword mpConstant context_func
|
||||||
|
" mp-grap.mpiv
|
||||||
|
syn keyword mpDef Gfor OUT auto begingraph circles crosses diamonds
|
||||||
|
syn keyword mpDef downtriangles endgraph gdata gdraw gdrawarrow
|
||||||
|
syn keyword mpDef gdrawdblarrow gfill graph_addto
|
||||||
|
syn keyword mpDef graph_addto_currentpicture graph_comma
|
||||||
|
syn keyword mpDef graph_coordinate_multiplication graph_draw
|
||||||
|
syn keyword mpDef graph_draw_label graph_errorbar_text graph_fill
|
||||||
|
syn keyword mpDef graph_generate_exponents
|
||||||
|
syn keyword mpDef graph_generate_label_position
|
||||||
|
syn keyword mpDef graph_generate_numbers graph_label_location
|
||||||
|
syn keyword mpDef graph_scan_mark graph_scan_marks graph_setbounds
|
||||||
|
syn keyword mpDef graph_suffix graph_tick_label
|
||||||
|
syn keyword mpDef graph_with_pen_and_color graph_withlist
|
||||||
|
syn keyword mpDef graph_xyscale lefttriangles makefunctionpath plot
|
||||||
|
syn keyword mpDef plotsymbol points rainbow righttriangles smoothpath
|
||||||
|
syn keyword mpDef squares stars uptriangles witherrorbars
|
||||||
|
syn keyword mpVardef addtopath augment autogrid constant_fit
|
||||||
|
syn keyword mpVardef constant_function det escaped_format exp
|
||||||
|
syn keyword mpVardef exponential_fit exponential_function format
|
||||||
|
syn keyword mpVardef formatted frame functionpath gaussian_fit
|
||||||
|
syn keyword mpVardef gaussian_function gdotlabel glabel graph_Feform
|
||||||
|
syn keyword mpVardef graph_Meform graph_arrowhead_extent graph_bounds
|
||||||
|
syn keyword mpVardef graph_clear_bounds
|
||||||
|
syn keyword mpVardef graph_convert_user_path_to_internal graph_cspan
|
||||||
|
syn keyword mpVardef graph_draw_arrowhead graph_error graph_errorbars
|
||||||
|
syn keyword mpVardef graph_exp graph_factor_and_exponent_to_string
|
||||||
|
syn keyword mpVardef graph_gridline_picture graph_is_null
|
||||||
|
syn keyword mpVardef graph_label_convert_user_to_internal graph_loptok
|
||||||
|
syn keyword mpVardef graph_match_exponents graph_mlog
|
||||||
|
syn keyword mpVardef graph_modified_exponent_ypart graph_pair_adjust
|
||||||
|
syn keyword mpVardef graph_picture_conversion graph_post_draw
|
||||||
|
syn keyword mpVardef graph_read_line graph_readpath graph_remap
|
||||||
|
syn keyword mpVardef graph_scan_path graph_select_exponent_mark
|
||||||
|
syn keyword mpVardef graph_select_mark graph_set_bounds
|
||||||
|
syn keyword mpVardef graph_set_default_bounds graph_shapesize
|
||||||
|
syn keyword mpVardef graph_stash_label graph_tick_mark_spacing
|
||||||
|
syn keyword mpVardef graph_unknown_pair_bbox grid isdigit itick
|
||||||
|
syn keyword mpVardef linear_fit linear_function ln logten lorentzian_fit
|
||||||
|
syn keyword mpVardef lorentzian_function otick polynomial_fit
|
||||||
|
syn keyword mpVardef polynomial_function power_law_fit
|
||||||
|
syn keyword mpVardef power_law_function powten setcoords setrange
|
||||||
|
syn keyword mpVardef sortpath strfmt tick varfmt
|
||||||
|
syn keyword mpNewInternal Mzero doubleinfinity graph_log_minimum
|
||||||
|
syn keyword mpNewInternal graph_minimum_number_of_marks largestmantissa
|
||||||
|
syn keyword mpNewInternal linear lntwo log mlogten singleinfinity
|
||||||
|
syn keyword mpVariable Autoform determinant fit_chi_squared
|
||||||
|
syn keyword mpVariable graph_errorbar_picture graph_exp_marks
|
||||||
|
syn keyword mpVariable graph_frame_pair_a graph_frame_pair_b
|
||||||
|
syn keyword mpVariable graph_lin_marks graph_log_marks graph_modified_bias
|
||||||
|
syn keyword mpVariable graph_modified_higher graph_modified_lower
|
||||||
|
syn keyword mpVariable graph_shape r_s resistance_color resistance_name
|
||||||
|
syn keyword mpConstant context_grap
|
||||||
|
" mp-grid.mpiv
|
||||||
|
syn keyword mpDef hlingrid hloggrid vlingrid vloggrid
|
||||||
|
syn keyword mpVardef hlinlabel hlintext hlogtext linlin linlinpath
|
||||||
|
syn keyword mpVardef linlog linlogpath loglin loglinpath loglog
|
||||||
|
syn keyword mpVardef loglogpath processpath vlinlabel vlintext vlogtext
|
||||||
|
syn keyword mpVariable fmt_initialize fmt_pictures fmt_precision
|
||||||
|
syn keyword mpVariable fmt_separator fmt_zerocheck grid_eps
|
||||||
|
syn keyword mpConstant context_grid
|
||||||
|
" mp-grph.mpiv
|
||||||
|
syn keyword mpDef beginfig begingraphictextfig data_mpo_file
|
||||||
|
syn keyword mpDef data_mpy_file doloadfigure draw endfig
|
||||||
|
syn keyword mpDef endgraphictextfig fill fixedplace graphictext
|
||||||
|
syn keyword mpDef loadfigure new_graphictext normalwithshade number
|
||||||
|
syn keyword mpDef old_graphictext outlinefill protectgraphicmacros
|
||||||
|
syn keyword mpDef resetfig reversefill withdrawcolor withfillcolor
|
||||||
|
syn keyword mpDef withshade
|
||||||
|
syn keyword mpVariable currentgraphictext figureshift
|
||||||
|
syn keyword mpConstant context_grph
|
||||||
|
" mp-idea.mpiv
|
||||||
|
syn keyword mpVardef bcomponent ccomponent gcomponent mcomponent
|
||||||
|
syn keyword mpVardef rcomponent somecolor ycomponent
|
||||||
|
" mp-luas.mpiv
|
||||||
|
syn keyword mpDef luacall message
|
||||||
|
syn keyword mpVardef MP lua lualist
|
||||||
|
syn keyword mpConstant context_luas
|
||||||
|
" mp-mlib.mpiv
|
||||||
|
syn keyword mpDef autoalign bitmapimage circular_shade cmyk comment
|
||||||
|
syn keyword mpDef defineshade eofill eofillup externalfigure figure
|
||||||
|
syn keyword mpDef fillup label linear_shade multitonecolor namedcolor
|
||||||
|
syn keyword mpDef nofill onlayer passarrayvariable passvariable
|
||||||
|
syn keyword mpDef plain_label register resolvedcolor scantokens
|
||||||
|
syn keyword mpDef set_circular_vector set_linear_vector shaded
|
||||||
|
syn keyword mpDef spotcolor startpassingvariable stoppassingvariable
|
||||||
|
syn keyword mpDef thelabel transparent[] usemetafunlabels
|
||||||
|
syn keyword mpDef useplainlabels withcircularshade withlinearshade
|
||||||
|
syn keyword mpDef withmask withproperties withshadecenter
|
||||||
|
syn keyword mpDef withshadecolors withshadedirection withshadedomain
|
||||||
|
syn keyword mpDef withshadefactor withshadefraction withshadeorigin
|
||||||
|
syn keyword mpDef withshaderadius withshadestep withshadetransform
|
||||||
|
syn keyword mpDef withshadevector withtransparency
|
||||||
|
syn keyword mpVardef anchored checkbounds checkedbounds
|
||||||
|
syn keyword mpVardef define_circular_shade define_linear_shade dotlabel
|
||||||
|
syn keyword mpVardef escaped_format fmttext fontsize format formatted
|
||||||
|
syn keyword mpVardef installlabel onetimefmttext onetimetextext
|
||||||
|
syn keyword mpVardef outlinetext plain_thelabel properties rawfmttext
|
||||||
|
syn keyword mpVardef rawtexbox rawtextext rule strfmt strut texbox
|
||||||
|
syn keyword mpVardef textext thefmttext thelabel thetexbox thetextext
|
||||||
|
syn keyword mpVardef tostring transparency_alternative_to_number
|
||||||
|
syn keyword mpVardef validtexbox varfmt verbatim
|
||||||
|
syn keyword mpPrimaryDef asgroup infont normalinfont shadedinto
|
||||||
|
syn keyword mpPrimaryDef shownshadecenter shownshadedirection
|
||||||
|
syn keyword mpPrimaryDef shownshadeorigin shownshadevector withshade
|
||||||
|
syn keyword mpPrimaryDef withshademethod
|
||||||
|
syn keyword mpNewInternal colorburntransparent colordodgetransparent
|
||||||
|
syn keyword mpNewInternal colortransparent darkentransparent
|
||||||
|
syn keyword mpNewInternal differencetransparent exclusiontransparent
|
||||||
|
syn keyword mpNewInternal hardlighttransparent huetransparent
|
||||||
|
syn keyword mpNewInternal lightentransparent luminositytransparent
|
||||||
|
syn keyword mpNewInternal multiplytransparent normaltransparent
|
||||||
|
syn keyword mpNewInternal overlaytransparent saturationtransparent
|
||||||
|
syn keyword mpNewInternal screentransparent shadefactor softlighttransparent
|
||||||
|
syn keyword mpNewInternal textextoffset
|
||||||
|
syn keyword mpType property transparency
|
||||||
|
syn keyword mpVariable currentoutlinetext shadeddown shadedleft
|
||||||
|
syn keyword mpVariable shadedright shadedup shadeoffset trace_shades
|
||||||
|
syn keyword mpConstant context_mlib
|
||||||
|
" mp-page.mpiv
|
||||||
|
syn keyword mpDef BoundCoverAreas BoundPageAreas Enlarged FakeRule
|
||||||
|
syn keyword mpDef FakeWord LoadPageState OverlayBox RuleColor
|
||||||
|
syn keyword mpDef SetAreaVariables SetPageArea SetPageBackPage
|
||||||
|
syn keyword mpDef SetPageCoverPage SetPageField SetPageFrontPage
|
||||||
|
syn keyword mpDef SetPageHsize SetPageHstep SetPageLocation
|
||||||
|
syn keyword mpDef SetPagePage SetPageSpine SetPageVariables
|
||||||
|
syn keyword mpDef SetPageVsize SetPageVstep StartCover StartPage
|
||||||
|
syn keyword mpDef StopCover StopPage SwapPageState innerenlarged
|
||||||
|
syn keyword mpDef llEnlarged lrEnlarged outerenlarged ulEnlarged
|
||||||
|
syn keyword mpDef urEnlarged
|
||||||
|
syn keyword mpVardef BackPageHeight BackPageWidth BackSpace BaseLineSkip
|
||||||
|
syn keyword mpVardef BodyFontSize BottomDistance BottomHeight
|
||||||
|
syn keyword mpVardef BottomSpace CoverHeight CoverWidth CurrentColumn
|
||||||
|
syn keyword mpVardef CurrentHeight CurrentWidth CutSpace EmWidth
|
||||||
|
syn keyword mpVardef ExHeight FooterDistance FooterHeight
|
||||||
|
syn keyword mpVardef FrontPageHeight FrontPageWidth HSize HeaderDistance
|
||||||
|
syn keyword mpVardef HeaderHeight InPageBody InnerEdgeDistance
|
||||||
|
syn keyword mpVardef InnerEdgeWidth InnerMarginDistance InnerMarginWidth
|
||||||
|
syn keyword mpVardef InnerSpaceWidth LastPageNumber LayoutColumnDistance
|
||||||
|
syn keyword mpVardef LayoutColumnWidth LayoutColumns LeftEdgeDistance
|
||||||
|
syn keyword mpVardef LeftEdgeWidth LeftMarginDistance LeftMarginWidth
|
||||||
|
syn keyword mpVardef LineHeight MakeupHeight MakeupWidth NOfColumns
|
||||||
|
syn keyword mpVardef NOfPages OnOddPage OnRightPage OuterEdgeDistance
|
||||||
|
syn keyword mpVardef OuterEdgeWidth OuterMarginDistance OuterMarginWidth
|
||||||
|
syn keyword mpVardef OuterSpaceWidth OverlayDepth OverlayHeight
|
||||||
|
syn keyword mpVardef OverlayLineWidth OverlayOffset OverlayWidth
|
||||||
|
syn keyword mpVardef PageDepth PageFraction PageNumber PageOffset
|
||||||
|
syn keyword mpVardef PaperBleed PaperHeight PaperWidth PrintPaperHeight
|
||||||
|
syn keyword mpVardef PrintPaperWidth RealPageNumber RightEdgeDistance
|
||||||
|
syn keyword mpVardef RightEdgeWidth RightMarginDistance RightMarginWidth
|
||||||
|
syn keyword mpVardef SpineHeight SpineWidth StrutDepth StrutHeight
|
||||||
|
syn keyword mpVardef TextHeight TextWidth TopDistance TopHeight TopSkip
|
||||||
|
syn keyword mpVardef TopSpace VSize defaultcolormodel
|
||||||
|
syn keyword mpVariable Area BackPage CoverPage CurrentLayout Field
|
||||||
|
syn keyword mpVariable FrontPage HorPos Hsize Hstep Location Page
|
||||||
|
syn keyword mpVariable PageStateAvailable RuleDepth RuleDirection
|
||||||
|
syn keyword mpVariable RuleFactor RuleH RuleHeight RuleOffset RuleOption
|
||||||
|
syn keyword mpVariable RuleThickness RuleV RuleWidth Spine VerPos Vsize
|
||||||
|
syn keyword mpVariable Vstep
|
||||||
|
syn keyword mpConstant context_page
|
||||||
|
" mp-shap.mpiv
|
||||||
|
syn keyword mpDef drawline drawshape some_shape
|
||||||
|
syn keyword mpDef start_predefined_shape_definition
|
||||||
|
syn keyword mpDef stop_predefined_shape_definition
|
||||||
|
syn keyword mpVardef drawpredefinedline drawpredefinedshape
|
||||||
|
syn keyword mpVardef some_shape_path
|
||||||
|
syn keyword mpVariable predefined_shapes predefined_shapes_xradius
|
||||||
|
syn keyword mpVariable predefined_shapes_xxradius
|
||||||
|
syn keyword mpVariable predefined_shapes_yradius
|
||||||
|
syn keyword mpVariable predefined_shapes_yyradius
|
||||||
|
syn keyword mpConstant context_shap
|
||||||
|
" mp-step.mpiv
|
||||||
|
syn keyword mpDef initialize_step_variables midbottomboundary
|
||||||
|
syn keyword mpDef midtopboundary step_begin_cell step_begin_chart
|
||||||
|
syn keyword mpDef step_cell_ali step_cell_bot step_cell_top
|
||||||
|
syn keyword mpDef step_cells step_end_cell step_end_chart
|
||||||
|
syn keyword mpDef step_text_bot step_text_mid step_text_top
|
||||||
|
syn keyword mpDef step_texts
|
||||||
|
syn keyword mpVariable cell_distance_x cell_distance_y cell_fill_color
|
||||||
|
syn keyword mpVariable cell_line_color cell_line_width cell_offset
|
||||||
|
syn keyword mpVariable chart_align chart_category chart_vertical
|
||||||
|
syn keyword mpVariable line_distance line_height line_line_color
|
||||||
|
syn keyword mpVariable line_line_width line_offset nofcells
|
||||||
|
syn keyword mpVariable text_distance_set text_fill_color text_line_color
|
||||||
|
syn keyword mpVariable text_line_width text_offset
|
||||||
|
syn keyword mpConstant context_cell
|
||||||
|
" mp-symb.mpiv
|
||||||
|
syn keyword mpDef finishglyph prepareglyph
|
||||||
|
syn keyword mpConstant lefttriangle midbar onebar righttriangle sidebar
|
||||||
|
syn keyword mpConstant sublefttriangle subrighttriangle twobar
|
||||||
|
" mp-text.mpiv
|
||||||
|
syn keyword mpDef build_parshape
|
||||||
|
syn keyword mpVardef found_point
|
||||||
|
syn keyword mpVariable trace_parshape
|
||||||
|
syn keyword mpConstant context_text
|
||||||
|
" mp-tool.mpiv
|
||||||
|
syn keyword mpCommand dump
|
||||||
|
syn keyword mpDef addbackground b_color beginglyph break centerarrow
|
||||||
|
syn keyword mpDef clearxy condition data_mpd_file detaileddraw
|
||||||
|
syn keyword mpDef detailpaths dowithpath draw drawboundary
|
||||||
|
syn keyword mpDef drawboundingbox drawcontrollines drawcontrolpoints
|
||||||
|
syn keyword mpDef drawfill draworigin drawpath drawpathonly
|
||||||
|
syn keyword mpDef drawpathwithpoints drawpoint drawpointlabels
|
||||||
|
syn keyword mpDef drawpoints drawticks drawwholepath drawxticks
|
||||||
|
syn keyword mpDef drawyticks endglyph fill finishsavingdata g_color
|
||||||
|
syn keyword mpDef inner_boundingbox job_name leftarrow loadmodule
|
||||||
|
syn keyword mpDef midarrowhead naturalizepaths newboolean newcolor
|
||||||
|
syn keyword mpDef newnumeric newpair newpath newpicture newstring
|
||||||
|
syn keyword mpDef newtransform normalcolors normaldraw normalfill
|
||||||
|
syn keyword mpDef normalwithcolor outer_boundingbox pop_boundingbox
|
||||||
|
syn keyword mpDef popboundingbox popcurrentpicture push_boundingbox
|
||||||
|
syn keyword mpDef pushboundingbox pushcurrentpicture r_color readfile
|
||||||
|
syn keyword mpDef recolor redraw refill register_dirty_chars
|
||||||
|
syn keyword mpDef remapcolor remapcolors remappedcolor reprocess
|
||||||
|
syn keyword mpDef resetarrows resetcolormap resetdrawoptions
|
||||||
|
syn keyword mpDef resolvedcolor restroke retext rightarrow savedata
|
||||||
|
syn keyword mpDef saveoptions scale_currentpicture set_ahlength
|
||||||
|
syn keyword mpDef set_grid showgrid startplaincompatibility
|
||||||
|
syn keyword mpDef startsavingdata stopplaincompatibility
|
||||||
|
syn keyword mpDef stopsavingdata stripe_path_a stripe_path_n undashed
|
||||||
|
syn keyword mpDef undrawfill untext visualizeddraw visualizedfill
|
||||||
|
syn keyword mpDef visualizepaths withcolor withgray
|
||||||
|
syn keyword mpDef xscale_currentpicture xshifted
|
||||||
|
syn keyword mpDef xyscale_currentpicture yscale_currentpicture
|
||||||
|
syn keyword mpDef yshifted
|
||||||
|
syn keyword mpVardef acos acosh anglebetween area arrowhead
|
||||||
|
syn keyword mpVardef arrowheadonpath arrowpath asciistring asin asinh
|
||||||
|
syn keyword mpVardef atan basiccolors bbheight bbwidth bcomponent
|
||||||
|
syn keyword mpVardef blackcolor bottomboundary boundingbox c_phantom
|
||||||
|
syn keyword mpVardef ccomponent center cleanstring colorcircle
|
||||||
|
syn keyword mpVardef colordecimals colordecimalslist colorlike colorpart
|
||||||
|
syn keyword mpVardef colortype complementary complemented copylist cos
|
||||||
|
syn keyword mpVardef cosh cot cotd curved ddddecimal dddecimal ddecimal
|
||||||
|
syn keyword mpVardef decorated drawarrowpath epsed exp freedotlabel
|
||||||
|
syn keyword mpVardef freelabel gcomponent getunstringed grayed greyed
|
||||||
|
syn keyword mpVardef hsvtorgb infinite innerboundingbox interpolated inv
|
||||||
|
syn keyword mpVardef invcos inverted invsin invtan laddered leftboundary
|
||||||
|
syn keyword mpVardef leftpath leftrightpath listsize listtocurves
|
||||||
|
syn keyword mpVardef listtolines ln log mcomponent new_on_grid
|
||||||
|
syn keyword mpVardef outerboundingbox paired pen_size penpoint phantom
|
||||||
|
syn keyword mpVardef pointarrow pow punked rangepath rcomponent
|
||||||
|
syn keyword mpVardef redecorated repathed rightboundary rightpath
|
||||||
|
syn keyword mpVardef rotation roundedsquare set_inner_boundingbox
|
||||||
|
syn keyword mpVardef set_outer_boundingbox setunstringed shapedlist
|
||||||
|
syn keyword mpVardef simplified sin sinh sortlist sqr straightpath tan
|
||||||
|
syn keyword mpVardef tand tanh tensecircle thefreelabel topboundary
|
||||||
|
syn keyword mpVardef tripled undecorated unitvector unspiked unstringed
|
||||||
|
syn keyword mpVardef whitecolor ycomponent
|
||||||
|
syn keyword mpPrimaryDef along blownup bottomenlarged cornered crossed
|
||||||
|
syn keyword mpPrimaryDef enlarged enlonged leftenlarged llenlarged llmoved
|
||||||
|
syn keyword mpPrimaryDef lrenlarged lrmoved on paralleled randomized
|
||||||
|
syn keyword mpPrimaryDef randomizedcontrols randomshifted rightenlarged
|
||||||
|
syn keyword mpPrimaryDef shortened sized smoothed snapped softened squeezed
|
||||||
|
syn keyword mpPrimaryDef stretched superellipsed topenlarged ulenlarged
|
||||||
|
syn keyword mpPrimaryDef ulmoved uncolored urenlarged urmoved xsized
|
||||||
|
syn keyword mpPrimaryDef xstretched xyscaled xysized ysized ystretched zmod
|
||||||
|
syn keyword mpSecondaryDef anglestriped intersection_point numberstriped
|
||||||
|
syn keyword mpSecondaryDef peepholed
|
||||||
|
syn keyword mpTertiaryDef cutends
|
||||||
|
syn keyword mpNewInternal ahdimple ahvariant anglelength anglemethod
|
||||||
|
syn keyword mpNewInternal angleoffset charscale cmykcolormodel graycolormodel
|
||||||
|
syn keyword mpNewInternal greycolormodel maxdimensions metapostversion
|
||||||
|
syn keyword mpNewInternal nocolormodel rgbcolormodel striped_normal_inner
|
||||||
|
syn keyword mpNewInternal striped_normal_outer striped_reverse_inner
|
||||||
|
syn keyword mpNewInternal striped_reverse_outer
|
||||||
|
syn keyword mpType grayscale greyscale quadruplet triplet
|
||||||
|
syn keyword mpVariable ahfactor collapse_data color_map drawoptionsfactor
|
||||||
|
syn keyword mpVariable freedotlabelsize freelabeloffset grid grid_full
|
||||||
|
syn keyword mpVariable grid_h grid_left grid_nx grid_ny grid_w grid_x
|
||||||
|
syn keyword mpVariable grid_y intersection_found originlength
|
||||||
|
syn keyword mpVariable plain_compatibility_data pointlabelfont
|
||||||
|
syn keyword mpVariable pointlabelscale refillbackground savingdata
|
||||||
|
syn keyword mpVariable savingdatadone swappointlabels ticklength tickstep
|
||||||
|
syn keyword mpConstant CRLF DQUOTE PERCENT SPACE bcircle context_tool crlf
|
||||||
|
syn keyword mpConstant darkblue darkcyan darkgray darkgreen darkmagenta
|
||||||
|
syn keyword mpConstant darkred darkyellow downtriangle dquote freesquare
|
||||||
|
syn keyword mpConstant fulldiamond fullsquare fulltriangle lcircle
|
||||||
|
syn keyword mpConstant lefttriangle lightgray llcircle lltriangle lrcircle
|
||||||
|
syn keyword mpConstant lrtriangle mpversion nocolor noline oddly
|
||||||
|
syn keyword mpConstant originpath percent rcircle righttriangle space
|
||||||
|
syn keyword mpConstant tcircle triangle ulcircle ultriangle unitcircle
|
||||||
|
syn keyword mpConstant unitdiamond unittriangle uptriangle urcircle
|
||||||
|
syn keyword mpConstant urtriangle
|
||||||
|
endif " MetaFun macros
|
||||||
|
|
||||||
" Define the default highlighting
|
" Define the default highlighting
|
||||||
" Only when an item doesn't have highlighting yet
|
hi def link mpTeXdelim mpPrimitive
|
||||||
|
hi def link mpBoolExp mfBoolExp
|
||||||
hi def link mpTeXinsert String
|
hi def link mpNumExp mfNumExp
|
||||||
hi def link mpTeXbegin Statement
|
hi def link mpPairExp mfPairExp
|
||||||
hi def link mpTeXend Statement
|
hi def link mpPathExp mfPathExp
|
||||||
|
hi def link mpPenExp mfPenExp
|
||||||
|
hi def link mpPicExp mfPicExp
|
||||||
|
hi def link mpStringExp mfStringExp
|
||||||
hi def link mpInternal mfInternal
|
hi def link mpInternal mfInternal
|
||||||
hi def link mpMacro Macro
|
hi def link mpCommand mfCommand
|
||||||
|
hi def link mpType mfType
|
||||||
|
hi def link mpPrimitive mfPrimitive
|
||||||
|
hi def link mpDef mfDef
|
||||||
|
hi def link mpVardef mpDef
|
||||||
|
hi def link mpPrimaryDef mpDef
|
||||||
|
hi def link mpSecondaryDef mpDef
|
||||||
|
hi def link mpTertiaryDef mpDef
|
||||||
|
hi def link mpNewInternal mpInternal
|
||||||
|
hi def link mpVariable mfVariable
|
||||||
|
hi def link mpConstant mfConstant
|
||||||
|
hi def link mpOnOff mpPrimitive
|
||||||
|
hi def link mpDash mpPrimitive
|
||||||
|
hi def link mpTeXKeyword Identifier
|
||||||
|
|
||||||
let b:current_syntax = "mp"
|
let b:current_syntax = "mp"
|
||||||
|
|
||||||
" vim: ts=8
|
let &cpo = s:cpo_sav
|
||||||
|
unlet! s:cpo_sav
|
||||||
|
|
||||||
|
" vim:sw=2
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: php PHP 3/4/5/7
|
" Language: php PHP 3/4/5/7
|
||||||
" Maintainer: Jason Woofenden <jason@jasonwoof.com>
|
" Maintainer: Jason Woofenden <jason@jasonwoof.com>
|
||||||
" Last Change: Jul 27, 2016
|
" Last Change: Dec 11, 2016
|
||||||
" URL: https://jasonwoof.com/gitweb/?p=vim-syntax.git;a=blob;f=php.vim;hb=HEAD
|
" URL: https://jasonwoof.com/gitweb/?p=vim-syntax.git;a=blob;f=php.vim;hb=HEAD
|
||||||
" Former Maintainers: Peter Hodge <toomuchphp-vim@yahoo.com>
|
" Former Maintainers: Peter Hodge <toomuchphp-vim@yahoo.com>
|
||||||
" Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
" Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||||
@@ -495,7 +495,7 @@ syntax keyword phpSpecialFunction containedin=ALLBUT,phpComment,phpStringDouble,
|
|||||||
" Highlighting for __autoload slightly different from line above
|
" Highlighting for __autoload slightly different from line above
|
||||||
syntax keyword phpSpecialFunction containedin=ALLBUT,phpComment,phpStringDouble,phpStringSingle,phpIdentifier,phpMethodsVar
|
syntax keyword phpSpecialFunction containedin=ALLBUT,phpComment,phpStringDouble,phpStringSingle,phpIdentifier,phpMethodsVar
|
||||||
\ __autoload
|
\ __autoload
|
||||||
highlight link phpSpecialFunction phpOperator
|
hi def link phpSpecialFunction phpOperator
|
||||||
|
|
||||||
" Highlighting for PHP5's built-in classes
|
" Highlighting for PHP5's built-in classes
|
||||||
" - built-in classes harvested from get_declared_classes() in 5.1.4
|
" - built-in classes harvested from get_declared_classes() in 5.1.4
|
||||||
@@ -518,14 +518,14 @@ syntax keyword phpClasses containedin=ALLBUT,phpComment,phpStringDouble,phpStrin
|
|||||||
\ DOMCharacterData DOMAttr DOMElement DOMText DOMComment DOMTypeinfo DOMUserDataHandler
|
\ DOMCharacterData DOMAttr DOMElement DOMText DOMComment DOMTypeinfo DOMUserDataHandler
|
||||||
\ DOMLocator DOMConfiguration DOMCdataSection DOMDocumentType DOMNotation DOMEntity
|
\ DOMLocator DOMConfiguration DOMCdataSection DOMDocumentType DOMNotation DOMEntity
|
||||||
\ DOMEntityReference DOMProcessingInstruction DOMStringExtend DOMXPath
|
\ DOMEntityReference DOMProcessingInstruction DOMStringExtend DOMXPath
|
||||||
highlight link phpClasses phpFunctions
|
hi def link phpClasses phpFunctions
|
||||||
|
|
||||||
" Highlighting for PHP5's built-in interfaces
|
" Highlighting for PHP5's built-in interfaces
|
||||||
" - built-in classes harvested from get_declared_interfaces() in 5.1.4
|
" - built-in classes harvested from get_declared_interfaces() in 5.1.4
|
||||||
syntax keyword phpInterfaces containedin=ALLBUT,phpComment,phpStringDouble,phpStringSingle,phpIdentifier,phpMethodsVar
|
syntax keyword phpInterfaces containedin=ALLBUT,phpComment,phpStringDouble,phpStringSingle,phpIdentifier,phpMethodsVar
|
||||||
\ Iterator IteratorAggregate RecursiveIterator OuterIterator SeekableIterator
|
\ Iterator IteratorAggregate RecursiveIterator OuterIterator SeekableIterator
|
||||||
\ Traversable ArrayAccess Serializable Countable SplObserver SplSubject Reflector
|
\ Traversable ArrayAccess Serializable Countable SplObserver SplSubject Reflector
|
||||||
highlight link phpInterfaces phpConstant
|
hi def link phpInterfaces phpConstant
|
||||||
|
|
||||||
" option defaults:
|
" option defaults:
|
||||||
if ! exists('php_special_functions')
|
if ! exists('php_special_functions')
|
||||||
@@ -553,7 +553,7 @@ endif
|
|||||||
if php_alt_assignByReference
|
if php_alt_assignByReference
|
||||||
" special highlighting for '=&' operator
|
" special highlighting for '=&' operator
|
||||||
syntax match phpAssignByRef /=\s*&/ containedin=ALLBUT,phpComment,phpStringDouble,phpStringSingle
|
syntax match phpAssignByRef /=\s*&/ containedin=ALLBUT,phpComment,phpStringDouble,phpStringSingle
|
||||||
highlight link phpAssignByRef Type
|
hi def link phpAssignByRef Type
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if php_alt_comparisons
|
if php_alt_comparisons
|
||||||
@@ -565,7 +565,7 @@ if php_alt_comparisons
|
|||||||
syntax case ignore
|
syntax case ignore
|
||||||
syntax keyword phpComparison instanceof contained containedin=phpRegion
|
syntax keyword phpComparison instanceof contained containedin=phpRegion
|
||||||
|
|
||||||
hi link phpComparison Statement
|
hi def link phpComparison Statement
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" ================================================================
|
" ================================================================
|
||||||
@@ -645,13 +645,13 @@ hi def link phpTodo Todo
|
|||||||
hi def link phpDocTodo Todo
|
hi def link phpDocTodo Todo
|
||||||
hi def link phpMemberSelector Structure
|
hi def link phpMemberSelector Structure
|
||||||
if exists("php_oldStyle")
|
if exists("php_oldStyle")
|
||||||
hi phpIntVar guifg=Red ctermfg=DarkRed
|
hi def phpIntVar guifg=Red ctermfg=DarkRed
|
||||||
hi phpEnvVar guifg=Red ctermfg=DarkRed
|
hi def phpEnvVar guifg=Red ctermfg=DarkRed
|
||||||
hi phpOperator guifg=SeaGreen ctermfg=DarkGreen
|
hi def phpOperator guifg=SeaGreen ctermfg=DarkGreen
|
||||||
hi phpVarSelector guifg=SeaGreen ctermfg=DarkGreen
|
hi def phpVarSelector guifg=SeaGreen ctermfg=DarkGreen
|
||||||
hi phpRelation guifg=SeaGreen ctermfg=DarkGreen
|
hi def phpRelation guifg=SeaGreen ctermfg=DarkGreen
|
||||||
hi phpIdentifier guifg=DarkGray ctermfg=Brown
|
hi def phpIdentifier guifg=DarkGray ctermfg=Brown
|
||||||
hi phpIdentifierSimply guifg=DarkGray ctermfg=Brown
|
hi def phpIdentifierSimply guifg=DarkGray ctermfg=Brown
|
||||||
else
|
else
|
||||||
hi def link phpIntVar Identifier
|
hi def link phpIntVar Identifier
|
||||||
hi def link phpEnvVar Identifier
|
hi def link phpEnvVar Identifier
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: Python
|
" Language: Python
|
||||||
" Maintainer: Zvezdan Petkovic <zpetkovic@acm.org>
|
" Maintainer: Zvezdan Petkovic <zpetkovic@acm.org>
|
||||||
" Last Change: 2016 Aug 14
|
" Last Change: 2016 Oct 29
|
||||||
" Credits: Neil Schemenauer <nas@python.ca>
|
" Credits: Neil Schemenauer <nas@python.ca>
|
||||||
" Dmitry Vasiliev
|
" Dmitry Vasiliev
|
||||||
"
|
"
|
||||||
@@ -46,6 +46,29 @@ endif
|
|||||||
let s:cpo_save = &cpo
|
let s:cpo_save = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
|
if exists("python_no_doctest_highlight")
|
||||||
|
let python_no_doctest_code_highlight = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
if exists("python_highlight_all")
|
||||||
|
if exists("python_no_builtin_highlight")
|
||||||
|
unlet python_no_builtin_highlight
|
||||||
|
endif
|
||||||
|
if exists("python_no_doctest_code_highlight")
|
||||||
|
unlet python_no_doctest_code_highlight
|
||||||
|
endif
|
||||||
|
if exists("python_no_doctest_highlight")
|
||||||
|
unlet python_no_doctest_highlight
|
||||||
|
endif
|
||||||
|
if exists("python_no_exception_highlight")
|
||||||
|
unlet python_no_exception_highlight
|
||||||
|
endif
|
||||||
|
if exists("python_no_number_highlight")
|
||||||
|
unlet python_no_number_highlight
|
||||||
|
endif
|
||||||
|
let python_space_error_highlight = 1
|
||||||
|
endif
|
||||||
|
|
||||||
" Keep Python keywords in alphabetical order inside groups for easy
|
" Keep Python keywords in alphabetical order inside groups for easy
|
||||||
" comparison with the table in the 'Python Language Reference'
|
" comparison with the table in the 'Python Language Reference'
|
||||||
" https://docs.python.org/2/reference/lexical_analysis.html#keywords,
|
" https://docs.python.org/2/reference/lexical_analysis.html#keywords,
|
||||||
@@ -81,30 +104,31 @@ syn keyword pythonInclude from import
|
|||||||
syn keyword pythonAsync async await
|
syn keyword pythonAsync async await
|
||||||
|
|
||||||
" Decorators (new in Python 2.4)
|
" Decorators (new in Python 2.4)
|
||||||
" Python 3.5 introduced the use of the same symbol for matrix
|
|
||||||
" multiplication. We now have to exclude the symbol from being
|
|
||||||
" highlighted when used in that context. Hence, the check that it's
|
|
||||||
" preceded by empty space only (possibly in a docstring/doctest) and
|
|
||||||
" followed by decorator name, optional parenthesized list of arguments,
|
|
||||||
" and the next line with either def, class, or another decorator.
|
|
||||||
syn match pythonDecorator
|
|
||||||
\ "\%(\%(^\s*\)\%(\%(>>>\|\.\.\.\)\s\+\)\=\)\zs@\%(\s*\h\%(\w\|\.\)*\%(([^)]*)\)\=\s*\n\s*\%(\.\.\.\s\+\)\=\%(@\s*\h\|\%(def\|class\)\s\+\)\)\@="
|
|
||||||
\ display nextgroup=pythonDecoratorName skipwhite
|
|
||||||
|
|
||||||
" A dot must be allowed because of @MyClass.myfunc decorators.
|
" A dot must be allowed because of @MyClass.myfunc decorators.
|
||||||
" It must be preceded by a decorator symbol and on a separate line from
|
syn match pythonDecorator "@" display contained
|
||||||
" a function/class it decorates.
|
syn match pythonDecoratorName "@\s*\h\%(\w\|\.\)*" display contains=pythonDecorator
|
||||||
syn match pythonDecoratorName
|
|
||||||
\ "\%(@\s*\)\@<=\h\%(\w\|\.\)*\%(\%(([^)]*)\)\=\s*\n\)\@="
|
|
||||||
\ contained display nextgroup=pythonFunction skipnl
|
|
||||||
|
|
||||||
" The zero-length non-grouping match of def or class before the function
|
" Python 3.5 introduced the use of the same symbol for matrix multiplication:
|
||||||
" name is extremely important in pythonFunction. Without it, everything
|
" https://www.python.org/dev/peps/pep-0465/. We now have to exclude the
|
||||||
" is interpreted as a function inside the contained environment of
|
" symbol from highlighting when used in that context.
|
||||||
" doctests.
|
" Single line multiplication.
|
||||||
syn match pythonFunction
|
syn match pythonMatrixMultiply
|
||||||
\ "\%(\%(^\s*\)\%(\%(>>>\|\.\.\.\)\s\+\)\=\%(def\|class\)\s\+\)\@<=\h\w*"
|
\ "\%(\w\|[])]\)\s*@"
|
||||||
\ contained
|
\ contains=ALLBUT,pythonDecoratorName,pythonDecorator,pythonFunction,pythonDoctestValue
|
||||||
|
\ transparent
|
||||||
|
" Multiplication continued on the next line after backslash.
|
||||||
|
syn match pythonMatrixMultiply
|
||||||
|
\ "[^\\]\\\s*\n\%(\s*\.\.\.\s\)\=\s\+@"
|
||||||
|
\ contains=ALLBUT,pythonDecoratorName,pythonDecorator,pythonFunction,pythonDoctestValue
|
||||||
|
\ transparent
|
||||||
|
" Multiplication in a parenthesized expression over multiple lines with @ at
|
||||||
|
" the start of each continued line; very similar to decorators and complex.
|
||||||
|
syn match pythonMatrixMultiply
|
||||||
|
\ "^\s*\%(\%(>>>\|\.\.\.\)\s\+\)\=\zs\%(\h\|\%(\h\|[[(]\).\{-}\%(\w\|[])]\)\)\s*\n\%(\s*\.\.\.\s\)\=\s\+@\%(.\{-}\n\%(\s*\.\.\.\s\)\=\s\+@\)*"
|
||||||
|
\ contains=ALLBUT,pythonDecoratorName,pythonDecorator,pythonFunction,pythonDoctestValue
|
||||||
|
\ transparent
|
||||||
|
|
||||||
|
syn match pythonFunction "\h\w*" display contained
|
||||||
|
|
||||||
syn match pythonComment "#.*$" contains=pythonTodo,@Spell
|
syn match pythonComment "#.*$" contains=pythonTodo,@Spell
|
||||||
syn keyword pythonTodo FIXME NOTE NOTES TODO XXX contained
|
syn keyword pythonTodo FIXME NOTE NOTES TODO XXX contained
|
||||||
@@ -131,25 +155,6 @@ syn match pythonEscape "\%(\\u\x\{4}\|\\U\x\{8}\)" contained
|
|||||||
syn match pythonEscape "\\N{\a\+\%(\s\a\+\)*}" contained
|
syn match pythonEscape "\\N{\a\+\%(\s\a\+\)*}" contained
|
||||||
syn match pythonEscape "\\$"
|
syn match pythonEscape "\\$"
|
||||||
|
|
||||||
if exists("python_highlight_all")
|
|
||||||
if exists("python_no_builtin_highlight")
|
|
||||||
unlet python_no_builtin_highlight
|
|
||||||
endif
|
|
||||||
if exists("python_no_doctest_code_highlight")
|
|
||||||
unlet python_no_doctest_code_highlight
|
|
||||||
endif
|
|
||||||
if exists("python_no_doctest_highlight")
|
|
||||||
unlet python_no_doctest_highlight
|
|
||||||
endif
|
|
||||||
if exists("python_no_exception_highlight")
|
|
||||||
unlet python_no_exception_highlight
|
|
||||||
endif
|
|
||||||
if exists("python_no_number_highlight")
|
|
||||||
unlet python_no_number_highlight
|
|
||||||
endif
|
|
||||||
let python_space_error_highlight = 1
|
|
||||||
endif
|
|
||||||
|
|
||||||
" It is very important to understand all details before changing the
|
" It is very important to understand all details before changing the
|
||||||
" regular expressions below or their order.
|
" regular expressions below or their order.
|
||||||
" The word boundaries are *not* the floating-point number boundaries
|
" The word boundaries are *not* the floating-point number boundaries
|
||||||
@@ -213,7 +218,9 @@ if !exists("python_no_builtin_highlight")
|
|||||||
" non-essential built-in functions; Python 2 only
|
" non-essential built-in functions; Python 2 only
|
||||||
syn keyword pythonBuiltin apply buffer coerce intern
|
syn keyword pythonBuiltin apply buffer coerce intern
|
||||||
" avoid highlighting attributes as builtins
|
" avoid highlighting attributes as builtins
|
||||||
syn match pythonAttribute /\.\h\w*/hs=s+1 contains=ALLBUT,pythonBuiltin transparent
|
syn match pythonAttribute /\.\h\w*/hs=s+1
|
||||||
|
\ contains=ALLBUT,pythonBuiltin,pythonFunction,pythonAsync
|
||||||
|
\ transparent
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" From the 'Python Library Reference' class hierarchy at the bottom.
|
" From the 'Python Library Reference' class hierarchy at the bottom.
|
||||||
@@ -275,7 +282,7 @@ if !exists("python_no_doctest_highlight")
|
|||||||
if !exists("python_no_doctest_code_highlight")
|
if !exists("python_no_doctest_code_highlight")
|
||||||
syn region pythonDoctest
|
syn region pythonDoctest
|
||||||
\ start="^\s*>>>\s" end="^\s*$"
|
\ start="^\s*>>>\s" end="^\s*$"
|
||||||
\ contained contains=ALLBUT,pythonDoctest,@Spell
|
\ contained contains=ALLBUT,pythonDoctest,pythonFunction,@Spell
|
||||||
syn region pythonDoctestValue
|
syn region pythonDoctestValue
|
||||||
\ start=+^\s*\%(>>>\s\|\.\.\.\s\|"""\|'''\)\@!\S\++ end="$"
|
\ start=+^\s*\%(>>>\s\|\.\.\.\s\|"""\|'''\)\@!\S\++ end="$"
|
||||||
\ contained
|
\ contained
|
||||||
@@ -287,8 +294,7 @@ if !exists("python_no_doctest_highlight")
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
" Sync at the beginning of class, function, or method definition.
|
" Sync at the beginning of class, function, or method definition.
|
||||||
syn sync match pythonSync grouphere NONE "^\s*\%(def\|class\)\s\+\h\w*\s*("
|
syn sync match pythonSync grouphere NONE "^\%(def\|class\)\s\+\h\w*\s*[(:]"
|
||||||
|
|
||||||
|
|
||||||
" The default highlight links. Can be overridden later.
|
" The default highlight links. Can be overridden later.
|
||||||
hi def link pythonStatement Statement
|
hi def link pythonStatement Statement
|
||||||
@@ -325,7 +331,6 @@ if !exists("python_no_doctest_highlight")
|
|||||||
hi def link pythonDoctestValue Define
|
hi def link pythonDoctestValue Define
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
let b:current_syntax = "python"
|
let b:current_syntax = "python"
|
||||||
|
|
||||||
let &cpo = s:cpo_save
|
let &cpo = s:cpo_save
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
" Language: shell (sh) Korn shell (ksh) bash (sh)
|
" Language: shell (sh) Korn shell (ksh) bash (sh)
|
||||||
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
|
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
|
||||||
" Previous Maintainer: Lennart Schultz <Lennart.Schultz@ecmwf.int>
|
" Previous Maintainer: Lennart Schultz <Lennart.Schultz@ecmwf.int>
|
||||||
" Last Change: Aug 31, 2016
|
" Last Change: Sep 22, 2016
|
||||||
" Version: 162
|
" Version: 165
|
||||||
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH
|
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH
|
||||||
" For options and settings, please use: :help ft-sh-syntax
|
" For options and settings, please use: :help ft-sh-syntax
|
||||||
" This file includes many ideas from Eric Brunet (eric.brunet@ens.fr)
|
" This file includes many ideas from Eric Brunet (eric.brunet@ens.fr)
|
||||||
@@ -170,7 +170,7 @@ if exists("b:is_kornshell") || exists("b:is_bash")
|
|||||||
|
|
||||||
" Touch: {{{1
|
" Touch: {{{1
|
||||||
" =====
|
" =====
|
||||||
syn match shTouch '\<touch\>[^;#]*' skipwhite nextgroup=shComment contains=shTouchCmd
|
syn match shTouch '\<touch\>[^;#]*' skipwhite nextgroup=shComment contains=shTouchCmd,shDoubleQuote,shSingleQuote,shDeref,shDerefSimple
|
||||||
syn match shTouchCmd '\<touch\>' contained
|
syn match shTouchCmd '\<touch\>' contained
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -220,7 +220,7 @@ syn region shSubSh transparent matchgroup=shSubShRegion start="[^(]\zs(" end=")"
|
|||||||
"=======
|
"=======
|
||||||
syn region shExpr matchgroup=shRange start="\[" skip=+\\\\\|\\$\|\[+ end="\]" contains=@shTestList,shSpecial
|
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 region shTest transparent matchgroup=shStatement start="\<test\s" skip=+\\\\\|\\$+ matchgroup=NONE end="[;&|]"me=e-1 end="$" contains=@shExprList1
|
||||||
syn region shNoQuote start='\S' skip='\%(\\\\\)*\\.' end='\ze\s' contained
|
syn region shNoQuote start='\S' skip='\%(\\\\\)*\\.' end='\ze\s' contained contains=shDerefSimple,shDeref
|
||||||
syn match shAstQuote contained '\*\ze"' nextgroup=shString
|
syn match shAstQuote contained '\*\ze"' nextgroup=shString
|
||||||
syn match shTestOpr contained '[^-+/%]\zs=' skipwhite nextgroup=shTestDoubleQuote,shTestSingleQuote,shTestPattern
|
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 "<=\|>=\|!=\|==\|=\~\|-.\>\|-\(nt\|ot\|ef\|eq\|ne\|lt\|le\|gt\|ge\)\>\|[!<>]"
|
||||||
@@ -355,7 +355,11 @@ syn region shBkslshDblQuote contained matchgroup=shQuote start=+"+ skip=+\\"+ e
|
|||||||
" Comments: {{{1
|
" Comments: {{{1
|
||||||
"==========
|
"==========
|
||||||
syn cluster shCommentGroup contains=shTodo,@Spell
|
syn cluster shCommentGroup contains=shTodo,@Spell
|
||||||
|
if exists("b:is_bash")
|
||||||
|
syn match shTodo contained "\<\%(COMBAK\|FIXME\|TODO\|XXX\)\ze:\=\>"
|
||||||
|
else
|
||||||
syn keyword shTodo contained COMBAK FIXME TODO XXX
|
syn keyword shTodo contained COMBAK FIXME TODO XXX
|
||||||
|
endif
|
||||||
syn match shComment "^\s*\zs#.*$" contains=@shCommentGroup
|
syn match shComment "^\s*\zs#.*$" contains=@shCommentGroup
|
||||||
syn match shComment "\s\zs#.*$" contains=@shCommentGroup
|
syn match shComment "\s\zs#.*$" contains=@shCommentGroup
|
||||||
syn match shComment contained "#.*$" contains=@shCommentGroup
|
syn match shComment contained "#.*$" contains=@shCommentGroup
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: sendmail
|
" Language: sendmail
|
||||||
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
|
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
|
||||||
" Last Change: Oct 23, 2014
|
" Last Change: Oct 25, 2016
|
||||||
" Version: 7
|
" Version: 8
|
||||||
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SM
|
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SM
|
||||||
|
|
||||||
if exists("b:current_syntax")
|
if exists("b:current_syntax")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
@@ -76,7 +75,6 @@ hi def link smRuleset Preproc
|
|||||||
hi def link smTrusted Special
|
hi def link smTrusted Special
|
||||||
hi def link smVar String
|
hi def link smVar String
|
||||||
|
|
||||||
|
|
||||||
let b:current_syntax = "sm"
|
let b:current_syntax = "sm"
|
||||||
|
|
||||||
" vim: ts=18
|
" vim: ts=18
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user