mirror of
https://github.com/macvim-dev/macvim.git
synced 2026-06-07 15:37:14 +02:00
Compare commits
87 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a914f7d905 | |||
| a2efcc4e0e | |||
| acbc24e693 | |||
| 23bfbcb797 | |||
| e32a8f0ace | |||
| a9a480862c | |||
| 2c85ee38a5 | |||
| c66e217f33 | |||
| 78997dd9ef | |||
| 7f936da91c | |||
| 5fe4915e30 | |||
| 9e50ec2e90 | |||
| 69f47b4a0c | |||
| 26a7f66364 | |||
| a1024b19ea | |||
| cf6ae55400 | |||
| b2ebf7c277 | |||
| c72a3758a9 | |||
| 960c755f2f | |||
| de489086dd | |||
| c901b52c08 | |||
| f1be92c811 | |||
| 6eb9338757 | |||
| 13510d9153 | |||
| d77012934a | |||
| 2d7f1279c8 | |||
| dca6f03f01 | |||
| 53ec8158c3 | |||
| 065efdcb23 | |||
| 672ee036f6 | |||
| 89b6b3bf5f | |||
| e6df0dd645 | |||
| a88e58f6e2 | |||
| 9bce6ce276 | |||
| 64bbf477d0 | |||
| 84cf08594c | |||
| 40546c34f4 | |||
| fdbce8b6e7 | |||
| a162ddc680 | |||
| cebc2eb063 | |||
| 3a032a4b39 | |||
| 8ce9a8785f | |||
| 8fa56bd765 | |||
| 54b2b3cf5e | |||
| 2e43d084ee | |||
| 7d66bb5e2a | |||
| 05c65fc201 | |||
| 9784a17de9 | |||
| b491089907 | |||
| e9dd1852ea | |||
| 6e71ef1f6d | |||
| b802b6e322 | |||
| d10420e2db | |||
| 8312d799a4 | |||
| c388368a14 | |||
| 5f19dd4ae5 | |||
| c19bca2199 | |||
| 31c1fcc6b2 | |||
| de67d3e257 | |||
| 3d4ff9d210 | |||
| 075318e8e0 | |||
| 014cde7bfa | |||
| c140e21beb | |||
| dc75ffcab3 | |||
| f8a94ed692 | |||
| ac88a5268a | |||
| 176870f93a | |||
| 9d405f05b6 | |||
| 4fe710d0f9 | |||
| 05413de810 | |||
| 019001d897 | |||
| 10384920c9 | |||
| a4ef2c0ee1 | |||
| 456ae485bf | |||
| 922ae9bb15 | |||
| ce41316357 | |||
| 7b66728522 | |||
| 9484026b5f | |||
| 43dc546e05 | |||
| 811ca11441 | |||
| ff682f8240 | |||
| 21743328d5 | |||
| c972a5f2f6 | |||
| c9cd0464d2 | |||
| 095821635f | |||
| bea5e3c0d8 | |||
| 907403411b |
@@ -1650,3 +1650,41 @@ b3a523ced6bd1173e4c17611559c173094830d43 v7-3-304
|
||||
dc60200a16b21c3e4157708bb825ea61b9e5bdc1 v7-3-313
|
||||
6ab1b45cc95ed56105b2130dc9938bb8344ff903 v7-3-314
|
||||
3ecf9e91d88acdb5eaaf93cc15a18914b60e0eb3 v7-3-315
|
||||
33c140e4664d102c34ec3ec5a17318f75cf475d7 v7-3-316
|
||||
92a181a1cec3fec52cde1b3d71f628a3a2dc53c6 v7-3-317
|
||||
d68f20a86a3ec75d927955be5d31983b6c37eb1d v7-3-318
|
||||
dc7f2f9759208aa07bf136deca661fd080a1ee68 v7-3-319
|
||||
738ea87c196431c452bd499c5a9849597ac938de v7-3-320
|
||||
fc0804089b2945bfe683f9bc9ee0238b8c64a46e v7-3-321
|
||||
38a7fd9043474dfb464c338ffd7f393361f5a6c1 v7-3-322
|
||||
3bdb646fc8a46ee5a5fe474dccdce098680d24d6 v7-3-323
|
||||
f04619f1fc1663f4ab05798c410e4fa35a9dd863 v7-3-324
|
||||
8aca621c00910556d4f52bd650d6841d6059d6ec v7-3-325
|
||||
d3758064ff9946d23aeccc9d2340686766647b84 v7-3-326
|
||||
9028c70adafd109ab294102f74dfb5005a20bbfb v7-3-327
|
||||
5b53cea62e5d1be2a1a36ce685c15f99bb8a41ba v7-3-328
|
||||
ec901ddc84d5c66c5d0c1dcca093584598487f9f v7-3-329
|
||||
abb03be99d661455fd3790cd25355459448fa432 v7-3-330
|
||||
4b8c614c1c914ce5d712368a75dbfea9b7e44e17 v7-3-331
|
||||
0ecfe54a273f6bc440684aca4ebe5926a2dfc6e2 v7-3-332
|
||||
992b24149a9ee0d6f417e40a7462891a9f62ec6a v7-3-333
|
||||
fdc72363229865cc6fd2da9db66f1d6e683b87c0 v7-3-334
|
||||
dc3f90a73fb375092ea9d870ae48ff31b31a56ab v7-3-335
|
||||
52526aec4afb220a1271e9a645194c42d3b2a538 v7-3-336
|
||||
176bfa951339a0a36366cbc8def41ae75f5034e0 v7-3-337
|
||||
7919a3d7333b99cece7d1a2657c89c18de78bf82 v7-3-338
|
||||
b5a2b4c0c1cac1758990ea449bc1c552522f39a9 v7-3-339
|
||||
49b08c9b9f5b72d930a1c02f00aa4128dc58532d v7-3-340
|
||||
6963603ec6dc2b47da9a7e951b2d0b3e024535eb v7-3-341
|
||||
314d9368069ec0458631ca150c202e7f724ad6d3 v7-3-342
|
||||
98a05814f1b466c87611b810eeafe8e7d9c581b6 v7-3-343
|
||||
7ba2f171cdaca18571b5e73dece426411c4f124a v7-3-344
|
||||
35f098371af699aa7e614a6397a068119b54cabf v7-3-345
|
||||
af76a61a7f79ccd3bcf64e15c73f2a3ea0eb77da v7-3-346
|
||||
72528c5eb87ea315a7c1a48f7734d1717c28820f v7-3-347
|
||||
4d4a328f199e4020457b4bf8f077622966bb3563 v7-3-348
|
||||
075acc2dccaa621998ccb1d671a987090367d485 v7-3-349
|
||||
07956eab189c0c776b79bc42235833d234480559 v7-3-350
|
||||
ff69efc4bc55d83b5f2bb68aeede1d921e8f1036 v7-3-351
|
||||
ca65249eb34bc62e82d54f74e14271be7f7f8a44 v7-3-352
|
||||
12bb368fef2c8c5478f0f8905aac381a56a75fe0 v7-3-353
|
||||
|
||||
@@ -81,6 +81,7 @@ SRC_ALL = \
|
||||
src/testdir/test[0-9]*.ok \
|
||||
src/testdir/test49.vim \
|
||||
src/testdir/test60.vim \
|
||||
src/testdir/test83-tags? \
|
||||
src/proto.h \
|
||||
src/proto/blowfish.pro \
|
||||
src/proto/buffer.pro \
|
||||
@@ -313,6 +314,7 @@ SRC_DOS = \
|
||||
src/xxd/Make_bc5.mak \
|
||||
src/xxd/Make_cyg.mak \
|
||||
src/xxd/Make_djg.mak \
|
||||
src/xxd/Make_ming.mak \
|
||||
src/xxd/Make_mvc.mak \
|
||||
nsis/gvim.nsi \
|
||||
nsis/README.txt \
|
||||
|
||||
+2
-1
@@ -12,7 +12,8 @@ install in (usually `/Applications').
|
||||
How to build and install
|
||||
========================
|
||||
|
||||
Run `./configure` in the `src/` directory with the flags you want, e.g.:
|
||||
Run `./configure` in the `src/` directory with the flags you want (call
|
||||
`./configure --help` to see a list of flags) e.g.:
|
||||
|
||||
$ cd src
|
||||
$ ./configure --with-features=huge \
|
||||
|
||||
+457
-223
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
||||
" vimball.vim : construct a file containing both paths and files
|
||||
" Author: Charles E. Campbell, Jr.
|
||||
" Date: Apr 02, 2011
|
||||
" Version: 33
|
||||
" Date: Sep 26, 2011
|
||||
" Version: 34
|
||||
" GetLatestVimScripts: 1502 1 :AutoInstall: vimball.vim
|
||||
" Copyright: (c) 2004-2011 by Charles E. Campbell, Jr.
|
||||
" The VIM LICENSE applies to Vimball.vim, and Vimball.txt
|
||||
@@ -14,7 +14,7 @@
|
||||
if &cp || exists("g:loaded_vimball")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_vimball = "v33"
|
||||
let g:loaded_vimball = "v34"
|
||||
if v:version < 702
|
||||
echohl WarningMsg
|
||||
echo "***warning*** this version of vimball needs vim 7.2"
|
||||
@@ -220,7 +220,16 @@ fun! vimball#Vimball(really,...)
|
||||
|
||||
" go to vim plugin home
|
||||
if a:0 > 0
|
||||
" let user specify the directory where the vimball is to be unpacked.
|
||||
" If, however, the user did not specify a full path, set the home to be below the current directory
|
||||
let home= expand(a:1)
|
||||
if has("win32") || has("win95") || has("win64") || has("win16")
|
||||
if home !~ '^\a:[/\\]'
|
||||
let home= getcwd().'/'.a:1
|
||||
endif
|
||||
elseif home !~ '^/'
|
||||
let home= getcwd().'/'.a:1
|
||||
endif
|
||||
else
|
||||
let home= vimball#VimballHome()
|
||||
endif
|
||||
@@ -282,11 +291,14 @@ fun! vimball#Vimball(really,...)
|
||||
" call Decho("making directories if they don't exist yet (fname<".fname.">)")
|
||||
let fnamebuf= substitute(fname,'\\','/','g')
|
||||
let dirpath = substitute(home,'\\','/','g')
|
||||
" call Decho("init: fnamebuf<".fnamebuf.">")
|
||||
" call Decho("init: dirpath <".dirpath.">")
|
||||
while fnamebuf =~ '/'
|
||||
let dirname = dirpath."/".substitute(fnamebuf,'/.*$','','')
|
||||
let dirpath = dirname
|
||||
let fnamebuf = substitute(fnamebuf,'^.\{-}/\(.*\)$','\1','')
|
||||
" call Decho("dirname<".dirname.">")
|
||||
" call Decho("dirpath<".dirpath.">")
|
||||
if !isdirectory(dirname)
|
||||
" call Decho("making <".dirname.">")
|
||||
if exists("g:vimball_mkdir")
|
||||
@@ -569,9 +581,19 @@ endfun
|
||||
fun! s:ChgDir(newdir)
|
||||
" call Dfunc("ChgDir(newdir<".a:newdir.">)")
|
||||
if (has("win32") || has("win95") || has("win64") || has("win16"))
|
||||
exe 'silent cd '.fnameescape(substitute(a:newdir,'/','\\','g'))
|
||||
try
|
||||
exe 'silent cd '.fnameescape(substitute(a:newdir,'/','\\','g'))
|
||||
catch /^Vim\%((\a\+)\)\=:E/
|
||||
call mkdir(fnameescape(substitute(a:newdir,'/','\\','g')))
|
||||
exe 'silent cd '.fnameescape(substitute(a:newdir,'/','\\','g'))
|
||||
endtry
|
||||
else
|
||||
exe 'silent cd '.fnameescape(a:newdir)
|
||||
try
|
||||
exe 'silent cd '.fnameescape(a:newdir)
|
||||
catch /^Vim\%((\a\+)\)\=:E/
|
||||
call mkdir(fnameescape(a:newdir))
|
||||
exe 'silent cd '.fnameescape(a:newdir)
|
||||
endtry
|
||||
endif
|
||||
" call Dret("ChgDir : curdir<".getcwd().">")
|
||||
endfun
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 7.3. Last change: 2011 Aug 29
|
||||
*eval.txt* For Vim version 7.3. Last change: 2011 Sep 30
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -6378,7 +6378,7 @@ last defined. Example: >
|
||||
<
|
||||
See |:verbose-cmd| for more information.
|
||||
|
||||
*E124* *E125*
|
||||
*E124* *E125* *E853*
|
||||
:fu[nction][!] {name}([arguments]) [range] [abort] [dict]
|
||||
Define a new function by the name {name}. The name
|
||||
must be made of alphanumeric characters and '_', and
|
||||
|
||||
+10
-3
@@ -1,4 +1,4 @@
|
||||
*map.txt* For Vim version 7.3. Last change: 2011 Aug 19
|
||||
*map.txt* For Vim version 7.3. Last change: 2011 Oct 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -237,11 +237,18 @@ For this reason the following is blocked:
|
||||
- Editing another buffer.
|
||||
- The |:normal| command.
|
||||
- Moving the cursor is allowed, but it is restored afterwards.
|
||||
- You can use getchar(), but the existing typeahead isn't seen and new
|
||||
typeahead is discarded.
|
||||
If you want the mapping to do any of these let the returned characters do
|
||||
that.
|
||||
|
||||
You can use getchar(), it consumes typeahead if there is any. E.g., if you
|
||||
have these mappings: >
|
||||
inoremap <expr> <C-L> nr2char(getchar())
|
||||
inoremap <expr> <C-L>x "foo"
|
||||
If you now type CTRL-L nothing happens yet, Vim needs the next character to
|
||||
decide what mapping to use. If you type 'x' the second mapping is used and
|
||||
"foo" is inserted. If you type 'a' the first mapping is used, getchar() gets
|
||||
the 'a' and returns it.
|
||||
|
||||
Here is an example that inserts a list number that increases: >
|
||||
let counter = 0
|
||||
inoremap <expr> <C-L> ListItem()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*mbyte.txt* For Vim version 7.3. Last change: 2011 Jul 18
|
||||
*mbyte.txt* For Vim version 7.3. Last change: 2011 Oct 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||
@@ -797,8 +797,8 @@ is suitable for complex input, such as CJK.
|
||||
number of Hira-gana characters are 76. So, first, we pre-input text as
|
||||
pronounced in Hira-gana, second, we convert Hira-gana to Kanji or Kata-Kana,
|
||||
if needed. There are some Kana-Kanji conversion server: jserver
|
||||
(distributed with Wnn, see below) and canna. Canna could be found at:
|
||||
ftp://ftp.nec.co.jp/pub/Canna/ (no longer works).
|
||||
(distributed with Wnn, see below) and canna. Canna can be found at:
|
||||
http://canna.sourceforge.jp/
|
||||
|
||||
There is a good input system: Wnn4.2. Wnn 4.2 contains,
|
||||
xwnmo (|IM-server|)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*netbeans.txt* For Vim version 7.3. Last change: 2010 Sep 29
|
||||
*netbeans.txt* For Vim version 7.3. Last change: 2011 Oct 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Gordon Prieur et al.
|
||||
@@ -263,6 +263,12 @@ The messages are currently sent over a socket. Since the messages are in
|
||||
plain UTF-8 text this protocol could also be used with any other communication
|
||||
mechanism.
|
||||
|
||||
Netbeans messages are processed when Vim is idle, waiting for user input.
|
||||
When Vim is run in non-interactive mode, for example when running an automated
|
||||
test case that sources a Vim script, the idle loop may not be called often
|
||||
enough. In that case, insert |sleep| commands in the Vim script. The |sleep|
|
||||
command does invoke Netbeans messages processing.
|
||||
|
||||
6.1 Kinds of messages |nb-messages|
|
||||
6.2 Terms |nb-terms|
|
||||
6.3 Commands |nb-commands|
|
||||
@@ -833,11 +839,16 @@ These errors occur when a message violates the protocol:
|
||||
signs.
|
||||
|
||||
*:nbkey*
|
||||
:nb[key] {key} Pass the {key} to the Vim Controller for processing
|
||||
|
||||
When a hot-key has been installed with the specialKeys command, this command
|
||||
can be used to generate a hotkey messages to the Vim Controller. The events
|
||||
newDotAndMark, keyCommand and keyAtPos are generated (in this order).
|
||||
:nb[key] {key} Pass the {key} to the Vim Controller for processing.
|
||||
When a hot-key has been installed with the specialKeys
|
||||
command, this command can be used to generate a hotkey
|
||||
message to the Vim Controller.
|
||||
This command can also be used to pass any text to the
|
||||
Vim Controller. It is used by Pyclewn, for example,
|
||||
to build the complete set of gdb commands as Vim user
|
||||
commands.
|
||||
The events newDotAndMark, keyCommand and keyAtPos are
|
||||
generated (in this order).
|
||||
|
||||
|
||||
==============================================================================
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 7.3. Last change: 2011 Sep 09
|
||||
*options.txt* For Vim version 7.3. Last change: 2011 Sep 30
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -6877,8 +6877,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
usetab Like "useopen", but also consider windows in other tab
|
||||
pages.
|
||||
split If included, split the current window before loading
|
||||
a buffer. Otherwise: do not split, use current window.
|
||||
Supported in |quickfix| commands that display errors.
|
||||
a buffer for a |quickfix| command that display errors.
|
||||
Otherwise: do not split, use current window.
|
||||
newtab Like "split", but open a new tab page. Overrules
|
||||
"split" when both are present.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pattern.txt* For Vim version 7.3. Last change: 2011 Jul 20
|
||||
*pattern.txt* For Vim version 7.3. Last change: 2011 Sep 28
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -21,7 +21,7 @@ explanations are in chapter 27 |usr_27.txt|.
|
||||
10. Highlighting matches |match-highlight|
|
||||
|
||||
==============================================================================
|
||||
1. Search commands *search-commands* *E486*
|
||||
1. Search commands *search-commands*
|
||||
|
||||
*/*
|
||||
/{pattern}[/]<CR> Search forward for the [count]'th occurrence of
|
||||
@@ -150,6 +150,11 @@ use <Esc> to abandon the search.
|
||||
All matches for the last used search pattern will be highlighted if you set
|
||||
the 'hlsearch' option. This can be suspended with the |:nohlsearch| command.
|
||||
|
||||
When no match is found you get the error: *E486* Pattern not found
|
||||
Note that for the |:global| command this behaves like a normal message, for Vi
|
||||
compatibility. For the |:s| command the "e" flag can be used to avoid the
|
||||
error message |:s_flags|.
|
||||
|
||||
*search-offset* *{offset}*
|
||||
These commands search for the specified pattern. With "/" and "?" an
|
||||
additional offset may be given. There are two types of offsets: line offsets
|
||||
|
||||
+95
-34
@@ -1,4 +1,4 @@
|
||||
*pi_netrw.txt* For Vim version 7.3. Last change: 2011 May 31
|
||||
*pi_netrw.txt* For Vim version 7.3. Last change: 2011 Sep 26
|
||||
|
||||
-----------------------------------------------------
|
||||
NETRW REFERENCE MANUAL by Charles E. Campbell, Jr.
|
||||
@@ -89,7 +89,7 @@ Copyright: Copyright (C) 1999-2011 Charles E Campbell, Jr *netrw-copyright*
|
||||
Marked Files: Unmarking............................|netrw-mu|
|
||||
Netrw Browser Variables............................|netrw-browser-var|
|
||||
Netrw Browsing And Option Incompatibilities........|netrw-incompatible|
|
||||
Netrw Settings.....................................|netrw-settings|
|
||||
Netrw Settings Window..............................|netrw-settings-window|
|
||||
Obtaining A File...................................|netrw-O|
|
||||
Preview Window.....................................|netrw-p|
|
||||
Previous Window....................................|netrw-P|
|
||||
@@ -294,14 +294,14 @@ DIRECTORY LISTING *netrw-trailingslash* *netrw-dirlist* {{{2
|
||||
CHANGING USERID AND PASSWORD *netrw-chgup* *netrw-userpass* {{{2
|
||||
|
||||
Attempts to use ftp will prompt you for a user-id and a password.
|
||||
These will be saved in global variables g:netrw_uid and
|
||||
s:netrw_passwd; subsequent uses of ftp will re-use those two items to
|
||||
simplify the further use of ftp. However, if you need to use a
|
||||
different user id and/or password, you'll want to call NetUserPass()
|
||||
These will be saved in global variables |g:netrw_uid| and
|
||||
|s:netrw_passwd|; subsequent use of ftp will re-use those two strings,
|
||||
thereby simplifying use of ftp. However, if you need to use a
|
||||
different user id and/or password, you'll want to call |NetUserPass()|
|
||||
first. To work around the need to enter passwords, check if your ftp
|
||||
supports a <.netrc> file in your home directory. Also see
|
||||
|netrw-passwd| (and if you're using ssh/scp hoping to figure out how
|
||||
to not need to use passwords, look at |netrw-ssh-hack|).
|
||||
to not need to use passwords for scp, look at |netrw-ssh-hack|).
|
||||
|
||||
:NetUserPass [uid [password]] -- prompts as needed
|
||||
:call NetUserPass() -- prompts for uid and password
|
||||
@@ -331,7 +331,8 @@ settings are described below, in |netrw-browser-options|, and in
|
||||
netrw edits a file. The file is first edited, and
|
||||
then the function reference (|Funcref|) is called.
|
||||
This variable may also hold a |List| of Funcrefs.
|
||||
(default) not defined
|
||||
(default) not defined. (the capital in g:Netrw...
|
||||
is required by its holding a function reference)
|
||||
>
|
||||
Example: place in .vimrc; affects all file opening
|
||||
fun! MyFuncRef()
|
||||
@@ -479,6 +480,9 @@ variable (ex. scp uses the variable g:netrw_scp_cmd, which is defaulted to
|
||||
let g:netrw_scp_cmd = '"c:\Program Files\PuTTY\pscp.exe" -q -batch'
|
||||
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
|
||||
doesn't work, so its best to leave it off for that system)
|
||||
|
||||
See |netrw-p8| for more about putty, pscp, psftp, etc.
|
||||
|
||||
Ftp, an old protocol, seems to be blessed by numerous implementations.
|
||||
@@ -716,13 +720,16 @@ below, a {netfile} is an url to a remote file.
|
||||
|
||||
|
||||
==============================================================================
|
||||
8. Variables and Options *netrw-options* *netrw-var* {{{1
|
||||
8. Variables and Options *netrw-settings* {{{1
|
||||
|
||||
(if you're interested in the netrw browser settings, see: |netrw-browser-var|)
|
||||
(also see: |netrw-options| |netrw-variables| |netrw-protocol|
|
||||
|netrw-browser-settings| |netrw-browser-options|
|
||||
|netrw-browser-var| )
|
||||
|
||||
The <netrw.vim> script provides several variables which act as options to
|
||||
affect <netrw.vim>'s file transfer behavior. These variables typically may be
|
||||
set in the user's <.vimrc> file: (see also |netrw-settings| |netrw-protocol|)
|
||||
*netrw-options*
|
||||
>
|
||||
-------------
|
||||
Netrw Options
|
||||
@@ -754,6 +761,7 @@ set in the user's <.vimrc> file: (see also |netrw-settings| |netrw-protocol|)
|
||||
=1 use default method to do ftp >
|
||||
-----------------------------------------------------------------------
|
||||
<
|
||||
*netrw-internal-variables*
|
||||
The script will also make use of the following variables internally, albeit
|
||||
temporarily.
|
||||
>
|
||||
@@ -1147,15 +1155,14 @@ allows one to open a new window to hold the new directory listing or file. A
|
||||
horizontal split is used. (for vertical splitting, see |netrw-v|)
|
||||
|
||||
Normally, the o key splits the window horizontally with the new window and
|
||||
cursor at the top. To change to splitting the window horizontally with the
|
||||
new window and cursor at the bottom, have
|
||||
|
||||
let g:netrw_alto = 1
|
||||
|
||||
in your <.vimrc>. (also see |netrw-t| |netrw-T| |netrw-v|)
|
||||
cursor at the top.
|
||||
|
||||
Associated setting variables: |g:netrw_alto| |g:netrw_winsize|
|
||||
|
||||
Related Actions |netrw-cr| |netrw-p| |netrw-t| |netrw-T| |netrw-v|
|
||||
Associated setting variables:
|
||||
|g:netrw_alto| control above/below splitting
|
||||
|g:netrw_winsize| control initial sizing
|
||||
|
||||
BROWSING WITH A NEW TAB *netrw-t* *netrw-T* {{{2
|
||||
|
||||
@@ -1164,8 +1171,9 @@ allows one to open a new window holding the new directory listing or file in
|
||||
a new tab. The "T" version puts the file or directory into a background tab
|
||||
(see |gT|)
|
||||
|
||||
Related actions: |netrw-o| |netrw-v|
|
||||
|
||||
Related Actions |netrw-cr| |netrw-o| |netrw-p| |netrw-v|
|
||||
Associated setting variables:
|
||||
|g:netrw_winsize| control initial sizing
|
||||
|
||||
BROWSING WITH A VERTICALLY SPLIT WINDOW *netrw-v* {{{2
|
||||
|
||||
@@ -1174,18 +1182,18 @@ allows one to open a new window to hold the new directory listing or file. A
|
||||
vertical split is used. (for horizontal splitting, see |netrw-o|)
|
||||
|
||||
Normally, the v key splits the window vertically with the new window and
|
||||
cursor at the left. To change to splitting the window vertically with the new
|
||||
window and cursor at the right, have
|
||||
|
||||
let g:netrw_altv = 1
|
||||
|
||||
in your <.vimrc>. (also see: |netrw-o| |netrw-t| |netrw-T|)
|
||||
cursor at the left.
|
||||
|
||||
There is only one tree listing buffer; using "v" on a displayed subdirectory
|
||||
will split the screen, but the same buffer will be shown twice.
|
||||
|
||||
Associated setting variable: |g:netrw_altv| |g:netrw_winsize|
|
||||
|
||||
Related Actions |netrw-cr| |netrw-o| |netrw-t| |netrw-T| |netrw-v|
|
||||
Associated setting variables:
|
||||
|g:netrw_altv| control right/left splitting
|
||||
|g:netrw_winsize| control initial sizing
|
||||
|
||||
|
||||
CHANGE LISTING STYLE (THIN LONG WIDE TREE) *netrw-i* {{{2
|
||||
|
||||
@@ -1386,6 +1394,7 @@ to remove it again using the g:netrw_rmf_cmd variable. Its default value is:
|
||||
|
||||
g:netrw_rmf_cmd: ssh HOSTNAME rm -f
|
||||
|
||||
Related topics: |netrw-d|
|
||||
Associated setting variable: |g:netrw_local_rmdir| |g:netrw_rm_cmd|
|
||||
|g:netrw_rmdir_cmd| |g:netrw_ssh_cmd|
|
||||
|
||||
@@ -1520,7 +1529,7 @@ What it means:
|
||||
Associated setting variables: |g:netrw_hide| |g:netrw_list_hide|
|
||||
Associated topics: |netrw-a| |netrw-gh| |netrw-mh|
|
||||
|
||||
|
||||
*netrw-sort-sequence*
|
||||
EDITING THE SORTING SEQUENCE *netrw-S* *netrw-sortsequence* {{{2
|
||||
|
||||
When "Sorted by" is name, one may specify priority via the sorting sequence
|
||||
@@ -1723,9 +1732,9 @@ directory's name. A bare <CR> at that point will abort the making of the
|
||||
directory. Attempts to make a local directory that already exists (as either
|
||||
a file or a directory) will be detected, reported on, and ignored.
|
||||
|
||||
Currently, making a directory via ftp is not supported.
|
||||
|
||||
Associated setting variable: |g:netrw_local_mkdir| |g:netrw_mkdir_cmd|
|
||||
Related topics: |netrw-D|
|
||||
Associated setting variables: |g:netrw_local_mkdir| |g:netrw_mkdir_cmd|
|
||||
|g:netrw_remote_mkdir|
|
||||
|
||||
|
||||
MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY *netrw-c* {{{2
|
||||
@@ -1953,10 +1962,11 @@ MARKED FILES: UNMARKING *netrw-mu* {{{2
|
||||
|
||||
The "mu" mapping will unmark all currently marked files.
|
||||
|
||||
|
||||
*netrw-browser-settings*
|
||||
NETRW BROWSER VARIABLES *netrw-browser-options* *netrw-browser-var* {{{2
|
||||
|
||||
(if you're interested in the netrw file transfer settings, see |netrw-options|)
|
||||
(if you're interested in the netrw file transfer settings, see |netrw-options|
|
||||
and |netrw-protocol|)
|
||||
|
||||
The <netrw.vim> browser provides settings in the form of variables which
|
||||
you may modify; by placing these settings in your <.vimrc>, you may customize
|
||||
@@ -2006,6 +2016,15 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
Will compress marked files with this
|
||||
command
|
||||
|
||||
*g:Netrw_corehandler* Allows one to specify something additional
|
||||
to do when handling <core> files via netrw's
|
||||
browser's "x" command (see |netrw-x|). If
|
||||
present, g:Netrw_corehandler specifies
|
||||
either one or more function references
|
||||
(see |Funcref|). (the capital g:Netrw...
|
||||
is required its holding a function reference)
|
||||
|
||||
|
||||
*g:netrw_ctags* ="ctags"
|
||||
The default external program used to create tags
|
||||
|
||||
@@ -2157,6 +2176,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
columnar.
|
||||
|
||||
*g:netrw_mkdir_cmd* command for making a remote directory
|
||||
via ssh (also see |g:netrw_remote_mkdir|)
|
||||
default: "ssh USEPORT HOSTNAME mkdir"
|
||||
|
||||
*g:netrw_mousemaps* =1 (default) enables mouse buttons while
|
||||
@@ -2167,6 +2187,15 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
rightmouse : remove file/directory
|
||||
=0: disables mouse maps
|
||||
|
||||
*g:netrw_nobeval* doesn't exist (default)
|
||||
If this variable exists, then balloon
|
||||
evaluation will be suppressed
|
||||
(see |'ballooneval'|)
|
||||
|
||||
*g:netrw_remote_mkdir* command for making a local directory
|
||||
via ftp (also see |g:netrw_mkdir_cmd|)
|
||||
default: "mkdir"
|
||||
|
||||
*g:netrw_retmap* if it exists and is set to one, then:
|
||||
* if in a netrw-selected file, AND
|
||||
* no normal-mode <2-leftmouse> mapping exists,
|
||||
@@ -2279,6 +2308,9 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
is an integer describing the percentage of the
|
||||
current netrw buffer's window to be used for
|
||||
the new window.
|
||||
If g:netrw_winsize is less than zero, then
|
||||
the absolute value of g:netrw_winsize lines
|
||||
or columns will be used for the new window.
|
||||
default: 50 (for 50%)
|
||||
|
||||
*g:netrw_xstrlen* Controls how netrw computes string lengths,
|
||||
@@ -2313,7 +2345,7 @@ file you edit; this apparently also applies to directories. In other words,
|
||||
autochdir sets the current directory to that containing the "file" (even if
|
||||
that "file" is itself a directory).
|
||||
|
||||
NETRW BROWSER SETTINGS *netrw-settings* {{{2
|
||||
NETRW SETTINGS WINDOW *netrw-settings-window* {{{2
|
||||
|
||||
With the NetrwSettings.vim plugin, >
|
||||
:NetrwSettings
|
||||
@@ -2356,7 +2388,6 @@ Related topics:
|
||||
* To automatically make the currently browsed directory the current
|
||||
directory, see |g:netrw_keepdir|.
|
||||
|
||||
|
||||
*netrw-createfile*
|
||||
OPEN A NEW FILE IN NETRW'S CURRENT DIRECTORY *netrw-%*
|
||||
|
||||
@@ -2390,8 +2421,7 @@ PREVIOUS WINDOW *netrw-P* *netrw-prvwin* {{{2
|
||||
|
||||
To edit a file or directory in the previously used (last accessed) window (see
|
||||
:he |CTRL-W_p|), press a "P". If there's only one window, then the one window
|
||||
will be horizontally split (above/below splitting is controlled by
|
||||
|g:netrw_alto|, and its initial size is controlled by |g:netrw_winsize|).
|
||||
will be horizontally split (by default).
|
||||
|
||||
If there's more than one window, the previous window will be re-used on
|
||||
the selected file/directory. If the previous window's associated buffer
|
||||
@@ -2399,6 +2429,13 @@ has been modified, and there's only one window with that buffer, then
|
||||
the user will be asked if s/he wishes to save the buffer first (yes,
|
||||
no, or cancel).
|
||||
|
||||
Related Actions |netrw-cr| |netrw-o| |netrw-t| |netrw-T| |netrw-v|
|
||||
Associated setting variables:
|
||||
|g:netrw_alto| control above/below splitting
|
||||
|g:netrw_altv| control right/left splitting
|
||||
|g:netrw_preview| control horizontal vs vertical splitting
|
||||
|g:netrw_winsize| control initial sizing
|
||||
|
||||
|
||||
REFRESHING THE LISTING *netrw-ctrl-l* *netrw-ctrl_l* {{{2
|
||||
|
||||
@@ -2804,6 +2841,30 @@ which is loaded automatically at startup (assuming :set nocp).
|
||||
==============================================================================
|
||||
12. History *netrw-history* {{{1
|
||||
|
||||
v143: Jun 01, 2011 * |g:netrw_winsize| will accept a negative
|
||||
number; the absolute value of it will then
|
||||
be used to specify lines/columns instead of
|
||||
a percentage.
|
||||
Jul 05, 2011 * the "d" map now supports mkdir via ftp
|
||||
See |netrw-d| and |g:netrw_remote_mkdir|
|
||||
Jul 11, 2011 * Changed Explore!, Sexplore!, and Vexplore
|
||||
to use a percentage of |winwidth()| instead
|
||||
of a percentage of |winheight()|.
|
||||
Jul 11, 2011 * included support for https://... I'm just
|
||||
beginning to test this, however.
|
||||
Aug 01, 2011 * changed RestoreOptions to also restore
|
||||
cursor position in netrw buffers.
|
||||
Aug 12, 2011 * added a note about "%" to the balloon
|
||||
Aug 30, 2011 * if |g:netrw_nobeval| exists, then balloon
|
||||
evaluation is suppressed.
|
||||
Aug 31, 2011 * (Benjamin R Haskell) provided a patch that
|
||||
implements non-standard port handling for
|
||||
files opened via the remote browser.
|
||||
Aug 31, 2011 * Fixed a **//pattern Explorer bug
|
||||
Sep 15, 2011 * (reported by Francesco Campana) netrw
|
||||
now permits the "@" to be part of the
|
||||
user id (if there's an @ that appears
|
||||
to the right).
|
||||
v142: Apr 06, 2011 * I modified NetrwRemoteListing() to use
|
||||
shellescape(fnameescape(s:path),1) for
|
||||
the benefit of those using scp://.../
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pi_vimball.txt* For Vim version 7.3. Last change: 2011 Aug 14
|
||||
*pi_vimball.txt* For Vim version 7.3. Last change: 2011 Sep 26
|
||||
|
||||
----------------
|
||||
Vimball Archiver
|
||||
@@ -177,6 +177,8 @@ WINDOWS *vimball-windows*
|
||||
==============================================================================
|
||||
4. Vimball History *vimball-history* {{{1
|
||||
|
||||
34 : Sep 22, 2011 * "UseVimball path" now supports a non-full path by
|
||||
prepending the current directory to it.
|
||||
33 : Apr 02, 2011 * Gave priority to *.vmb over *.vba
|
||||
* Changed silent! to sil! (shorter)
|
||||
* Safed |'swf'| setting (during vimball extraction,
|
||||
|
||||
+40
-2
@@ -1,4 +1,4 @@
|
||||
*syntax.txt* For Vim version 7.3. Last change: 2011 Jul 18
|
||||
*syntax.txt* For Vim version 7.3. Last change: 2011 Sep 30
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -2605,8 +2605,41 @@ 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
|
||||
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: EMBEDDING LANGUAGES~
|
||||
|
||||
SPEEDUP (AspenTech plant simulator) *spup.vim* *ft-spup-syntax*
|
||||
You may wish to embed languages into sh. I'll give an example courtesy of
|
||||
Lorance Stinson on how to do this with awk as an example. Put the following
|
||||
file into $HOME/.vim/after/syntax/sh/awkembed.vim: >
|
||||
|
||||
" AWK Embedding: {{{1
|
||||
" ==============
|
||||
" Shamelessly ripped from aspperl.vim by Aaron Hope.
|
||||
if exists("b:current_syntax")
|
||||
unlet b:current_syntax
|
||||
endif
|
||||
syn include @AWKScript syntax/awk.vim
|
||||
syn region AWKScriptCode matchgroup=AWKCommand start=+[=\\]\@<!'+ skip=+\\'+ end=+'+ contains=@AWKScript contained
|
||||
syn region AWKScriptEmbedded matchgroup=AWKCommand start=+\<awk\>+ skip=+\\$+ end=+[=\\]\@<!'+me=e-1 contains=@shIdList,@shExprList2 nextgroup=AWKScriptCode
|
||||
syn cluster shCommandSubList add=AWKScriptEmbedded
|
||||
hi def link AWKCommand Type
|
||||
<
|
||||
This code will then let the awk code in the single quotes: >
|
||||
awk '...awk code here...'
|
||||
be highlighted using the awk highlighting syntax. Clearly this may be
|
||||
extended to other languages.
|
||||
|
||||
|
||||
SPEEDUP *spup.vim* *ft-spup-syntax*
|
||||
(AspenTech plant simulator)
|
||||
|
||||
The Speedup syntax file has some options:
|
||||
|
||||
@@ -2689,6 +2722,8 @@ sections, subsections, etc are supported. Put >
|
||||
in your <.vimrc>, and :set fdm=syntax. I suggest doing the latter via a
|
||||
modeline at the end of your LaTeX file: >
|
||||
% vim: fdm=syntax
|
||||
If your system becomes too slow, then you might wish to look into >
|
||||
http://vim.wikia.com/wiki/Keep_folds_closed_while_inserting_text
|
||||
<
|
||||
*tex-nospell*
|
||||
Tex: Don't Want Spell Checking In Comments? ~
|
||||
@@ -2729,6 +2764,9 @@ If you have a slow computer, you may wish to reduce the values for >
|
||||
increase them. This primarily affects synchronizing (i.e. just what group,
|
||||
if any, is the text at the top of the screen supposed to be in?).
|
||||
|
||||
Another cause of slow highlighting is due to syntax-driven folding; see
|
||||
|tex-folding| for a way around this.
|
||||
|
||||
*tex-morecommands* *tex-package*
|
||||
Tex: Want To Highlight More Commands? ~
|
||||
|
||||
|
||||
+12
-1
@@ -4282,6 +4282,7 @@ E85 options.txt /*E85*
|
||||
E850 change.txt /*E850*
|
||||
E851 gui_x11.txt /*E851*
|
||||
E852 gui_x11.txt /*E852*
|
||||
E853 eval.txt /*E853*
|
||||
E86 windows.txt /*E86*
|
||||
E87 windows.txt /*E87*
|
||||
E88 windows.txt /*E88*
|
||||
@@ -5813,6 +5814,7 @@ g- undo.txt /*g-*
|
||||
g0 motion.txt /*g0*
|
||||
g8 various.txt /*g8*
|
||||
g:NetrwTopLvlMenu pi_netrw.txt /*g:NetrwTopLvlMenu*
|
||||
g:Netrw_corehandler pi_netrw.txt /*g:Netrw_corehandler*
|
||||
g:Netrw_funcref pi_netrw.txt /*g:Netrw_funcref*
|
||||
g:ada#Comment ft_ada.txt /*g:ada#Comment*
|
||||
g:ada#Ctags_Kinds ft_ada.txt /*g:ada#Ctags_Kinds*
|
||||
@@ -5900,9 +5902,11 @@ g:netrw_maxfilenamelen pi_netrw.txt /*g:netrw_maxfilenamelen*
|
||||
g:netrw_menu pi_netrw.txt /*g:netrw_menu*
|
||||
g:netrw_mkdir_cmd pi_netrw.txt /*g:netrw_mkdir_cmd*
|
||||
g:netrw_mousemaps pi_netrw.txt /*g:netrw_mousemaps*
|
||||
g:netrw_nobeval pi_netrw.txt /*g:netrw_nobeval*
|
||||
g:netrw_nogx pi_netrw.txt /*g:netrw_nogx*
|
||||
g:netrw_preview pi_netrw.txt /*g:netrw_preview*
|
||||
g:netrw_rcp_cmd pi_netrw.txt /*g:netrw_rcp_cmd*
|
||||
g:netrw_remote_mkdir pi_netrw.txt /*g:netrw_remote_mkdir*
|
||||
g:netrw_retmap pi_netrw.txt /*g:netrw_retmap*
|
||||
g:netrw_rm_cmd pi_netrw.txt /*g:netrw_rm_cmd*
|
||||
g:netrw_rmdir_cmd pi_netrw.txt /*g:netrw_rmdir_cmd*
|
||||
@@ -5930,6 +5934,8 @@ g:netrw_use_nt_rcp pi_netrw.txt /*g:netrw_use_nt_rcp*
|
||||
g:netrw_win95ftp pi_netrw.txt /*g:netrw_win95ftp*
|
||||
g:netrw_winsize pi_netrw.txt /*g:netrw_winsize*
|
||||
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:tar_browseoptions pi_tar.txt /*g:tar_browseoptions*
|
||||
g:tar_cmd pi_tar.txt /*g:tar_cmd*
|
||||
@@ -6857,6 +6863,7 @@ netrw-browse-cmds pi_netrw.txt /*netrw-browse-cmds*
|
||||
netrw-browse-maps pi_netrw.txt /*netrw-browse-maps*
|
||||
netrw-browser pi_netrw.txt /*netrw-browser*
|
||||
netrw-browser-options pi_netrw.txt /*netrw-browser-options*
|
||||
netrw-browser-settings pi_netrw.txt /*netrw-browser-settings*
|
||||
netrw-browser-var pi_netrw.txt /*netrw-browser-var*
|
||||
netrw-browsing pi_netrw.txt /*netrw-browsing*
|
||||
netrw-c pi_netrw.txt /*netrw-c*
|
||||
@@ -6905,6 +6912,7 @@ netrw-history pi_netrw.txt /*netrw-history*
|
||||
netrw-horiz pi_netrw.txt /*netrw-horiz*
|
||||
netrw-i pi_netrw.txt /*netrw-i*
|
||||
netrw-incompatible pi_netrw.txt /*netrw-incompatible*
|
||||
netrw-internal-variables pi_netrw.txt /*netrw-internal-variables*
|
||||
netrw-intro-browse pi_netrw.txt /*netrw-intro-browse*
|
||||
netrw-leftmouse pi_netrw.txt /*netrw-leftmouse*
|
||||
netrw-list pi_netrw.txt /*netrw-list*
|
||||
@@ -6982,8 +6990,10 @@ netrw-rexplore pi_netrw.txt /*netrw-rexplore*
|
||||
netrw-rightmouse pi_netrw.txt /*netrw-rightmouse*
|
||||
netrw-s pi_netrw.txt /*netrw-s*
|
||||
netrw-settings pi_netrw.txt /*netrw-settings*
|
||||
netrw-settings-window pi_netrw.txt /*netrw-settings-window*
|
||||
netrw-sexplore pi_netrw.txt /*netrw-sexplore*
|
||||
netrw-sort pi_netrw.txt /*netrw-sort*
|
||||
netrw-sort-sequence pi_netrw.txt /*netrw-sort-sequence*
|
||||
netrw-sortsequence pi_netrw.txt /*netrw-sortsequence*
|
||||
netrw-source pi_netrw.txt /*netrw-source*
|
||||
netrw-ssh-hack pi_netrw.txt /*netrw-ssh-hack*
|
||||
@@ -7002,7 +7012,6 @@ netrw-updir pi_netrw.txt /*netrw-updir*
|
||||
netrw-urls pi_netrw.txt /*netrw-urls*
|
||||
netrw-userpass pi_netrw.txt /*netrw-userpass*
|
||||
netrw-v pi_netrw.txt /*netrw-v*
|
||||
netrw-var pi_netrw.txt /*netrw-var*
|
||||
netrw-variables pi_netrw.txt /*netrw-variables*
|
||||
netrw-vexplore pi_netrw.txt /*netrw-vexplore*
|
||||
netrw-write pi_netrw.txt /*netrw-write*
|
||||
@@ -7538,6 +7547,8 @@ setuid change.txt /*setuid*
|
||||
setwinvar() eval.txt /*setwinvar()*
|
||||
sftp pi_netrw.txt /*sftp*
|
||||
sgml.vim syntax.txt /*sgml.vim*
|
||||
sh-awk syntax.txt /*sh-awk*
|
||||
sh-embed syntax.txt /*sh-embed*
|
||||
sh.vim syntax.txt /*sh.vim*
|
||||
shell-window tips.txt /*shell-window*
|
||||
shell_error-variable eval.txt /*shell_error-variable*
|
||||
|
||||
+69
-12
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 7.3. Last change: 2011 Sep 14
|
||||
*todo.txt* For Vim version 7.3. Last change: 2011 Oct 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -34,17 +34,44 @@ not be repeated below, unless there is extra information.
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
Patch to start GTK only after forking. (Tim Starling, 2011 Sep 12)
|
||||
Patch for 'transparency' option. (Ben Boeckel, 2011 Sep 14)
|
||||
Do we want this? Also Sergiu Dotenco, 2011 Sep 17.
|
||||
|
||||
Patch for Lua debug(). (Rob Hoelz, 2011 Sep 12)
|
||||
Once syntax and other runtime files have been fixed: add "set cp" to
|
||||
check.vim. Use a function to run both with 'cp' and 'nocp'.
|
||||
|
||||
Windows stuff:
|
||||
- Patch for gui_w32.c: call DefWindowProc(). (Sergiu Dotenco, 2011 Sep 15, 17)
|
||||
- Patch to use task dialogs when available. (Sergiu Dotenco, 2011 Sep 15, 17)
|
||||
Addition Sep 16.
|
||||
- Patch for alpha-blended icons and toolbar height. (Sergiu Dotenco, 2011 Sep
|
||||
15, 17)
|
||||
- Patch for redirection. (Yasuhiro Matsumoto, 2011 Sep 15) 2nd patch. Another
|
||||
on Sep 15? Can't reproduce it. Only with vim.exe, compiled with Mingw?
|
||||
|
||||
Patch for phpcomplete.vim (Benjamin Haskell) picked up by maintainer?
|
||||
|
||||
Something weird with text formatting when 'compatible' is set.
|
||||
Only formats from Insert starting point, even when using "gqj"?
|
||||
(Peter Wagenaar, 2011 Oct 20)
|
||||
|
||||
FocusGained event received event though it's in 'eventignore'?
|
||||
(Ben Fritz, 2011 Sep 25)
|
||||
|
||||
Add voting item: modern plugin management (automatic updates, handle
|
||||
dependencies).
|
||||
Add links to http://vimcasts.org/ and http://vimgolf.com/
|
||||
Read http://www.charlietanksley.net/philtex/sane-vim-plugin-management/
|
||||
|
||||
Go through more coverity reports.
|
||||
|
||||
Using "." to repeat a Visual delete counts bytes, not characters. Can this be
|
||||
fixed? (Connor Lane Smith, 2011 Sep 1)
|
||||
Better D/Dtrace detection. (Jesse Phillips, 2011 Oct 18)
|
||||
|
||||
Patch to allow getchar() in expression mapping.
|
||||
Why was typeahead saved and restored? (James Vega, 2011 Aug 31)
|
||||
Patch for not showing dict methods in completion. (Yasuhiro Matsumoto, 2011
|
||||
Oct 7) Move "<" methods to the end. Fix for compiler warnings, Oct 13.
|
||||
|
||||
FPE exception in mbyte.c. Stack trace: (Lomy, 2011 Sep 26)
|
||||
Can't reproduce it.
|
||||
|
||||
Crash in autocomplete, valgrind log. (Greg Weber, 2011 Apr 22)
|
||||
|
||||
@@ -56,9 +83,20 @@ Patch to fail if configure can't find an interface, such as Python.
|
||||
Patch to support UTF-8 for Hangul. (Shawn Y.H. Kim, 2011 May 1)
|
||||
Needs more work.
|
||||
|
||||
Other way to start Mzscheme. Tim Brown, 2011 Oct 5: change main call.
|
||||
Later patch by Sergey Khorev, 2011 Oct 9.
|
||||
|
||||
Patch to add getsid(). (Tyru, 2011 Oct 2) Do we want this? Update Oct 4.
|
||||
Or use expand('<sid>')?
|
||||
|
||||
Patch for glob() returning a list. (Christian Brabandt, 2011 Aug 24, second
|
||||
one)
|
||||
|
||||
Patch to highlight cursor line number. (Howard Buchholz (lhb), 2011 Oct 18)
|
||||
|
||||
Docs fix for v:register. (Ingo Karkat, 2011 Sep 26, 27)
|
||||
v:register doesn't work exactly as expected. (David Fishburn, 2011 Sep 20)
|
||||
|
||||
Patch for: (Christian Brabandt, 2011 Aug 22)
|
||||
- Make it possible to enter "r<C-E>" and "r<C-Y>" (get character from line
|
||||
below/above).
|
||||
@@ -67,8 +105,25 @@ Patch for: (Christian Brabandt, 2011 Aug 24, updated patch)
|
||||
8 ":sign unplace * file={filename}" should work. Also: ":sign unplace *
|
||||
buffer={bufnr}". So one can remove all signs for one file/buffer.
|
||||
|
||||
Patch to add "onselected" callback for completion. (Taro Muraoka, 2011 Sep 24)
|
||||
|
||||
Problem with winfixheight and resizing. (Yukihiro Nakadaira, 2011 Sep 17)
|
||||
Patch Sep 18.
|
||||
|
||||
Patch for has('unnamedplus') docs. (Tony Mechelynck, 2011 Sep 27)
|
||||
And one for gui_x11.txt.
|
||||
|
||||
Problem with l: dictionary being locked in a function. (ZyX, 2011 Jul 21)
|
||||
|
||||
Patch to sort functions starting with '<' after others. Omit dict functions,
|
||||
they can't be called. (Yasuhiro Matsumoto, 2011 Oct 11)
|
||||
|
||||
Updated syntax file for ssh_config, maintainer doesn't respond.
|
||||
(Leonard Ehrenfried, 2011 Sep 26)
|
||||
|
||||
"fC" doesn't position the cursor correctly when there are concealed
|
||||
characters. Patch by Christian Brabandt, 2011 Oct 11)
|
||||
|
||||
'cursorline' is displayed too short when there are concealed characters and
|
||||
'list' is set. (Dennis Preiser)
|
||||
Patch 7.3.116 was the wrong solution.
|
||||
@@ -141,6 +196,9 @@ Make 'formatprg' global-local. (Sung Pae)
|
||||
When doing "redir => s:foo" in a script and then "redir END" somewhere else
|
||||
(e.g. in a function) it can't find s:foo.
|
||||
|
||||
When setqflist() uses a filename that triggers a BufReadCmd autocommand Vim
|
||||
doesn't jump to the correct line with :cfirst. (ZyX, 2011 Sep 18)
|
||||
|
||||
7 Make "ga" show the digraph for a character, if it exists.
|
||||
Patch from Christian Brabandt, 2011 Aug 19.
|
||||
|
||||
@@ -266,6 +324,8 @@ the system encoding (usually utf-8).
|
||||
Problem producing tags file when hebrew.frx is present. It has a BOM.
|
||||
Results in E670. (Tony Mechelynck, 2010 May 2)
|
||||
|
||||
'beval' option should be global-local.
|
||||
|
||||
Ruby: ":ruby print $buffer.number" returns zero.
|
||||
|
||||
setpos() does not restore cursor position after :normal. (Tyru, 2010 Aug 11)
|
||||
@@ -420,21 +480,18 @@ it. Caused by "syntax sync fromstart" in combination with patch 7.2.274.
|
||||
Generally, folding with 'foldmethod' set to "syntax" is slow. Do profiling to
|
||||
find out why.
|
||||
|
||||
Syntax priority problem. (Charles Campbell, 2011 Sep 15)
|
||||
|
||||
When completion inserts the first match, it may trigger the line to be folded.
|
||||
Disable updating folds while completion is active? (Peter Odding, 2010 Jun 9)
|
||||
|
||||
Using ":call foo#d.f()" doesn't autoload the "foo.vim" file. Works OK for
|
||||
echo, just not for ":call" and ":call call()". (Ted, 2011 Mar 17)
|
||||
|
||||
Cannot use getchar() inside :normal and using an expression mapping. Is this
|
||||
supposed to work? (XyX, 2010 Sep 22)
|
||||
|
||||
When a:base in 'completefunc' starts with a number it's passed as a number,
|
||||
not a string. (Sean Ma) Need to add flag to call_func_retlist() to force a
|
||||
string value.
|
||||
|
||||
There is no command line completion for ":lmap".
|
||||
|
||||
":e ~br<Tab>" does not complete to ":e /home/bram/". Would need to use
|
||||
getpwent() to find all the matches.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*various.txt* For Vim version 7.3. Last change: 2011 May 19
|
||||
*various.txt* For Vim version 7.3. Last change: 2011 Oct 1st
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -605,6 +605,10 @@ K Run a program to lookup the keyword under the
|
||||
"gs" stands for "goto sleep".
|
||||
While sleeping the cursor is positioned in the text,
|
||||
if at a visible position. {not in Vi}
|
||||
Also process the received netbeans messages. {only
|
||||
available when compiled with the |+netbeans_intg|
|
||||
feature}
|
||||
|
||||
|
||||
*g_CTRL-A*
|
||||
g CTRL-A Only when Vim was compiled with MEM_PROFILING defined
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2011 Sep 07
|
||||
" Last Change: 2011 Oct 08
|
||||
|
||||
" Listen very carefully, I will say this only once
|
||||
if exists("did_load_filetypes")
|
||||
@@ -754,6 +754,11 @@ au BufNewFile,BufRead */usr/**/gnupg/options.skel setf gpg
|
||||
" gnash(1) configuration files
|
||||
au BufNewFile,BufRead gnashrc,.gnashrc,gnashpluginrc,.gnashpluginrc setf gnash
|
||||
|
||||
" Gitolite
|
||||
au BufNewFile,BufRead gitolite.conf setf gitolite
|
||||
au BufNewFile,BufRead */gitolite-admin/conf/* call s:StarSetf('gitolite')
|
||||
au BufNewFile,BufRead {,.}gitolite.rc,example.gitolite.rc setf perl
|
||||
|
||||
" Gnuplot scripts
|
||||
au BufNewFile,BufRead *.gpi setf gnuplot
|
||||
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
" Vim support file to switch off loading plugins for file types
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2002 Apr 04
|
||||
" Last Change: 2011 Oct 20
|
||||
|
||||
if exists("did_load_ftplugin")
|
||||
unlet did_load_ftplugin
|
||||
endif
|
||||
|
||||
" Remove all autocommands in the filetypeplugin group
|
||||
silent! au! filetypeplugin *
|
||||
" Remove all autocommands in the filetypeplugin group, if any exist.
|
||||
if exists("#filetypeplugin")
|
||||
silent! au! filetypeplugin *
|
||||
endif
|
||||
|
||||
@@ -189,6 +189,9 @@ endfunction
|
||||
|
||||
function! s:Seems_continuing( line )
|
||||
" Unfinished lines
|
||||
if a:line =~ '\(--\|++\)\s*$'
|
||||
return 0
|
||||
endif
|
||||
if a:line =~ '[\\,\|\&\+\-\*\%\^]\s*$'
|
||||
return 1
|
||||
endif
|
||||
|
||||
+12
-2
@@ -1,7 +1,7 @@
|
||||
" Vim indent file
|
||||
" Language: R
|
||||
" Author: Jakson Alves de Aquino <jalvesaq@gmail.com>
|
||||
" Last Change: Wed Aug 31, 2011 12:24AM
|
||||
" Last Change: Fri Oct 14, 2011 09:50PM
|
||||
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
@@ -455,19 +455,29 @@ function GetRIndent()
|
||||
return ind
|
||||
endif
|
||||
|
||||
if g:r_indent_align_args == 0 && bb != 0
|
||||
let ind += bb * &sw
|
||||
return ind
|
||||
endif
|
||||
|
||||
if ind == pind || (ind == (pind + &sw) && pline =~ '{$' && ppost_else == 0)
|
||||
return ind
|
||||
endif
|
||||
|
||||
while pind < ind && plnum > 0 && ppb == 0
|
||||
let pline = getline(plnum)
|
||||
let pbb = s:Get_paren_balance(pline, '[', ']')
|
||||
|
||||
while pind < ind && plnum > 0 && ppb == 0 && pbb == 0
|
||||
let ind = pind
|
||||
let plnum = s:Get_prev_line(plnum)
|
||||
let pline = getline(plnum)
|
||||
let ppb = s:Get_paren_balance(pline, '(', ')')
|
||||
let pbb = s:Get_paren_balance(pline, '[', ']')
|
||||
while pline =~ '^\s*else'
|
||||
let plnum = s:Get_matching_if(plnum, 1)
|
||||
let pline = getline(plnum)
|
||||
let ppb = s:Get_paren_balance(pline, '(', ')')
|
||||
let pbb = s:Get_paren_balance(pline, '[', ']')
|
||||
endwhile
|
||||
let pind = indent(plnum)
|
||||
if ind == (pind + &sw) && pline =~ '{$'
|
||||
|
||||
+31
-14
@@ -1,8 +1,8 @@
|
||||
" VHDL indent ('93 syntax)
|
||||
" Language: VHDL
|
||||
" Maintainer: Gerald Lai <laigera+vim?gmail.com>
|
||||
" Version: 1.56
|
||||
" Last Change: 2010 Jun 29
|
||||
" Version: 1.58
|
||||
" Last Change: 2011 Sep 27
|
||||
" URL: http://www.vim.org/scripts/script.php?script_id=1450
|
||||
|
||||
" only load this indent file when no other was loaded
|
||||
@@ -95,7 +95,7 @@ function GetVHDLindent()
|
||||
|
||||
" ****************************************************************************************
|
||||
" indent: align generic variables & port names
|
||||
" keywords: "generic", "map", "port" + "(", provided current line is part of mapping
|
||||
" keywords: "procedure" + name, "generic", "map", "port" + "(", provided current line is part of mapping
|
||||
" where: anywhere in previous 2 lines
|
||||
" find following previous non-comment line
|
||||
let pn = prevnonblank(prevn - 1)
|
||||
@@ -104,7 +104,7 @@ function GetVHDLindent()
|
||||
let pn = prevnonblank(pn - 1)
|
||||
let ps = getline(pn)
|
||||
endwhile
|
||||
if (curs =~ '^\s*)' || curs =~? '^\s*\%(\<\%(generic\|map\|port\)\>.*\)\@<!\S\+\s*\%(=>\s*\S\+\|:[^=]\@=\s*\%(\%(in\|out\|inout\|buffer\|linkage\)\>\|\w\+\s\+:=\)\)') && (prevs =~? s:NC.'\<\%(generic\|map\|port\)\s*(\%(\s*\w\)\=' || (ps =~? s:NC.'\<\%(generic\|map\|port\)'.s:ES && prevs =~ '^\s*('))
|
||||
if (curs =~ '^\s*)' || curs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*\%(=>\s*\S\+\|:[^=]\@=\s*\%(\%(in\|out\|inout\|buffer\|linkage\)\>\|\w\+\s\+:=\)\)') && (prevs =~? s:NC.'\<\%(procedure\s\+\S\+\|generic\|map\|port\)\s*(\%(\s*\w\)\=' || (ps =~? s:NC.'\<\%(procedure\|generic\|map\|port\)'.s:ES && prevs =~ '^\s*('))
|
||||
" align closing ")" with opening "("
|
||||
if curs =~ '^\s*)'
|
||||
return ind2 + stridx(prevs_noi, '(')
|
||||
@@ -160,12 +160,12 @@ function GetVHDLindent()
|
||||
" make sure one of these is true
|
||||
" keywords: variable + "<=" without ";" ending
|
||||
" where: start of previous non-comment line
|
||||
" keywords: "generic", "map", "port"
|
||||
" keywords: "procedure", "generic", "map", "port"
|
||||
" where: anywhere in previous non-comment line
|
||||
" keyword: "("
|
||||
" where: start of previous non-comment line
|
||||
if m < 3 && ps !~? '^\s*\S\+\s*<=[^;]*'.s:ES
|
||||
if ps =~? s:NC.'\<\%(generic\|map\|port\)\>' || ps =~ '^\s*('
|
||||
if ps =~? s:NC.'\<\%(procedure\|generic\|map\|port\)\>' || ps =~ '^\s*('
|
||||
let ind = t
|
||||
endif
|
||||
break
|
||||
@@ -207,14 +207,26 @@ function GetVHDLindent()
|
||||
" keyword: "begin"
|
||||
" where: anywhere in current line
|
||||
if curs =~? s:NC.'\<begin\>'
|
||||
let ind = ind - &sw
|
||||
" find previous opening statement of
|
||||
" keywords: "architecture", "block", "entity", "function", "generate", "procedure", "process"
|
||||
let s2 = s:NC.s:NE.'\<\%(architecture\|block\|entity\|function\|generate\|procedure\|process\)\>'
|
||||
if (curs !~? s2.'.*'.s:NC.'\<begin\>.*'.s:ES && prevs =~? s2) || m == 1
|
||||
let ind = ind + &sw
|
||||
|
||||
let pn = prevnonblank(curn - 1)
|
||||
let ps = getline(pn)
|
||||
while pn > 0 && (ps =~ '^\s*--' || ps !~? s2)
|
||||
let pn = prevnonblank(pn - 1)
|
||||
let ps = getline(pn)
|
||||
|
||||
if (ps =~? s:NC.'\<begin\>')
|
||||
return indent(pn) - &sw
|
||||
endif
|
||||
endwhile
|
||||
|
||||
if (pn == 0)
|
||||
return ind - &sw
|
||||
else
|
||||
return indent(pn)
|
||||
endif
|
||||
return ind
|
||||
endif
|
||||
|
||||
" indent: +sw if previous line is previous opening statement
|
||||
@@ -319,8 +331,13 @@ function GetVHDLindent()
|
||||
" indent: -sw
|
||||
" keywords: "else", "elsif", "end" + "block", "for", "function", "generate", "if", "loop", "procedure", "process", "record", "units"
|
||||
" where: start of current line
|
||||
if curs =~? '^\s*\%(else\|elsif\|end\s\+\%(block\|for\|function\|generate\|if\|loop\|procedure\|process\|record\|units\)\)\>'
|
||||
return ind - &sw
|
||||
let s5 = 'block\|for\|function\|generate\|if\|loop\|procedure\|process\|record\|units'
|
||||
if curs =~? '^\s*\%(else\|elsif\|end\s\+\%('.s5.'\)\)\>'
|
||||
if prevs =~? '^\s*\%(elsif\|'.s5.'\)'
|
||||
return ind
|
||||
else
|
||||
return ind - &sw
|
||||
endif
|
||||
endif
|
||||
|
||||
" indent: backtrace previous non-comment lines
|
||||
@@ -395,9 +412,9 @@ function GetVHDLindent()
|
||||
|
||||
" ****************************************************************************************
|
||||
" indent: maintain indent of previous opening statement
|
||||
" keywords: without "generic", "map", "port" + ":" but not ":=" + "in", "out", "inout", "buffer", "linkage", variable & ":="
|
||||
" keywords: without "procedure", "generic", "map", "port" + ":" but not ":=" + "in", "out", "inout", "buffer", "linkage", variable & ":="
|
||||
" where: start of current line
|
||||
if curs =~? '^\s*\%(\<\%(generic\|map\|port\)\>.*\)\@<!\S\+\s*:[^=]\@=\s*\%(\%(in\|out\|inout\|buffer\|linkage\)\>\|\w\+\s\+:=\)'
|
||||
if curs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*:[^=]\@=\s*\%(\%(in\|out\|inout\|buffer\|linkage\)\>\|\w\+\s\+:=\)'
|
||||
return ind2
|
||||
endif
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" netrwPlugin.vim: Handles file transfer and remote directory listing across a network
|
||||
" PLUGIN SECTION
|
||||
" Date: Feb 10, 2011
|
||||
" Date: Aug 24, 2011
|
||||
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
||||
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
|
||||
" Copyright: Copyright (C) 1999-2008 Charles E. Campbell, Jr. {{{1
|
||||
@@ -20,7 +20,7 @@
|
||||
if &cp || exists("g:loaded_netrwPlugin")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_netrwPlugin = "v142"
|
||||
let g:loaded_netrwPlugin = "v143"
|
||||
if v:version < 702
|
||||
echohl WarningMsg | echo "***netrw*** you need vim version 7.2 for this version of netrw" | echohl None
|
||||
finish
|
||||
@@ -47,20 +47,15 @@ augroup END
|
||||
" Network Browsing Reading Writing: {{{2
|
||||
augroup Network
|
||||
au!
|
||||
if has("win32") || has("win95") || has("win64") || has("win16")
|
||||
au BufReadCmd file://* call netrw#FileUrlRead(expand("<amatch>"))
|
||||
else
|
||||
au BufReadCmd file://* call netrw#FileUrlRead(expand("<amatch>"))
|
||||
au BufReadCmd file://localhost/* call netrw#FileUrlRead(substitute(expand("<amatch>")),'file://localhost/','file:///','')
|
||||
endif
|
||||
au BufReadCmd ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau BufReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(2,expand("<amatch>"))|exe "silent doau BufReadPost ".fnameescape(expand("<amatch>"))
|
||||
au FileReadCmd ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "silent doau FileReadPost ".fnameescape(expand("<amatch>"))
|
||||
au BufWriteCmd ftp://*,rcp://*,scp://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "silent doau BufWritePost ".fnameescape(expand("<amatch>"))
|
||||
au FileWriteCmd ftp://*,rcp://*,scp://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau FileWritePre ".fnameescape(expand("<amatch>"))|exe "'[,']".'Nwrite '.fnameescape(expand("<amatch>"))|exe "silent doau FileWritePost ".fnameescape(expand("<amatch>"))
|
||||
au BufReadCmd file://* call netrw#FileUrlRead(expand("<amatch>"))
|
||||
au BufReadCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau BufReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(2,expand("<amatch>"))|exe "silent doau BufReadPost ".fnameescape(expand("<amatch>"))
|
||||
au FileReadCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "silent doau FileReadPost ".fnameescape(expand("<amatch>"))
|
||||
au BufWriteCmd ftp://*,rcp://*,scp://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "silent doau BufWritePost ".fnameescape(expand("<amatch>"))
|
||||
au FileWriteCmd ftp://*,rcp://*,scp://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau FileWritePre ".fnameescape(expand("<amatch>"))|exe "'[,']".'Nwrite '.fnameescape(expand("<amatch>"))|exe "silent doau FileWritePost ".fnameescape(expand("<amatch>"))
|
||||
try
|
||||
au SourceCmd ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe 'Nsource '.fnameescape(expand("<amatch>"))
|
||||
au SourceCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe 'Nsource '.fnameescape(expand("<amatch>"))
|
||||
catch /^Vim\%((\a\+)\)\=:E216/
|
||||
au SourcePre ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe 'Nsource '.fnameescape(expand("<amatch>"))
|
||||
au SourcePre ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe 'Nsource '.fnameescape(expand("<amatch>"))
|
||||
endtry
|
||||
augroup END
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
if &cp || exists("g:loaded_vimballPlugin")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_vimballPlugin = "v33"
|
||||
let g:loaded_vimballPlugin = "v34"
|
||||
let s:keepcpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
|
||||
" Wichert Akkerman <wakkerma@debian.org>
|
||||
" Last Change: 2011 June 01
|
||||
" Last Change: 2011 Sep 17
|
||||
" URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debcontrol.vim
|
||||
|
||||
" Standard syntax initialization
|
||||
@@ -24,7 +24,7 @@ syn match debControlComma ", *"
|
||||
syn match debControlSpace " "
|
||||
|
||||
" Define some common expressions we can use later on
|
||||
syn match debcontrolArchitecture contained "\%(all\|any\|linux-any\|\%(any-\)\=\%(alpha\|amd64\|arm\%(e[bl]\)\=\|avr32\|hppa\|i386\|ia64\|lpia\|m32r\|m68k\|mips\%(el\)\=\|powerpc\|ppc64\|s390x\=\|sh[34]\(eb\)\=\|sh\|sparc\%(64\)\=\)\|hurd-\%(i386\|any\)\|kfreebsd-\%(i386\|amd64\|any\)\|knetbsd-\%(i386\|any\)\|kopensolaris-\%(i386\|any\)\|netbsd-\%(alpha\|i386\|any\)\)"
|
||||
syn match debcontrolArchitecture contained "\%(all\|linux-any\|\%(any-\)\=\%(alpha\|amd64\|arm\%(e[bl]\|hf\)\=\|avr32\|hppa\|i386\|ia64\|lpia\|m32r\|m68k\|mips\%(el\)\=\|powerpc\|ppc64\|s390x\=\|sh[34]\(eb\)\=\|sh\|sparc\%(64\)\=\)\|hurd-\%(i386\|any\)\|kfreebsd-\%(i386\|amd64\|any\)\|knetbsd-\%(i386\|any\)\|kopensolaris-\%(i386\|any\)\|netbsd-\%(alpha\|i386\|any\)\|any\)"
|
||||
syn match debcontrolMultiArch contained "\%(no\|foreign\|allowed\|same\)"
|
||||
syn match debcontrolName contained "[a-z0-9][a-z0-9+.-]\+"
|
||||
syn match debcontrolPriority contained "\(extra\|important\|optional\|required\|standard\)"
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
" Vim syntax file
|
||||
" Language: gitolite configuration
|
||||
" URL: https://github.com/tmatilai/gitolite.vim
|
||||
" Maintainer: Teemu Matilainen <teemu.matilainen@iki.fi>
|
||||
" Last Change: 2011-10-05
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Comment
|
||||
syn match gitoliteComment "\(^\|\s\)#.*" contains=gitoliteTodo
|
||||
syn keyword gitoliteTodo TODO FIXME XXX NOT contained
|
||||
|
||||
" Groups, users and repos
|
||||
syn match gitoliteGroupDef "\(^\s*\)\@<=@[^=]\{-1,}\(\s*=\)\@=" contains=gitoliteSpaceError,gitoliteUserError nextgroup=gitoliteGroupDefSep
|
||||
syn match gitoliteGroupDefSep "\s*=" contained nextgroup=gitoliteRepoLine
|
||||
syn match gitoliteRepoDef "^\s*repo\s" nextgroup=gitoliteRepoLine
|
||||
|
||||
syn match gitoliteRepoLine ".*" contained transparent contains=gitoliteGroup,gitoliteWildRepo,gitoliteCreator,gitoliteExtCmdHelper,gitoliteRepoError,gitoliteComment
|
||||
syn match gitoliteUserLine ".*" contained transparent contains=gitoliteGroup,gitolitePreProc,gitoliteUserError,gitoliteComment
|
||||
|
||||
syn match gitoliteWildRepo "[ \t=]\@<=[^ \t]*[\\^$|()[\]*?{}][^ \t]*" contained contains=gitoliteCreator,gitoliteRepoError
|
||||
syn match gitoliteGroup "[ \t=]\@<=@[^ \t]\+" contained contains=gitoliteUserError
|
||||
|
||||
syn keyword gitoliteCreator CREATER CREATOR contained
|
||||
syn keyword gitolitePreProc CREATER CREATOR READERS WRITERS contained
|
||||
|
||||
syn match gitoliteExtCmdHelper "[ \t=]\@<=EXTCMD/" contained nextgroup=gitoliteExtCmd
|
||||
syn match gitoliteExtCmd "rsync\(\s\|$\)" contained
|
||||
|
||||
" Illegal characters
|
||||
syn match gitoliteRepoError "[^ \t0-9a-zA-Z._@+/\\^$|()[\]*?{}-]\+" contained
|
||||
syn match gitoliteUserError "[^ \t0-9a-zA-Z._@+-]\+" contained
|
||||
syn match gitoliteSpaceError "\s\+" contained
|
||||
|
||||
" Permission
|
||||
syn match gitoliteKeyword "^\s*\(C\|R\|RW\|RW+\|RWC\|RW+C\|RWD\|RW+D\|RWCD\|RW+CD\)[ \t=]\@=" nextgroup=gitoliteRefex
|
||||
syn match gitoliteKeyword "^\s*-[ \t=]\@=" nextgroup=gitoliteDenyRefex
|
||||
syn match gitoliteRefex "[^=]*="he=e-1 contained contains=gitoliteSpecialRefex,gitoliteGroup nextgroup=gitoliteUserLine
|
||||
syn match gitoliteDenyRefex "[^=]*="he=e-1 contained contains=gitoliteSpecialRefex,gitoliteGroup nextgroup=gitoliteDenyUsers
|
||||
syn match gitoliteSpecialRefex "\sNAME/"he=e-1 contained
|
||||
syn match gitoliteSpecialRefex "/USER/"hs=s+1,he=e-1 contained
|
||||
syn match gitoliteDenyUsers ".*" contained contains=gitoliteUserError,gitoliteComment
|
||||
|
||||
" Configuration
|
||||
syn match gitoliteKeyword "^\s*config\s\+" nextgroup=gitoliteConfVariable
|
||||
syn match gitoliteConfVariable "[^=]*" contained
|
||||
|
||||
" Include
|
||||
syn match gitoliteInclude "^\s*\(include\|subconf\)\s"
|
||||
|
||||
" String
|
||||
syn region gitoliteString start=+"+ end=+"+ oneline
|
||||
|
||||
" Define the default highlighting
|
||||
hi def link gitoliteComment Comment
|
||||
hi def link gitoliteTodo Todo
|
||||
hi def link gitoliteGroupDef gitoliteGroup
|
||||
hi def link gitoliteGroup Identifier
|
||||
hi def link gitoliteWildRepo Special
|
||||
hi def link gitoliteRepoError gitoliteError
|
||||
hi def link gitoliteUserError gitoliteError
|
||||
hi def link gitoliteSpaceError gitoliteError
|
||||
hi def link gitoliteError Error
|
||||
hi def link gitoliteCreator gitolitePreProc
|
||||
hi def link gitolitePreProc PreProc
|
||||
hi def link gitoliteExtCmdHelper PreProc
|
||||
hi def link gitoliteExtCmd Special
|
||||
hi def link gitoliteRepoDef Type
|
||||
hi def link gitoliteKeyword Keyword
|
||||
hi def link gitoliteRefex String
|
||||
hi def link gitoliteDenyRefex gitoliteRefex
|
||||
hi def link gitoliteSpecialRefex PreProc
|
||||
hi def link gitoliteDenyUsers WarningMsg
|
||||
hi def link gitoliteConfVariable Identifier
|
||||
hi def link gitoliteInclude Include
|
||||
hi def link gitoliteString String
|
||||
|
||||
let b:current_syntax = "gitolite"
|
||||
@@ -22,7 +22,7 @@ syn match netrwDir "\.\{1,2}/" contains=netrwClassify,@NoSpell
|
||||
syn match netrwDir "\%(\S\+ \)*\S\+/" contains=netrwClassify,@NoSpell
|
||||
syn match netrwSizeDate "\<\d\+\s\d\{1,2}/\d\{1,2}/\d\{4}\s" skipwhite contains=netrwDateSep,@NoSpell nextgroup=netrwTime
|
||||
syn match netrwSymLink "\%(\S\+ \)*\S\+@\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
|
||||
syn match netrwExe "\%(\S\+ \)*\S\+\*\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
|
||||
syn match netrwExe "\%(\S\+ \)*\S*[^~]\*\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
|
||||
syn match netrwTreeBar "^\%([-+|] \)\+" contains=netrwTreeBarSpace nextgroup=@netrwTreeGroup
|
||||
syn match netrwTreeBarSpace " " contained
|
||||
|
||||
@@ -63,7 +63,7 @@ if exists("g:netrw_special_syntax") && netrw_special_syntax
|
||||
syn match netrwObj "\(\S\+ \)*\S*\.\%(o\|obj\)\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwTags "\<tags\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwTags "\<\(ANmenu\|ANtags\)\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwTilde "\(\S\+ \)*\S\+\~\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwTilde "\(\S\+ \)*\S\+\~\*\=\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwTmp "\<tmp\(\S\+ \)*\S\+\>\|\(\S\+ \)*\S*tmp\>" contains=netrwTreeBar,@NoSpell
|
||||
endif
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: php PHP 3/4/5
|
||||
" Maintainer: Jason Woofenden <jason@jasonwoof.com>
|
||||
" Last Change: July 29, 2011
|
||||
" Last Change: Oct 20, 2011
|
||||
" URL: https://gitorious.org/jasonwoof/vim-syntax/blobs/master/php.vim
|
||||
" Former Maintainers: Peter Hodge <toomuchphp-vim@yahoo.com>
|
||||
" Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
@@ -110,6 +110,10 @@ if exists( "php_htmlInStrings")
|
||||
syn cluster phpAddStrings add=@htmlTop
|
||||
endif
|
||||
|
||||
" make sure we can use \ at the begining of the line to do a continuation
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
syn case match
|
||||
|
||||
" Env Variables
|
||||
@@ -691,4 +695,8 @@ if main_syntax == 'php'
|
||||
unlet main_syntax
|
||||
endif
|
||||
|
||||
" put cpoptions back the way we found it
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: ts=8 sts=2 sw=2 expandtab
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: R Help File
|
||||
" Maintainer: Jakson Aquino <jalvesaq@gmail.com>
|
||||
" Former Maintainer: Johannes Ranke <jranke@uni-bremen.de>
|
||||
" Last Change: Sat Feb 19, 2011 02:13PM
|
||||
" Last Change: Fri Oct 14, 2011 09:54PM
|
||||
" Version: 0.7.4
|
||||
" SVN: $Id: rhelp.vim 90 2010-11-22 10:58:11Z ranke $
|
||||
" Remarks: - Includes R syntax highlighting in the appropriate
|
||||
@@ -192,9 +192,9 @@ syn match rhelpDelimiter "{\|\[\|(\|)\|\]\|}"
|
||||
syn match rhelpComment /%.*$/
|
||||
|
||||
" Error {{{1
|
||||
syn region rhelpRegion matchgroup=Delimiter start=/(/ matchgroup=Delimiter end=/)/ transparent contains=ALLBUT,rhelpError,rhelpBraceError,rhelpCurlyError
|
||||
syn region rhelpRegion matchgroup=Delimiter start=/{/ matchgroup=Delimiter end=/}/ transparent contains=ALLBUT,rhelpError,rhelpBraceError,rhelpParenError
|
||||
syn region rhelpRegion matchgroup=Delimiter start=/\[/ matchgroup=Delimiter end=/]/ transparent contains=ALLBUT,rhelpError,rhelpCurlyError,rhelpParenError
|
||||
syn region rhelpRegion matchgroup=Delimiter start=/(/ matchgroup=Delimiter end=/)/ contains=@Spell,rhelpCodeSpecial,rhelpComment,rhelpDelimiter,rhelpDots,rhelpFreesec,rhelpFreesubsec,rhelpIdentifier,rhelpKeyword,rhelpLink,rhelpPreProc,rhelpRComment,rhelpRcode,rhelpRegion,rhelpS4method,rhelpSection,rhelpSexpr,rhelpSpecialChar,rhelpString,rhelpType,rhelpVerbatim
|
||||
syn region rhelpRegion matchgroup=Delimiter start=/{/ matchgroup=Delimiter end=/}/ contains=@Spell,rhelpCodeSpecial,rhelpComment,rhelpDelimiter,rhelpDots,rhelpFreesec,rhelpFreesubsec,rhelpIdentifier,rhelpKeyword,rhelpLink,rhelpPreProc,rhelpRComment,rhelpRcode,rhelpRegion,rhelpS4method,rhelpSection,rhelpSexpr,rhelpSpecialChar,rhelpString,rhelpType,rhelpVerbatim
|
||||
syn region rhelpRegion matchgroup=Delimiter start=/\[/ matchgroup=Delimiter end=/]/ contains=@Spell,rhelpCodeSpecial,rhelpComment,rhelpDelimiter,rhelpDots,rhelpFreesec,rhelpFreesubsec,rhelpIdentifier,rhelpKeyword,rhelpLink,rhelpPreProc,rhelpRComment,rhelpRcode,rhelpRegion,rhelpS4method,rhelpSection,rhelpSexpr,rhelpSpecialChar,rhelpString,rhelpType,rhelpVerbatim
|
||||
syn match rhelpError /[)\]}]/
|
||||
syn match rhelpBraceError /[)}]/ contained
|
||||
syn match rhelpCurlyError /[)\]]/ contained
|
||||
|
||||
+55
-26
@@ -2,8 +2,8 @@
|
||||
" Language: shell (sh) Korn shell (ksh) bash (sh)
|
||||
" Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
|
||||
" Previous Maintainer: Lennart Schultz <Lennart.Schultz@ecmwf.int>
|
||||
" Last Change: Feb 11, 2011
|
||||
" Version: 115
|
||||
" Last Change: Aug 16, 2011
|
||||
" Version: 118
|
||||
" URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
|
||||
" For options and settings, please use: :help ft-sh-syntax
|
||||
" This file includes many ideas from ?ric Brunet (eric.brunet@ens.fr)
|
||||
@@ -16,12 +16,38 @@ elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
" AFAICT "." should be considered part of the iskeyword. Using iskeywords in
|
||||
" syntax is dicey, so the following code permits the user to prevent/override
|
||||
" its setting.
|
||||
if exists("g:sh_isk") " override support
|
||||
exe "setlocal isk=".g:sh_isk
|
||||
elseif !exists("g:sh_noisk") " prevent modification support
|
||||
setlocal isk+=.
|
||||
endif
|
||||
|
||||
" trying to answer the question: which shell is /bin/sh, really?
|
||||
if !exists("g:is_kornshell") && !exists("g:is_bash") && !exists("g:is_posix") && !exists("g:is_sh")
|
||||
if executable("/bin/sh")
|
||||
if resolve("/bin/sh") =~ 'bash$'
|
||||
let g:is_bash= 1
|
||||
elseif resolve("/bin/sh") =~ 'ksh$'
|
||||
let g:is_ksh = 1
|
||||
endif
|
||||
elseif executable("/usr/bin/sh")
|
||||
if resolve("/usr/bin//sh") =~ 'bash$'
|
||||
let g:is_bash= 1
|
||||
elseif resolve("/usr/bin//sh") =~ 'ksh$'
|
||||
let g:is_ksh = 1
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
" handling /bin/sh with is_kornshell/is_sh {{{1
|
||||
" b:is_sh is set when "#! /bin/sh" is found;
|
||||
" However, it often is just a masquerade by bash (typically Linux)
|
||||
" or kornshell (typically workstations with Posix "sh").
|
||||
" So, when the user sets "is_bash" or "is_kornshell",
|
||||
" a b:is_sh is converted into b:is_bash/b:is_kornshell,
|
||||
" So, when the user sets "g:is_bash", "g:is_kornshell",
|
||||
" or "g:is_posix", a b:is_sh is converted into b:is_bash/b:is_kornshell,
|
||||
" respectively.
|
||||
if !exists("b:is_kornshell") && !exists("b:is_bash")
|
||||
if exists("g:is_posix") && !exists("g:is_kornshell")
|
||||
@@ -74,7 +100,7 @@ endif
|
||||
syn cluster shArithParenList contains=shArithmetic,shCaseEsac,shDeref,shDerefSimple,shEcho,shEscape,shNumber,shOperator,shPosnParm,shExSingleQuote,shExDoubleQuote,shRedir,shSingleQuote,shDoubleQuote,shStatement,shVariable,shAlias,shTest,shCtrlSeq,shSpecial,shParen,bashSpecialVariables,bashStatement
|
||||
syn cluster shArithList contains=@shArithParenList,shParenError
|
||||
syn cluster shCaseEsacList contains=shCaseStart,shCase,shCaseBar,shCaseIn,shComment,shDeref,shDerefSimple,shCaseCommandSub,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote,shCtrlSeq,@shErrorList,shStringSpecial,shCaseRange
|
||||
syn cluster shCaseList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shHereDoc,shIf,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq
|
||||
syn cluster shCaseList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shHereDoc,shIf,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq
|
||||
syn cluster shColonList contains=@shCaseList
|
||||
syn cluster shCommandSubList contains=shArithmetic,shDeref,shDerefSimple,shEscape,shNumber,shOperator,shPosnParm,shExSingleQuote,shSingleQuote,shExDoubleQuote,shDoubleQuote,shStatement,shVariable,shSubSh,shAlias,shTest,shCtrlSeq,shSpecial
|
||||
syn cluster shCurlyList contains=shNumber,shComma,shDeref,shDerefSimple,shDerefSpecial
|
||||
@@ -84,7 +110,7 @@ syn cluster shDerefVarList contains=shDerefOp,shDerefVarArray,shDerefOpError
|
||||
syn cluster shEchoList contains=shArithmetic,shCommandSub,shDeref,shDerefSimple,shExpr,shExSingleQuote,shExDoubleQuote,shSingleQuote,shDoubleQuote,shCtrlSeq,shEchoQuote
|
||||
syn cluster shExprList1 contains=shCharClass,shNumber,shOperator,shExSingleQuote,shExDoubleQuote,shSingleQuote,shDoubleQuote,shExpr,shDblBrace,shDeref,shDerefSimple,shCtrlSeq
|
||||
syn cluster shExprList2 contains=@shExprList1,@shCaseList,shTest
|
||||
syn cluster shFunctionList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shHereDoc,shIf,shOption,shRedir,shSetList,shSource,shStatement,shVariable,shOperator,shCtrlSeq
|
||||
syn cluster shFunctionList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shHereDoc,shIf,shOption,shRedir,shSetList,shSource,shStatement,shVariable,shOperator,shCtrlSeq
|
||||
if exists("b:is_kornshell") || exists("b:is_bash")
|
||||
syn cluster shFunctionList add=shRepeat
|
||||
syn cluster shFunctionList add=shDblBrace,shDblParen
|
||||
@@ -94,8 +120,8 @@ syn cluster shHereList contains=shBeginHere,shHerePayload
|
||||
syn cluster shHereListDQ contains=shBeginHere,@shDblQuoteList,shHerePayload
|
||||
syn cluster shIdList contains=shCommandSub,shWrapLineOperator,shSetOption,shDeref,shDerefSimple,shRedir,shExSingleQuote,shExDoubleQuote,shSingleQuote,shDoubleQuote,shExpr,shCtrlSeq,shStringSpecial
|
||||
syn cluster shLoopList contains=@shCaseList,shTestOpr,shExpr,shDblBrace,shConditional,shCaseEsac,shTest,@shErrorList,shSet
|
||||
syn cluster shSubShList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shIf,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq,shOperator
|
||||
syn cluster shTestList contains=shCharClass,shComment,shCommandSub,shDeref,shDerefSimple,shExDoubleQuote,shDoubleQuote,shExpr,shExpr,shNumber,shOperator,shExSingleQuote,shSingleQuote,shTestOpr,shTest,shCtrlSeq
|
||||
syn cluster shSubShList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shIf,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq,shOperator
|
||||
syn cluster shTestList contains=shCharClass,shComment,shCommandSub,shDeref,shDerefSimple,shExDoubleQuote,shDoubleQuote,shExpr,shNumber,shOperator,shExSingleQuote,shSingleQuote,shTestOpr,shTest,shCtrlSeq
|
||||
|
||||
" Echo: {{{1
|
||||
" ====
|
||||
@@ -111,8 +137,8 @@ syn region shEmbeddedEcho contained matchgroup=shStatement start="\<print\>" ski
|
||||
" =====
|
||||
if exists("b:is_kornshell") || exists("b:is_bash")
|
||||
syn match shStatement "\<alias\>"
|
||||
syn region shAlias matchgroup=shStatement start="\<alias\>\s\+\(\w\+\)\@=" skip="\\$" end="\>\|`"
|
||||
syn region shAlias matchgroup=shStatement start="\<alias\>\s\+\(\w\+=\)\@=" skip="\\$" end="="
|
||||
syn region shAlias matchgroup=shStatement start="\<alias\>\s\+\(\h[-._[:alnum:]]\+\)\@=" skip="\\$" end="\>\|`"
|
||||
syn region shAlias matchgroup=shStatement start="\<alias\>\s\+\(\h[-._[:alnum:]]\+=\)\@=" skip="\\$" end="="
|
||||
endif
|
||||
|
||||
" Error Codes: {{{1
|
||||
@@ -152,8 +178,8 @@ syn match shPattern "\<\S\+\())\)\@=" contained contains=shExSingleQuote,shSin
|
||||
|
||||
" Subshells: {{{1
|
||||
" ==========
|
||||
syn region shExpr transparent matchgroup=shExprRegion start="{" end="}" contains=@shExprList2 nextgroup=shMoreSpecial
|
||||
syn region shSubSh transparent matchgroup=shSubShRegion start="(" end=")" contains=@shSubShList nextgroup=shMoreSpecial
|
||||
syn region shExpr transparent matchgroup=shExprRegion start="{" end="}" contains=@shExprList2 nextgroup=shMoreSpecial
|
||||
syn region shSubSh transparent matchgroup=shSubShRegion start="[^(]\zs(" end=")" contains=@shSubShList nextgroup=shMoreSpecial
|
||||
|
||||
" Tests: {{{1
|
||||
"=======
|
||||
@@ -162,7 +188,7 @@ syn region shTest transparent matchgroup=shStatement start="\<test\s" skip=+\\\\
|
||||
syn match shTestOpr contained "<=\|>=\|!=\|==\|-.\>\|-\(nt\|ot\|ef\|eq\|ne\|lt\|le\|gt\|ge\)\>\|[!<>]"
|
||||
syn match shTestOpr contained '=' skipwhite nextgroup=shTestDoubleQuote,shTestSingleQuote,shTestPattern
|
||||
syn match shTestPattern contained '\w\+'
|
||||
syn match shTestDoubleQuote contained '"[^"]*"'
|
||||
syn match shTestDoubleQuote contained '\%(\%(\\\\\)*\\\)\@<!"[^"]*"'
|
||||
syn match shTestSingleQuote contained '\\.'
|
||||
syn match shTestSingleQuote contained "'[^']*'"
|
||||
if exists("b:is_kornshell") || exists("b:is_bash")
|
||||
@@ -178,11 +204,11 @@ syn match shCharClass contained "\[:\(backspace\|escape\|return\|xdigit\|alnum
|
||||
" ======
|
||||
if (g:sh_fold_enabled % (s:sh_fold_ifdofor * 2))/s:sh_fold_ifdofor
|
||||
syn region shDo fold transparent matchgroup=shConditional start="\<do\>" matchgroup=shConditional end="\<done\>" contains=@shLoopList
|
||||
syn region shIf fold transparent matchgroup=shConditional start="\<if\_s" matchgroup=shConditional end="\<;\_s*then\>" end="\<fi\>" contains=@shLoopList,shDblBrace,shDblParen,shFunctionKey
|
||||
syn region shIf fold transparent matchgroup=shConditional start="\<if\_s" matchgroup=shConditional end="\<;\_s*then\>" end="\<fi\>" contains=@shLoopList,shDblBrace,shDblParen,shFunctionKey,shFunctionOne,shFunctionTwo
|
||||
syn region shFor fold matchgroup=shLoop start="\<for\_s" end="\<in\_s" end="\<do\>"me=e-2 contains=@shLoopList,shDblParen skipwhite nextgroup=shCurlyIn
|
||||
else
|
||||
syn region shDo transparent matchgroup=shConditional start="\<do\>" matchgroup=shConditional end="\<done\>" contains=@shLoopList
|
||||
syn region shIf transparent matchgroup=shConditional start="\<if\_s" matchgroup=shConditional end="\<;\_s*then\>" end="\<fi\>" contains=@shLoopList,shDblBrace,shDblParen,shFunctionKey
|
||||
syn region shIf transparent matchgroup=shConditional start="\<if\_s" matchgroup=shConditional end="\<;\_s*then\>" end="\<fi\>" contains=@shLoopList,shDblBrace,shDblParen,shFunctionKey,shFunctionOne,shFunctionTwo
|
||||
syn region shFor matchgroup=shLoop start="\<for\_s" end="\<in\>" end="\<do\>"me=e-2 contains=@shLoopList,shDblParen skipwhite nextgroup=shCurlyIn
|
||||
endif
|
||||
if exists("b:is_kornshell") || exists("b:is_bash")
|
||||
@@ -224,7 +250,7 @@ syn region shCaseRange matchgroup=Delimiter start=+\[+ skip=+\\\\+ end=+]+ cont
|
||||
"======
|
||||
syn match shWrapLineOperator "\\$"
|
||||
syn region shCommandSub start="`" skip="\\\\\|\\." end="`" contains=@shCommandSubList
|
||||
syn match shEscape contained '\\.'
|
||||
syn match shEscape contained '\\.' contains=@shCommandSubList
|
||||
|
||||
" $() and $(()): {{{1
|
||||
" $(..) is not supported by sh (Bourne shell). However, apparently
|
||||
@@ -243,7 +269,7 @@ endif
|
||||
if exists("b:is_bash")
|
||||
syn cluster shCommandSubList add=bashSpecialVariables,bashStatement
|
||||
syn cluster shCaseList add=bashAdminStatement,bashStatement
|
||||
syn keyword bashSpecialVariables contained BASH BASH_ENV BASH_VERSINFO BASH_VERSION CDPATH DIRSTACK EUID FCEDIT FIGNORE GLOBIGNORE GROUPS HISTCMD HISTCONTROL HISTFILE HISTFILESIZE HISTIGNORE HISTSIZE HOME HOSTFILE HOSTNAME HOSTTYPE IFS IGNOREEOF INPUTRC LANG LC_ALL LC_COLLATE LC_MESSAGES LINENO MACHTYPE MAIL MAILCHECK MAILPATH OLDPWD OPTARG OPTERR OPTIND OSTYPE PATH PIPESTATUS PPID PROMPT_COMMAND PS1 PS2 PS3 PS4 PWD RANDOM REPLY SECONDS SHELLOPTS SHLVL TIMEFORMAT TIMEOUT UID auto_resume histchars
|
||||
syn keyword bashSpecialVariables contained auto_resume BASH BASH_ALIASES BASH_ALIASES BASH_ARGC BASH_ARGC BASH_ARGV BASH_ARGV BASH_CMDS BASH_CMDS BASH_COMMAND BASH_COMMAND BASH_ENV BASH_EXECUTION_STRING BASH_EXECUTION_STRING BASH_LINENO BASH_LINENO BASHOPTS BASHOPTS BASHPID BASHPID BASH_REMATCH BASH_REMATCH BASH_SOURCE BASH_SOURCE BASH_SUBSHELL BASH_SUBSHELL BASH_VERSINFO BASH_VERSION BASH_XTRACEFD BASH_XTRACEFD CDPATH COLUMNS COLUMNS COMP_CWORD COMP_CWORD COMP_KEY COMP_KEY COMP_LINE COMP_LINE COMP_POINT COMP_POINT COMPREPLY COMPREPLY COMP_TYPE COMP_TYPE COMP_WORDBREAKS COMP_WORDBREAKS COMP_WORDS COMP_WORDS COPROC COPROC DIRSTACK EMACS EMACS ENV ENV EUID FCEDIT FIGNORE FUNCNAME FUNCNAME FUNCNEST FUNCNEST GLOBIGNORE GROUPS histchars HISTCMD HISTCONTROL HISTFILE HISTFILESIZE HISTIGNORE HISTSIZE HISTTIMEFORMAT HISTTIMEFORMAT HOME HOSTFILE HOSTNAME HOSTTYPE IFS IGNOREEOF INPUTRC LANG LC_ALL LC_COLLATE LC_CTYPE LC_CTYPE LC_MESSAGES LC_NUMERIC LC_NUMERIC LINENO LINES LINES MACHTYPE MAIL MAILCHECK MAILPATH MAPFILE MAPFILE OLDPWD OPTARG OPTERR OPTIND OSTYPE PATH PIPESTATUS POSIXLY_CORRECT POSIXLY_CORRECT PPID PROMPT_COMMAND PS1 PS2 PS3 PS4 PWD RANDOM READLINE_LINE READLINE_LINE READLINE_POINT READLINE_POINT REPLY SECONDS SHELL SHELL SHELLOPTS SHLVL TIMEFORMAT TIMEOUT TMPDIR TMPDIR UID
|
||||
syn keyword bashStatement chmod clear complete du egrep expr fgrep find gnufind gnugrep grep install less ls mkdir mv rm rmdir rpm sed sleep sort strip tail touch
|
||||
syn keyword bashAdminStatement daemon killall killproc nice reload restart start status stop
|
||||
endif
|
||||
@@ -275,7 +301,8 @@ else
|
||||
syn region shExDoubleQuote matchGroup=Error start=+\$"+ skip=+\\\\\|\\.+ end=+"+ contains=shStringSpecial
|
||||
endif
|
||||
syn region shSingleQuote matchgroup=shQuote start=+'+ end=+'+ contains=@Spell
|
||||
syn region shDoubleQuote matchgroup=shQuote start=+"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell
|
||||
syn region shDoubleQuote matchgroup=shQuote start=+\%(\%(\\\\\)*\\\)\@<!"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell
|
||||
"syn region shDoubleQuote matchgroup=shQuote start=+"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell
|
||||
syn match shStringSpecial "[^[:print:] \t]" contained
|
||||
syn match shStringSpecial "\%(\\\\\)*\\[\\"'`$()#]"
|
||||
syn match shSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]" nextgroup=shMoreSpecial
|
||||
@@ -333,7 +360,8 @@ endif
|
||||
|
||||
" Here Strings: {{{1
|
||||
" =============
|
||||
if exists("b:is_bash")
|
||||
" available for: bash; ksh (really should be ksh93 only) but not if its a posix
|
||||
if exists("b:is_bash") || (exists("b:is_kornshell") && !exists("g:is_posix"))
|
||||
syn match shRedir "<<<"
|
||||
endif
|
||||
|
||||
@@ -410,10 +438,10 @@ syn region shDerefVarArray contained matchgroup=shDeref start="\[" end="]" co
|
||||
" ksh bash : ${parameter##pattern} remove large left pattern
|
||||
" ksh bash : ${parameter%pattern} remove small right pattern
|
||||
" ksh bash : ${parameter%%pattern} remove large right pattern
|
||||
" ksh bash : ${parameter^pattern} Case modification
|
||||
" ksh bash : ${parameter^^pattern} Case modification
|
||||
" ksh bash : ${parameter,pattern} Case modification
|
||||
" ksh bash : ${parameter,,pattern} Case modification
|
||||
" bash : ${parameter^pattern} Case modification
|
||||
" bash : ${parameter^^pattern} Case modification
|
||||
" bash : ${parameter,pattern} Case modification
|
||||
" bash : ${parameter,,pattern} Case modification
|
||||
syn cluster shDerefPatternList contains=shDerefPattern,shDerefString
|
||||
syn match shDerefOpError contained ":[[:punct:]]"
|
||||
syn match shDerefOp contained ":\=[-=?]" nextgroup=@shDerefPatternList
|
||||
@@ -421,12 +449,13 @@ syn match shDerefOp contained ":\=+" nextgroup=@shDerefPatternList
|
||||
if exists("b:is_bash") || exists("b:is_kornshell")
|
||||
syn match shDerefOp contained "#\{1,2}" nextgroup=@shDerefPatternList
|
||||
syn match shDerefOp contained "%\{1,2}" nextgroup=@shDerefPatternList
|
||||
syn match shDerefOp contained "\^\{1,2}" nextgroup=@shDerefPatternList
|
||||
syn match shDerefOp contained ",\{1,2}" nextgroup=@shDerefPatternList
|
||||
syn match shDerefPattern contained "[^{}]\+" contains=shDeref,shDerefSimple,shDerefPattern,shDerefString,shCommandSub,shDerefEscape nextgroup=shDerefPattern
|
||||
syn region shDerefPattern contained start="{" end="}" contains=shDeref,shDerefSimple,shDerefString,shCommandSub nextgroup=shDerefPattern
|
||||
syn match shDerefEscape contained '\%(\\\\\)*\\.'
|
||||
endif
|
||||
if exists("b:is_bash")
|
||||
syn match shDerefOp contained "[,^]\{1,2}" nextgroup=@shDerefPatternList
|
||||
endif
|
||||
syn region shDerefString contained matchgroup=shDerefDelim start=+\%(\\\)\@<!'+ end=+'+ contains=shStringSpecial
|
||||
syn region shDerefString contained matchgroup=shDerefDelim start=+\%(\\\)\@<!"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial
|
||||
syn match shDerefString contained "\\["']" nextgroup=shDerefPattern
|
||||
@@ -445,7 +474,7 @@ if exists("b:is_bash")
|
||||
endif
|
||||
|
||||
" Arithmetic Parenthesized Expressions: {{{1
|
||||
syn region shParen matchgroup=shArithRegion start='(\ze[^(]' end=')' contains=@shArithParenList
|
||||
syn region shParen matchgroup=shArithRegion start='(\%(\ze[^(]\|$\)' end=')' contains=@shArithParenList
|
||||
|
||||
" Useful sh Keywords: {{{1
|
||||
" ===================
|
||||
|
||||
@@ -43,11 +43,11 @@ syn keyword sqrSection begin-program begin-report begin-setup
|
||||
syn keyword sqrSection end-footing end-heading end-procedure
|
||||
syn keyword sqrSection end-program end-report end-setup
|
||||
|
||||
syn keyword sqrParagraph alter-color-map alter-conection
|
||||
syn keyword sqrParagraph alter-color-map alter-connection
|
||||
syn keyword sqrParagraph alter-locale alter-printer alter-report
|
||||
syn keyword sqrParagraph begin-document begin-execute begin-select
|
||||
syn keyword sqrParagraph begin-sql declare-chart declare-image
|
||||
syn keyword sqrParagraph declare-color-map declare-conection
|
||||
syn keyword sqrParagraph declare-color-map declare-connection
|
||||
syn keyword sqrParagraph declare-layout declare-printer
|
||||
syn keyword sqrParagraph declare-report declare-procedure
|
||||
syn keyword sqrParagraph declare-toc declare-variable end-declare
|
||||
@@ -224,16 +224,16 @@ if version >= 600
|
||||
" See also the sqrString section above for handling of ! characters
|
||||
" inside of strings. (Those patterns override the ones below.)
|
||||
syn match sqrComment /!\@<!!\([^!=].*\|$\)/ contains=sqrTodo
|
||||
" the ! can't be preceeded by another !,
|
||||
" the ! can't be preceded by another !,
|
||||
" and must be followed by at least one
|
||||
" character other than ! or =, or immediately
|
||||
" by the end-of-line
|
||||
syn match sqrComment /^!=.*/ contains=sqrTodo
|
||||
syn match sqrComment /^!!.*/ contains=sqrTodo
|
||||
syn match sqrError /^\s\+\zs!=.*/
|
||||
" it's an error to have "!=" preceeded by
|
||||
" it's an error to have "!=" preceded by
|
||||
" just whitespace on the line ("!="
|
||||
" preceeded by non-whitespace is treated
|
||||
" preceded by non-whitespace is treated
|
||||
" as neither a comment nor an error, since
|
||||
" it is often correct, i.e.
|
||||
" if #count != 7
|
||||
@@ -259,7 +259,7 @@ endif
|
||||
|
||||
" Define the default highlighting.
|
||||
" For version 5.7 and earlier, only when not done already.
|
||||
" For version 5.8 and later, only when an item doesn;t have hightlighting yet.
|
||||
" For version 5.8 and later, only when an item doesn't have highlighting yet.
|
||||
if version >= 508 || !exists("did_sqr_syn_inits")
|
||||
if version < 508
|
||||
let did_sqr_syn_inits = 1
|
||||
|
||||
+144
-53
@@ -1,8 +1,8 @@
|
||||
" Vim syntax file
|
||||
" Language: TeX
|
||||
" Maintainer: Dr. Charles E. Campbell, Jr. <NdrchipO@ScampbellPfamily.AbizM>
|
||||
" Last Change: Dec 07, 2010
|
||||
" Version: 64
|
||||
" Last Change: Oct 12, 2011
|
||||
" Version: 69
|
||||
" URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
|
||||
"
|
||||
" Notes: {{{1
|
||||
@@ -37,6 +37,8 @@ if version < 600
|
||||
elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
scriptencoding utf-8
|
||||
|
||||
" Define the default highlighting. {{{1
|
||||
@@ -101,6 +103,9 @@ endif
|
||||
if b:tex_stylish
|
||||
setlocal isk+=@-@
|
||||
endif
|
||||
if exists("g:tex_nospell") && g:tex_nospell && !exists("g:tex_comment_nospell")
|
||||
let g:tex_comment_nospell= 1
|
||||
endif
|
||||
|
||||
" Clusters: {{{1
|
||||
" --------
|
||||
@@ -110,8 +115,13 @@ if !exists("g:tex_no_error")
|
||||
endif
|
||||
syn cluster texEnvGroup contains=texMatcher,texMathDelim,texSpecialChar,texStatement
|
||||
syn cluster texFoldGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texInputFile,texLength,texLigature,texMatcher,texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ,texNewCmd,texNewEnv,texOnlyMath,texOption,texParen,texRefZone,texSection,texSectionMarker,texSectionZone,texSpaceCode,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,@texMathZones,texTitle,texAbstract
|
||||
syn cluster texMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,@Spell
|
||||
syn cluster texStyleGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texStyleStatement,@Spell,texStyleMatcher
|
||||
if !exists("g:tex_nospell") || !g:tex_nospell
|
||||
syn cluster texMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,@Spell
|
||||
syn cluster texStyleGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texStyleStatement,@Spell,texStyleMatcher
|
||||
else
|
||||
syn cluster texMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption
|
||||
syn cluster texStyleGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texStyleStatement,texStyleMatcher
|
||||
endif
|
||||
syn cluster texRefGroup contains=texMatcher,texComment,texDelimiter
|
||||
if !exists("tex_no_math")
|
||||
syn cluster texMathZones contains=texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ
|
||||
@@ -147,7 +157,11 @@ else
|
||||
syn region texMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" contains=@texMatchGroup
|
||||
syn region texMatcher matchgroup=Delimiter start="\[" end="]" contains=@texMatchGroup
|
||||
endif
|
||||
syn region texParen start="(" end=")" contains=@texMatchGroup,@Spell
|
||||
if !exists("g:tex_nospell") || !g:tex_nospell
|
||||
syn region texParen start="(" end=")" contains=@texMatchGroup,@Spell
|
||||
else
|
||||
syn region texParen start="(" end=")" contains=@texMatchGroup
|
||||
endif
|
||||
if !exists("g:tex_no_error")
|
||||
syn match texError "[}\])]"
|
||||
endif
|
||||
@@ -155,7 +169,8 @@ if !exists("tex_no_math")
|
||||
if !exists("g:tex_no_error")
|
||||
syn match texMathError "}" contained
|
||||
endif
|
||||
syn region texMathMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\}" end="}" end="%stopzone\>" contained contains=@texMathMatchGroup
|
||||
syn region texMathMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\}" end="}" end="%stopzone\>" contained contains=@texMathMatchGroup
|
||||
" syn region texMathMatcher matchgroup=Unique start="[^\\]\zs{" skip="\\\\\|\\[{}]" end="}" end="%stopzone\>" contained contains=@texMathMatchGroup
|
||||
endif
|
||||
|
||||
" TeX/LaTeX keywords: {{{1
|
||||
@@ -173,6 +188,7 @@ endif
|
||||
" TeX/LaTeX delimiters: {{{1
|
||||
syn match texDelimiter "&"
|
||||
syn match texDelimiter "\\\\"
|
||||
syn match texDelimiter "[{}]"
|
||||
|
||||
" Tex/Latex Options: {{{1
|
||||
syn match texOption "[^\\]\zs#\d\+\|^#\d\+"
|
||||
@@ -273,33 +289,59 @@ syn match texSpaceCode "\\\(math\|cat\|del\|lc\|sf\|uc\)code`"me=e-1 nextgroup=
|
||||
syn match texSpaceCodeChar "`\\\=.\(\^.\)\==\(\d\|\"\x\{1,6}\|`.\)" contained
|
||||
|
||||
" Sections, subsections, etc: {{{1
|
||||
if g:tex_fold_enabled && has("folding")
|
||||
syn region texDocZone matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}' fold contains=@texFoldGroup,@texDocGroup,@Spell
|
||||
syn region texPartZone matchgroup=texSection start='\\part\>' end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texPartGroup,@Spell
|
||||
syn region texChapterZone matchgroup=texSection start='\\chapter\>' end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texChapterGroup,@Spell
|
||||
syn region texSectionZone matchgroup=texSection start='\\section\>' end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texSectionGroup,@Spell
|
||||
syn region texSubSectionZone matchgroup=texSection start='\\subsection\>' end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texSubSectionGroup,@Spell
|
||||
syn region texSubSubSectionZone matchgroup=texSection start='\\subsubsection\>' end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texSubSubSectionGroup,@Spell
|
||||
syn region texParaZone matchgroup=texSection start='\\paragraph\>' end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texParaGroup,@Spell
|
||||
syn region texSubParaZone matchgroup=texSection start='\\subparagraph\>' end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@Spell
|
||||
syn region texTitle matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}' fold contains=@texFoldGroup,@Spell
|
||||
syn region texAbstract matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}' fold contains=@texFoldGroup,@Spell
|
||||
if !exists("g:tex_nospell") || !g:tex_nospell
|
||||
if g:tex_fold_enabled && has("folding")
|
||||
syn region texDocZone matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}' fold contains=@texFoldGroup,@texDocGroup,@Spell
|
||||
syn region texPartZone matchgroup=texSection start='\\part\>' end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texPartGroup,@Spell
|
||||
syn region texChapterZone matchgroup=texSection start='\\chapter\>' end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texChapterGroup,@Spell
|
||||
syn region texSectionZone matchgroup=texSection start='\\section\>' end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texSectionGroup,@Spell
|
||||
syn region texSubSectionZone matchgroup=texSection start='\\subsection\>' end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texSubSectionGroup,@Spell
|
||||
syn region texSubSubSectionZone matchgroup=texSection start='\\subsubsection\>' end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texSubSubSectionGroup,@Spell
|
||||
syn region texParaZone matchgroup=texSection start='\\paragraph\>' end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texParaGroup,@Spell
|
||||
syn region texSubParaZone matchgroup=texSection start='\\subparagraph\>' end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@Spell
|
||||
syn region texTitle matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}' fold contains=@texFoldGroup,@Spell
|
||||
syn region texAbstract matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}' fold contains=@texFoldGroup,@Spell
|
||||
else
|
||||
syn region texDocZone matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}' contains=@texFoldGroup,@texDocGroup,@Spell
|
||||
syn region texPartZone matchgroup=texSection start='\\part\>' end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texPartGroup,@Spell
|
||||
syn region texChapterZone matchgroup=texSection start='\\chapter\>' end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texChapterGroup,@Spell
|
||||
syn region texSectionZone matchgroup=texSection start='\\section\>' end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSectionGroup,@Spell
|
||||
syn region texSubSectionZone matchgroup=texSection start='\\subsection\>' end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSubSectionGroup,@Spell
|
||||
syn region texSubSubSectionZone matchgroup=texSection start='\\subsubsection\>' end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSubSubSectionGroup,@Spell
|
||||
syn region texParaZone matchgroup=texSection start='\\paragraph\>' end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texParaGroup,@Spell
|
||||
syn region texSubParaZone matchgroup=texSection start='\\subparagraph\>' end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@Spell
|
||||
syn region texTitle matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}' contains=@texFoldGroup,@Spell
|
||||
syn region texAbstract matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}' contains=@texFoldGroup,@Spell
|
||||
endif
|
||||
else
|
||||
syn region texDocZone matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}' contains=@texFoldGroup,@texDocGroup,@Spell
|
||||
syn region texPartZone matchgroup=texSection start='\\part\>' end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texPartGroup,@Spell
|
||||
syn region texChapterZone matchgroup=texSection start='\\chapter\>' end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texChapterGroup,@Spell
|
||||
syn region texSectionZone matchgroup=texSection start='\\section\>' end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSectionGroup,@Spell
|
||||
syn region texSubSectionZone matchgroup=texSection start='\\subsection\>' end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSubSectionGroup,@Spell
|
||||
syn region texSubSubSectionZone matchgroup=texSection start='\\subsubsection\>' end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSubSubSectionGroup,@Spell
|
||||
syn region texParaZone matchgroup=texSection start='\\paragraph\>' end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texParaGroup,@Spell
|
||||
syn region texSubParaZone matchgroup=texSection start='\\subparagraph\>' end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@Spell
|
||||
syn region texTitle matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}' contains=@texFoldGroup,@Spell
|
||||
syn region texAbstract matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}' contains=@texFoldGroup,@Spell
|
||||
if g:tex_fold_enabled && has("folding")
|
||||
syn region texDocZone matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}' fold contains=@texFoldGroup,@texDocGroup
|
||||
syn region texPartZone matchgroup=texSection start='\\part\>' end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texPartGroup
|
||||
syn region texChapterZone matchgroup=texSection start='\\chapter\>' end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texChapterGroup
|
||||
syn region texSectionZone matchgroup=texSection start='\\section\>' end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texSectionGroup
|
||||
syn region texSubSectionZone matchgroup=texSection start='\\subsection\>' end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texSubSectionGroup
|
||||
syn region texSubSubSectionZone matchgroup=texSection start='\\subsubsection\>' end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texSubSubSectionGroup
|
||||
syn region texParaZone matchgroup=texSection start='\\paragraph\>' end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texParaGroup
|
||||
syn region texSubParaZone matchgroup=texSection start='\\subparagraph\>' end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup
|
||||
syn region texTitle matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}' fold contains=@texFoldGroup
|
||||
syn region texAbstract matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}' fold contains=@texFoldGroup
|
||||
else
|
||||
syn region texDocZone matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}' contains=@texFoldGroup,@texDocGroup
|
||||
syn region texPartZone matchgroup=texSection start='\\part\>' end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texPartGroup
|
||||
syn region texChapterZone matchgroup=texSection start='\\chapter\>' end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texChapterGroup
|
||||
syn region texSectionZone matchgroup=texSection start='\\section\>' end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSectionGroup
|
||||
syn region texSubSectionZone matchgroup=texSection start='\\subsection\>' end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSubSectionGroup
|
||||
syn region texSubSubSectionZone matchgroup=texSection start='\\subsubsection\>' end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSubSubSectionGroup
|
||||
syn region texParaZone matchgroup=texSection start='\\paragraph\>' end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texParaGroup
|
||||
syn region texSubParaZone matchgroup=texSection start='\\subparagraph\>' end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup
|
||||
syn region texTitle matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}' contains=@texFoldGroup
|
||||
syn region texAbstract matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}' contains=@texFoldGroup
|
||||
endif
|
||||
endif
|
||||
|
||||
" Bad Math (mismatched): {{{1
|
||||
if !exists("tex_no_math")
|
||||
syn match texBadMath "\\end\s*{\s*\(array\|gathered\|bBpvV]matrix\|split\|smallmatrix\|xxalignat\)\s*}"
|
||||
syn match texBadMath "\\end\s*{\s*\(array\|gathered\|bBpvV]matrix\|split\|subequations\|smallmatrix\|xxalignat\)\s*}"
|
||||
syn match texBadMath "\\end\s*{\s*\(align\|alignat\|displaymath\|displaymath\|eqnarray\|equation\|flalign\|gather\|math\|multline\|xalignat\)\*\=\s*}"
|
||||
syn match texBadMath "\\[\])]"
|
||||
endif
|
||||
@@ -344,6 +386,7 @@ if !exists("tex_no_math")
|
||||
call TexNewMathZone("G","gather",1)
|
||||
call TexNewMathZone("H","math",1)
|
||||
call TexNewMathZone("I","multline",1)
|
||||
call TexNewMathZone("J","subequations",0)
|
||||
call TexNewMathZone("K","xalignat",1)
|
||||
call TexNewMathZone("L","xxalignat",0)
|
||||
|
||||
@@ -364,7 +407,11 @@ if !exists("tex_no_math")
|
||||
syn match texMathOper "[_^=]" contained
|
||||
|
||||
" Text Inside Math Zones: {{{2
|
||||
syn region texMathText matchgroup=texStatement start='\\\(\(inter\)\=text\|mbox\)\s*{' end='}' contains=@texFoldGroup,@Spell
|
||||
if !exists("g:tex_nospell") || !g:tex_nospell
|
||||
syn region texMathText matchgroup=texStatement start='\\\(\(inter\)\=text\|mbox\)\s*{' end='}' contains=@texFoldGroup,@Spell
|
||||
else
|
||||
syn region texMathText matchgroup=texStatement start='\\\(\(inter\)\=text\|mbox\)\s*{' end='}' contains=@texFoldGroup
|
||||
endif
|
||||
|
||||
" \left..something.. and \right..something.. support: {{{2
|
||||
syn match texMathDelimBad contained "\S"
|
||||
@@ -501,16 +548,15 @@ else
|
||||
endif
|
||||
|
||||
" Tex Reference Zones: {{{1
|
||||
syn match texRefZone '\\@samp\>' skipwhite nextgroup=texRefLabel
|
||||
syn match texRefZone '\\nocite\>' skipwhite nextgroup=texRefLabel
|
||||
syn match texRefZone '\\bibliography\>' skipwhite nextgroup=texRefLabel
|
||||
syn match texRefZone '\\label\>' skipwhite nextgroup=texRefLabel
|
||||
syn match texRefZone '\\\(page\|eq\)ref\>' skipwhite nextgroup=texRefLabel
|
||||
syn match texRefZone '\\v\=ref' skipwhite nextgroup=texRefLabel
|
||||
syn match texRefZone '\\cite\%([tp]\*\=\)\=' skipwhite nextgroup=texCiteOption,texCite
|
||||
syn region texRefLabel contained matchgroup=Delimiter start='{' end='}' contains=@texRefGroup
|
||||
syn region texCiteOption contained matchgroup=Delimiter start='\[' end=']' contains=@Spell,@texRefGroup,@texMathZones,texRefZone nextgroup=texCiteOption,texCite
|
||||
syn region texCite contained matchgroup=Delimiter start='{' end='}' contains=@texRefGroup,texCite
|
||||
syn region texZone matchgroup=texStatement start="@samp{" end="}\|%stopzone\>" contains=@texRefGroup
|
||||
syn region texRefZone matchgroup=texStatement start="\\nocite{" end="}\|%stopzone\>" contains=@texRefGroup
|
||||
syn region texRefZone matchgroup=texStatement start="\\bibliography{" end="}\|%stopzone\>" contains=@texRefGroup
|
||||
syn region texRefZone matchgroup=texStatement start="\\label{" end="}\|%stopzone\>" contains=@texRefGroup
|
||||
syn region texRefZone matchgroup=texStatement start="\\\(page\|eq\)ref{" end="}\|%stopzone\>" contains=@texRefGroup
|
||||
syn region texRefZone matchgroup=texStatement start="\\v\=ref{" end="}\|%stopzone\>" contains=@texRefGroup
|
||||
syn match texRefZone '\\cite\%([tp]\*\=\)\=' nextgroup=texRefOption,texCite
|
||||
syn region texRefOption contained matchgroup=Delimiter start='\[' end=']' contains=@texRefGroup,texRefZone nextgroup=texRefOption,texCite
|
||||
syn region texCite contained matchgroup=Delimiter start='{' end='}' contains=@texRefGroup,texRefZone,texCite
|
||||
|
||||
" Handle newcommand, newenvironment : {{{1
|
||||
syn match texNewCmd "\\newcommand\>" nextgroup=texCmdName skipwhite skipnl
|
||||
@@ -556,12 +602,14 @@ if has("conceal") && &enc == 'utf-8'
|
||||
if s:tex_conceal =~ 'm'
|
||||
let s:texMathList=[
|
||||
\ ['|' , '‖'],
|
||||
\ ['aleph' , 'ℵ'],
|
||||
\ ['angle' , '∠'],
|
||||
\ ['approx' , '≈'],
|
||||
\ ['ast' , '∗'],
|
||||
\ ['asymp' , '≍'],
|
||||
\ ['backepsilon' , '∍'],
|
||||
\ ['backsimeq' , '≃'],
|
||||
\ ['backslash' , '∖'],
|
||||
\ ['barwedge' , '⊼'],
|
||||
\ ['because' , '∵'],
|
||||
\ ['between' , '≬'],
|
||||
@@ -592,9 +640,11 @@ if has("conceal") && &enc == 'utf-8'
|
||||
\ ['circlearrowright', '↻'],
|
||||
\ ['circledast' , '⊛'],
|
||||
\ ['circledcirc' , '⊚'],
|
||||
\ ['clubsuit' , '♣'],
|
||||
\ ['complement' , '∁'],
|
||||
\ ['cong' , '≅'],
|
||||
\ ['coprod' , '∐'],
|
||||
\ ['copyright' , '©'],
|
||||
\ ['cup' , '∪'],
|
||||
\ ['Cup' , '⋓'],
|
||||
\ ['curlyeqprec' , '⋞'],
|
||||
@@ -603,6 +653,7 @@ if has("conceal") && &enc == 'utf-8'
|
||||
\ ['curlywedge' , '⋏'],
|
||||
\ ['dashv' , '⊣'],
|
||||
\ ['diamond' , '⋄'],
|
||||
\ ['diamondsuit' , '♢'],
|
||||
\ ['div' , '÷'],
|
||||
\ ['doteq' , '≐'],
|
||||
\ ['doteqdot' , '≑'],
|
||||
@@ -621,8 +672,10 @@ if has("conceal") && &enc == 'utf-8'
|
||||
\ ['eqslantgtr' , '⪖'],
|
||||
\ ['eqslantless' , '⪕'],
|
||||
\ ['equiv' , '≡'],
|
||||
\ ['ell' , 'ℓ'],
|
||||
\ ['exists' , '∃'],
|
||||
\ ['fallingdotseq' , '≒'],
|
||||
\ ['flat' , '♭'],
|
||||
\ ['forall' , '∀'],
|
||||
\ ['ge' , '≥'],
|
||||
\ ['geq' , '≥'],
|
||||
@@ -633,11 +686,14 @@ if has("conceal") && &enc == 'utf-8'
|
||||
\ ['gtreqless' , '⋛'],
|
||||
\ ['gtrless' , '≷'],
|
||||
\ ['gtrsim' , '≳'],
|
||||
\ ['hbar' , 'ℏ'],
|
||||
\ ['heartsuit' , '♡'],
|
||||
\ ['hookleftarrow' , '↩'],
|
||||
\ ['hookrightarrow' , '↪'],
|
||||
\ ['iiint' , '∭'],
|
||||
\ ['iint' , '∬'],
|
||||
\ ['Im' , 'ℑ'],
|
||||
\ ['imath' , 'ɩ'],
|
||||
\ ['in' , '∈'],
|
||||
\ ['infty' , '∞'],
|
||||
\ ['int' , '∫'],
|
||||
@@ -650,7 +706,7 @@ if has("conceal") && &enc == 'utf-8'
|
||||
\ ['left(' , '('],
|
||||
\ ['left\[' , '['],
|
||||
\ ['left\\{' , '{'],
|
||||
\ ['Leftrightarrow' , '⇔'],
|
||||
\ ['leftrightarrow' , '⇔'],
|
||||
\ ['leftrightsquigarrow', '↭'],
|
||||
\ ['leftthreetimes' , '⋋'],
|
||||
\ ['leq' , '≤'],
|
||||
@@ -667,6 +723,7 @@ if has("conceal") && &enc == 'utf-8'
|
||||
\ ['mid' , '∣'],
|
||||
\ ['mp' , '∓'],
|
||||
\ ['nabla' , '∇'],
|
||||
\ ['natural' , '♮'],
|
||||
\ ['ncong' , '≇'],
|
||||
\ ['nearrow' , '↗'],
|
||||
\ ['ne' , '≠'],
|
||||
@@ -705,6 +762,7 @@ if has("conceal") && &enc == 'utf-8'
|
||||
\ ['oslash' , '⊘'],
|
||||
\ ['otimes' , '⊗'],
|
||||
\ ['owns' , '∋'],
|
||||
\ ['P' , '¶'],
|
||||
\ ['partial' , '∂'],
|
||||
\ ['perp' , '⊥'],
|
||||
\ ['pitchfork' , '⋔'],
|
||||
@@ -716,6 +774,7 @@ if has("conceal") && &enc == 'utf-8'
|
||||
\ ['precnapprox' , '⪹'],
|
||||
\ ['precneqq' , '⪵'],
|
||||
\ ['precsim' , '≾'],
|
||||
\ ['prime' , '′'],
|
||||
\ ['prod' , '∏'],
|
||||
\ ['propto' , '∝'],
|
||||
\ ['rceil' , '⌉'],
|
||||
@@ -732,9 +791,12 @@ if has("conceal") && &enc == 'utf-8'
|
||||
\ ['risingdotseq' , '≓'],
|
||||
\ ['rmoustache' , '╮'],
|
||||
\ ['rtimes' , '⋊'],
|
||||
\ ['S' , '§'],
|
||||
\ ['searrow' , '↘'],
|
||||
\ ['setminus' , '∖'],
|
||||
\ ['sharp' , '♯'],
|
||||
\ ['sim' , '∼'],
|
||||
\ ['spadesuit' , '♠'],
|
||||
\ ['sphericalangle' , '∢'],
|
||||
\ ['sqcap' , '⊓'],
|
||||
\ ['sqcup' , '⊔'],
|
||||
@@ -767,6 +829,7 @@ if has("conceal") && &enc == 'utf-8'
|
||||
\ ['times' , '×'],
|
||||
\ ['to' , '→'],
|
||||
\ ['top' , '⊤'],
|
||||
\ ['triangle' , '∆'],
|
||||
\ ['triangleleft' , '⊲'],
|
||||
\ ['trianglelefteq' , '⊴'],
|
||||
\ ['triangleq' , '≜'],
|
||||
@@ -788,6 +851,7 @@ if has("conceal") && &enc == 'utf-8'
|
||||
\ ['vee' , '∨'],
|
||||
\ ['Vvdash' , '⊪'],
|
||||
\ ['wedge' , '∧'],
|
||||
\ ['wp' , '℘'],
|
||||
\ ['wr' , '≀']]
|
||||
for texmath in s:texMathList
|
||||
if texmath[0] =~ '\w$'
|
||||
@@ -804,6 +868,27 @@ if has("conceal") && &enc == 'utf-8'
|
||||
syn match texMathSymbol '\\gg\>' contained conceal cchar=⟫
|
||||
syn match texMathSymbol '\\ll\>' contained conceal cchar=⟪
|
||||
endif
|
||||
|
||||
syn match texMathSymbol '\\hat{a}' contained conceal cchar=â
|
||||
syn match texMathSymbol '\\hat{A}' contained conceal cchar=Â
|
||||
syn match texMathSymbol '\\hat{c}' contained conceal cchar=ĉ
|
||||
syn match texMathSymbol '\\hat{C}' contained conceal cchar=Ĉ
|
||||
syn match texMathSymbol '\\hat{e}' contained conceal cchar=ê
|
||||
syn match texMathSymbol '\\hat{E}' contained conceal cchar=Ê
|
||||
syn match texMathSymbol '\\hat{g}' contained conceal cchar=ĝ
|
||||
syn match texMathSymbol '\\hat{G}' contained conceal cchar=Ĝ
|
||||
syn match texMathSymbol '\\hat{i}' contained conceal cchar=î
|
||||
syn match texMathSymbol '\\hat{I}' contained conceal cchar=Î
|
||||
syn match texMathSymbol '\\hat{o}' contained conceal cchar=ô
|
||||
syn match texMathSymbol '\\hat{O}' contained conceal cchar=Ô
|
||||
syn match texMathSymbol '\\hat{s}' contained conceal cchar=ŝ
|
||||
syn match texMathSymbol '\\hat{S}' contained conceal cchar=Ŝ
|
||||
syn match texMathSymbol '\\hat{u}' contained conceal cchar=û
|
||||
syn match texMathSymbol '\\hat{U}' contained conceal cchar=Û
|
||||
syn match texMathSymbol '\\hat{w}' contained conceal cchar=ŵ
|
||||
syn match texMathSymbol '\\hat{W}' contained conceal cchar=Ŵ
|
||||
syn match texMathSymbol '\\hat{y}' contained conceal cchar=ŷ
|
||||
syn match texMathSymbol '\\hat{Y}' contained conceal cchar=Ŷ
|
||||
endif
|
||||
|
||||
" Greek {{{2
|
||||
@@ -855,8 +940,8 @@ if has("conceal") && &enc == 'utf-8'
|
||||
|
||||
" Superscripts/Subscripts {{{2
|
||||
if s:tex_conceal =~ 's'
|
||||
syn region texSuperscript matchgroup=Delimiter start='\^{' end='}' contained concealends contains=texSuperscripts,texStatement,texSubscript,texSuperscript,texMathMatcher
|
||||
syn region texSubscript matchgroup=Delimiter start='_{' end='}' contained concealends contains=texSubscripts,texStatement,texSubscript,texSuperscript,texMathMatcher
|
||||
syn region texSuperscript matchgroup=Delimiter start='\^{' skip="\\\\\|\\[{}]" end='}' contained concealends contains=texSpecialChar,texSuperscripts,texStatement,texSubscript,texSuperscript,texMathMatcher
|
||||
syn region texSubscript matchgroup=Delimiter start='_{' skip="\\\\\|\\[{}]" end='}' contained concealends contains=texSpecialChar,texSubscripts,texStatement,texSubscript,texSuperscript,texMathMatcher
|
||||
fun! s:SuperSub(group,leader,pat,cchar)
|
||||
exe 'syn match '.a:group." '".a:leader.a:pat."' contained conceal cchar=".a:cchar
|
||||
exe 'syn match '.a:group."s '".a:pat."' contained conceal cchar=".a:cchar.' nextgroup='.a:group.'s'
|
||||
@@ -980,18 +1065,23 @@ if has("conceal") && &enc == 'utf-8'
|
||||
endfor
|
||||
endfun
|
||||
" \` \' \^ \" \~ \. \c \H \k \r \u \v
|
||||
call s:Accents('a','à','á','â','ä','ã',' ',' ',' ','ą','å','ă','ă')
|
||||
call s:Accents('A','À','Á','Â','Ä','Ã',' ',' ',' ','Ą','Å','Ă','Ă')
|
||||
call s:Accents('a','à','á','â','ä','ã','ȧ',' ',' ','ą','å','ă','ă')
|
||||
call s:Accents('A','À','Á','Â','Ä','Ã','Ȧ',' ',' ','Ą','Å','Ă','Ă')
|
||||
call s:Accents('c',' ','ć','ĉ',' ',' ','ċ','ç',' ',' ',' ',' ','č')
|
||||
call s:Accents('C',' ','Ć','Ĉ',' ',' ','Ċ','Ç',' ',' ',' ',' ','Č')
|
||||
call s:Accents('d',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','ď')
|
||||
call s:Accents('D',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','Ď')
|
||||
call s:Accents('e','è','é','ê','ë','ẽ','ė','ȩ',' ','ę',' ','ĕ','ě')
|
||||
call s:Accents('E','È','É','Ê','Ë','Ẽ','Ė','Ȩ',' ','Ę',' ','Ĕ','Ě')
|
||||
call s:Accents('g',' ',' ',' ',' ',' ','ġ','ģ',' ',' ',' ','ğ',' ')
|
||||
call s:Accents('G',' ',' ',' ',' ',' ','Ġ','Ģ',' ',' ',' ','Ğ',' ')
|
||||
call s:Accents('g',' ','ǵ','ĝ',' ',' ','ġ','ģ',' ',' ',' ','ğ',' ')
|
||||
call s:Accents('G',' ','Ǵ','Ĝ',' ',' ','Ġ','Ģ',' ',' ',' ','Ğ',' ')
|
||||
call s:Accents('h',' ',' ','ĥ',' ',' ',' ',' ',' ',' ',' ',' ','ȟ')
|
||||
call s:Accents('H',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','Ȟ')
|
||||
call s:Accents('i','ì','í','î','ï','ĩ','į',' ',' ',' ',' ','ĭ',' ')
|
||||
call s:Accents('I','Ì','Í','Î','Ï','Ĩ','İ',' ',' ',' ',' ','Ĭ',' ')
|
||||
call s:Accents('J',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','ǰ')
|
||||
call s:Accents('k',' ',' ',' ',' ',' ',' ','ķ',' ',' ',' ',' ',' ')
|
||||
call s:Accents('K',' ',' ',' ',' ',' ',' ','Ķ',' ',' ',' ',' ',' ')
|
||||
call s:Accents('l',' ','ĺ','ľ',' ',' ',' ','ļ',' ',' ',' ',' ','ľ')
|
||||
call s:Accents('L',' ','Ĺ','Ľ',' ',' ',' ','Ļ',' ',' ',' ',' ','Ľ')
|
||||
call s:Accents('n',' ','ń',' ',' ','ñ',' ','ņ',' ',' ',' ',' ','ň')
|
||||
@@ -1000,12 +1090,12 @@ if has("conceal") && &enc == 'utf-8'
|
||||
call s:Accents('O','Ò','Ó','Ô','Ö','Õ','Ȯ',' ','Ő','Ǫ',' ','Ŏ',' ')
|
||||
call s:Accents('r',' ','ŕ',' ',' ',' ',' ','ŗ',' ',' ',' ',' ','ř')
|
||||
call s:Accents('R',' ','Ŕ',' ',' ',' ',' ','Ŗ',' ',' ',' ',' ','Ř')
|
||||
call s:Accents('s',' ','ś','ŝ',' ',' ',' ','ş',' ',' ',' ',' ','š')
|
||||
call s:Accents('s',' ','ś','ŝ',' ',' ',' ','ş',' ','ȿ',' ',' ','š')
|
||||
call s:Accents('S',' ','Ś','Ŝ',' ',' ',' ','Ş',' ',' ',' ',' ','Š')
|
||||
call s:Accents('t',' ',' ',' ',' ',' ',' ','ţ',' ',' ',' ',' ','ť')
|
||||
call s:Accents('T',' ',' ',' ',' ',' ',' ','Ţ',' ',' ',' ',' ','Ť')
|
||||
call s:Accents('u','ù','ú','û','ü','ũ',' ',' ','ű',' ','ů','ŭ',' ')
|
||||
call s:Accents('U','Ù','Ú','Û','Ü','Ũ',' ',' ','Ű',' ','Ů','Ŭ',' ')
|
||||
call s:Accents('u','ù','ú','û','ü','ũ',' ',' ','ű','ų','ů','ŭ','ǔ')
|
||||
call s:Accents('U','Ù','Ú','Û','Ü','Ũ',' ',' ','Ű','Ų','Ů','Ŭ','Ǔ')
|
||||
call s:Accents('w',' ',' ','ŵ',' ',' ',' ',' ',' ',' ',' ',' ',' ')
|
||||
call s:Accents('W',' ',' ','Ŵ',' ',' ',' ',' ',' ',' ',' ',' ',' ')
|
||||
call s:Accents('y','ỳ','ý','ŷ','ÿ','ỹ',' ',' ',' ',' ',' ',' ',' ')
|
||||
@@ -1068,6 +1158,7 @@ if did_tex_syntax_inits == 1
|
||||
HiLink texError Error
|
||||
endif
|
||||
|
||||
HiLink texCite texRefZone
|
||||
HiLink texDefCmd texDef
|
||||
HiLink texDefName texDef
|
||||
HiLink texDocType texCmdName
|
||||
@@ -1092,7 +1183,6 @@ if did_tex_syntax_inits == 1
|
||||
HiLink texMathZoneV texMath
|
||||
HiLink texMathZoneZ texMath
|
||||
endif
|
||||
HiLink texRefZone Identifier
|
||||
HiLink texSectionMarker texCmdName
|
||||
HiLink texSectionName texSection
|
||||
HiLink texSpaceCode texStatement
|
||||
@@ -1101,7 +1191,6 @@ if did_tex_syntax_inits == 1
|
||||
HiLink texTypeStyle texType
|
||||
|
||||
" Basic TeX highlighting groups
|
||||
HiLink texCite Special
|
||||
HiLink texCmdArgs Number
|
||||
HiLink texCmdName Statement
|
||||
HiLink texComment Comment
|
||||
@@ -1117,7 +1206,7 @@ if did_tex_syntax_inits == 1
|
||||
HiLink texNewCmd Statement
|
||||
HiLink texNewEnv Statement
|
||||
HiLink texOption Number
|
||||
HiLink texRefLabel Special
|
||||
HiLink texRefZone Special
|
||||
HiLink texSection PreCondit
|
||||
HiLink texSpaceCodeChar Special
|
||||
HiLink texSpecialChar SpecialChar
|
||||
@@ -1130,7 +1219,9 @@ if did_tex_syntax_inits == 1
|
||||
delcommand HiLink
|
||||
endif
|
||||
|
||||
" Current Syntax: {{{1
|
||||
" Cleanup: {{{1
|
||||
unlet s:extfname
|
||||
let b:current_syntax = "tex"
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
" vim: ts=8 fdm=marker
|
||||
|
||||
+34
-27
@@ -1,8 +1,8 @@
|
||||
" Vim syntax file
|
||||
" Language: Vim 7.3 script
|
||||
" Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
|
||||
" Last Change: Jan 10, 2011
|
||||
" Version: 7.3-07
|
||||
" Last Change: Jul 18, 2011
|
||||
" Version: 7.3-08
|
||||
" Automatically generated keyword lists: {{{1
|
||||
|
||||
" Quit when a syntax file was already loaded {{{2
|
||||
@@ -22,35 +22,35 @@ syn keyword vimCommand contained abc[lear] argdo au bf[irst] bp[revious] br[ewin
|
||||
syn keyword vimCommand contained abo[veleft] arge[dit] bad[d] bl[ast] br bro[wse] buffers caddb[uffer] cc cfir[st] chd[ir] clo[se] cn[ext] col[der] con cpf[ile] cstag debugg[reedy] delm[arks] diffp diffu[pdate] do e echon elsei[f] endfun Error filename fin[d] folddoc[losed] fu[nction] gs?pat?sub? helpf[ind] i imapc[lear] iuna[bbrev] keepj[umps] lad[dexpr] later lcscope lfir[st] lh[elpgrep] lmapc[lear] lnf loadkeymap lop[en] lua ma menut mk[exrc] mo mz nb[key] nkf o ownsyntax pe p:h:h p:r profd[el] pta[g] ptn[ext] pw[d] python3 r redi[r] Rena ri[ght] rubyd[o] san[dbox] sbm[odified] scrip setf[iletype] si sla[st] sn[ext] s@\n@\=\r" spelld[ump] sp[lit] start stopi[nsert] s?version?main? sync tabc[lose] tabm[ove] tabp[revious] tcld[o] tl[ast] tN[ext] tr[ewind] un unl verb[ose] vimgrepa[dd] w winp[os] wqa[ll] X XMLent xunmenu
|
||||
syn keyword vimCommand contained al[l] argg[lobal] ba[ll] bm[odified] brea[k] browseset bun[load] cad[dexpr] ccl[ose] cgetb[uffer] che[ckpath] cmapc[lear] cN[ext] colo[rscheme] conf[irm] cp[revious] cuna[bbrev] del di diffpatch dig doau ea e[dit] em[enu] endf[unction] ex files fini[sh] foldd[oopen] g gui helpg[rep] ia in j[oin] kee[pmarks] laddf[ile] lb[uffer] le[ft] lgetb[uffer] l[ist] lN lNf lo[adview] lpf[ile] luado mak[e] menut[ranslate] mks[ession] mod[e] mzf[ile] nbs[tart] nmapc[lear] ol[dfiles] p ped[it] po[p] pre[serve] prof[ile] ptf[irst] ptN[ext] py q re red[o] Renu rightb[elow] rubyf[ile] sa[rgument] sbn[ext] scripte[ncoding] setg[lobal] sig sl[eep] sN[ext] so spe[llgood] spr[evious] startg[replace] sts[elect] s?version?main?:p syncbind tabd[o] tabN tabr[ewind] tclf[ile] tm TOhtml try una[bbreviate] unlo[ckvar] ve[rsion] vi[sual] wa[ll] win[size] w[rite] xa[ll] XMLns xwininfo
|
||||
syn keyword vimCommand contained Allargs argl[ocal] bar bn[ext] breaka[dd] bu bw[ipeout] caddf[ile] cd cgete[xpr] checkt[ime] cmdname cnf com con[tinue] cq[uit] cw[indow] delc[ommand] diffg[et] diffpu[t] dig[raphs] dr[op] earlier e:e emenu* en[dif] exi[t] filet fir[st] foldo[pen] get gvim helpt[ags] iabc[lear] index ju[mps] l lan lc[d] lefta[bove] lgete[xpr] ll lne lnf[ile] locale lp[revious] luafile Man mes mksp[ell] m[ove] mz[scheme] ne noa omapc[lear] p: pe[rl] popu prev[ious] promptf[ind] ptj[ump] ptp[revious] py3 qa[ll] r:e redr[aw] res[ize] r:r rundo sav[eas] sbN[ext] scrip[tnames] setl[ocal] sign sm[agic] sni[ff] sor[t] spelli[nfo] sre[wind] star[tinsert] sun[hide] sv[iew] synlist tabe[dit] tabnew tabs te[aroff] tm[enu] to[pleft] ts[elect] u[ndo] uns[ilent] vert[ical] viu[sage] wh[ile] wn[ext] ws[verb] x[it] xnoreme y[ank]
|
||||
syn keyword vimCommand contained ar ar[gs]
|
||||
syn keyword vimCommand contained ar ar[gs]
|
||||
syn match vimCommand contained "\<z[-+^.=]\="
|
||||
syn keyword vimCommand contained maca[ction] macm[enu]
|
||||
|
||||
" vimOptions are caught only when contained in a vimSet {{{2
|
||||
syn keyword vimOption contained acd ambiwidth arabicshape autowriteall backupdir bdlay binary breakat bufhidden cd ci cinw co commentstring confirm cpoptions cscopetag csto cwh dg dip eadirection ek equalprg ex fdi fen fileencodings flp foldexpr foldnestmax fp gfm grepformat guifontwide helpheight highlight hlg im imi incsearch infercase isk keymap langmenu linespace loadplugins macatsui maxcombine mef mls modelines mousehide mp nu omnifunc paragraphs penc pm printdevice printoptions quoteescape restorescreen rnu rulerformat scr sect sft shellredir shm showmode sj smd spell splitbelow ssl stl sw sxq tabpagemax tags tbis terse thesaurus titleold toolbariconsize tsr ttyfast tx undofile ut verbosefile virtualedit wb wfw wildcharm winaltkeys winminwidth wmnu write
|
||||
syn keyword vimOption contained ai ambw ari aw backupext beval biosk brk buflisted cdpath cin cinwords cocu compatible consk cpt cscopetagorder csverb debug dict dir eb enc errorbells expandtab fdl fenc fileformat fml foldignore foldopen fs gfn grepprg guiheadroom helplang history hls imactivatekey iminsert inde insertmode iskeyword keymodel laststatus lisp lpl magic maxfuncdepth menuitems mm modifiable mousem mps number opendevice paste pex pmbcs printencoding prompt rdt revins ro runtimepath scroll sections sh shellslash shortmess showtabline slm sn spellcapcheck splitright ssop stmp swapfile syn tabstop tagstack tbs textauto tildeop titlestring top ttimeout ttym uc undolevels vb vfile visualbell wc wh wildignore window winwidth wmw writeany
|
||||
syn keyword vimOption contained akm anti arshape awa backupskip bex bioskey browsedir buftype cedit cindent clipboard cole complete conskey crb cscopeverbose cuc deco dictionary directory ed encoding errorfile exrc fdls fencs fileformats fmr foldlevel foldtext fsync gfs gtl guioptions hf hk hlsearch imak ims indentexpr is isp keywordprg lazyredraw lispwords ls makeef maxmapdepth mfd mmd modified mousemodel msm numberwidth operatorfunc pastetoggle pexpr pmbfn printexpr pt readonly ri rs sb scrollbind secure shcf shelltemp shortname shq sm so spellfile spr st sts swapsync synmaxcol tag tal tenc textmode timeout tl tpm ttimeoutlen ttymouse udf undoreload vbs vi vop wcm whichwrap wildmenu winfixheight wiv wop writebackup
|
||||
syn keyword vimOption contained al antialias autochdir background balloondelay bexpr bk bs casemap cf cink cmdheight colorcolumn completefunc copyindent cryptmethod cspc cul def diff display edcompatible endofline errorformat fcl fdm fex filetype fo foldlevelstart formatexpr ft gfw gtt guipty hh hkmap ic imc imsearch indentkeys isf isprint km lbr list lsp makeprg maxmem mh mmp more mouses mzq nuw opfunc patchexpr pfn popt printfont pumheight redrawtime rightleft rtp sbo scrolljump sel shell shelltype showbreak si smartcase softtabstop spelllang sps sta su swb syntax tagbsearch tb term textwidth timeoutlen tm tr ttm ttyscroll udir updatecount vdir viewdir wa wd wi wildmode winfixwidth wiw wrap writedelay
|
||||
syn keyword vimOption contained aleph ar autoindent backspace ballooneval bg bkc bsdir cb cfu cinkeys cmdwinheight columns completeopt cot cscopepathcomp csprg cursorbind define diffexpr dy ef eol esckeys fcs fdn ff fillchars foldclose foldmarker formatlistpat gcr ghr guicursor guitablabel hi hkmapp icon imcmdline inc indk isfname joinspaces kmp lcs listchars lw mat maxmempattern mis mmt mouse mouseshape mzquantum odev osfiletype patchmode ph preserveindent printheader pvh relativenumber rightleftcmd ru sbr scrolloff selection shellcmdflag shellxquote showcmd sidescroll smartindent sol spellsuggest sr stal sua swf ta taglength tbi termbidi tf title to ts tty ttytype ul updatetime ve viewoptions wak weirdinvert wig wildoptions winheight wm wrapmargin ws
|
||||
syn keyword vimOption contained allowrevins arab autoread backup balloonexpr bh bl bsk cc ch cino cmp com concealcursor cp cscopeprg csqf cursorcolumn delcombine diffopt ea efm ep et fdc fdo ffs fk foldcolumn foldmethod formatoptions gd go guifont guitabtooltip hid hkp iconstring imd include inex isi js kp linebreak lm lz matchpairs maxmemtot mkspellmem mod mousef mouset nf oft pa path pheader previewheight printmbcharset pvw remap rl ruf sc scrollopt selectmode shellpipe shiftround showfulltag sidescrolloff smarttab sp spf srr startofline suffixes switchbuf tabline tagrelative tbidi termencoding tgst titlelen toolbar tsl ttybuiltin tw undodir ur verbose viminfo warn wfh wildchar wim winminheight wmh wrapscan ww
|
||||
syn keyword vimOption contained altkeymap arabic autowrite backupcopy bdir bin bomb bt ccv charconvert cinoptions cms comments conceallevel cpo cscopequickfix cst cursorline dex digraph ead ei equalalways eventignore fde fdt fileencoding fkmap foldenable foldminlines formatprg gdefault gp guifontset helpfile hidden hl ignorecase imdisable includeexpr inf isident key langmap lines lmap ma matchtime mco ml modeline mousefocus mousetime nrformats ofu para pdev pi previewwindow printmbfont qe report rlc ruler scb scs sessionoptions shellquote shiftwidth showmatch siso smc spc spl ss statusline suffixesadd sws
|
||||
syn keyword vimOption contained acd ambiwidth arabicshape autowriteall backupdir bdlay binary breakat bufhidden cd ci cinw co commentstring confirm cpoptions cscoperelative csre cursorcolumn delcombine diffopt ea efm ep et fdc fdo ffs fk foldcolumn foldmethod formatoptions gd go guifont guitabtooltip hid hkp iconstring imd include inex isi js kp linebreak lm lz matchpairs maxmemtot mkspellmem mod mousef mouset nf oft pa path pheader previewheight printmbcharset pvw remap rl ruf sc scrollopt selectmode shellpipe shiftround showfulltag sidescrolloff smarttab sp spf srr startofline suffixes switchbuf tabline tags tbs textmode timeout tl tpm ttimeoutlen ttymouse udf undoreload vbs vi vop wcm whichwrap wildignore winaltkeys winminwidth wmnu write
|
||||
syn keyword vimOption contained ai ambw ari aw backupext beval biosk brk buflisted cdpath cin cinwords cocu compatible consk cpt cscopetag cst cursorline dex digraph ead ei equalalways eventignore fde fdt fileencoding fkmap foldenable foldminlines formatprg gdefault gp guifontset helpfile hidden hl ignorecase imdisable includeexpr inf isident key langmap lines lmap ma matchtime mco ml modeline mousefocus mousetime nrformats ofu para pdev pi previewwindow printmbfont qe report rlc ruler scb scs sessionoptions shellquote shiftwidth showmatch siso smc spc spl ss statusline suffixesadd sws tabpagemax tagstack tenc textwidth timeoutlen tm tr ttm ttyscroll udir updatecount vdir viewdir wa wd wi wildignorecase window winwidth wmw writeany
|
||||
syn keyword vimOption contained akm anti arshape awa backupskip bex bioskey browsedir buftype cedit cindent clipboard cole complete conskey crb cscopetagorder csto cwh dg dip eadirection ek equalprg ex fdi fen fileencodings flp foldexpr foldnestmax fp gfm grepformat guifontwide helpheight highlight hlg im imi incsearch infercase isk keymap langmenu linespace loadplugins macatsui maxcombine mef mls modelines mousehide mp nu omnifunc paragraphs penc pm printdevice printoptions quoteescape restorescreen rnu rulerformat scr sect sft shellredir shm showmode sj smd spell splitbelow ssl stl sw sxq tabstop tal term tf title to ts tty ttytype ul updatetime ve viewoptions wak weirdinvert wic wildmenu winfixheight wiv wop writebackup
|
||||
syn keyword vimOption contained al antialias autochdir background balloondelay bexpr bk bs casemap cf cink cmdheight colorcolumn completefunc copyindent cryptmethod cscopeverbose csverb debug dict dir eb enc errorbells expandtab fdl fenc fileformat fml foldignore foldopen fs gfn grepprg guiheadroom helplang history hls imactivatekey iminsert inde insertmode iskeyword keymodel laststatus lisp lpl magic maxfuncdepth menuitems mm modifiable mousem mps number opendevice paste pex pmbcs printencoding prompt rdt revins ro runtimepath scroll sections sh shellslash shortmess showtabline slm sn spellcapcheck splitright ssop stmp swapfile syn tag tb termbidi tgst titlelen toolbar tsl ttybuiltin tw undodir ur verbose viminfo warn wfh wig wildmode winfixwidth wiw wrap writedelay
|
||||
syn keyword vimOption contained aleph ar autoindent backspace ballooneval bg bkc bsdir cb cfu cinkeys cmdwinheight columns completeopt cot cscopepathcomp cspc cuc deco dictionary directory ed encoding errorfile exrc fdls fencs fileformats fmr foldlevel foldtext fsync gfs gtl guioptions hf hk hlsearch imak ims indentexpr is isp keywordprg lazyredraw lispwords ls makeef maxmapdepth mfd mmd modified mousemodel msm numberwidth operatorfunc pastetoggle pexpr pmbfn printexpr pt readonly ri rs sb scrollbind secure shcf shelltemp shortname shq sm so spellfile spr st sts swapsync synmaxcol tagbsearch tbi termencoding thesaurus titleold toolbariconsize tsr ttyfast tx undofile ut verbosefile virtualedit wb wfw wildchar wildoptions winheight wm wrapmargin ws
|
||||
syn keyword vimOption contained allowrevins arab autoread backup balloonexpr bh bl bsk cc ch cino cmp com concealcursor cp cscopeprg csprg cul def diff display edcompatible endofline errorformat fcl fdm fex filetype fo foldlevelstart formatexpr ft gfw gtt guipty hh hkmap ic imc imsearch indentkeys isf isprint km lbr list lsp makeprg maxmem mh mmp more mouses mzq nuw opfunc patchexpr pfn popt printfont pumheight redrawtime rightleft rtp sbo scrolljump sel shell shelltype showbreak si smartcase softtabstop spelllang sps sta su swb syntax taglength tbidi terse tildeop titlestring top ttimeout ttym uc undolevels vb vfile visualbell wc wh wildcharm wim winminheight wmh wrapscan ww
|
||||
syn keyword vimOption contained altkeymap arabic autowrite backupcopy bdir bin bomb bt ccv charconvert cinoptions cms comments conceallevel cpo cscopequickfix csqf cursorbind define diffexpr dy ef eol esckeys fcs fdn ff fillchars foldclose foldmarker formatlistpat gcr ghr guicursor guitablabel hi hkmapp icon imcmdline inc indk isfname joinspaces kmp lcs listchars lw mat maxmempattern mis mmt mouse mouseshape mzquantum odev osfiletype patchmode ph preserveindent printheader pvh relativenumber rightleftcmd ru sbr scrolloff selection shellcmdflag shellxquote showcmd sidescroll smartindent sol spellsuggest sr stal sua swf ta tagrelative tbis textauto
|
||||
syn keyword vimOption contained fullscreen fu fuoptions fuopt macmeta mmta transparency transp
|
||||
|
||||
" vimOptions: These are the turn-off setting variants {{{2
|
||||
syn keyword vimOption contained noacd noallowrevins noantialias noarabic noarshape noautoread noaw noballooneval nobinary nobk nobuflisted nocin noconfirm nocopyindent nocscopetag nocsverb nocursorbind nodeco nodiff noeb noek noeol noerrorbells noet noexpandtab nofen nofkmap nogd noguipty nohidden nohkmap nohkp nohlsearch noicon noim noimcmdline noimdisable noinf noinsertmode nojoinspaces nolazyredraw nolinebreak nolist nolpl noma nomagic noml nomodeline nomodified nomousef nomousehide nonumber noopendevice nopi nopreviewwindow nopvw norelativenumber norestorescreen nori norl noro noru nosb noscb noscs nosft noshelltemp noshortname noshowfulltag noshowmode nosm nosmartindent nosmd nosol nosplitbelow nospr nossl nostartofline noswapfile nota notagrelative notbi notbs noterse notextmode notgst notimeout noto notr nottybuiltin notx novisualbell nowarn noweirdinvert nowfw nowinfixheight nowiv nowrap nowrite nowritebackup
|
||||
syn keyword vimOption contained noai noaltkeymap noar noarabicshape noautochdir noautowrite noawa nobeval nobiosk nobl nocf nocindent noconsk nocp nocscopeverbose nocuc nocursorcolumn nodelcombine nodigraph noed noendofline noequalalways noesckeys noex noexrc nofk nofoldenable nogdefault nohid nohk nohkmapp nohls noic noignorecase noimc noimd noincsearch noinfercase nois nojs nolbr nolisp noloadplugins nolz nomacatsui nomh nomod nomodifiable nomore nomousefocus nonu noodev nopaste nopreserveindent noprompt noreadonly noremap norevins norightleft nornu nors noruler nosc noscrollbind nosecure noshellslash noshiftround noshowcmd noshowmatch nosi nosmartcase nosmarttab nosn nospell nosplitright nosr nosta nostmp noswf notagbsearch notagstack notbidi notermbidi notextauto notf notildeop notitle notop nottimeout nottyfast novb nowa nowb nowfh nowildmenu nowinfixwidth nowmnu nowrapscan nowriteany nows
|
||||
syn keyword vimOption contained noakm noanti noarab noari noautoindent noautowriteall nobackup nobin nobioskey nobomb noci nocompatible noconskey nocrb nocst nocul nocursorline nodg noea noedcompatible
|
||||
syn keyword vimOption contained noacd noallowrevins noantialias noarabic noarshape noautoread noaw noballooneval nobinary nobk nobuflisted nocin noconfirm nocopyindent nocscopetag nocsverb nocursorbind nodeco nodiff noeb noek noequalalways noesckeys noex noexrc nofk nofoldenable nogdefault nohid nohk nohkmapp nohls noic noignorecase noimc noimd noincsearch noinfercase nois nojs nolbr nolisp noloadplugins nolz nomacatsui nomh nomod nomodifiable nomore nomousefocus nonu noodev nopaste nopreserveindent noprompt noreadonly noremap norevins norightleft nornu nors noruler nosc noscrollbind nosecure noshellslash noshiftround noshowcmd noshowmatch nosi nosmartcase nosmarttab nosn nospell nosplitright nosr nosta nostmp noswf notagbsearch notagstack notbidi notermbidi notextauto notf notildeop notitle notop nottimeout nottyfast novb nowa nowb nowfh nowildignorecase* * nowinfixheight nowiv nowrap nowrite nowritebackup
|
||||
syn keyword vimOption contained noai noaltkeymap noar noarabicshape noautochdir noautowrite noawa nobeval nobiosk nobl nocf nocindent noconsk nocp nocscopeverbose nocuc nocursorcolumn nodelcombine nodigraph noed noendofline noerrorbells noet noexpandtab nofen nofkmap nogd noguipty nohidden nohkmap nohkp nohlsearch noicon noim noimcmdline noimdisable noinf noinsertmode nojoinspaces nolazyredraw nolinebreak nolist nolpl noma nomagic noml nomodeline nomodified nomousef nomousehide nonumber noopendevice nopi nopreviewwindow nopvw norelativenumber norestorescreen nori norl noro noru nosb noscb noscs nosft noshelltemp noshortname noshowfulltag noshowmode nosm nosmartindent nosmd nosol nosplitbelow nospr nossl nostartofline noswapfile nota notagrelative notbi notbs noterse notextmode notgst notimeout noto notr nottybuiltin notx novisualbell nowarn noweirdinvert nowfw nowildmenu nowinfixwidth nowmnu nowrapscan nowriteany nows
|
||||
syn keyword vimOption contained noakm noanti noarab noari noautoindent noautowriteall nobackup nobin nobioskey nobomb noci nocompatible noconskey nocrb nocst nocul nocursorline nodg noea noedcompatible noeol
|
||||
syn keyword vimOption contained nofullscreen nofu nomacmeta nommta
|
||||
|
||||
" vimOptions: These are the invertible variants {{{2
|
||||
syn keyword vimOption contained invacd invallowrevins invantialias invarabic invarshape invautoread invaw invballooneval invbinary invbk invbuflisted invcin invconfirm invcopyindent invcscopetag invcsverb invcursorbind invdeco invdiff inveb invek inveol inverrorbells invet invexpandtab invfen invfkmap invgd invguipty invhidden invhkmap invhkp invhlsearch invicon invim invimcmdline invimdisable invinf invinsertmode invjoinspaces invlazyredraw invlinebreak invlist invlpl invma invmagic invml invmodeline invmodified invmousef invmousehide invnumber invopendevice invpi invpreviewwindow invpvw invrelativenumber invrestorescreen invri invrl invro invru invsb invscb invscs invsft invshelltemp invshortname invshowfulltag invshowmode invsm invsmartindent invsmd invsol invsplitbelow invspr invssl invstartofline invswapfile invta invtagrelative invtbi invtbs invterse invtextmode invtgst invtimeout invto invtr invttybuiltin invtx invvisualbell invwarn invweirdinvert invwfw invwinfixheight invwiv invwrap invwrite invwritebackup
|
||||
syn keyword vimOption contained invai invaltkeymap invar invarabicshape invautochdir invautowrite invawa invbeval invbiosk invbl invcf invcindent invconsk invcp invcscopeverbose invcuc invcursorcolumn invdelcombine invdigraph inved invendofline invequalalways invesckeys invex invexrc invfk invfoldenable invgdefault invhid invhk invhkmapp invhls invic invignorecase invimc invimd invincsearch invinfercase invis invjs invlbr invlisp invloadplugins invlz invmacatsui invmh invmod invmodifiable invmore invmousefocus invnu invodev invpaste invpreserveindent invprompt invreadonly invremap invrevins invrightleft invrnu invrs invruler invsc invscrollbind invsecure invshellslash invshiftround invshowcmd invshowmatch invsi invsmartcase invsmarttab invsn invspell invsplitright invsr invsta invstmp invswf invtagbsearch invtagstack invtbidi invtermbidi invtextauto invtf invtildeop invtitle invtop invttimeout invttyfast invvb invwa invwb invwfh invwildmenu invwinfixwidth invwmnu invwrapscan invwriteany invws
|
||||
syn keyword vimOption contained invakm invanti invarab invari invautoindent invautowriteall invbackup invbin invbioskey invbomb invci invcompatible invconskey invcrb invcst invcul invcursorline invdg invea invedcompatible
|
||||
syn keyword vimOption contained invacd invallowrevins invantialias invarabic invarshape invautoread invaw invballooneval invbinary invbk invbuflisted invcin invconfirm invcopyindent invcscopetag invcsverb invcursorbind invdeco invdiff inveb invek invequalalways invesckeys invex invexrc invfk invfoldenable invgdefault invhid invhk invhkmapp invhls invic invignorecase invimc invimd invincsearch invinfercase invis invjs invlbr invlisp invloadplugins invlz invmacatsui invmh invmod invmodifiable invmore invmousefocus invnu invodev invpaste invpreserveindent invprompt invreadonly invremap invrevins invrightleft invrnu invrs invruler invsc invscrollbind invsecure invshellslash invshiftround invshowcmd invshowmatch invsi invsmartcase invsmarttab invsn invspell invsplitright invsr invsta invstmp invswf invtagbsearch invtagstack invtbidi invtermbidi invtextauto invtf invtildeop invtitle invtop invttimeout invttyfast invvb invwa invwb invwfh invwildignorecase* * invwinfixheight invwiv invwrap invwrite invwritebackup
|
||||
syn keyword vimOption contained invai invaltkeymap invar invarabicshape invautochdir invautowrite invawa invbeval invbiosk invbl invcf invcindent invconsk invcp invcscopeverbose invcuc invcursorcolumn invdelcombine invdigraph inved invendofline inverrorbells invet invexpandtab invfen invfkmap invgd invguipty invhidden invhkmap invhkp invhlsearch invicon invim invimcmdline invimdisable invinf invinsertmode invjoinspaces invlazyredraw invlinebreak invlist invlpl invma invmagic invml invmodeline invmodified invmousef invmousehide invnumber invopendevice invpi invpreviewwindow invpvw invrelativenumber invrestorescreen invri invrl invro invru invsb invscb invscs invsft invshelltemp invshortname invshowfulltag invshowmode invsm invsmartindent invsmd invsol invsplitbelow invspr invssl invstartofline invswapfile invta invtagrelative invtbi invtbs invterse invtextmode invtgst invtimeout invto invtr invttybuiltin invtx invvisualbell invwarn invweirdinvert invwfw invwildmenu invwinfixwidth invwmnu invwrapscan invwriteany invws
|
||||
syn keyword vimOption contained invakm invanti invarab invari invautoindent invautowriteall invbackup invbin invbioskey invbomb invci invcompatible invconskey invcrb invcst invcul invcursorline invdg invea invedcompatible inveol
|
||||
syn keyword vimOption contained invfullscreen invfu invmacmeta invmmta
|
||||
|
||||
" termcap codes (which can also be set) {{{2
|
||||
syn keyword vimOption contained t_AB t_al t_bc t_ce t_cl t_Co t_cs t_Cs t_CS t_CV t_da t_db t_dl t_DL t_EI t_F1 t_F2 t_F3 t_F4 t_F5 t_F6 t_F7 t_F8 t_F9 t_fs t_IE t_IS t_k1 t_K1 t_k2 t_k3 t_K3 t_k4 t_K4 t_k5 t_K5 t_k6 t_K6 t_k7 t_K7 t_k8 t_K8 t_k9 t_K9 t_KA t_kb t_kB t_KB t_KC t_kd t_kD t_KD t_ke t_KE t_KF t_KG t_kh t_KH t_kI t_KI t_KJ t_KK t_kl t_KL t_kN t_kP t_kr t_ks t_ku t_le t_mb t_md t_me t_mr t_ms t_nd t_op t_RI t_RV t_Sb t_se t_Sf t_SI t_so t_sr t_te t_ti t_ts t_ue t_us t_ut t_vb t_ve t_vi t_vs t_WP t_WS t_xs t_ZH t_ZR
|
||||
syn keyword vimOption contained t_AF t_AL t_cd t_Ce t_cm
|
||||
syn keyword vimOption contained t_AF t_AL t_cd t_Ce t_cm
|
||||
syn match vimOption contained "t_%1"
|
||||
syn match vimOption contained "t_#2"
|
||||
syn match vimOption contained "t_#4"
|
||||
@@ -61,24 +61,24 @@ syn match vimOption contained "t_%i"
|
||||
syn match vimOption contained "t_k;"
|
||||
|
||||
" unsupported settings: these are supported by vi but don't do anything in vim {{{2
|
||||
syn keyword vimErrSetting contained hardtabs ht w1200 w300 w9600
|
||||
syn keyword vimErrSetting contained hardtabs ht w1200 w300 w9600
|
||||
|
||||
" AutoCmd Events {{{2
|
||||
syn case ignore
|
||||
syn keyword vimAutoEvent contained BufAdd BufCreate BufDelete BufEnter BufFilePost BufFilePre BufHidden BufLeave BufNew BufNewFile BufRead BufReadCmd BufReadPost BufReadPre BufUnload BufWinEnter BufWinLeave BufWipeout BufWrite BufWriteCmd BufWritePost BufWritePre Cmd-event CmdwinEnter CmdwinLeave ColorScheme CursorHold CursorHoldI CursorMoved CursorMovedI EncodingChanged FileAppendCmd FileAppendPost FileAppendPre FileChangedRO FileChangedShell FileChangedShellPost FileEncoding FileReadCmd FileReadPost FileReadPre FileType FileWriteCmd FileWritePost FileWritePre FilterReadPost FilterReadPre FilterWritePost FilterWritePre FocusGained FocusLost FuncUndefined GUIEnter GUIFailed InsertChange InsertEnter InsertLeave MenuPopup QuickFixCmdPost QuickFixCmdPre RemoteReply SessionLoadPost ShellCmdPost ShellFilterPost SourceCmd SourcePre SpellFileMissing StdinReadPost StdinReadPre SwapExists Syntax TabEnter TabLeave TermChanged TermResponse User UserGettingBored VimEnter VimLeave VimLeavePre VimResized WinEnter WinLeave
|
||||
syn keyword vimAutoEvent contained BufAdd BufCreate BufDelete BufEnter BufFilePost BufFilePre BufHidden BufLeave BufNew BufNewFile BufRead BufReadCmd BufReadPost BufReadPre BufUnload BufWinEnter BufWinLeave BufWipeout BufWrite BufWriteCmd BufWritePost BufWritePre Cmd-event CmdwinEnter CmdwinLeave ColorScheme CursorHold CursorHoldI CursorMoved CursorMovedI EncodingChanged FileAppendCmd FileAppendPost FileAppendPre FileChangedRO FileChangedShell FileChangedShellPost FileEncoding FileReadCmd FileReadPost FileReadPre FileType FileWriteCmd FileWritePost FileWritePre FilterReadPost FilterReadPre FilterWritePost FilterWritePre FocusGained FocusLost FuncUndefined GUIEnter GUIFailed InsertChange InsertCharPre InsertEnter InsertLeave MenuPopup QuickFixCmdPost QuickFixCmdPre RemoteReply SessionLoadPost ShellCmdPost ShellFilterPost SourceCmd SourcePre SpellFileMissing StdinReadPost StdinReadPre SwapExists Syntax TabEnter TabLeave TermChanged TermResponse User UserGettingBored VimEnter VimLeave VimLeavePre VimResized WinEnter WinLeave
|
||||
|
||||
" Highlight commonly used Groupnames {{{2
|
||||
syn keyword vimGroup contained Comment Constant String Character Number Boolean Float Identifier Function Statement Conditional Repeat Label Operator Keyword Exception PreProc Include Define Macro PreCondit Type StorageClass Structure Typedef Special SpecialChar Tag Delimiter SpecialComment Debug Underlined Ignore Error Todo
|
||||
syn keyword vimGroup contained Comment Constant String Character Number Boolean Float Identifier Function Statement Conditional Repeat Label Operator Keyword Exception PreProc Include Define Macro PreCondit Type StorageClass Structure Typedef Special SpecialChar Tag Delimiter SpecialComment Debug Underlined Ignore Error Todo
|
||||
|
||||
" Default highlighting groups {{{2
|
||||
syn keyword vimHLGroup contained ColorColumn Cursor CursorColumn CursorIM CursorLine DiffAdd DiffChange DiffDelete DiffText Directory ErrorMsg FoldColumn Folded IncSearch LineNr MatchParen Menu ModeMsg MoreMsg NonText Normal Pmenu PmenuSbar PmenuSel PmenuThumb Question Scrollbar Search SignColumn SpecialKey SpellBad SpellCap SpellLocal SpellRare StatusLine StatusLineNC TabLine TabLineFill TabLineSel Title Tooltip VertSplit Visual VisualNOS WarningMsg WildMenu
|
||||
syn keyword vimHLGroup contained ColorColumn Cursor CursorColumn CursorIM CursorLine DiffAdd DiffChange DiffDelete DiffText Directory ErrorMsg FoldColumn Folded IncSearch LineNr MatchParen Menu ModeMsg MoreMsg NonText Normal Pmenu PmenuSbar PmenuSel PmenuThumb Question Scrollbar Search SignColumn SpecialKey SpellBad SpellCap SpellLocal SpellRare StatusLine StatusLineNC TabLine TabLineFill TabLineSel Title Tooltip VertSplit Visual VisualNOS WarningMsg WildMenu
|
||||
syn match vimHLGroup contained "Conceal"
|
||||
syn case match
|
||||
|
||||
" Function Names {{{2
|
||||
syn keyword vimFuncName contained abs append argv atan2 bufexists bufname byte2line ceil cindent complete confirm cosh cursor did_filetype empty eventhandler exp extend filewritable findfile fmod foldclosed foldtext function getbufline getcharmod getcmdtype getfperm getftype getmatches getqflist gettabvar getwinposy globpath haslocaldir histdel hlexists iconv input inputrestore insert items len line localtime map match matchdelete matchstr min mode nextnonblank pathshorten prevnonblank pumvisible readfile reltimestr remote_foreground remote_read remove repeat reverse search searchpair searchpos serverlist setcmdpos setloclist setpos setreg settabwinvar shellescape sin sort spellbadword split str2float strchars strftime string strpart strtrans submatch synconcealed synIDattr synstack tabpagebuflist tabpagewinnr taglist tanh tolower tr type undotree virtcol winbufnr winheight winnr winrestview winwidth
|
||||
syn keyword vimFuncName contained acos argc asin browse buflisted bufnr byteidx changenr clearmatches complete_add copy count deepcopy diff_filler escape executable expand feedkeys filter float2nr fnameescape foldclosedend foldtextresult garbagecollect getbufvar getcmdline getcwd getfsize getline getpid getreg gettabwinvar getwinvar has hasmapto histget hlID indent inputdialog inputsave isdirectory join libcall line2byte log maparg matchadd matchend max mkdir mzeval nr2char pow printf range reltime remote_expr remote_peek remote_send rename resolve round searchdecl searchpairpos server2client setbufvar setline setmatches setqflist settabvar setwinvar simplify sinh soundfold spellsuggest sqrt str2nr strdisplaywidth stridx strlen strridx strwidth substitute synID synIDtrans system tabpagenr tagfiles tan tempname toupper trunc undofile values visualmode wincol winline winrestcmd winsaveview writefile
|
||||
syn keyword vimFuncName contained add argidx atan browsedir bufloaded bufwinnr call char2nr col complete_check cos cscope_connection delete diff_hlID eval exists expr8 filereadable finddir floor fnamemodify foldlevel foreground get getchar getcmdpos getfontname getftime getloclist getpos getregtype getwinposx glob has_key histadd histnr hostname index inputlist inputsecret islocked keys libcallnr lispindent log10 mapcheck matcharg matchlist
|
||||
syn keyword vimFuncName contained add argidx atan browsedir bufloaded bufwinnr call char2nr col complete_check cos cscope_connection delete diff_hlID eval exists expr8 filereadable finddir floor fnamemodify foldlevel foreground get getchar getcmdpos getfontname getftime getloclist getpos getregtype getwinposx glob has_key histadd histnr hostname index inputlist inputsecret islocked keys libcallnr lispindent log10 mapcheck matcharg matchlist
|
||||
|
||||
"--- syntax above generated by mkvimvim ---
|
||||
" Special Vim Highlighting (not automatic) {{{1
|
||||
@@ -137,7 +137,7 @@ syn keyword vimFTOption contained detect indent off on plugin
|
||||
|
||||
" Augroup : vimAugroupError removed because long augroups caused sync'ing problems. {{{2
|
||||
" ======= : Trade-off: Increasing synclines with slower editing vs augroup END error checking.
|
||||
syn cluster vimAugroupList contains=vimIsCommand,vimFuncName,vimFunction,vimFunctionError,vimLineComment,vimSpecFile,vimOper,vimNumber,vimOperParen,vimComment,vimString,vimSubst,vimMark,vimRegister,vimAddress,vimFilter,vimCmplxRepeat,vimComment,vimLet,vimSet,vimAutoCmd,vimRegion,vimSynLine,vimNotation,vimCtrlChar,vimFuncVar,vimContinue
|
||||
syn cluster vimAugroupList contains=vimIsCommand,vimCommand,vimUserCmd,vimExecute,vimNotFunc,vimFuncName,vimFunction,vimFunctionError,vimLineComment,vimSpecFile,vimOper,vimNumber,vimOperParen,vimComment,vimString,vimSubst,vimMark,vimRegister,vimAddress,vimFilter,vimCmplxRepeat,vimComment,vimLet,vimSet,vimAutoCmd,vimRegion,vimSynLine,vimNotation,vimCtrlChar,vimFuncVar,vimContinue
|
||||
if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'a'
|
||||
syn region vimAugroup fold start="\<aug\%[roup]\>\s\+\K\k*" end="\<aug\%[roup]\>\s\+[eE][nN][dD]\>" contains=vimAugroupKey,vimAutoCmd,@vimAugroupList keepend
|
||||
else
|
||||
@@ -168,7 +168,7 @@ syn match vimFunction "\<fu\%[nction]!\=\s\+\%(<[sS][iI][dD]>\|[sSgGbBwWtTlL]:\)
|
||||
|
||||
if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'f'
|
||||
syn region vimFuncBody contained fold start="\ze(" matchgroup=vimCommand end="\<\(endf\>\|endfu\%[nction]\>\)" contains=@vimFuncBodyList
|
||||
else
|
||||
else
|
||||
syn region vimFuncBody contained start="\ze(" matchgroup=vimCommand end="\<\(endf\>\|endfu\%[nction]\>\)" contains=@vimFuncBodyList
|
||||
endif
|
||||
syn match vimFuncVar contained "a:\(\K\k*\|\d\+\)"
|
||||
@@ -283,7 +283,7 @@ syn match vimAddress ",\zs[.$]" skipwhite nextgroup=vimSubst1
|
||||
syn match vimAddress "%\ze\a" skipwhite nextgroup=vimString,vimSubst1
|
||||
|
||||
syn match vimFilter contained "^!.\{-}\(|\|$\)" contains=vimSpecFile
|
||||
syn match vimFilter contained "\A!.\{-}\(|\|$\)"ms=s+1 contains=vimSpecFile
|
||||
syn match vimFilter contained "\A!.\{-}\(|\|$\)"ms=s+1 contains=vimSpecFile,vimFunction,vimFuncName,vimOperParen
|
||||
|
||||
" Complex repeats (:h complex-repeat) {{{2
|
||||
syn match vimCmplxRepeat '[^a-zA-Z_/\\()]q[0-9a-zA-Z"]'lc=1
|
||||
@@ -395,6 +395,7 @@ syn match vimSynNextgroup contained "nextgroup=" nextgroup=vimGroupList
|
||||
|
||||
syn match vimSyntax "\<sy\%[ntax]\>" contains=vimCommand skipwhite nextgroup=vimSynType,vimComment
|
||||
syn match vimAuSyntax contained "\s+sy\%[ntax]" contains=vimCommand skipwhite nextgroup=vimSynType,vimComment
|
||||
syn cluster vimFuncBodyList add=vimSyntax
|
||||
|
||||
" Syntax: case {{{2
|
||||
syn keyword vimSynType contained case skipwhite nextgroup=vimSynCase,vimSynCaseError
|
||||
@@ -411,15 +412,18 @@ syn keyword vimSynType contained cluster skipwhite nextgroup=vimClusterName
|
||||
syn region vimClusterName contained matchgroup=vimGroupName start="\k\+" skip="\\\\\|\\|" matchgroup=vimSep end="$\||" contains=vimGroupAdd,vimGroupRem,vimSynContains,vimSynError
|
||||
syn match vimGroupAdd contained "add=" nextgroup=vimGroupList
|
||||
syn match vimGroupRem contained "remove=" nextgroup=vimGroupList
|
||||
syn cluster vimFuncBodyList add=vimSynType,vimGroupAdd,vimGroupRem
|
||||
|
||||
" Syntax: include {{{2
|
||||
syn keyword vimSynType contained include skipwhite nextgroup=vimGroupList
|
||||
syn cluster vimFuncBodyList add=vimSynType
|
||||
|
||||
" Syntax: keyword {{{2
|
||||
syn cluster vimSynKeyGroup contains=vimSynNextgroup,vimSynKeyOpt,vimSynKeyContainedin
|
||||
syn keyword vimSynType contained keyword skipwhite nextgroup=vimSynKeyRegion
|
||||
syn region vimSynKeyRegion contained oneline keepend matchgroup=vimGroupName start="\k\+" skip="\\\\\|\\|" matchgroup=vimSep end="|\|$" contains=@vimSynKeyGroup
|
||||
syn match vimSynKeyOpt contained "\<\(conceal\|contained\|transparent\|skipempty\|skipwhite\|skipnl\)\>"
|
||||
syn cluster vimFuncBodyList add=vimSynType
|
||||
|
||||
" Syntax: match {{{2
|
||||
syn cluster vimSynMtchGroup contains=vimMtchComment,vimSynContains,vimSynError,vimSynMtchOpt,vimSynNextgroup,vimSynRegPat,vimNotation
|
||||
@@ -430,6 +434,7 @@ if has("conceal")
|
||||
syn match vimSynMtchOpt contained "\<cchar=" nextgroup=VimSynMtchCchar
|
||||
syn match vimSynMtchCchar contained "\S"
|
||||
endif
|
||||
syn cluster vimFuncBodyList add=vimSynMtchGroup
|
||||
|
||||
" Syntax: off and on {{{2
|
||||
syn keyword vimSynType contained enable list manual off on reset
|
||||
@@ -450,6 +455,7 @@ syn match vimSynPatMod contained "lc=\d\+," nextgroup=vimSynPatMod
|
||||
syn region vimSynPatRange contained start="\[" skip="\\\\\|\\]" end="]"
|
||||
syn match vimSynNotPatRange contained "\\\\\|\\\["
|
||||
syn match vimMtchComment contained '"[^"]\+$'
|
||||
syn cluster vimFuncBodyList add=vimSynType
|
||||
|
||||
" Syntax: sync {{{2
|
||||
" ============
|
||||
@@ -477,7 +483,7 @@ syn match vimIsCommand "<Bar>\s*\a\+" transparent contains=vimCommand,vimNotatio
|
||||
syn cluster vimHighlightCluster contains=vimHiLink,vimHiClear,vimHiKeyList,vimComment
|
||||
syn match vimHighlight "\<hi\%[ghlight]\>" skipwhite nextgroup=vimHiBang,@vimHighlightCluster
|
||||
syn match vimHiBang contained "!" skipwhite nextgroup=@vimHighlightCluster
|
||||
|
||||
|
||||
syn match vimHiGroup contained "\i\+"
|
||||
syn case ignore
|
||||
syn keyword vimHiAttrib contained none bold inverse italic reverse standout underline undercurl
|
||||
@@ -515,7 +521,8 @@ syn match vimHiTermcap contained "\S\+" contains=vimNotation
|
||||
syn keyword vimHiClear contained clear nextgroup=vimHiGroup
|
||||
|
||||
" Highlight: link {{{2
|
||||
syn region vimHiLink contained oneline matchgroup=vimCommand start="\<\(def\s\+\)\=link\>\|\<def\>" end="$" contains=vimHiGroup,vimGroup,vimHLGroup,vimNotation
|
||||
syn region vimHiLink contained oneline matchgroup=vimCommand start="\<\(def\%[ault]\s\+\)\=link\>\|\<def\>" end="$" contains=vimHiGroup,vimGroup,vimHLGroup,vimNotation
|
||||
syn cluster vimFuncBodyList add=vimHiLink
|
||||
|
||||
" Control Characters {{{2
|
||||
" ==================
|
||||
|
||||
@@ -7,16 +7,6 @@
|
||||
"
|
||||
" Options: {{{1
|
||||
" g:yacc_uses_cpp : if this variable exists, then C++ is loaded rather than C
|
||||
"
|
||||
" Overall layout of a bison/yacc grammer:
|
||||
" %{
|
||||
" Prolog
|
||||
" %}
|
||||
" Bison/Yacc Declarations
|
||||
" %%
|
||||
" Grammar Rules
|
||||
" %%
|
||||
" Epilogue
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" this version of syntax/yacc.vim requires 6.0 or later
|
||||
|
||||
@@ -0,0 +1,77 @@
|
||||
# Project: gvimext
|
||||
# Generates gvimext.dll with gcc.
|
||||
# To be used with Cygwin.
|
||||
#
|
||||
# Originally, the DLL base address was fixed: -Wl,--image-base=0x1C000000
|
||||
# Now it is allocated dymanically by the linker by evaluating all DLLs
|
||||
# already loaded in memory. The binary image contains as well information
|
||||
# for automatic pseudo-rebasing, if needed by the system. ALV 2004-02-29
|
||||
|
||||
# If cross-compiling set this to yes, else set it to no
|
||||
CROSS = no
|
||||
#CROSS = yes
|
||||
# For the old MinGW 2.95 (the one you get e.g. with debian woody)
|
||||
# set the following variable to yes and check if the executables are
|
||||
# really named that way.
|
||||
# If you have a newer MinGW or you are using cygwin set it to no and
|
||||
# check also the executables
|
||||
MINGWOLD = no
|
||||
|
||||
# Link against the shared versions of libgcc/libstdc++ by default. Set
|
||||
# STATIC_STDCPLUS to "yes" to link against static versions instead.
|
||||
STATIC_STDCPLUS=no
|
||||
#STATIC_STDCPLUS=yes
|
||||
|
||||
# Note: -static-libstdc++ is not available until gcc 4.5.x.
|
||||
LDFLAGS += -shared
|
||||
ifeq (yes, $(STATIC_STDCPLUS))
|
||||
LDFLAGS += -static-libgcc -static-libstdc++
|
||||
endif
|
||||
|
||||
ifeq ($(CROSS),yes)
|
||||
DEL = rm
|
||||
ifeq ($(MINGWOLD),yes)
|
||||
CXXFLAGS := -O2 -mno-cygwin -fvtable-thunks
|
||||
else
|
||||
CXXFLAGS := -O2 -mno-cygwin
|
||||
endif
|
||||
else
|
||||
CXXFLAGS := -O2 -mno-cygwin
|
||||
ifneq (sh.exe, $(SHELL))
|
||||
DEL = rm
|
||||
else
|
||||
DEL = del
|
||||
endif
|
||||
endif
|
||||
CXX := $(CROSS_COMPILE)g++
|
||||
WINDRES := $(CROSS_COMPILE)windres
|
||||
WINDRES_CXX = $(CXX)
|
||||
WINDRES_FLAGS = --preprocessor="$(WINDRES_CXX) -E -xc" -DRC_INVOKED
|
||||
LIBS := -luuid
|
||||
RES := gvimext.res
|
||||
DEFFILE = gvimext_ming.def
|
||||
OBJ := gvimext.o
|
||||
|
||||
DLL := gvimext.dll
|
||||
|
||||
.PHONY: all all-before all-after clean clean-custom
|
||||
|
||||
all: all-before $(DLL) all-after
|
||||
|
||||
$(DLL): $(OBJ) $(RES) $(DEFFILE)
|
||||
$(CXX) $(LDFLAGS) $(CXXFLAGS) -s -o $@ \
|
||||
-Wl,--enable-auto-image-base \
|
||||
-Wl,--enable-auto-import \
|
||||
-Wl,--whole-archive \
|
||||
$^ \
|
||||
-Wl,--no-whole-archive \
|
||||
$(LIBS)
|
||||
|
||||
gvimext.o: gvimext.cpp
|
||||
$(CXX) $(CXXFLAGS) -DFEAT_GETTEXT -c $? -o $@
|
||||
|
||||
$(RES): gvimext_ming.rc
|
||||
$(WINDRES) $(WINDRES_FLAGS) --input-format=rc --output-format=coff -DMING $? -o $@
|
||||
|
||||
clean: clean-custom
|
||||
-$(DEL) $(OBJ) $(RES) $(DLL)
|
||||
@@ -1,6 +1,6 @@
|
||||
# Project: gvimext
|
||||
# Generates gvimext.dll with gcc.
|
||||
# Can be used for Cygwin and MingW (MingW ignores -mno-cygwin)
|
||||
# To be used with MingW.
|
||||
#
|
||||
# Originally, the DLL base address was fixed: -Wl,--image-base=0x1C000000
|
||||
# Now it is allocated dymanically by the linker by evaluating all DLLs
|
||||
@@ -31,12 +31,12 @@ endif
|
||||
ifeq ($(CROSS),yes)
|
||||
DEL = rm
|
||||
ifeq ($(MINGWOLD),yes)
|
||||
CXXFLAGS := -O2 -mno-cygwin -fvtable-thunks
|
||||
CXXFLAGS := -O2 -fvtable-thunks
|
||||
else
|
||||
CXXFLAGS := -O2 -mno-cygwin
|
||||
CXXFLAGS := -O2
|
||||
endif
|
||||
else
|
||||
CXXFLAGS := -O2 -mno-cygwin
|
||||
CXXFLAGS := -O2
|
||||
ifneq (sh.exe, $(SHELL))
|
||||
DEL = rm
|
||||
else
|
||||
@@ -75,4 +75,3 @@ $(RES): gvimext_ming.rc
|
||||
|
||||
clean: clean-custom
|
||||
-$(DEL) $(OBJ) $(RES) $(DLL)
|
||||
|
||||
|
||||
@@ -1232,7 +1232,7 @@
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>62</string>
|
||||
<string>63</string>
|
||||
<key>NSMainNibFile</key>
|
||||
<string>MainMenu</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
|
||||
@@ -227,13 +227,6 @@
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
0395AA980D76E86200881434 /* Edit in ODBEditor */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
);
|
||||
name = "Edit in ODBEditor";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
080E96DDFE201D6D7F000001 /* MacVim Source */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@@ -406,7 +399,6 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1D8B5A52104AF9FF002E59D5 /* Carbon.framework */,
|
||||
0395AA980D76E86200881434 /* Edit in ODBEditor */,
|
||||
1D493DB30C52533B00AB718C /* PSMTabBarControl.xcodeproj */,
|
||||
1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
|
||||
1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
|
||||
@@ -622,7 +614,7 @@
|
||||
buildSettings = {
|
||||
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 62;
|
||||
CURRENT_PROJECT_VERSION = 63;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
|
||||
@@ -633,6 +625,7 @@
|
||||
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
|
||||
GCC_MODEL_TUNING = G5;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_VERSION = "";
|
||||
GCC_WARN_PEDANTIC = NO;
|
||||
HEADER_SEARCH_PATHS = "";
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
@@ -652,7 +645,7 @@
|
||||
buildSettings = {
|
||||
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
|
||||
COPY_PHASE_STRIP = YES;
|
||||
CURRENT_PROJECT_VERSION = 62;
|
||||
CURRENT_PROJECT_VERSION = 63;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
|
||||
@@ -663,6 +656,7 @@
|
||||
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
||||
GCC_MODEL_TUNING = G5;
|
||||
GCC_OPTIMIZATION_LEVEL = s;
|
||||
GCC_VERSION = "";
|
||||
HEADER_SEARCH_PATHS = "";
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
INSTALL_PATH = "$(HOME)/Applications";
|
||||
|
||||
@@ -551,7 +551,7 @@
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h";
|
||||
GCC_VERSION = 4.2;
|
||||
GCC_VERSION = "";
|
||||
INFOPLIST_FILE = "PSMTabBarControlFramework-Info.plist";
|
||||
INSTALL_PATH = "@executable_path/../Frameworks";
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
@@ -573,7 +573,7 @@
|
||||
GCC_MODEL_TUNING = G5;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h";
|
||||
GCC_VERSION = 4.2;
|
||||
GCC_VERSION = "";
|
||||
INFOPLIST_FILE = "PSMTabBarControlFramework-Info.plist";
|
||||
INSTALL_PATH = "@executable_path/../Frameworks";
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
|
||||
+2
-2
@@ -536,7 +536,7 @@ xxd/xxd.exe: xxd/xxd.c
|
||||
$(MAKE) -C xxd -f Make_cyg.mak CC=$(CC) USEDLL=$(USEDLL)
|
||||
|
||||
GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
|
||||
$(MAKE) -C GvimExt -f Make_ming.mak CROSS_COMPILE=$(CROSS_COMPILE)
|
||||
$(MAKE) -C GvimExt -f Make_cyg.mak CROSS_COMPILE=$(CROSS_COMPILE)
|
||||
|
||||
vimrun.exe: vimrun.c
|
||||
$(CC) $(CFLAGS) -o vimrun.exe vimrun.c $(LIBS)
|
||||
@@ -565,7 +565,7 @@ ifdef MZSCHEME
|
||||
endif
|
||||
-$(DEL) pathdef.c
|
||||
$(MAKE) -C xxd -f Make_cyg.mak clean
|
||||
$(MAKE) -C GvimExt -f Make_ming.mak clean
|
||||
$(MAKE) -C GvimExt -f Make_cyg.mak clean
|
||||
|
||||
distclean: clean
|
||||
-$(DEL) obj$(DIRSLASH)*.o
|
||||
|
||||
+5
-5
@@ -108,10 +108,10 @@ endif
|
||||
# on NT, it's here:
|
||||
PERLLIB=$(PERL)/lib
|
||||
PERLLIBS=$(PERLLIB)/Core
|
||||
XSUBPP=$(PERLLIB)/ExtUtils/xsubpp
|
||||
XSUBPP_EXISTS=$(shell perl -e "print 1 unless -e '$(XSUBPP)'")
|
||||
XSUBPPTRY=$(PERLLIB)/ExtUtils/xsubpp
|
||||
XSUBPP_EXISTS=$(shell perl -e "print 1 unless -e '$(XSUBPPTRY)'")
|
||||
ifeq "$(XSUBPP_EXISTS)" ""
|
||||
XSUBPP=perl $(XSUBPP)
|
||||
XSUBPP=perl $(XSUBPPTRY)
|
||||
else
|
||||
XSUBPP=xsubpp
|
||||
endif
|
||||
@@ -641,7 +641,7 @@ upx: exes
|
||||
upx vim.exe
|
||||
|
||||
xxd/xxd.exe: xxd/xxd.c
|
||||
$(MAKE) -C xxd -f Make_cyg.mak CC=$(CC)
|
||||
$(MAKE) -C xxd -f Make_ming.mak CC=$(CC)
|
||||
|
||||
GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
|
||||
$(MAKE) -C GvimExt -f Make_ming.mak CROSS=$(CROSS) CROSS_COMPILE=$(CROSS_COMPILE)
|
||||
@@ -659,7 +659,7 @@ ifdef MZSCHEME
|
||||
-$(DEL) mzscheme_base.c
|
||||
endif
|
||||
$(MAKE) -C GvimExt -f Make_ming.mak clean
|
||||
$(MAKE) -C xxd -f Make_cyg.mak clean
|
||||
$(MAKE) -C xxd -f Make_ming.mak clean
|
||||
|
||||
###########################################################################
|
||||
INCL = vim.h feature.h os_win32.h os_dos.h ascii.h keymap.h term.h macros.h \
|
||||
|
||||
+8
-2
@@ -2344,6 +2344,7 @@ shadow: runtime pixmaps
|
||||
../../testdir/vimrc.unix \
|
||||
../../testdir/*.in \
|
||||
../../testdir/*.vim \
|
||||
../../testdir/test83-tags? \
|
||||
../../testdir/*.ok .
|
||||
|
||||
# Link needed for doing "make install" in a shadow directory.
|
||||
@@ -2414,8 +2415,13 @@ lintinstall:
|
||||
|
||||
auto/if_perl.c: if_perl.xs
|
||||
$(PERL) -e 'unless ( $$] >= 5.005 ) { for (qw(na defgv errgv)) { print "#define PL_$$_ $$_\n" }}' > $@
|
||||
$(PERL) $(PERLLIB)/ExtUtils/xsubpp -prototypes -typemap \
|
||||
$(PERLLIB)/ExtUtils/typemap if_perl.xs >> $@
|
||||
-@if test -e $(PERLSITELIB)/ExtUtils/xsubpp; then \
|
||||
$(PERL) $(PERLSITELIB)/ExtUtils/xsubpp -prototypes -typemap \
|
||||
$(PERLLIB)/ExtUtils/typemap if_perl.xs >> $@; \
|
||||
else \
|
||||
$(PERL) $(PERLLIB)/ExtUtils/xsubpp -prototypes -typemap \
|
||||
$(PERLLIB)/ExtUtils/typemap if_perl.xs >> $@; \
|
||||
fi
|
||||
|
||||
auto/osdef.h: auto/config.h osdef.sh osdef1.h.in osdef2.h.in
|
||||
CC="$(CC) $(OSDEF_CFLAGS)" srcdir=$(srcdir) sh $(srcdir)/osdef.sh
|
||||
|
||||
Vendored
+6
-2
@@ -691,6 +691,7 @@ MZSCHEME_EXTRA
|
||||
MZSCHEME_MZC
|
||||
vi_cv_path_perl
|
||||
vi_cv_perllib
|
||||
vi_cv_perlsitelib
|
||||
shrpenv
|
||||
PERL_SRC
|
||||
PERL_OBJ
|
||||
@@ -5161,6 +5162,8 @@ echo "${ECHO_T}OK" >&6; }
|
||||
shrpenv=""
|
||||
fi
|
||||
vi_cv_perllib=`$vi_cv_path_perl -MConfig -e 'print $Config{privlibexp}'`
|
||||
vi_cv_perlsitelib=`$vi_cv_path_perl -MConfig -e 'print $Config{sitelibexp}'`
|
||||
|
||||
|
||||
perlcppflags=`$vi_cv_path_perl -Mlib=$srcdir -MExtUtils::Embed \
|
||||
-e 'ccflags;perl_inc;print"\n"' | sed -e 's/-fno[^ ]*//'`
|
||||
@@ -20157,6 +20160,7 @@ MZSCHEME_EXTRA!$MZSCHEME_EXTRA$ac_delim
|
||||
MZSCHEME_MZC!$MZSCHEME_MZC$ac_delim
|
||||
vi_cv_path_perl!$vi_cv_path_perl$ac_delim
|
||||
vi_cv_perllib!$vi_cv_perllib$ac_delim
|
||||
vi_cv_perlsitelib!$vi_cv_perlsitelib$ac_delim
|
||||
shrpenv!$shrpenv$ac_delim
|
||||
PERL_SRC!$PERL_SRC$ac_delim
|
||||
PERL_OBJ!$PERL_OBJ$ac_delim
|
||||
@@ -20175,7 +20179,6 @@ PYTHON3_CONFDIR!$PYTHON3_CONFDIR$ac_delim
|
||||
PYTHON3_LIBS!$PYTHON3_LIBS$ac_delim
|
||||
PYTHON3_CFLAGS!$PYTHON3_CFLAGS$ac_delim
|
||||
PYTHON3_SRC!$PYTHON3_SRC$ac_delim
|
||||
PYTHON3_OBJ!$PYTHON3_OBJ$ac_delim
|
||||
_ACEOF
|
||||
|
||||
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
|
||||
@@ -20217,6 +20220,7 @@ _ACEOF
|
||||
ac_delim='%!_!# '
|
||||
for ac_last_try in false false false false false :; do
|
||||
cat >conf$$subs.sed <<_ACEOF
|
||||
PYTHON3_OBJ!$PYTHON3_OBJ$ac_delim
|
||||
vi_cv_path_tcl!$vi_cv_path_tcl$ac_delim
|
||||
TCL_SRC!$TCL_SRC$ac_delim
|
||||
TCL_OBJ!$TCL_OBJ$ac_delim
|
||||
@@ -20269,7 +20273,7 @@ LIBOBJS!$LIBOBJS$ac_delim
|
||||
LTLIBOBJS!$LTLIBOBJS$ac_delim
|
||||
_ACEOF
|
||||
|
||||
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 50; then
|
||||
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 51; then
|
||||
break
|
||||
elif $ac_last_try; then
|
||||
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
|
||||
|
||||
@@ -54,6 +54,7 @@ MZSCHEME_MZC = @MZSCHEME_MZC@
|
||||
|
||||
PERL = @vi_cv_path_perl@
|
||||
PERLLIB = @vi_cv_perllib@
|
||||
PERLSITELIB = @vi_cv_perlsitelib@
|
||||
PERL_LIBS = @PERL_LIBS@
|
||||
SHRPENV = @shrpenv@
|
||||
PERL_SRC = @PERL_SRC@
|
||||
|
||||
Vendored
+39
-11
@@ -691,6 +691,7 @@ MZSCHEME_EXTRA
|
||||
MZSCHEME_MZC
|
||||
vi_cv_path_perl
|
||||
vi_cv_perllib
|
||||
vi_cv_perlsitelib
|
||||
shrpenv
|
||||
PERL_SRC
|
||||
PERL_OBJ
|
||||
@@ -5161,6 +5162,8 @@ echo "${ECHO_T}OK" >&6; }
|
||||
shrpenv=""
|
||||
fi
|
||||
vi_cv_perllib=`$vi_cv_path_perl -MConfig -e 'print $Config{privlibexp}'`
|
||||
vi_cv_perlsitelib=`$vi_cv_path_perl -MConfig -e 'print $Config{sitelibexp}'`
|
||||
|
||||
|
||||
perlcppflags=`$vi_cv_path_perl -Mlib=$srcdir -MExtUtils::Embed \
|
||||
-e 'ccflags;perl_inc;print"\n"' | sed -e 's/-fno[^ ]*//'`
|
||||
@@ -5708,6 +5711,23 @@ fi
|
||||
{ echo "$as_me:$LINENO: result: $vi_cv_var_python3_version" >&5
|
||||
echo "${ECHO_T}$vi_cv_var_python3_version" >&6; }
|
||||
|
||||
{ echo "$as_me:$LINENO: checking Python's abiflags" >&5
|
||||
echo $ECHO_N "checking Python's abiflags... $ECHO_C" >&6; }
|
||||
if test "${vi_cv_var_python3_abiflags+set}" = set; then
|
||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||
else
|
||||
|
||||
vi_cv_var_python3_abiflags=
|
||||
if ${vi_cv_path_python3} -c \
|
||||
"import sys; sys.exit(${vi_cv_var_python3_version} < 3.2)"
|
||||
then
|
||||
vi_cv_var_python3_abiflags=`${vi_cv_path_python3} -c \
|
||||
"import sys; print(sys.abiflags)"`
|
||||
fi
|
||||
fi
|
||||
{ echo "$as_me:$LINENO: result: $vi_cv_var_python3_abiflags" >&5
|
||||
echo "${ECHO_T}$vi_cv_var_python3_abiflags" >&6; }
|
||||
|
||||
{ echo "$as_me:$LINENO: checking Python's install prefix" >&5
|
||||
echo $ECHO_N "checking Python's install prefix... $ECHO_C" >&6; }
|
||||
if test "${vi_cv_path_python3_pfx+set}" = set; then
|
||||
@@ -5758,9 +5778,13 @@ if test "${vi_cv_path_python3_conf+set}" = set; then
|
||||
else
|
||||
|
||||
vi_cv_path_python3_conf=
|
||||
config_dir="config"
|
||||
if test "${vi_cv_var_python3_abiflags}" != ""; then
|
||||
config_dir="${config_dir}-${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags}"
|
||||
fi
|
||||
for path in "${vi_cv_path_python3_pfx}" "${vi_cv_path_python3_epfx}"; do
|
||||
for subdir in lib64 lib share; do
|
||||
d="${path}/${subdir}/python${vi_cv_var_python3_version}/config"
|
||||
d="${path}/${subdir}/python${vi_cv_var_python3_version}/${config_dir}"
|
||||
if test -d "$d" && test -f "$d/config.c"; then
|
||||
vi_cv_path_python3_conf="$d"
|
||||
fi
|
||||
@@ -5789,13 +5813,12 @@ __:
|
||||
@echo "python3_BASEMODLIBS='$(BASEMODLIBS)'"
|
||||
@echo "python3_LIBS='$(LIBS)'"
|
||||
@echo "python3_SYSLIBS='$(SYSLIBS)'"
|
||||
@echo "python3_LINKFORSHARED='$(LINKFORSHARED)'"
|
||||
@echo "python3_INSTSONAME='$(INSTSONAME)'"
|
||||
eof
|
||||
eval "`cd ${PYTHON3_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`"
|
||||
rm -f -- "${tmp_mkf}"
|
||||
vi_cv_path_python3_plibs="-L${PYTHON3_CONFDIR} -lpython${vi_cv_var_python3_version}"
|
||||
vi_cv_path_python3_plibs="${vi_cv_path_python3_plibs} ${python3_BASEMODLIBS} ${python3_LIBS} ${python3_SYSLIBS} ${python3_LINKFORSHARED}"
|
||||
vi_cv_path_python3_plibs="-L${PYTHON3_CONFDIR} -lpython${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags}"
|
||||
vi_cv_path_python3_plibs="${vi_cv_path_python3_plibs} ${python3_BASEMODLIBS} ${python3_LIBS} ${python3_SYSLIBS}"
|
||||
vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-ltermcap//`
|
||||
vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-lffi//`
|
||||
|
||||
@@ -5804,9 +5827,9 @@ fi
|
||||
|
||||
PYTHON3_LIBS="${vi_cv_path_python3_plibs}"
|
||||
if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then
|
||||
PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
|
||||
PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
|
||||
else
|
||||
PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
|
||||
PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
|
||||
fi
|
||||
PYTHON3_SRC="if_python3.c"
|
||||
if test "x$MACOSX" = "xyes"; then
|
||||
@@ -5972,7 +5995,7 @@ echo $ECHO_N "checking whether we can do without RTLD_GLOBAL for Python... $ECHO
|
||||
cflags_save=$CFLAGS
|
||||
CFLAGS="$CFLAGS $PYTHON_CFLAGS"
|
||||
ldflags_save=$LDFLAGS
|
||||
LDFLAGS="$LDFLAGS -ldl"
|
||||
LDFLAGS="-ldl $LDFLAGS"
|
||||
if test "$cross_compiling" = yes; then
|
||||
{ { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
|
||||
See \`config.log' for more details." >&5
|
||||
@@ -6063,7 +6086,7 @@ echo $ECHO_N "checking whether we can do without RTLD_GLOBAL for Python3... $ECH
|
||||
cflags_save=$CFLAGS
|
||||
CFLAGS="$CFLAGS $PYTHON3_CFLAGS"
|
||||
ldflags_save=$LDFLAGS
|
||||
LDFLAGS="$LDFLAGS -ldl"
|
||||
LDFLAGS="-ldl $LDFLAGS"
|
||||
if test "$cross_compiling" = yes; then
|
||||
{ { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
|
||||
See \`config.log' for more details." >&5
|
||||
@@ -18257,6 +18280,10 @@ echo $ECHO_N "checking how to create tags... $ECHO_C" >&6; }
|
||||
test -f tags && mv tags tags.save
|
||||
if (eval ctags --version /dev/null | grep Exuberant) < /dev/null 1>&5 2>&1; then
|
||||
TAGPRG="ctags -I INIT+ --fields=+S"
|
||||
elif (eval exctags --version /dev/null | grep Exuberant) < /dev/null 1>&5 2>&1; then
|
||||
TAGPRG="exctags -I INIT+ --fields=+S"
|
||||
elif (eval exuberant-ctags --version /dev/null | grep Exuberant) < /dev/null 1>&5 2>&1; then
|
||||
TAGPRG="exuberant-ctags -I INIT+ --fields=+S"
|
||||
else
|
||||
TAGPRG="ctags"
|
||||
(eval etags /dev/null) < /dev/null 1>&5 2>&1 && TAGPRG="etags"
|
||||
@@ -20133,6 +20160,7 @@ MZSCHEME_EXTRA!$MZSCHEME_EXTRA$ac_delim
|
||||
MZSCHEME_MZC!$MZSCHEME_MZC$ac_delim
|
||||
vi_cv_path_perl!$vi_cv_path_perl$ac_delim
|
||||
vi_cv_perllib!$vi_cv_perllib$ac_delim
|
||||
vi_cv_perlsitelib!$vi_cv_perlsitelib$ac_delim
|
||||
shrpenv!$shrpenv$ac_delim
|
||||
PERL_SRC!$PERL_SRC$ac_delim
|
||||
PERL_OBJ!$PERL_OBJ$ac_delim
|
||||
@@ -20151,7 +20179,6 @@ PYTHON3_CONFDIR!$PYTHON3_CONFDIR$ac_delim
|
||||
PYTHON3_LIBS!$PYTHON3_LIBS$ac_delim
|
||||
PYTHON3_CFLAGS!$PYTHON3_CFLAGS$ac_delim
|
||||
PYTHON3_SRC!$PYTHON3_SRC$ac_delim
|
||||
PYTHON3_OBJ!$PYTHON3_OBJ$ac_delim
|
||||
_ACEOF
|
||||
|
||||
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
|
||||
@@ -20193,6 +20220,7 @@ _ACEOF
|
||||
ac_delim='%!_!# '
|
||||
for ac_last_try in false false false false false :; do
|
||||
cat >conf$$subs.sed <<_ACEOF
|
||||
PYTHON3_OBJ!$PYTHON3_OBJ$ac_delim
|
||||
vi_cv_path_tcl!$vi_cv_path_tcl$ac_delim
|
||||
TCL_SRC!$TCL_SRC$ac_delim
|
||||
TCL_OBJ!$TCL_OBJ$ac_delim
|
||||
@@ -20245,7 +20273,7 @@ LIBOBJS!$LIBOBJS$ac_delim
|
||||
LTLIBOBJS!$LTLIBOBJS$ac_delim
|
||||
_ACEOF
|
||||
|
||||
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 50; then
|
||||
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 51; then
|
||||
break
|
||||
elif $ac_last_try; then
|
||||
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
|
||||
@@ -20601,7 +20629,7 @@ do
|
||||
cat >>$CONFIG_STATUS <<_ACEOF
|
||||
# First, check the format of the line:
|
||||
cat >"\$tmp/defines.sed" <<\\CEOF
|
||||
/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def
|
||||
/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*/b def
|
||||
/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def
|
||||
b
|
||||
:def
|
||||
|
||||
@@ -715,7 +715,9 @@ if test "$enable_perlinterp" = "yes" -o "$enable_perlinterp" = "dynamic"; then
|
||||
shrpenv=""
|
||||
fi
|
||||
vi_cv_perllib=`$vi_cv_path_perl -MConfig -e 'print $Config{privlibexp}'`
|
||||
vi_cv_perlsitelib=`$vi_cv_path_perl -MConfig -e 'print $Config{sitelibexp}'`
|
||||
AC_SUBST(vi_cv_perllib)
|
||||
AC_SUBST(vi_cv_perlsitelib)
|
||||
dnl Remove "-fno-something", it breaks using cproto.
|
||||
perlcppflags=`$vi_cv_path_perl -Mlib=$srcdir -MExtUtils::Embed \
|
||||
-e 'ccflags;perl_inc;print"\n"' | sed -e 's/-fno[[^ ]]*//'`
|
||||
|
||||
+46
-21
@@ -163,6 +163,7 @@ static void ins_compl_restart __ARGS((void));
|
||||
static void ins_compl_set_original_text __ARGS((char_u *str));
|
||||
static void ins_compl_addfrommatch __ARGS((void));
|
||||
static int ins_compl_prep __ARGS((int c));
|
||||
static void ins_compl_fixRedoBufForLeader __ARGS((char_u *ptr_arg));
|
||||
static buf_T *ins_compl_next_buf __ARGS((buf_T *buf, int flag));
|
||||
#if defined(FEAT_COMPL_FUNC) || defined(FEAT_EVAL)
|
||||
static void ins_compl_add_list __ARGS((list_T *list));
|
||||
@@ -3728,9 +3729,6 @@ ins_compl_prep(c)
|
||||
* memory that was used, and make sure we can redo the insert. */
|
||||
if (compl_curr_match != NULL || compl_leader != NULL || c == Ctrl_E)
|
||||
{
|
||||
char_u *p;
|
||||
int temp = 0;
|
||||
|
||||
/*
|
||||
* If any of the original typed text has been changed, eg when
|
||||
* ignorecase is set, we must add back-spaces to the redo
|
||||
@@ -3741,25 +3739,9 @@ ins_compl_prep(c)
|
||||
*/
|
||||
if (compl_curr_match != NULL && compl_used_match && c != Ctrl_E)
|
||||
ptr = compl_curr_match->cp_str;
|
||||
else if (compl_leader != NULL)
|
||||
ptr = compl_leader;
|
||||
else
|
||||
ptr = compl_orig_text;
|
||||
if (compl_orig_text != NULL)
|
||||
{
|
||||
p = compl_orig_text;
|
||||
for (temp = 0; p[temp] != NUL && p[temp] == ptr[temp];
|
||||
++temp)
|
||||
;
|
||||
#ifdef FEAT_MBYTE
|
||||
if (temp > 0)
|
||||
temp -= (*mb_head_off)(compl_orig_text, p + temp);
|
||||
#endif
|
||||
for (p += temp; *p != NUL; mb_ptr_adv(p))
|
||||
AppendCharToRedobuff(K_BS);
|
||||
}
|
||||
if (ptr != NULL)
|
||||
AppendToRedobuffLit(ptr + temp, -1);
|
||||
ptr = NULL;
|
||||
ins_compl_fixRedoBufForLeader(ptr);
|
||||
}
|
||||
|
||||
#ifdef FEAT_CINDENT
|
||||
@@ -3848,6 +3830,44 @@ ins_compl_prep(c)
|
||||
return retval;
|
||||
}
|
||||
|
||||
/*
|
||||
* Fix the redo buffer for the completion leader replacing some of the typed
|
||||
* text. This inserts backspaces and appends the changed text.
|
||||
* "ptr" is the known leader text or NUL.
|
||||
*/
|
||||
static void
|
||||
ins_compl_fixRedoBufForLeader(ptr_arg)
|
||||
char_u *ptr_arg;
|
||||
{
|
||||
int len;
|
||||
char_u *p;
|
||||
char_u *ptr = ptr_arg;
|
||||
|
||||
if (ptr == NULL)
|
||||
{
|
||||
if (compl_leader != NULL)
|
||||
ptr = compl_leader;
|
||||
else
|
||||
return; /* nothing to do */
|
||||
}
|
||||
if (compl_orig_text != NULL)
|
||||
{
|
||||
p = compl_orig_text;
|
||||
for (len = 0; p[len] != NUL && p[len] == ptr[len]; ++len)
|
||||
;
|
||||
#ifdef FEAT_MBYTE
|
||||
if (len > 0)
|
||||
len -= (*mb_head_off)(p, p + len);
|
||||
#endif
|
||||
for (p += len; *p != NUL; mb_ptr_adv(p))
|
||||
AppendCharToRedobuff(K_BS);
|
||||
}
|
||||
else
|
||||
len = 0;
|
||||
if (ptr != NULL)
|
||||
AppendToRedobuffLit(ptr + len, -1);
|
||||
}
|
||||
|
||||
/*
|
||||
* Loops through the list of windows, loaded-buffers or non-loaded-buffers
|
||||
* (depending on flag) starting from buf and looking for a non-scanned
|
||||
@@ -5256,6 +5276,10 @@ ins_complete(c)
|
||||
else
|
||||
edit_submode = (char_u *)_(CTRL_X_MSG(ctrl_x_mode));
|
||||
|
||||
/* If any of the original typed text has been changed we need to fix
|
||||
* the redo buffer. */
|
||||
ins_compl_fixRedoBufForLeader(NULL);
|
||||
|
||||
/* Always add completion for the original text. */
|
||||
vim_free(compl_orig_text);
|
||||
compl_orig_text = vim_strnsave(line + compl_col, compl_length);
|
||||
@@ -6069,6 +6093,7 @@ internal_format(textwidth, second_indent, flags, format_only, c)
|
||||
* Stop at first entered white when 'formatoptions' has 'v'
|
||||
*/
|
||||
while ((!fo_ins_blank && !has_format_option(FO_INS_VI))
|
||||
|| (flags & INSCHAR_FORMAT)
|
||||
|| curwin->w_cursor.lnum != Insstart.lnum
|
||||
|| curwin->w_cursor.col >= Insstart.col)
|
||||
{
|
||||
|
||||
+16
-1
@@ -3377,7 +3377,10 @@ ex_call(eap)
|
||||
/* trans_function_name() doesn't work well when skipping, use eval0()
|
||||
* instead to skip to any following command, e.g. for:
|
||||
* :if 0 | call dict.foo().bar() | endif */
|
||||
eval0(eap->arg, &rettv, &eap->nextcmd, FALSE);
|
||||
++emsg_skip;
|
||||
if (eval0(eap->arg, &rettv, &eap->nextcmd, FALSE) != FAIL)
|
||||
clear_tv(&rettv);
|
||||
--emsg_skip;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -20489,6 +20492,7 @@ ex_function(eap)
|
||||
exarg_T *eap;
|
||||
{
|
||||
char_u *theline;
|
||||
int i;
|
||||
int j;
|
||||
int c;
|
||||
int saved_did_emsg;
|
||||
@@ -20735,6 +20739,15 @@ ex_function(eap)
|
||||
arg = vim_strsave(arg);
|
||||
if (arg == NULL)
|
||||
goto erret;
|
||||
|
||||
/* Check for duplicate argument name. */
|
||||
for (i = 0; i < newargs.ga_len; ++i)
|
||||
if (STRCMP(((char_u **)(newargs.ga_data))[i], arg) == 0)
|
||||
{
|
||||
EMSG2(_("E853: Duplicate argument name: %s"), arg);
|
||||
goto erret;
|
||||
}
|
||||
|
||||
((char_u **)(newargs.ga_data))[newargs.ga_len] = arg;
|
||||
*p = c;
|
||||
newargs.ga_len++;
|
||||
@@ -20914,6 +20927,8 @@ ex_function(eap)
|
||||
&& (!ASCII_ISALPHA(p[2]) || p[2] == 'r'))
|
||||
|| (p[0] == 't' && p[1] == 'c'
|
||||
&& (!ASCII_ISALPHA(p[2]) || p[2] == 'l'))
|
||||
|| (p[0] == 'l' && p[1] == 'u' && p[2] == 'a'
|
||||
&& !ASCII_ISALPHA(p[3]))
|
||||
|| (p[0] == 'r' && p[1] == 'u' && p[2] == 'b'
|
||||
&& (!ASCII_ISALPHA(p[3]) || p[3] == 'y'))
|
||||
|| (p[0] == 'm' && p[1] == 'z'
|
||||
|
||||
+173
-100
@@ -5508,6 +5508,9 @@ ex_help(eap)
|
||||
int len;
|
||||
char_u *lang;
|
||||
#endif
|
||||
#ifdef FEAT_FOLDING
|
||||
int old_KeyTyped = KeyTyped;
|
||||
#endif
|
||||
|
||||
if (eap != NULL)
|
||||
{
|
||||
@@ -5671,6 +5674,12 @@ ex_help(eap)
|
||||
if (!p_im)
|
||||
restart_edit = 0; /* don't want insert mode in help file */
|
||||
|
||||
#ifdef FEAT_FOLDING
|
||||
/* Restore KeyTyped, setting 'filetype=help' may reset it.
|
||||
* It is needed for do_tag top open folds under the cursor. */
|
||||
KeyTyped = old_KeyTyped;
|
||||
#endif
|
||||
|
||||
if (tag != NULL)
|
||||
do_tag(tag, DT_HELP, 1, FALSE, TRUE);
|
||||
|
||||
@@ -5973,6 +5982,7 @@ fix_help_buffer()
|
||||
char_u *line;
|
||||
int in_example = FALSE;
|
||||
int len;
|
||||
char_u *fname;
|
||||
char_u *p;
|
||||
char_u *rt;
|
||||
int mustfree;
|
||||
@@ -6019,124 +6029,187 @@ fix_help_buffer()
|
||||
}
|
||||
|
||||
/*
|
||||
* In the "help.txt" file, add the locally added help files.
|
||||
* This uses the very first line in the help file.
|
||||
* In the "help.txt" and "help.abx" file, add the locally added help
|
||||
* files. This uses the very first line in the help file.
|
||||
*/
|
||||
if (fnamecmp(gettail(curbuf->b_fname), "help.txt") == 0)
|
||||
fname = gettail(curbuf->b_fname);
|
||||
if (fnamecmp(fname, "help.txt") == 0
|
||||
#ifdef FEAT_MULTI_LANG
|
||||
|| (fnamencmp(fname, "help.", 5) == 0
|
||||
&& ASCII_ISALPHA(fname[5])
|
||||
&& ASCII_ISALPHA(fname[6])
|
||||
&& TOLOWER_ASC(fname[7]) == 'x'
|
||||
&& fname[8] == NUL)
|
||||
#endif
|
||||
)
|
||||
{
|
||||
for (lnum = 1; lnum < curbuf->b_ml.ml_line_count; ++lnum)
|
||||
{
|
||||
line = ml_get_buf(curbuf, lnum, FALSE);
|
||||
if (strstr((char *)line, "*local-additions*") != NULL)
|
||||
if (strstr((char *)line, "*local-additions*") == NULL)
|
||||
continue;
|
||||
|
||||
/* Go through all directories in 'runtimepath', skipping
|
||||
* $VIMRUNTIME. */
|
||||
p = p_rtp;
|
||||
while (*p != NUL)
|
||||
{
|
||||
/* Go through all directories in 'runtimepath', skipping
|
||||
* $VIMRUNTIME. */
|
||||
p = p_rtp;
|
||||
while (*p != NUL)
|
||||
copy_option_part(&p, NameBuff, MAXPATHL, ",");
|
||||
mustfree = FALSE;
|
||||
rt = vim_getenv((char_u *)"VIMRUNTIME", &mustfree);
|
||||
if (fullpathcmp(rt, NameBuff, FALSE) != FPC_SAME)
|
||||
{
|
||||
copy_option_part(&p, NameBuff, MAXPATHL, ",");
|
||||
mustfree = FALSE;
|
||||
rt = vim_getenv((char_u *)"VIMRUNTIME", &mustfree);
|
||||
if (fullpathcmp(rt, NameBuff, FALSE) != FPC_SAME)
|
||||
{
|
||||
int fcount;
|
||||
char_u **fnames;
|
||||
FILE *fd;
|
||||
char_u *s;
|
||||
int fi;
|
||||
int fcount;
|
||||
char_u **fnames;
|
||||
FILE *fd;
|
||||
char_u *s;
|
||||
int fi;
|
||||
#ifdef FEAT_MBYTE
|
||||
vimconv_T vc;
|
||||
char_u *cp;
|
||||
vimconv_T vc;
|
||||
char_u *cp;
|
||||
#endif
|
||||
|
||||
/* Find all "doc/ *.txt" files in this directory. */
|
||||
add_pathsep(NameBuff);
|
||||
STRCAT(NameBuff, "doc/*.txt");
|
||||
if (gen_expand_wildcards(1, &NameBuff, &fcount,
|
||||
&fnames, EW_FILE|EW_SILENT) == OK
|
||||
&& fcount > 0)
|
||||
{
|
||||
for (fi = 0; fi < fcount; ++fi)
|
||||
{
|
||||
fd = mch_fopen((char *)fnames[fi], "r");
|
||||
if (fd != NULL)
|
||||
{
|
||||
vim_fgets(IObuff, IOSIZE, fd);
|
||||
if (IObuff[0] == '*'
|
||||
&& (s = vim_strchr(IObuff + 1, '*'))
|
||||
!= NULL)
|
||||
{
|
||||
#ifdef FEAT_MBYTE
|
||||
int this_utf = MAYBE;
|
||||
#endif
|
||||
/* Change tag definition to a
|
||||
* reference and remove <CR>/<NL>. */
|
||||
IObuff[0] = '|';
|
||||
*s = '|';
|
||||
while (*s != NUL)
|
||||
{
|
||||
if (*s == '\r' || *s == '\n')
|
||||
*s = NUL;
|
||||
#ifdef FEAT_MBYTE
|
||||
/* The text is utf-8 when a byte
|
||||
* above 127 is found and no
|
||||
* illegal byte sequence is found.
|
||||
*/
|
||||
if (*s >= 0x80 && this_utf != FALSE)
|
||||
{
|
||||
int l;
|
||||
|
||||
this_utf = TRUE;
|
||||
l = utf_ptr2len(s);
|
||||
if (l == 1)
|
||||
this_utf = FALSE;
|
||||
s += l - 1;
|
||||
}
|
||||
#endif
|
||||
++s;
|
||||
}
|
||||
#ifdef FEAT_MBYTE
|
||||
/* The help file is latin1 or utf-8;
|
||||
* conversion to the current
|
||||
* 'encoding' may be required. */
|
||||
vc.vc_type = CONV_NONE;
|
||||
convert_setup(&vc, (char_u *)(
|
||||
this_utf == TRUE ? "utf-8"
|
||||
: "latin1"), p_enc);
|
||||
if (vc.vc_type == CONV_NONE)
|
||||
/* No conversion needed. */
|
||||
cp = IObuff;
|
||||
else
|
||||
{
|
||||
/* Do the conversion. If it fails
|
||||
* use the unconverted text. */
|
||||
cp = string_convert(&vc, IObuff,
|
||||
NULL);
|
||||
if (cp == NULL)
|
||||
cp = IObuff;
|
||||
}
|
||||
convert_setup(&vc, NULL, NULL);
|
||||
|
||||
ml_append(lnum, cp, (colnr_T)0, FALSE);
|
||||
if (cp != IObuff)
|
||||
vim_free(cp);
|
||||
/* Find all "doc/ *.txt" files in this directory. */
|
||||
add_pathsep(NameBuff);
|
||||
#ifdef FEAT_MULTI_LANG
|
||||
STRCAT(NameBuff, "doc/*.??[tx]");
|
||||
#else
|
||||
ml_append(lnum, IObuff, (colnr_T)0,
|
||||
FALSE);
|
||||
STRCAT(NameBuff, "doc/*.txt");
|
||||
#endif
|
||||
++lnum;
|
||||
}
|
||||
fclose(fd);
|
||||
if (gen_expand_wildcards(1, &NameBuff, &fcount,
|
||||
&fnames, EW_FILE|EW_SILENT) == OK
|
||||
&& fcount > 0)
|
||||
{
|
||||
#ifdef FEAT_MULTI_LANG
|
||||
int i1;
|
||||
int i2;
|
||||
char_u *f1;
|
||||
char_u *f2;
|
||||
char_u *t1;
|
||||
char_u *e1;
|
||||
char_u *e2;
|
||||
|
||||
/* If foo.abx is found use it instead of foo.txt in
|
||||
* the same directory. */
|
||||
for (i1 = 0; i1 < fcount; ++i1)
|
||||
{
|
||||
for (i2 = 0; i2 < fcount; ++i2)
|
||||
{
|
||||
if (i1 == i2)
|
||||
continue;
|
||||
if (fnames[i1] == NULL || fnames[i2] == NULL)
|
||||
continue;
|
||||
f1 = fnames[i1];
|
||||
f2 = fnames[i2];
|
||||
t1 = gettail(f1);
|
||||
if (fnamencmp(f1, f2, t1 - f1) != 0)
|
||||
continue;
|
||||
e1 = vim_strrchr(t1, '.');
|
||||
e2 = vim_strrchr(gettail(f2), '.');
|
||||
if (e1 == NUL || e2 == NUL)
|
||||
continue;
|
||||
if (fnamecmp(e1, ".txt") != 0
|
||||
&& fnamecmp(e1, fname + 4) != 0)
|
||||
{
|
||||
/* Not .txt and not .abx, remove it. */
|
||||
vim_free(fnames[i1]);
|
||||
fnames[i1] = NULL;
|
||||
continue;
|
||||
}
|
||||
if (fnamencmp(f1, f2, e1 - f1) != 0)
|
||||
continue;
|
||||
if (fnamecmp(e1, ".txt") == 0
|
||||
&& fnamecmp(e2, fname + 4) == 0)
|
||||
{
|
||||
/* use .abx instead of .txt */
|
||||
vim_free(fnames[i1]);
|
||||
fnames[i1] = NULL;
|
||||
}
|
||||
}
|
||||
FreeWild(fcount, fnames);
|
||||
}
|
||||
#endif
|
||||
for (fi = 0; fi < fcount; ++fi)
|
||||
{
|
||||
if (fnames[fi] == NULL)
|
||||
continue;
|
||||
fd = mch_fopen((char *)fnames[fi], "r");
|
||||
if (fd != NULL)
|
||||
{
|
||||
vim_fgets(IObuff, IOSIZE, fd);
|
||||
if (IObuff[0] == '*'
|
||||
&& (s = vim_strchr(IObuff + 1, '*'))
|
||||
!= NULL)
|
||||
{
|
||||
#ifdef FEAT_MBYTE
|
||||
int this_utf = MAYBE;
|
||||
#endif
|
||||
/* Change tag definition to a
|
||||
* reference and remove <CR>/<NL>. */
|
||||
IObuff[0] = '|';
|
||||
*s = '|';
|
||||
while (*s != NUL)
|
||||
{
|
||||
if (*s == '\r' || *s == '\n')
|
||||
*s = NUL;
|
||||
#ifdef FEAT_MBYTE
|
||||
/* The text is utf-8 when a byte
|
||||
* above 127 is found and no
|
||||
* illegal byte sequence is found.
|
||||
*/
|
||||
if (*s >= 0x80 && this_utf != FALSE)
|
||||
{
|
||||
int l;
|
||||
|
||||
this_utf = TRUE;
|
||||
l = utf_ptr2len(s);
|
||||
if (l == 1)
|
||||
this_utf = FALSE;
|
||||
s += l - 1;
|
||||
}
|
||||
#endif
|
||||
++s;
|
||||
}
|
||||
#ifdef FEAT_MBYTE
|
||||
/* The help file is latin1 or utf-8;
|
||||
* conversion to the current
|
||||
* 'encoding' may be required. */
|
||||
vc.vc_type = CONV_NONE;
|
||||
convert_setup(&vc, (char_u *)(
|
||||
this_utf == TRUE ? "utf-8"
|
||||
: "latin1"), p_enc);
|
||||
if (vc.vc_type == CONV_NONE)
|
||||
/* No conversion needed. */
|
||||
cp = IObuff;
|
||||
else
|
||||
{
|
||||
/* Do the conversion. If it fails
|
||||
* use the unconverted text. */
|
||||
cp = string_convert(&vc, IObuff,
|
||||
NULL);
|
||||
if (cp == NULL)
|
||||
cp = IObuff;
|
||||
}
|
||||
convert_setup(&vc, NULL, NULL);
|
||||
|
||||
ml_append(lnum, cp, (colnr_T)0, FALSE);
|
||||
if (cp != IObuff)
|
||||
vim_free(cp);
|
||||
#else
|
||||
ml_append(lnum, IObuff, (colnr_T)0,
|
||||
FALSE);
|
||||
#endif
|
||||
++lnum;
|
||||
}
|
||||
fclose(fd);
|
||||
}
|
||||
}
|
||||
FreeWild(fcount, fnames);
|
||||
}
|
||||
if (mustfree)
|
||||
vim_free(rt);
|
||||
}
|
||||
break;
|
||||
if (mustfree)
|
||||
vim_free(rt);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4226,6 +4226,9 @@ ex_language(eap)
|
||||
# ifdef FEAT_EVAL
|
||||
/* Set v:lang, v:lc_time and v:ctype to the final result. */
|
||||
set_lang_var();
|
||||
# endif
|
||||
# ifdef FEAT_TITLE
|
||||
maketitle();
|
||||
# endif
|
||||
}
|
||||
}
|
||||
|
||||
+45
-8
@@ -61,6 +61,7 @@ static char_u *do_one_cmd __ARGS((char_u **, int, struct condstack *, char_u *(*
|
||||
static char_u *do_one_cmd __ARGS((char_u **, int, char_u *(*fgetline)(int, void *, int), void *cookie));
|
||||
static int if_level = 0; /* depth in :if */
|
||||
#endif
|
||||
static void append_command __ARGS((char_u *cmd));
|
||||
static char_u *find_command __ARGS((exarg_T *eap, int *full));
|
||||
|
||||
static void ex_abbreviate __ARGS((exarg_T *eap));
|
||||
@@ -372,11 +373,9 @@ static void ex_tag_cmd __ARGS((exarg_T *eap, char_u *name));
|
||||
# define ex_endif ex_ni
|
||||
# define ex_else ex_ni
|
||||
# define ex_while ex_ni
|
||||
# define ex_for ex_ni
|
||||
# define ex_continue ex_ni
|
||||
# define ex_break ex_ni
|
||||
# define ex_endwhile ex_ni
|
||||
# define ex_endfor ex_ni
|
||||
# define ex_throw ex_ni
|
||||
# define ex_try ex_ni
|
||||
# define ex_catch ex_ni
|
||||
@@ -2143,10 +2142,7 @@ do_one_cmd(cmdlinep, sourcing,
|
||||
{
|
||||
STRCPY(IObuff, _("E492: Not an editor command"));
|
||||
if (!sourcing)
|
||||
{
|
||||
STRCAT(IObuff, ": ");
|
||||
STRNCAT(IObuff, *cmdlinep, 40);
|
||||
}
|
||||
append_command(*cmdlinep);
|
||||
errormsg = IObuff;
|
||||
}
|
||||
goto doend;
|
||||
@@ -2715,8 +2711,7 @@ doend:
|
||||
STRCPY(IObuff, errormsg);
|
||||
errormsg = IObuff;
|
||||
}
|
||||
STRCAT(errormsg, ": ");
|
||||
STRNCAT(errormsg, *cmdlinep, IOSIZE - STRLEN(IObuff) - 1);
|
||||
append_command(*cmdlinep);
|
||||
}
|
||||
emsg(errormsg);
|
||||
}
|
||||
@@ -2803,6 +2798,42 @@ checkforcmd(pp, cmd, len)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/*
|
||||
* Append "cmd" to the error message in IObuff.
|
||||
* Takes care of limiting the length and handling 0xa0, which would be
|
||||
* invisible otherwise.
|
||||
*/
|
||||
static void
|
||||
append_command(cmd)
|
||||
char_u *cmd;
|
||||
{
|
||||
char_u *s = cmd;
|
||||
char_u *d;
|
||||
|
||||
STRCAT(IObuff, ": ");
|
||||
d = IObuff + STRLEN(IObuff);
|
||||
while (*s != NUL && d - IObuff < IOSIZE - 7)
|
||||
{
|
||||
if (
|
||||
#ifdef FEAT_MBYTE
|
||||
enc_utf8 ? (s[0] == 0xc2 && s[1] == 0xa0) :
|
||||
#endif
|
||||
*s == 0xa0)
|
||||
{
|
||||
s +=
|
||||
#ifdef FEAT_MBYTE
|
||||
enc_utf8 ? 2 :
|
||||
#endif
|
||||
1;
|
||||
STRCPY(d, "<a0>");
|
||||
d += 4;
|
||||
}
|
||||
else
|
||||
MB_COPY_CHAR(s, d);
|
||||
}
|
||||
*d = NUL;
|
||||
}
|
||||
|
||||
/*
|
||||
* Find an Ex command by its name, either built-in or user.
|
||||
* Start of the name can be found at eap->cmd.
|
||||
@@ -8194,6 +8225,12 @@ do_sleep(msec)
|
||||
{
|
||||
ui_delay(msec - done > 1000L ? 1000L : msec - done, TRUE);
|
||||
ui_breakcheck();
|
||||
#ifdef FEAT_NETBEANS_INTG
|
||||
/* Process the netbeans messages that may have been received in the
|
||||
* call to ui_breakcheck() when the GUI is in use. This may occur when
|
||||
* running a test case. */
|
||||
netbeans_parse_messages();
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+38
-2
@@ -121,6 +121,14 @@ static int ExpandUserList __ARGS((expand_T *xp, int *num_file, char_u ***file));
|
||||
static int ex_window __ARGS((void));
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_CMDL_COMPL) || defined(PROTO)
|
||||
static int
|
||||
#ifdef __BORLANDC__
|
||||
_RTLENTRYF
|
||||
#endif
|
||||
sort_func_compare __ARGS((const void *s1, const void *s2));
|
||||
#endif
|
||||
|
||||
/*
|
||||
* getcmdline() - accept a command line starting with firstc.
|
||||
*
|
||||
@@ -2881,6 +2889,7 @@ put_on_cmdline(str, len, redraw)
|
||||
{
|
||||
msg_no_more = TRUE;
|
||||
i = cmdline_row;
|
||||
cursorcmd();
|
||||
draw_cmdline(ccline.cmdpos, ccline.cmdlen - ccline.cmdpos);
|
||||
/* Avoid clearing the rest of the line too often. */
|
||||
if (cmdline_row != i || ccline.overstrike)
|
||||
@@ -3296,6 +3305,24 @@ ccheck_abbr(c)
|
||||
return check_abbr(c, ccline.cmdbuff, ccline.cmdpos, 0);
|
||||
}
|
||||
|
||||
#if defined(FEAT_CMDL_COMPL) || defined(PROTO)
|
||||
static int
|
||||
#ifdef __BORLANDC__
|
||||
_RTLENTRYF
|
||||
#endif
|
||||
sort_func_compare(s1, s2)
|
||||
const void *s1;
|
||||
const void *s2;
|
||||
{
|
||||
char_u *p1 = *(char_u **)s1;
|
||||
char_u *p2 = *(char_u **)s2;
|
||||
|
||||
if (*p1 != '<' && *p2 == '<') return -1;
|
||||
if (*p1 == '<' && *p2 != '<') return 1;
|
||||
return STRCMP(p1, p2);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Return FAIL if this is not an appropriate context in which to do
|
||||
* completion of anything, return OK if it is (even if there are no matches).
|
||||
@@ -4557,7 +4584,7 @@ ExpandFromContext(xp, pat, num_file, file, options)
|
||||
}
|
||||
if (xp->xp_context == EXPAND_COMPILER)
|
||||
{
|
||||
char *directories[] = {"colors", NULL};
|
||||
char *directories[] = {"compiler", NULL};
|
||||
return ExpandRTDir(pat, num_file, file, directories);
|
||||
}
|
||||
if (xp->xp_context == EXPAND_OWNSYNTAX)
|
||||
@@ -4748,7 +4775,16 @@ ExpandGeneric(xp, regmatch, num_file, file, func, escaped)
|
||||
|
||||
/* Sort the results. Keep menu's in the specified order. */
|
||||
if (xp->xp_context != EXPAND_MENUNAMES && xp->xp_context != EXPAND_MENUS)
|
||||
sort_strings(*file, *num_file);
|
||||
{
|
||||
if (xp->xp_context == EXPAND_EXPRESSION
|
||||
|| xp->xp_context == EXPAND_FUNCTIONS
|
||||
|| xp->xp_context == EXPAND_USER_FUNC)
|
||||
/* <SNR> functions should be sorted to the end. */
|
||||
qsort((void *)*file, (size_t)*num_file, sizeof(char_u *),
|
||||
sort_func_compare);
|
||||
else
|
||||
sort_strings(*file, *num_file);
|
||||
}
|
||||
|
||||
#ifdef FEAT_CMDL_COMPL
|
||||
/* Reset the variables used for special highlight names expansion, so that
|
||||
|
||||
+17
-4
@@ -1061,6 +1061,9 @@
|
||||
# ifdef FEAT_BIG
|
||||
# define FEAT_MOUSE_DEC
|
||||
# endif
|
||||
# ifdef FEAT_BIG
|
||||
# define FEAT_MOUSE_URXVT
|
||||
# endif
|
||||
# if defined(FEAT_NORMAL) && (defined(MSDOS) || defined(WIN3264))
|
||||
# define DOS_MOUSE
|
||||
# endif
|
||||
@@ -1076,13 +1079,23 @@
|
||||
#if defined(FEAT_NORMAL) && defined(HAVE_SYSMOUSE)
|
||||
# define FEAT_SYSMOUSE
|
||||
#endif
|
||||
|
||||
/* urxvt is a small variation of mouse_xterm, and shares its code */
|
||||
#if defined(FEAT_MOUSE_URXVT) && !defined(FEAT_MOUSE_XTERM)
|
||||
# define FEAT_MOUSE_XTERM
|
||||
#endif
|
||||
|
||||
/* Define FEAT_MOUSE when any of the above is defined or FEAT_GUI. */
|
||||
#if !defined(FEAT_MOUSE_TTY) \
|
||||
&& (defined(FEAT_MOUSE_XTERM) \
|
||||
|| defined(FEAT_MOUSE_NET) || defined(FEAT_MOUSE_DEC) \
|
||||
|| defined(DOS_MOUSE) || defined(FEAT_MOUSE_GPM) \
|
||||
|| defined(FEAT_MOUSE_JSB) || defined(FEAT_MOUSE_PTERM) \
|
||||
|| defined(FEAT_SYSMOUSE))
|
||||
|| defined(FEAT_MOUSE_NET) \
|
||||
|| defined(FEAT_MOUSE_DEC) \
|
||||
|| defined(DOS_MOUSE) \
|
||||
|| defined(FEAT_MOUSE_GPM) \
|
||||
|| defined(FEAT_MOUSE_JSB) \
|
||||
|| defined(FEAT_MOUSE_PTERM) \
|
||||
|| defined(FEAT_SYSMOUSE) \
|
||||
|| defined(FEAT_MOUSE_URXVT))
|
||||
# define FEAT_MOUSE_TTY /* include non-GUI mouse support */
|
||||
#endif
|
||||
#if !defined(FEAT_MOUSE) && (defined(FEAT_MOUSE_TTY) || defined(FEAT_GUI))
|
||||
|
||||
+7
-16
@@ -2460,27 +2460,18 @@ vgetorpeek(advance)
|
||||
|
||||
/*
|
||||
* Handle ":map <expr>": evaluate the {rhs} as an
|
||||
* expression. Save and restore the typeahead so that
|
||||
* getchar() can be used. Also save and restore the
|
||||
* command line for "normal :".
|
||||
* expression. Also save and restore the command line
|
||||
* for "normal :".
|
||||
*/
|
||||
if (mp->m_expr)
|
||||
{
|
||||
tasave_T tabuf;
|
||||
int save_vgetc_busy = vgetc_busy;
|
||||
|
||||
save_typeahead(&tabuf);
|
||||
if (tabuf.typebuf_valid)
|
||||
{
|
||||
vgetc_busy = 0;
|
||||
save_m_keys = vim_strsave(mp->m_keys);
|
||||
save_m_str = vim_strsave(mp->m_str);
|
||||
s = eval_map_expr(save_m_str, NUL);
|
||||
vgetc_busy = save_vgetc_busy;
|
||||
}
|
||||
else
|
||||
s = NULL;
|
||||
restore_typeahead(&tabuf);
|
||||
vgetc_busy = 0;
|
||||
save_m_keys = vim_strsave(mp->m_keys);
|
||||
save_m_str = vim_strsave(mp->m_str);
|
||||
s = eval_map_expr(save_m_str, NUL);
|
||||
vgetc_busy = save_vgetc_busy;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
|
||||
@@ -212,7 +212,6 @@ gui_do_fork()
|
||||
int status;
|
||||
int exit_status;
|
||||
pid_t pid = -1;
|
||||
FILE *parent_file;
|
||||
|
||||
/* Setup a pipe between the child and the parent, so that the parent
|
||||
* knows when the child has done the setsid() call and is allowed to
|
||||
@@ -290,19 +289,17 @@ gui_do_fork()
|
||||
gui_mch_forked();
|
||||
# endif
|
||||
|
||||
if (!pipe_error)
|
||||
parent_file = fdopen(pipefd[1], "w");
|
||||
else
|
||||
parent_file = NULL;
|
||||
|
||||
/* Try to start the GUI */
|
||||
gui_attempt_start();
|
||||
|
||||
/* Notify the parent */
|
||||
if (parent_file != NULL)
|
||||
if (!pipe_error)
|
||||
{
|
||||
fputs(gui.in_use ? "ok" : "fail", parent_file);
|
||||
fclose(parent_file);
|
||||
if (gui.in_use)
|
||||
write_eintr(pipefd[1], "ok", 3);
|
||||
else
|
||||
write_eintr(pipefd[1], "fail", 5);
|
||||
close(pipefd[1]);
|
||||
}
|
||||
|
||||
/* If we failed to start the GUI, exit now. */
|
||||
@@ -323,17 +320,16 @@ gui_do_fork()
|
||||
static int
|
||||
gui_read_child_pipe(int fd)
|
||||
{
|
||||
size_t bytes_read;
|
||||
FILE *file;
|
||||
char buffer[10];
|
||||
long bytes_read;
|
||||
#define READ_BUFFER_SIZE 10
|
||||
char buffer[READ_BUFFER_SIZE];
|
||||
|
||||
file = fdopen(fd, "r");
|
||||
if (!file)
|
||||
bytes_read = read_eintr(fd, buffer, READ_BUFFER_SIZE - 1);
|
||||
#undef READ_BUFFER_SIZE
|
||||
close(fd);
|
||||
if (bytes_read < 0)
|
||||
return GUI_CHILD_IO_ERROR;
|
||||
|
||||
bytes_read = fread(buffer, sizeof(char), sizeof(buffer)-1, file);
|
||||
buffer[bytes_read] = '\0';
|
||||
fclose(file);
|
||||
buffer[bytes_read] = NUL;
|
||||
if (strcmp(buffer, "ok") == 0)
|
||||
return GUI_CHILD_OK;
|
||||
return GUI_CHILD_FAILED;
|
||||
|
||||
+1
-1
@@ -3081,7 +3081,7 @@ gui_gtk_set_dnd_targets(void)
|
||||
|
||||
for (i = 0; i < (int)N_DND_TARGETS; ++i)
|
||||
{
|
||||
if (!clip_html && selection_targets[i].info == TARGET_HTML)
|
||||
if (!clip_html && dnd_targets[i].info == TARGET_HTML)
|
||||
n_targets--;
|
||||
else
|
||||
targets[j++] = dnd_targets[i];
|
||||
|
||||
@@ -100,6 +100,7 @@ static const char LUAVIM_FREE[] = "luaV_free";
|
||||
#define lua_setfield dll_lua_setfield
|
||||
#define lua_rawset dll_lua_rawset
|
||||
#define lua_rawseti dll_lua_rawseti
|
||||
#define lua_remove dll_lua_remove
|
||||
#define lua_setmetatable dll_lua_setmetatable
|
||||
#define lua_call dll_lua_call
|
||||
#define lua_pcall dll_lua_pcall
|
||||
@@ -161,6 +162,7 @@ int (*dll_lua_getmetatable) (lua_State *L, int objindex);
|
||||
void (*dll_lua_setfield) (lua_State *L, int idx, const char *k);
|
||||
void (*dll_lua_rawset) (lua_State *L, int idx);
|
||||
void (*dll_lua_rawseti) (lua_State *L, int idx, int n);
|
||||
void (*dll_lua_remove) (lua_State *L, int idx);
|
||||
int (*dll_lua_setmetatable) (lua_State *L, int objindex);
|
||||
void (*dll_lua_call) (lua_State *L, int nargs, int nresults);
|
||||
int (*dll_lua_pcall) (lua_State *L, int nargs, int nresults, int errfunc);
|
||||
@@ -229,6 +231,7 @@ static const luaV_Reg luaV_dll[] = {
|
||||
{"lua_setfield", (luaV_function) &dll_lua_setfield},
|
||||
{"lua_rawset", (luaV_function) &dll_lua_rawset},
|
||||
{"lua_rawseti", (luaV_function) &dll_lua_rawseti},
|
||||
{"lua_remove", (luaV_function) &dll_lua_remove},
|
||||
{"lua_setmetatable", (luaV_function) &dll_lua_setmetatable},
|
||||
{"lua_call", (luaV_function) &dll_lua_call},
|
||||
{"lua_pcall", (luaV_function) &dll_lua_pcall},
|
||||
@@ -923,6 +926,31 @@ luaV_print(lua_State *L)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
luaV_debug(lua_State *L)
|
||||
{
|
||||
lua_settop(L, 0);
|
||||
lua_getglobal(L, "vim");
|
||||
lua_getfield(L, -1, "eval");
|
||||
lua_remove(L, -2); /* vim.eval at position 1 */
|
||||
for (;;)
|
||||
{
|
||||
const char *input;
|
||||
size_t l;
|
||||
lua_pushvalue(L, 1); /* vim.eval */
|
||||
lua_pushliteral(L, "input('lua_debug> ')");
|
||||
lua_call(L, 1, 1); /* return string */
|
||||
input = lua_tolstring(L, -1, &l);
|
||||
if (l == 0 || strcmp(input, "cont") == 0)
|
||||
return 0;
|
||||
msg_putchar('\n'); /* avoid outputting on input line */
|
||||
if (luaL_loadbuffer(L, input, l, "=(debug command)")
|
||||
|| lua_pcall(L, 0, 0, 0))
|
||||
luaV_emsg(L);
|
||||
lua_settop(L, 1); /* remove eventual returns, but keep vim.eval */
|
||||
}
|
||||
}
|
||||
|
||||
static int
|
||||
luaV_command(lua_State *L)
|
||||
{
|
||||
@@ -1082,6 +1110,11 @@ luaopen_vim(lua_State *L)
|
||||
/* print */
|
||||
lua_pushcfunction(L, luaV_print);
|
||||
lua_setglobal(L, "print");
|
||||
/* debug.debug */
|
||||
lua_getglobal(L, "debug");
|
||||
lua_pushcfunction(L, luaV_debug);
|
||||
lua_setfield(L, -2, "debug");
|
||||
lua_pop(L, 1);
|
||||
/* free */
|
||||
lua_pushlightuserdata(L, (void *) LUAVIM_FREE);
|
||||
lua_pushcfunction(L, luaV_free);
|
||||
|
||||
+6
-3
@@ -92,13 +92,13 @@
|
||||
*/
|
||||
#define KS_TEAROFF 244
|
||||
|
||||
/* used for JSB term mouse */
|
||||
/* Used for JSB term mouse. */
|
||||
#define KS_JSBTERM_MOUSE 243
|
||||
|
||||
/* used a termcap entry that produces a normal character */
|
||||
/* Used a termcap entry that produces a normal character. */
|
||||
#define KS_KEY 242
|
||||
|
||||
/* Used for the qnx pterm mouse */
|
||||
/* Used for the qnx pterm mouse. */
|
||||
#define KS_PTERM_MOUSE 241
|
||||
|
||||
/* Used for click in a tab pages label. */
|
||||
@@ -107,6 +107,9 @@
|
||||
/* Used for menu in a tab pages line. */
|
||||
#define KS_TABMENU 239
|
||||
|
||||
/* Used for the urxvt mouse. */
|
||||
#define KS_URXVT_MOUSE 238
|
||||
|
||||
/*
|
||||
* Filler used after KS_SPECIAL and others
|
||||
*/
|
||||
|
||||
@@ -1074,6 +1074,7 @@ main_loop(cmdwin, noexmode)
|
||||
skip_redraw = FALSE;
|
||||
RedrawingDisabled = 0;
|
||||
no_wait_return = 0;
|
||||
vgetc_busy = 0;
|
||||
# ifdef FEAT_EVAL
|
||||
emsg_skip = 0;
|
||||
# endif
|
||||
|
||||
+8
-1
@@ -621,6 +621,8 @@ ml_setname(buf)
|
||||
break;
|
||||
fname = findswapname(buf, &dirp, mfp->mf_fname);
|
||||
/* alloc's fname */
|
||||
if (dirp == NULL) /* out of memory */
|
||||
break;
|
||||
if (fname == NULL) /* no file name found for this dir */
|
||||
continue;
|
||||
|
||||
@@ -744,6 +746,8 @@ ml_open_file(buf)
|
||||
* and creating it, another Vim creates the file. In that case the
|
||||
* creation will fail and we will use another directory. */
|
||||
fname = findswapname(buf, &dirp, NULL); /* allocates fname */
|
||||
if (dirp == NULL)
|
||||
break; /* out of memory */
|
||||
if (fname == NULL)
|
||||
continue;
|
||||
if (mf_open_file(mfp, fname) == OK) /* consumes fname! */
|
||||
@@ -4114,6 +4118,7 @@ do_swapexists(buf, fname)
|
||||
*
|
||||
* Several names are tried to find one that does not exist
|
||||
* Returns the name in allocated memory or NULL.
|
||||
* When out of memory "dirp" is set to NULL.
|
||||
*
|
||||
* Note: If BASENAMELEN is not correct, you will get error messages for
|
||||
* not being able to open the swap or undo file
|
||||
@@ -4157,7 +4162,9 @@ findswapname(buf, dirp, old_fname)
|
||||
* First allocate some memory to put the directory name in.
|
||||
*/
|
||||
dir_name = alloc((unsigned)STRLEN(*dirp) + 1);
|
||||
if (dir_name != NULL)
|
||||
if (dir_name == NULL)
|
||||
*dirp = NULL;
|
||||
else
|
||||
(void)copy_option_part(dirp, dir_name, 31000, ",");
|
||||
|
||||
/*
|
||||
|
||||
+52
-44
@@ -6395,6 +6395,7 @@ get_c_indent()
|
||||
int lookfor_cpp_namespace = FALSE;
|
||||
int cont_amount = 0; /* amount for continuation line */
|
||||
int original_line_islabel;
|
||||
int added_to_amount = 0;
|
||||
|
||||
for (options = curbuf->b_p_cino; *options; )
|
||||
{
|
||||
@@ -7222,52 +7223,59 @@ get_c_indent()
|
||||
else
|
||||
amount += ind_continuation;
|
||||
}
|
||||
else if (lookfor_cpp_namespace)
|
||||
else
|
||||
{
|
||||
if (curwin->w_cursor.lnum == ourscope)
|
||||
continue;
|
||||
|
||||
if (curwin->w_cursor.lnum == 0
|
||||
|| curwin->w_cursor.lnum
|
||||
< ourscope - FIND_NAMESPACE_LIM)
|
||||
break;
|
||||
|
||||
l = ml_get_curline();
|
||||
|
||||
/*
|
||||
* If we're in a comment now, skip to the start of the
|
||||
* comment.
|
||||
*/
|
||||
trypos = find_start_comment(ind_maxcomment);
|
||||
if (trypos != NULL)
|
||||
{
|
||||
curwin->w_cursor.lnum = trypos->lnum + 1;
|
||||
curwin->w_cursor.col = 0;
|
||||
continue;
|
||||
}
|
||||
|
||||
/*
|
||||
* Skip preprocessor directives and blank lines.
|
||||
*/
|
||||
if (cin_ispreproc_cont(&l, &curwin->w_cursor.lnum))
|
||||
continue;
|
||||
|
||||
if (cin_is_cpp_namespace(l))
|
||||
{
|
||||
amount += ind_cpp_namespace;
|
||||
break;
|
||||
}
|
||||
|
||||
if (cin_nocode(l))
|
||||
continue;
|
||||
|
||||
}
|
||||
else if (lookfor != LOOKFOR_TERM
|
||||
if (lookfor != LOOKFOR_TERM
|
||||
&& lookfor != LOOKFOR_CPP_BASECLASS)
|
||||
{
|
||||
amount = scope_amount;
|
||||
if (theline[0] == '{')
|
||||
amount += ind_open_extra;
|
||||
{
|
||||
amount = scope_amount;
|
||||
if (theline[0] == '{')
|
||||
{
|
||||
amount += ind_open_extra;
|
||||
added_to_amount = ind_open_extra;
|
||||
}
|
||||
}
|
||||
|
||||
if (lookfor_cpp_namespace)
|
||||
{
|
||||
/*
|
||||
* Looking for C++ namespace, need to look further
|
||||
* back.
|
||||
*/
|
||||
if (curwin->w_cursor.lnum == ourscope)
|
||||
continue;
|
||||
|
||||
if (curwin->w_cursor.lnum == 0
|
||||
|| curwin->w_cursor.lnum
|
||||
< ourscope - FIND_NAMESPACE_LIM)
|
||||
break;
|
||||
|
||||
l = ml_get_curline();
|
||||
|
||||
/* If we're in a comment now, skip to the start of
|
||||
* the comment. */
|
||||
trypos = find_start_comment(ind_maxcomment);
|
||||
if (trypos != NULL)
|
||||
{
|
||||
curwin->w_cursor.lnum = trypos->lnum + 1;
|
||||
curwin->w_cursor.col = 0;
|
||||
continue;
|
||||
}
|
||||
|
||||
/* Skip preprocessor directives and blank lines. */
|
||||
if (cin_ispreproc_cont(&l, &curwin->w_cursor.lnum))
|
||||
continue;
|
||||
|
||||
/* Finally the actual check for "namespace". */
|
||||
if (cin_is_cpp_namespace(l))
|
||||
{
|
||||
amount += ind_cpp_namespace - added_to_amount;
|
||||
break;
|
||||
}
|
||||
|
||||
if (cin_nocode(l))
|
||||
continue;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
+5
-1
@@ -1012,8 +1012,12 @@ do_outofmem_msg(size)
|
||||
{
|
||||
/* Don't hide this message */
|
||||
emsg_silent = 0;
|
||||
EMSGN(_("E342: Out of memory! (allocating %lu bytes)"), size);
|
||||
|
||||
/* Must come first to avoid coming back here when printing the error
|
||||
* message fails, e.g. when setting v:errmsg. */
|
||||
did_outofmem_msg = TRUE;
|
||||
|
||||
EMSGN(_("E342: Out of memory! (allocating %lu bytes)"), size);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -14,6 +14,13 @@
|
||||
* which are *between* characters, whereas vim uses line number
|
||||
* and column number which are *on* characters.
|
||||
* See ":help netbeans-protocol" for explanation.
|
||||
*
|
||||
* The Netbeans messages are received and queued in the gui event loop, or in
|
||||
* the select loop when Vim runs in a terminal. These messages are processed
|
||||
* by netbeans_parse_messages() which is invoked in the idle loop when Vim is
|
||||
* waiting for user input. The function netbeans_parse_messages() is also
|
||||
* called from the ":sleep" command, to allow the execution of test cases that
|
||||
* may not invoke the idle loop.
|
||||
*/
|
||||
|
||||
#include "vim.h"
|
||||
|
||||
+46
-24
@@ -20,7 +20,7 @@
|
||||
*/
|
||||
static int resel_VIsual_mode = NUL; /* 'v', 'V', or Ctrl-V */
|
||||
static linenr_T resel_VIsual_line_count; /* number of lines */
|
||||
static colnr_T resel_VIsual_col; /* nr of cols or end col */
|
||||
static colnr_T resel_VIsual_vcol; /* nr of cols or end col */
|
||||
|
||||
static int restart_VIsual_select = 0;
|
||||
#endif
|
||||
@@ -1436,7 +1436,7 @@ do_pending_operator(cap, old_col, gui_yank)
|
||||
/* The visual area is remembered for redo */
|
||||
static int redo_VIsual_mode = NUL; /* 'v', 'V', or Ctrl-V */
|
||||
static linenr_T redo_VIsual_line_count; /* number of lines */
|
||||
static colnr_T redo_VIsual_col; /* number of cols or end column */
|
||||
static colnr_T redo_VIsual_vcol; /* number of cols or end column */
|
||||
static long redo_VIsual_count; /* count for Visual operator */
|
||||
# ifdef FEAT_VIRTUALEDIT
|
||||
int include_line_break = FALSE;
|
||||
@@ -1549,22 +1549,31 @@ do_pending_operator(cap, old_col, gui_yank)
|
||||
#ifdef FEAT_VISUAL
|
||||
if (redo_VIsual_busy)
|
||||
{
|
||||
/* Redo of an operation on a Visual area. Use the same size from
|
||||
* redo_VIsual_line_count and redo_VIsual_vcol. */
|
||||
oap->start = curwin->w_cursor;
|
||||
curwin->w_cursor.lnum += redo_VIsual_line_count - 1;
|
||||
if (curwin->w_cursor.lnum > curbuf->b_ml.ml_line_count)
|
||||
curwin->w_cursor.lnum = curbuf->b_ml.ml_line_count;
|
||||
VIsual_mode = redo_VIsual_mode;
|
||||
if (VIsual_mode == 'v')
|
||||
if (redo_VIsual_vcol == MAXCOL || VIsual_mode == 'v')
|
||||
{
|
||||
if (redo_VIsual_line_count <= 1)
|
||||
curwin->w_cursor.col += redo_VIsual_col - 1;
|
||||
if (VIsual_mode == 'v')
|
||||
{
|
||||
if (redo_VIsual_line_count <= 1)
|
||||
{
|
||||
validate_virtcol();
|
||||
curwin->w_curswant =
|
||||
curwin->w_virtcol + redo_VIsual_vcol - 1;
|
||||
}
|
||||
else
|
||||
curwin->w_curswant = redo_VIsual_vcol;
|
||||
}
|
||||
else
|
||||
curwin->w_cursor.col = redo_VIsual_col;
|
||||
}
|
||||
if (redo_VIsual_col == MAXCOL)
|
||||
{
|
||||
curwin->w_curswant = MAXCOL;
|
||||
coladvance((colnr_T)MAXCOL);
|
||||
{
|
||||
curwin->w_curswant = MAXCOL;
|
||||
}
|
||||
coladvance(curwin->w_curswant);
|
||||
}
|
||||
cap->count0 = redo_VIsual_count;
|
||||
if (redo_VIsual_count != 0)
|
||||
@@ -1710,7 +1719,7 @@ do_pending_operator(cap, old_col, gui_yank)
|
||||
}
|
||||
}
|
||||
else if (redo_VIsual_busy)
|
||||
oap->end_vcol = oap->start_vcol + redo_VIsual_col - 1;
|
||||
oap->end_vcol = oap->start_vcol + redo_VIsual_vcol - 1;
|
||||
/*
|
||||
* Correct oap->end.col and oap->start.col to be the
|
||||
* upper-left and lower-right corner of the block area.
|
||||
@@ -1735,13 +1744,22 @@ do_pending_operator(cap, old_col, gui_yank)
|
||||
*/
|
||||
resel_VIsual_mode = VIsual_mode;
|
||||
if (curwin->w_curswant == MAXCOL)
|
||||
resel_VIsual_col = MAXCOL;
|
||||
else if (VIsual_mode == Ctrl_V)
|
||||
resel_VIsual_col = oap->end_vcol - oap->start_vcol + 1;
|
||||
else if (oap->line_count > 1)
|
||||
resel_VIsual_col = oap->end.col;
|
||||
resel_VIsual_vcol = MAXCOL;
|
||||
else
|
||||
resel_VIsual_col = oap->end.col - oap->start.col + 1;
|
||||
{
|
||||
if (VIsual_mode != Ctrl_V)
|
||||
getvvcol(curwin, &(oap->end),
|
||||
NULL, NULL, &oap->end_vcol);
|
||||
if (VIsual_mode == Ctrl_V || oap->line_count <= 1)
|
||||
{
|
||||
if (VIsual_mode != Ctrl_V)
|
||||
getvvcol(curwin, &(oap->start),
|
||||
&oap->start_vcol, NULL, NULL);
|
||||
resel_VIsual_vcol = oap->end_vcol - oap->start_vcol + 1;
|
||||
}
|
||||
else
|
||||
resel_VIsual_vcol = oap->end_vcol;
|
||||
}
|
||||
resel_VIsual_line_count = oap->line_count;
|
||||
}
|
||||
|
||||
@@ -1769,7 +1787,7 @@ do_pending_operator(cap, old_col, gui_yank)
|
||||
if (!redo_VIsual_busy)
|
||||
{
|
||||
redo_VIsual_mode = resel_VIsual_mode;
|
||||
redo_VIsual_col = resel_VIsual_col;
|
||||
redo_VIsual_vcol = resel_VIsual_vcol;
|
||||
redo_VIsual_line_count = resel_VIsual_line_count;
|
||||
redo_VIsual_count = cap->count0;
|
||||
}
|
||||
@@ -7665,12 +7683,16 @@ nv_visual(cap)
|
||||
if (VIsual_mode == 'v')
|
||||
{
|
||||
if (resel_VIsual_line_count <= 1)
|
||||
curwin->w_cursor.col += resel_VIsual_col * cap->count0 - 1;
|
||||
{
|
||||
validate_virtcol();
|
||||
curwin->w_curswant = curwin->w_virtcol
|
||||
+ resel_VIsual_vcol * cap->count0 - 1;
|
||||
}
|
||||
else
|
||||
curwin->w_cursor.col = resel_VIsual_col;
|
||||
check_cursor_col();
|
||||
curwin->w_curswant = resel_VIsual_vcol;
|
||||
coladvance(curwin->w_curswant);
|
||||
}
|
||||
if (resel_VIsual_col == MAXCOL)
|
||||
if (resel_VIsual_vcol == MAXCOL)
|
||||
{
|
||||
curwin->w_curswant = MAXCOL;
|
||||
coladvance((colnr_T)MAXCOL);
|
||||
@@ -7679,7 +7701,7 @@ nv_visual(cap)
|
||||
{
|
||||
validate_virtcol();
|
||||
curwin->w_curswant = curwin->w_virtcol
|
||||
+ resel_VIsual_col * cap->count0 - 1;
|
||||
+ resel_VIsual_vcol * cap->count0 - 1;
|
||||
coladvance(curwin->w_curswant);
|
||||
}
|
||||
else
|
||||
|
||||
@@ -1922,7 +1922,9 @@ op_delete(oap)
|
||||
curwin->w_cursor.coladd = 0;
|
||||
}
|
||||
#endif
|
||||
if (oap->inclusive && oap->end.lnum == curbuf->b_ml.ml_line_count
|
||||
if (oap->op_type == OP_DELETE
|
||||
&& oap->inclusive
|
||||
&& oap->end.lnum == curbuf->b_ml.ml_line_count
|
||||
&& n > (int)STRLEN(ml_get(oap->end.lnum)))
|
||||
{
|
||||
/* Special case: gH<Del> deletes the last line. */
|
||||
@@ -3331,8 +3333,8 @@ do_put(regname, dir, count, flags)
|
||||
if (regname == '=')
|
||||
{
|
||||
/* For the = register we need to split the string at NL
|
||||
* characters. */
|
||||
/* Loop twice: count the number of lines and save them. */
|
||||
* characters.
|
||||
* Loop twice: count the number of lines and save them. */
|
||||
for (;;)
|
||||
{
|
||||
y_size = 0;
|
||||
@@ -3348,7 +3350,7 @@ do_put(regname, dir, count, flags)
|
||||
if (y_array != NULL)
|
||||
*ptr = NUL;
|
||||
++ptr;
|
||||
/* A trailing '\n' makes the string linewise */
|
||||
/* A trailing '\n' makes the register linewise. */
|
||||
if (*ptr == NUL)
|
||||
{
|
||||
y_type = MLINE;
|
||||
|
||||
@@ -7121,6 +7121,9 @@ check_colorcolumn(wp)
|
||||
int i;
|
||||
int j = 0;
|
||||
|
||||
if (wp->w_buffer == NULL)
|
||||
return NULL; /* buffer was closed */
|
||||
|
||||
for (s = wp->w_p_cc; *s != NUL && count < 255;)
|
||||
{
|
||||
if (*s == '-' || *s == '+')
|
||||
@@ -7922,6 +7925,10 @@ set_bool_option(opt_idx, varp, value, opt_flags)
|
||||
/* Only de-activate it here, it will be enabled when changing mode. */
|
||||
if (p_imdisable)
|
||||
im_set_active(FALSE);
|
||||
else if (State & INSERT)
|
||||
/* When the option is set from an autocommand, it may need to take
|
||||
* effect right away. */
|
||||
im_set_active(curbuf->b_p_iminsert == B_IMODE_IM);
|
||||
#ifdef FEAT_GUI_MACVIM
|
||||
im_set_control(!p_imdisable);
|
||||
#endif
|
||||
|
||||
+3
-2
@@ -33,7 +33,7 @@
|
||||
# ifdef EBCDIC
|
||||
#define DFLT_EFM "%*[^ ] %*[^ ] %f:%l%*[ ]%m,%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m"
|
||||
# else
|
||||
#define DFLT_EFM "%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%-GIn file included from %f:%l:%c:,%-GIn file included from %f:%l:%c,%-GIn file included from %f:%l,%-Gfrom %f:%l:%c,%-Gfrom %f:%l,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%D%*\\a: Entering directory `%f',%X%*\\a: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m"
|
||||
#define DFLT_EFM "%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%-GIn file included from %f:%l:%c:,%-GIn file included from %f:%l:%c\\,,%-GIn file included from %f:%l:%c,%-GIn file included from %f:%l,%-G%*[ ]from %f:%l:%c,%-G%*[ ]from %f:%l:,%-G%*[ ]from %f:%l\\,,%-G%*[ ]from %f:%l,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%D%*\\a: Entering directory `%f',%X%*\\a: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m"
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
@@ -834,7 +834,7 @@ EXTERN long p_ttyscroll; /* 'ttyscroll' */
|
||||
EXTERN char_u *p_ttym; /* 'ttymouse' */
|
||||
EXTERN unsigned ttym_flags;
|
||||
# ifdef IN_OPTION_C
|
||||
static char *(p_ttym_values[]) = {"xterm", "xterm2", "dec", "netterm", "jsbterm", "pterm", NULL};
|
||||
static char *(p_ttym_values[]) = {"xterm", "xterm2", "dec", "netterm", "jsbterm", "pterm", "urxvt", NULL};
|
||||
# endif
|
||||
# define TTYM_XTERM 0x01
|
||||
# define TTYM_XTERM2 0x02
|
||||
@@ -842,6 +842,7 @@ static char *(p_ttym_values[]) = {"xterm", "xterm2", "dec", "netterm", "jsbterm"
|
||||
# define TTYM_NETTERM 0x08
|
||||
# define TTYM_JSBTERM 0x10
|
||||
# define TTYM_PTERM 0x20
|
||||
# define TTYM_URXVT 0x40
|
||||
#endif
|
||||
EXTERN char_u *p_udir; /* 'undodir' */
|
||||
EXTERN long p_ul; /* 'undolevels' */
|
||||
|
||||
+1
-1
@@ -1022,7 +1022,7 @@ mch_get_shellsize()
|
||||
|
||||
/* insure longword alignment */
|
||||
#ifdef __amigaos4__
|
||||
if(!(id = AllocDosObject(DOS_INFODATA, 0)))
|
||||
if (!(id = AllocDosObject(DOS_INFODATA, 0)))
|
||||
goto out;
|
||||
#else
|
||||
id = (struct InfoData *)(((long)id_a + 3L) & ~3L);
|
||||
|
||||
+1
-1
@@ -77,7 +77,7 @@ mac_string_convert(ptr, len, lenp, fail_on_error, from_enc, to_enc, unconvlenp)
|
||||
*unconvlenp = 0;
|
||||
cfstr = CFStringCreateWithBytes(NULL, ptr, len, from, 0);
|
||||
|
||||
if(cfstr == NULL)
|
||||
if (cfstr == NULL)
|
||||
fprintf(stderr, "Encoding failed\n");
|
||||
/* When conversion failed, try excluding bytes from the end, helps when
|
||||
* there is an incomplete byte sequence. Only do up to 6 bytes to avoid
|
||||
|
||||
+1
-1
@@ -1781,7 +1781,7 @@ swap_me(COLORREF colorref)
|
||||
}
|
||||
|
||||
/* Attempt to make this work for old and new compilers */
|
||||
#if !defined(_MSC_VER) || (_MSC_VER < 1300) || !defined(INT_PTR)
|
||||
#if !defined(_WIN64) && (!defined(_MSC_VER) || _MSC_VER < 1300)
|
||||
# define PDP_RETVAL BOOL
|
||||
#else
|
||||
# define PDP_RETVAL INT_PTR
|
||||
|
||||
+34
-34
@@ -24,10 +24,10 @@ void qnx_init()
|
||||
#if defined(FEAT_GUI_PHOTON)
|
||||
PhChannelParms_t parms;
|
||||
|
||||
memset( &parms, 0, sizeof( parms ) );
|
||||
memset(&parms, 0, sizeof(parms));
|
||||
parms.flags = Ph_DYNAMIC_BUFFER;
|
||||
|
||||
is_photon_available = (PhAttach( NULL, &parms ) != NULL) ? TRUE : FALSE;
|
||||
is_photon_available = (PhAttach(NULL, &parms) != NULL) ? TRUE : FALSE;
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -39,8 +39,8 @@ void qnx_init()
|
||||
/* Turn on the clipboard for a console vim when photon is running */
|
||||
void qnx_clip_init()
|
||||
{
|
||||
if( is_photon_available == TRUE && !gui.in_use)
|
||||
clip_init( TRUE );
|
||||
if (is_photon_available == TRUE && !gui.in_use)
|
||||
clip_init(TRUE);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
@@ -48,32 +48,32 @@ void qnx_clip_init()
|
||||
|
||||
/* No support for owning the clipboard */
|
||||
int
|
||||
clip_mch_own_selection( VimClipboard *cbd )
|
||||
clip_mch_own_selection(VimClipboard *cbd)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void
|
||||
clip_mch_lose_selection( VimClipboard *cbd )
|
||||
clip_mch_lose_selection(VimClipboard *cbd)
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
clip_mch_request_selection( VimClipboard *cbd )
|
||||
clip_mch_request_selection(VimClipboard *cbd)
|
||||
{
|
||||
int type = MLINE, clip_length = 0, is_type_set = FALSE;
|
||||
void *cbdata;
|
||||
PhClipHeader *clip_header;
|
||||
char_u *clip_text = NULL;
|
||||
|
||||
cbdata = PhClipboardPasteStart( PhInputGroup( NULL ));
|
||||
if( cbdata != NULL )
|
||||
cbdata = PhClipboardPasteStart(PhInputGroup(NULL));
|
||||
if (cbdata != NULL)
|
||||
{
|
||||
/* Look for the vim specific clip first */
|
||||
clip_header = PhClipboardPasteType( cbdata, CLIP_TYPE_VIM );
|
||||
if( clip_header != NULL && clip_header->data != NULL )
|
||||
clip_header = PhClipboardPasteType(cbdata, CLIP_TYPE_VIM);
|
||||
if (clip_header != NULL && clip_header->data != NULL)
|
||||
{
|
||||
switch( *(char *) clip_header->data )
|
||||
switch(*(char *) clip_header->data)
|
||||
{
|
||||
default: /* fallthrough to line type */
|
||||
case 'L': type = MLINE; break;
|
||||
@@ -86,27 +86,27 @@ clip_mch_request_selection( VimClipboard *cbd )
|
||||
}
|
||||
|
||||
/* Try for just normal text */
|
||||
clip_header = PhClipboardPasteType( cbdata, CLIP_TYPE_TEXT );
|
||||
if( clip_header != NULL )
|
||||
clip_header = PhClipboardPasteType(cbdata, CLIP_TYPE_TEXT);
|
||||
if (clip_header != NULL)
|
||||
{
|
||||
clip_text = clip_header->data;
|
||||
clip_length = clip_header->length - 1;
|
||||
|
||||
if( clip_text != NULL && is_type_set == FALSE )
|
||||
if (clip_text != NULL && is_type_set == FALSE)
|
||||
type = MAUTO;
|
||||
}
|
||||
|
||||
if( (clip_text != NULL) && (clip_length > 0) )
|
||||
if ((clip_text != NULL) && (clip_length > 0))
|
||||
{
|
||||
clip_yank_selection( type, clip_text, clip_length, cbd );
|
||||
clip_yank_selection(type, clip_text, clip_length, cbd);
|
||||
}
|
||||
|
||||
PhClipboardPasteFinish( cbdata );
|
||||
PhClipboardPasteFinish(cbdata);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
clip_mch_set_selection( VimClipboard *cbd )
|
||||
clip_mch_set_selection(VimClipboard *cbd)
|
||||
{
|
||||
int type;
|
||||
long_u len;
|
||||
@@ -114,31 +114,31 @@ clip_mch_set_selection( VimClipboard *cbd )
|
||||
PhClipHeader clip_header[2];
|
||||
|
||||
/* Prevent recursion from clip_get_selection() */
|
||||
if( cbd->owned == TRUE )
|
||||
if (cbd->owned == TRUE)
|
||||
return;
|
||||
|
||||
cbd->owned = TRUE;
|
||||
clip_get_selection( cbd );
|
||||
clip_get_selection(cbd);
|
||||
cbd->owned = FALSE;
|
||||
|
||||
type = clip_convert_selection( &str, &len, cbd );
|
||||
if( type >= 0 )
|
||||
type = clip_convert_selection(&str, &len, cbd);
|
||||
if (type >= 0)
|
||||
{
|
||||
text_clip = lalloc( len + 1, TRUE ); /* Normal text */
|
||||
text_clip = lalloc(len + 1, TRUE); /* Normal text */
|
||||
|
||||
if( text_clip && vim_clip )
|
||||
if (text_clip && vim_clip)
|
||||
{
|
||||
memset( clip_header, 0, sizeof( clip_header ) );
|
||||
memset(clip_header, 0, sizeof(clip_header));
|
||||
|
||||
STRNCPY( clip_header[0].type, CLIP_TYPE_VIM, 8 );
|
||||
clip_header[0].length = sizeof( vim_clip );
|
||||
STRNCPY(clip_header[0].type, CLIP_TYPE_VIM, 8);
|
||||
clip_header[0].length = sizeof(vim_clip);
|
||||
clip_header[0].data = vim_clip;
|
||||
|
||||
STRNCPY( clip_header[1].type, CLIP_TYPE_TEXT, 8 );
|
||||
STRNCPY(clip_header[1].type, CLIP_TYPE_TEXT, 8);
|
||||
clip_header[1].length = len + 1;
|
||||
clip_header[1].data = text_clip;
|
||||
|
||||
switch( type )
|
||||
switch(type)
|
||||
{
|
||||
default: /* fallthrough to MLINE */
|
||||
case MLINE: *vim_clip = 'L'; break;
|
||||
@@ -148,14 +148,14 @@ clip_mch_set_selection( VimClipboard *cbd )
|
||||
#endif
|
||||
}
|
||||
|
||||
vim_strncpy( text_clip, str, len );
|
||||
vim_strncpy(text_clip, str, len);
|
||||
|
||||
vim_clip[ 1 ] = NUL;
|
||||
|
||||
PhClipboardCopy( PhInputGroup( NULL ), 2, clip_header);
|
||||
PhClipboardCopy(PhInputGroup(NULL), 2, clip_header);
|
||||
}
|
||||
vim_free( text_clip );
|
||||
vim_free(text_clip);
|
||||
}
|
||||
vim_free( str );
|
||||
vim_free(str);
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -2160,10 +2160,13 @@ use_xterm_like_mouse(name)
|
||||
* Return non-zero when using an xterm mouse, according to 'ttymouse'.
|
||||
* Return 1 for "xterm".
|
||||
* Return 2 for "xterm2".
|
||||
* Return 3 for "urxvt".
|
||||
*/
|
||||
int
|
||||
use_xterm_mouse()
|
||||
{
|
||||
if (ttym_flags == TTYM_URXVT)
|
||||
return 3;
|
||||
if (ttym_flags == TTYM_XTERM2)
|
||||
return 2;
|
||||
if (ttym_flags == TTYM_XTERM)
|
||||
@@ -3324,6 +3327,17 @@ mch_setmouse(on)
|
||||
return;
|
||||
|
||||
xterm_mouse_vers = use_xterm_mouse();
|
||||
|
||||
# ifdef FEAT_MOUSE_URXVT
|
||||
if (ttym_flags == TTYM_URXVT) {
|
||||
out_str_nf((char_u *)
|
||||
(on
|
||||
? IF_EB("\033[?1015h", ESC_STR "[?1015h")
|
||||
: IF_EB("\033[?1015l", ESC_STR "[?1015l")));
|
||||
ison = on;
|
||||
}
|
||||
# endif
|
||||
|
||||
if (xterm_mouse_vers > 0)
|
||||
{
|
||||
if (on) /* enable mouse events, use mouse tracking if available */
|
||||
@@ -3440,6 +3454,9 @@ check_mouse_termcode()
|
||||
{
|
||||
# ifdef FEAT_MOUSE_XTERM
|
||||
if (use_xterm_mouse()
|
||||
# ifdef FEAT_MOUSE_URXVT
|
||||
&& use_xterm_mouse() != 3
|
||||
# endif
|
||||
# ifdef FEAT_GUI
|
||||
&& !gui.in_use
|
||||
# endif
|
||||
@@ -3529,6 +3546,27 @@ check_mouse_termcode()
|
||||
else
|
||||
del_mouse_termcode(KS_PTERM_MOUSE);
|
||||
# endif
|
||||
# ifdef FEAT_MOUSE_URXVT
|
||||
/* same as the dec mouse */
|
||||
if (use_xterm_mouse() == 3
|
||||
# ifdef FEAT_GUI
|
||||
&& !gui.in_use
|
||||
# endif
|
||||
)
|
||||
{
|
||||
set_mouse_termcode(KS_URXVT_MOUSE, (char_u *)(term_is_8bit(T_NAME)
|
||||
? IF_EB("\233", CSI_STR)
|
||||
: IF_EB("\033[", ESC_STR "[")));
|
||||
|
||||
if (*p_mouse != NUL)
|
||||
{
|
||||
mch_setmouse(FALSE);
|
||||
setmouse();
|
||||
}
|
||||
}
|
||||
else
|
||||
del_mouse_termcode(KS_URXVT_MOUSE);
|
||||
# endif
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -5168,11 +5206,18 @@ select_eintr:
|
||||
# endif
|
||||
# ifdef EINTR
|
||||
if (ret == -1 && errno == EINTR)
|
||||
{
|
||||
/* Check whether window has been resized, EINTR may be caused by
|
||||
* SIGWINCH. */
|
||||
if (do_resize)
|
||||
handle_resize();
|
||||
|
||||
/* Interrupted by a signal, need to try again. We ignore msec
|
||||
* here, because we do want to check even after a timeout if
|
||||
* characters are available. Needed for reading output of an
|
||||
* external command after the process has finished. */
|
||||
goto select_eintr;
|
||||
}
|
||||
# endif
|
||||
# ifdef __TANDEM
|
||||
if (ret == -1 && errno == ENOTSUP)
|
||||
|
||||
+2
-2
@@ -243,9 +243,9 @@ mch_system(char *cmd, int options)
|
||||
/* Wait for the command to terminate before continuing */
|
||||
while (GetModuleUsage((HINSTANCE)h_module) > 0 && again )
|
||||
{
|
||||
while( PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ) && again )
|
||||
while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE) && again)
|
||||
{
|
||||
if(msg.message == WM_QUIT)
|
||||
if (msg.message == WM_QUIT)
|
||||
|
||||
{
|
||||
PostQuitMessage(msg.wParam);
|
||||
|
||||
+1
-1
@@ -1700,7 +1700,7 @@ msgid ""
|
||||
"&Load File"
|
||||
msgstr ""
|
||||
"&OK\n"
|
||||
"&Lese Datei"
|
||||
"&Lies Datei"
|
||||
|
||||
#, c-format
|
||||
msgid "E462: Could not prepare for reloading \"%s\""
|
||||
|
||||
+1
-1
@@ -3936,7 +3936,7 @@ again:
|
||||
curwin->w_cursor = old_pos;
|
||||
goto theend;
|
||||
}
|
||||
sprintf((char *)spat, "<%.*s\\%%(\\_[^>]\\{-}[^/]>\\|>\\)\\c", len, p);
|
||||
sprintf((char *)spat, "<%.*s\\>\\%%(\\_[^>]\\{-}[^/]>\\|>\\)\\c", len, p);
|
||||
sprintf((char *)epat, "</%.*s>\\c", len, p);
|
||||
|
||||
r = do_searchpair(spat, (char_u *)"", epat, FORWARD, (char_u *)"",
|
||||
|
||||
@@ -1277,6 +1277,7 @@ find_tags(pat, num_matches, matchesp, flags, mincount, buf_ffname)
|
||||
{
|
||||
FILE *fp;
|
||||
char_u *lbuf; /* line buffer */
|
||||
int lbuf_size = LSIZE; /* length of lbuf */
|
||||
char_u *tag_fname; /* name of tag file */
|
||||
tagname_T tn; /* info for get_tagfname() */
|
||||
int first_file; /* trying first tag file */
|
||||
@@ -1291,6 +1292,7 @@ find_tags(pat, num_matches, matchesp, flags, mincount, buf_ffname)
|
||||
char_u *s;
|
||||
int i;
|
||||
#ifdef FEAT_TAG_BINS
|
||||
int tag_file_sorted = NUL; /* !_TAG_FILE_SORTED value */
|
||||
struct tag_search_info /* Binary search file offsets */
|
||||
{
|
||||
off_t low_offset; /* offset for first char of first line that
|
||||
@@ -1360,13 +1362,8 @@ find_tags(pat, num_matches, matchesp, flags, mincount, buf_ffname)
|
||||
char_u *saved_pat = NULL; /* copy of pat[] */
|
||||
#endif
|
||||
|
||||
/* Use two sets of variables for the pattern: "orgpat" holds the values
|
||||
* for the original pattern and "convpat" converted from 'encoding' to
|
||||
* encoding of the tags file. "pats" point to either one of these. */
|
||||
pat_T *pats;
|
||||
pat_T orgpat; /* holds unconverted pattern info */
|
||||
#ifdef FEAT_MBYTE
|
||||
pat_T convpat; /* holds converted pattern info */
|
||||
vimconv_T vimconv;
|
||||
#endif
|
||||
|
||||
@@ -1390,7 +1387,6 @@ find_tags(pat, num_matches, matchesp, flags, mincount, buf_ffname)
|
||||
|
||||
help_save = curbuf->b_help;
|
||||
orgpat.pat = pat;
|
||||
pats = &orgpat;
|
||||
#ifdef FEAT_MBYTE
|
||||
vimconv.vc_type = CONV_NONE;
|
||||
#endif
|
||||
@@ -1398,7 +1394,7 @@ find_tags(pat, num_matches, matchesp, flags, mincount, buf_ffname)
|
||||
/*
|
||||
* Allocate memory for the buffers that are used
|
||||
*/
|
||||
lbuf = alloc(LSIZE);
|
||||
lbuf = alloc(lbuf_size);
|
||||
tag_fname = alloc(MAXPATHL + 1);
|
||||
#ifdef FEAT_EMACS_TAGS
|
||||
ebuf = alloc(LSIZE);
|
||||
@@ -1424,30 +1420,30 @@ find_tags(pat, num_matches, matchesp, flags, mincount, buf_ffname)
|
||||
if (help_only) /* want tags from help file */
|
||||
curbuf->b_help = TRUE; /* will be restored later */
|
||||
|
||||
pats->len = (int)STRLEN(pat);
|
||||
orgpat.len = (int)STRLEN(pat);
|
||||
#ifdef FEAT_MULTI_LANG
|
||||
if (curbuf->b_help)
|
||||
{
|
||||
/* When "@ab" is specified use only the "ab" language, otherwise
|
||||
* search all languages. */
|
||||
if (pats->len > 3 && pat[pats->len - 3] == '@'
|
||||
&& ASCII_ISALPHA(pat[pats->len - 2])
|
||||
&& ASCII_ISALPHA(pat[pats->len - 1]))
|
||||
if (orgpat.len > 3 && pat[orgpat.len - 3] == '@'
|
||||
&& ASCII_ISALPHA(pat[orgpat.len - 2])
|
||||
&& ASCII_ISALPHA(pat[orgpat.len - 1]))
|
||||
{
|
||||
saved_pat = vim_strnsave(pat, pats->len - 3);
|
||||
saved_pat = vim_strnsave(pat, orgpat.len - 3);
|
||||
if (saved_pat != NULL)
|
||||
{
|
||||
help_lang_find = &pat[pats->len - 2];
|
||||
pats->pat = saved_pat;
|
||||
pats->len -= 3;
|
||||
help_lang_find = &pat[orgpat.len - 2];
|
||||
orgpat.pat = saved_pat;
|
||||
orgpat.len -= 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
if (p_tl != 0 && pats->len > p_tl) /* adjust for 'taglength' */
|
||||
pats->len = p_tl;
|
||||
if (p_tl != 0 && orgpat.len > p_tl) /* adjust for 'taglength' */
|
||||
orgpat.len = p_tl;
|
||||
|
||||
prepare_pats(pats, has_re);
|
||||
prepare_pats(&orgpat, has_re);
|
||||
|
||||
#ifdef FEAT_TAG_BINS
|
||||
/* This is only to avoid a compiler warning for using search_info
|
||||
@@ -1466,13 +1462,13 @@ find_tags(pat, num_matches, matchesp, flags, mincount, buf_ffname)
|
||||
* Only ignore case when TAG_NOIC not used or 'ignorecase' set.
|
||||
*/
|
||||
#ifdef FEAT_TAG_BINS
|
||||
pats->regmatch.rm_ic = ((p_ic || !noic)
|
||||
&& (findall || pats->headlen == 0 || !p_tbs));
|
||||
orgpat.regmatch.rm_ic = ((p_ic || !noic)
|
||||
&& (findall || orgpat.headlen == 0 || !p_tbs));
|
||||
for (round = 1; round <= 2; ++round)
|
||||
{
|
||||
linear = (pats->headlen == 0 || !p_tbs || round == 2);
|
||||
linear = (orgpat.headlen == 0 || !p_tbs || round == 2);
|
||||
#else
|
||||
pats->regmatch.rm_ic = (p_ic || !noic);
|
||||
orgpat.regmatch.rm_ic = (p_ic || !noic);
|
||||
#endif
|
||||
|
||||
/*
|
||||
@@ -1701,6 +1697,36 @@ find_tags(pat, num_matches, matchesp, flags, mincount, buf_ffname)
|
||||
}
|
||||
line_read_in:
|
||||
|
||||
#ifdef FEAT_MBYTE
|
||||
if (vimconv.vc_type != CONV_NONE)
|
||||
{
|
||||
char_u *conv_line;
|
||||
int len;
|
||||
|
||||
/* Convert every line. Converting the pattern from 'enc' to
|
||||
* the tags file encoding doesn't work, because characters are
|
||||
* not recognized. */
|
||||
conv_line = string_convert(&vimconv, lbuf, NULL);
|
||||
if (conv_line != NULL)
|
||||
{
|
||||
/* Copy or swap lbuf and conv_line. */
|
||||
len = (int)STRLEN(conv_line) + 1;
|
||||
if (len > lbuf_size)
|
||||
{
|
||||
vim_free(lbuf);
|
||||
lbuf = conv_line;
|
||||
lbuf_size = len;
|
||||
}
|
||||
else
|
||||
{
|
||||
STRCPY(lbuf, conv_line);
|
||||
vim_free(conv_line);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef FEAT_EMACS_TAGS
|
||||
/*
|
||||
* Emacs tags line with CTRL-L: New file name on next line.
|
||||
@@ -1770,6 +1796,33 @@ line_read_in:
|
||||
*/
|
||||
if (state == TS_START)
|
||||
{
|
||||
if (STRNCMP(lbuf, "!_TAG_", 6) <= 0)
|
||||
{
|
||||
/*
|
||||
* Read header line.
|
||||
*/
|
||||
#ifdef FEAT_TAG_BINS
|
||||
if (STRNCMP(lbuf, "!_TAG_FILE_SORTED\t", 18) == 0)
|
||||
tag_file_sorted = lbuf[18];
|
||||
#endif
|
||||
#ifdef FEAT_MBYTE
|
||||
if (STRNCMP(lbuf, "!_TAG_FILE_ENCODING\t", 20) == 0)
|
||||
{
|
||||
/* Prepare to convert every line from the specified
|
||||
* encoding to 'encoding'. */
|
||||
for (p = lbuf + 20; *p > ' ' && *p < 127; ++p)
|
||||
;
|
||||
*p = NUL;
|
||||
convert_setup(&vimconv, lbuf + 20, p_enc);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Read the next line. Unrecognized flags are ignored. */
|
||||
continue;
|
||||
}
|
||||
|
||||
/* Headers ends. */
|
||||
|
||||
#ifdef FEAT_TAG_BINS
|
||||
/*
|
||||
* When there is no tag head, or ignoring case, need to do a
|
||||
@@ -1786,24 +1839,20 @@ line_read_in:
|
||||
if (linear)
|
||||
# endif
|
||||
state = TS_LINEAR;
|
||||
else if (STRNCMP(lbuf, "!_TAG_", 6) > 0)
|
||||
else if (tag_file_sorted == NUL)
|
||||
state = TS_BINARY;
|
||||
else if (STRNCMP(lbuf, "!_TAG_FILE_SORTED\t", 18) == 0)
|
||||
else if (tag_file_sorted == '1')
|
||||
state = TS_BINARY;
|
||||
else if (tag_file_sorted == '2')
|
||||
{
|
||||
/* Check sorted flag */
|
||||
if (lbuf[18] == '1')
|
||||
state = TS_BINARY;
|
||||
else if (lbuf[18] == '2')
|
||||
{
|
||||
state = TS_BINARY;
|
||||
sortic = TRUE;
|
||||
pats->regmatch.rm_ic = (p_ic || !noic);
|
||||
}
|
||||
else
|
||||
state = TS_LINEAR;
|
||||
state = TS_BINARY;
|
||||
sortic = TRUE;
|
||||
orgpat.regmatch.rm_ic = (p_ic || !noic);
|
||||
}
|
||||
else
|
||||
state = TS_LINEAR;
|
||||
|
||||
if (state == TS_BINARY && pats->regmatch.rm_ic && !sortic)
|
||||
if (state == TS_BINARY && orgpat.regmatch.rm_ic && !sortic)
|
||||
{
|
||||
/* binary search won't work for ignoring case, use linear
|
||||
* search. */
|
||||
@@ -1843,40 +1892,12 @@ line_read_in:
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef FEAT_MBYTE
|
||||
if (lbuf[0] == '!' && pats == &orgpat
|
||||
&& STRNCMP(lbuf, "!_TAG_FILE_ENCODING\t", 20) == 0)
|
||||
{
|
||||
/* Convert the search pattern from 'encoding' to the
|
||||
* specified encoding. */
|
||||
for (p = lbuf + 20; *p > ' ' && *p < 127; ++p)
|
||||
;
|
||||
*p = NUL;
|
||||
convert_setup(&vimconv, p_enc, lbuf + 20);
|
||||
if (vimconv.vc_type != CONV_NONE)
|
||||
{
|
||||
convpat.pat = string_convert(&vimconv, pats->pat, NULL);
|
||||
if (convpat.pat != NULL)
|
||||
{
|
||||
pats = &convpat;
|
||||
pats->len = (int)STRLEN(pats->pat);
|
||||
prepare_pats(pats, has_re);
|
||||
pats->regmatch.rm_ic = orgpat.regmatch.rm_ic;
|
||||
}
|
||||
}
|
||||
|
||||
/* Prepare for converting a match the other way around. */
|
||||
convert_setup(&vimconv, lbuf + 20, p_enc);
|
||||
continue;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Figure out where the different strings are in this line.
|
||||
* For "normal" tags: Do a quick check if the tag matches.
|
||||
* This speeds up tag searching a lot!
|
||||
*/
|
||||
if (pats->headlen
|
||||
if (orgpat.headlen
|
||||
#ifdef FEAT_EMACS_TAGS
|
||||
&& !is_etag
|
||||
#endif
|
||||
@@ -1933,9 +1954,9 @@ line_read_in:
|
||||
cmplen = (int)(tagp.tagname_end - tagp.tagname);
|
||||
if (p_tl != 0 && cmplen > p_tl) /* adjust for 'taglength' */
|
||||
cmplen = p_tl;
|
||||
if (has_re && pats->headlen < cmplen)
|
||||
cmplen = pats->headlen;
|
||||
else if (state == TS_LINEAR && pats->headlen != cmplen)
|
||||
if (has_re && orgpat.headlen < cmplen)
|
||||
cmplen = orgpat.headlen;
|
||||
else if (state == TS_LINEAR && orgpat.headlen != cmplen)
|
||||
continue;
|
||||
|
||||
#ifdef FEAT_TAG_BINS
|
||||
@@ -1954,10 +1975,10 @@ line_read_in:
|
||||
* Compare the current tag with the searched tag.
|
||||
*/
|
||||
if (sortic)
|
||||
tagcmp = tag_strnicmp(tagp.tagname, pats->head,
|
||||
tagcmp = tag_strnicmp(tagp.tagname, orgpat.head,
|
||||
(size_t)cmplen);
|
||||
else
|
||||
tagcmp = STRNCMP(tagp.tagname, pats->head, cmplen);
|
||||
tagcmp = STRNCMP(tagp.tagname, orgpat.head, cmplen);
|
||||
|
||||
/*
|
||||
* A match with a shorter tag means to search forward.
|
||||
@@ -1965,9 +1986,9 @@ line_read_in:
|
||||
*/
|
||||
if (tagcmp == 0)
|
||||
{
|
||||
if (cmplen < pats->headlen)
|
||||
if (cmplen < orgpat.headlen)
|
||||
tagcmp = -1;
|
||||
else if (cmplen > pats->headlen)
|
||||
else if (cmplen > orgpat.headlen)
|
||||
tagcmp = 1;
|
||||
}
|
||||
|
||||
@@ -2011,7 +2032,7 @@ line_read_in:
|
||||
}
|
||||
else if (state == TS_SKIP_BACK)
|
||||
{
|
||||
if (MB_STRNICMP(tagp.tagname, pats->head, cmplen) != 0)
|
||||
if (MB_STRNICMP(tagp.tagname, orgpat.head, cmplen) != 0)
|
||||
state = TS_STEP_FORWARD;
|
||||
else
|
||||
/* Have to skip back more. Restore the curr_offset
|
||||
@@ -2021,7 +2042,7 @@ line_read_in:
|
||||
}
|
||||
else if (state == TS_STEP_FORWARD)
|
||||
{
|
||||
if (MB_STRNICMP(tagp.tagname, pats->head, cmplen) != 0)
|
||||
if (MB_STRNICMP(tagp.tagname, orgpat.head, cmplen) != 0)
|
||||
{
|
||||
if ((off_t)ftell(fp) > search_info.match_offset)
|
||||
break; /* past last match */
|
||||
@@ -2032,7 +2053,7 @@ line_read_in:
|
||||
else
|
||||
#endif
|
||||
/* skip this match if it can't match */
|
||||
if (MB_STRNICMP(tagp.tagname, pats->head, cmplen) != 0)
|
||||
if (MB_STRNICMP(tagp.tagname, orgpat.head, cmplen) != 0)
|
||||
continue;
|
||||
|
||||
/*
|
||||
@@ -2083,41 +2104,41 @@ line_read_in:
|
||||
if (p_tl != 0 && cmplen > p_tl) /* adjust for 'taglength' */
|
||||
cmplen = p_tl;
|
||||
/* if tag length does not match, don't try comparing */
|
||||
if (pats->len != cmplen)
|
||||
if (orgpat.len != cmplen)
|
||||
match = FALSE;
|
||||
else
|
||||
{
|
||||
if (pats->regmatch.rm_ic)
|
||||
if (orgpat.regmatch.rm_ic)
|
||||
{
|
||||
match = (MB_STRNICMP(tagp.tagname, pats->pat, cmplen) == 0);
|
||||
match = (MB_STRNICMP(tagp.tagname, orgpat.pat, cmplen) == 0);
|
||||
if (match)
|
||||
match_no_ic = (STRNCMP(tagp.tagname, pats->pat,
|
||||
match_no_ic = (STRNCMP(tagp.tagname, orgpat.pat,
|
||||
cmplen) == 0);
|
||||
}
|
||||
else
|
||||
match = (STRNCMP(tagp.tagname, pats->pat, cmplen) == 0);
|
||||
match = (STRNCMP(tagp.tagname, orgpat.pat, cmplen) == 0);
|
||||
}
|
||||
|
||||
/*
|
||||
* Has a regexp: Also find tags matching regexp.
|
||||
*/
|
||||
match_re = FALSE;
|
||||
if (!match && pats->regmatch.regprog != NULL)
|
||||
if (!match && orgpat.regmatch.regprog != NULL)
|
||||
{
|
||||
int cc;
|
||||
|
||||
cc = *tagp.tagname_end;
|
||||
*tagp.tagname_end = NUL;
|
||||
match = vim_regexec(&pats->regmatch, tagp.tagname, (colnr_T)0);
|
||||
match = vim_regexec(&orgpat.regmatch, tagp.tagname, (colnr_T)0);
|
||||
if (match)
|
||||
{
|
||||
matchoff = (int)(pats->regmatch.startp[0] - tagp.tagname);
|
||||
if (pats->regmatch.rm_ic)
|
||||
matchoff = (int)(orgpat.regmatch.startp[0] - tagp.tagname);
|
||||
if (orgpat.regmatch.rm_ic)
|
||||
{
|
||||
pats->regmatch.rm_ic = FALSE;
|
||||
match_no_ic = vim_regexec(&pats->regmatch, tagp.tagname,
|
||||
orgpat.regmatch.rm_ic = FALSE;
|
||||
match_no_ic = vim_regexec(&orgpat.regmatch, tagp.tagname,
|
||||
(colnr_T)0);
|
||||
pats->regmatch.rm_ic = TRUE;
|
||||
orgpat.regmatch.rm_ic = TRUE;
|
||||
}
|
||||
}
|
||||
*tagp.tagname_end = cc;
|
||||
@@ -2174,7 +2195,7 @@ line_read_in:
|
||||
else
|
||||
mtt = MT_GL_OTH;
|
||||
}
|
||||
if (pats->regmatch.rm_ic && !match_no_ic)
|
||||
if (orgpat.regmatch.rm_ic && !match_no_ic)
|
||||
mtt += MT_IC_OFF;
|
||||
if (match_re)
|
||||
mtt += MT_RE_OFF;
|
||||
@@ -2187,35 +2208,6 @@ line_read_in:
|
||||
*/
|
||||
if (ga_grow(&ga_match[mtt], 1) == OK)
|
||||
{
|
||||
#ifdef FEAT_MBYTE
|
||||
char_u *conv_line = NULL;
|
||||
char_u *lbuf_line = lbuf;
|
||||
|
||||
if (vimconv.vc_type != CONV_NONE)
|
||||
{
|
||||
/* Convert the tag line from the encoding of the tags
|
||||
* file to 'encoding'. Then parse the line again. */
|
||||
conv_line = string_convert(&vimconv, lbuf, NULL);
|
||||
if (conv_line != NULL)
|
||||
{
|
||||
if (parse_tag_line(conv_line,
|
||||
#ifdef FEAT_EMACS_TAGS
|
||||
is_etag,
|
||||
#endif
|
||||
&tagp) == OK)
|
||||
lbuf_line = conv_line;
|
||||
else
|
||||
/* doesn't work, go back to unconverted line. */
|
||||
(void)parse_tag_line(lbuf,
|
||||
#ifdef FEAT_EMACS_TAGS
|
||||
is_etag,
|
||||
#endif
|
||||
&tagp);
|
||||
}
|
||||
}
|
||||
#else
|
||||
# define lbuf_line lbuf
|
||||
#endif
|
||||
if (help_only)
|
||||
{
|
||||
#ifdef FEAT_MULTI_LANG
|
||||
@@ -2307,7 +2299,7 @@ line_read_in:
|
||||
* without Emacs tags: <mtt><tag_fname><NUL><lbuf>
|
||||
*/
|
||||
len = (int)STRLEN(tag_fname)
|
||||
+ (int)STRLEN(lbuf_line) + 3;
|
||||
+ (int)STRLEN(lbuf) + 3;
|
||||
#ifdef FEAT_EMACS_TAGS
|
||||
if (is_etag)
|
||||
len += (int)STRLEN(ebuf) + 1;
|
||||
@@ -2337,7 +2329,7 @@ line_read_in:
|
||||
else
|
||||
*s++ = NUL;
|
||||
#endif
|
||||
STRCPY(s, lbuf_line);
|
||||
STRCPY(s, lbuf);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2373,10 +2365,6 @@ line_read_in:
|
||||
else
|
||||
vim_free(mfp);
|
||||
}
|
||||
#ifdef FEAT_MBYTE
|
||||
/* Note: this makes the values in "tagp" invalid! */
|
||||
vim_free(conv_line);
|
||||
#endif
|
||||
}
|
||||
else /* Out of memory! Just forget about the rest. */
|
||||
{
|
||||
@@ -2415,19 +2403,12 @@ line_read_in:
|
||||
}
|
||||
#endif
|
||||
#ifdef FEAT_MBYTE
|
||||
if (pats == &convpat)
|
||||
{
|
||||
/* Go back from converted pattern to original pattern. */
|
||||
vim_free(pats->pat);
|
||||
vim_free(pats->regmatch.regprog);
|
||||
orgpat.regmatch.rm_ic = pats->regmatch.rm_ic;
|
||||
pats = &orgpat;
|
||||
}
|
||||
if (vimconv.vc_type != CONV_NONE)
|
||||
convert_setup(&vimconv, NULL, NULL);
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_TAG_BINS
|
||||
tag_file_sorted = NUL;
|
||||
if (sort_error)
|
||||
{
|
||||
EMSG2(_("E432: Tags file not sorted: %s"), tag_fname);
|
||||
@@ -2461,13 +2442,13 @@ line_read_in:
|
||||
#ifdef FEAT_TAG_BINS
|
||||
/* stop searching when already did a linear search, or when TAG_NOIC
|
||||
* used, and 'ignorecase' not set or already did case-ignore search */
|
||||
if (stop_searching || linear || (!p_ic && noic) || pats->regmatch.rm_ic)
|
||||
if (stop_searching || linear || (!p_ic && noic) || orgpat.regmatch.rm_ic)
|
||||
break;
|
||||
# ifdef FEAT_CSCOPE
|
||||
if (use_cscope)
|
||||
break;
|
||||
# endif
|
||||
pats->regmatch.rm_ic = TRUE; /* try another time while ignoring case */
|
||||
orgpat.regmatch.rm_ic = TRUE; /* try another time while ignoring case */
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -2480,7 +2461,7 @@ line_read_in:
|
||||
|
||||
findtag_end:
|
||||
vim_free(lbuf);
|
||||
vim_free(pats->regmatch.regprog);
|
||||
vim_free(orgpat.regmatch.regprog);
|
||||
vim_free(tag_fname);
|
||||
#ifdef FEAT_EMACS_TAGS
|
||||
vim_free(ebuf);
|
||||
|
||||
+69
-2
@@ -4008,7 +4008,9 @@ check_termcode(max_offset, buf, buflen)
|
||||
}
|
||||
|
||||
#ifdef FEAT_TERMRESPONSE
|
||||
if (key_name[0] == NUL)
|
||||
if (key_name[0] == NUL
|
||||
/* URXVT mouse uses <ESC>[#;#;#M, but we are matching <ESC>[ */
|
||||
|| key_name[0] == KS_URXVT_MOUSE)
|
||||
{
|
||||
/* Check for xterm version string: "<Esc>[>{x};{vers};{y}c". Also
|
||||
* eat other possible responses to t_RV, rxvt returns
|
||||
@@ -4047,7 +4049,7 @@ check_termcode(max_offset, buf, buflen)
|
||||
if (tp[1 + (tp[0] != CSI)] == '>' && j == 2)
|
||||
{
|
||||
/* if xterm version >= 95 use mouse dragging */
|
||||
if (extra >= 95)
|
||||
if (extra >= 95 && ttym_flags != TTYM_URXVT)
|
||||
set_option_value((char_u *)"ttym", 0L,
|
||||
(char_u *)"xterm2", 0);
|
||||
/* if xterm version >= 141 try to get termcap codes */
|
||||
@@ -4140,6 +4142,9 @@ check_termcode(max_offset, buf, buflen)
|
||||
# endif
|
||||
# ifdef FEAT_MOUSE_PTERM
|
||||
|| key_name[0] == (int)KS_PTERM_MOUSE
|
||||
# endif
|
||||
# ifdef FEAT_MOUSE_URXVT
|
||||
|| key_name[0] == (int)KS_URXVT_MOUSE
|
||||
# endif
|
||||
)
|
||||
{
|
||||
@@ -4219,7 +4224,69 @@ check_termcode(max_offset, buf, buflen)
|
||||
else
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
# ifdef FEAT_MOUSE_URXVT
|
||||
if (key_name[0] == (int)KS_URXVT_MOUSE)
|
||||
{
|
||||
for (;;)
|
||||
{
|
||||
/* URXVT 1015 mouse reporting mode:
|
||||
* Almost identical to xterm mouse mode, except the values
|
||||
* are decimal instead of bytes.
|
||||
*
|
||||
* \033[%d;%d;%dM
|
||||
* ^-- row
|
||||
* ^----- column
|
||||
* ^-------- code
|
||||
*/
|
||||
p = tp + slen;
|
||||
|
||||
mouse_code = getdigits(&p);
|
||||
if (*p++ != ';')
|
||||
return -1;
|
||||
|
||||
mouse_col = getdigits(&p) - 1;
|
||||
if (*p++ != ';')
|
||||
return -1;
|
||||
|
||||
mouse_row = getdigits(&p) - 1;
|
||||
if (*p++ != 'M')
|
||||
return -1;
|
||||
|
||||
slen += (int)(p - (tp + slen));
|
||||
|
||||
/* skip this one if next one has same code (like xterm
|
||||
* case) */
|
||||
j = termcodes[idx].len;
|
||||
if (STRNCMP(tp, tp + slen, (size_t)j) == 0) {
|
||||
/* check if the command is complete by looking for the
|
||||
* M */
|
||||
int slen2;
|
||||
int cmd_complete = 0;
|
||||
for (slen2 = slen; slen2 < len; slen2++) {
|
||||
if (tp[slen2] == 'M') {
|
||||
cmd_complete = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
p += j;
|
||||
if (cmd_complete && getdigits(&p) == mouse_code) {
|
||||
slen += j; /* skip the \033[ */
|
||||
continue;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
# endif
|
||||
|
||||
if (key_name[0] == (int)KS_MOUSE
|
||||
#ifdef FEAT_MOUSE_URXVT
|
||||
|| key_name[0] == (int)KS_URXVT_MOUSE
|
||||
#endif
|
||||
)
|
||||
{
|
||||
# if !defined(MSWIN) && !defined(MSDOS)
|
||||
/*
|
||||
* Handle mouse events.
|
||||
|
||||
@@ -29,7 +29,7 @@ SCRIPTS = test1.out test3.out test4.out test5.out test6.out \
|
||||
test66.out test67.out test68.out test69.out test70.out \
|
||||
test71.out test72.out test73.out test74.out test75.out \
|
||||
test76.out test77.out test78.out test79.out test80.out \
|
||||
test81.out test82.out
|
||||
test81.out test82.out test83.out
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
|
||||
@@ -131,3 +131,4 @@ test79.out: test79.in
|
||||
test80.out: test80.in
|
||||
test81.out: test81.in
|
||||
test82.out: test82.in
|
||||
test83.out: test83.in
|
||||
|
||||
@@ -29,7 +29,7 @@ SCRIPTS = test3.out test4.out test5.out test6.out test7.out \
|
||||
test42.out test52.out test65.out test66.out test67.out \
|
||||
test68.out test69.out test71.out test72.out test73.out \
|
||||
test74.out test75.out test76.out test77.out test78.out \
|
||||
test79.out test80.out test81.out test82.out
|
||||
test79.out test80.out test81.out test82.out test83.out
|
||||
|
||||
SCRIPTS32 = test50.out test70.out
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ SCRIPTS = test3.out test4.out test5.out test6.out test7.out \
|
||||
test42.out test52.out test65.out test66.out test67.out \
|
||||
test68.out test69.out test71.out test72.out test73.out \
|
||||
test74.out test75.out test76.out test77.out test78.out \
|
||||
test79.out test80.out test81.out test82.out
|
||||
test79.out test80.out test81.out test82.out test83.out
|
||||
|
||||
SCRIPTS32 = test50.out test70.out
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ SCRIPTS = test1.out test3.out test4.out test5.out test6.out \
|
||||
test66.out test67.out test68.out test69.out test70.out \
|
||||
test71.out test72.out test73.out test74.out test75.out \
|
||||
test76.out test77.out test78.out test79.out test80.out \
|
||||
test81.out test82.out
|
||||
test81.out test82.out test83.out
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
|
||||
|
||||
@@ -76,7 +76,7 @@ SCRIPT = test1.out test2.out test3.out test4.out test5.out \
|
||||
test66.out test67.out test68.out test69.out \
|
||||
test71.out test72.out test74.out test75.out test76.out \
|
||||
test77.out test78.out test79.out test80.out test81.out \
|
||||
test82.out
|
||||
test82.out test83.out
|
||||
|
||||
# Known problems:
|
||||
# Test 30: a problem around mac format - unknown reason
|
||||
|
||||
@@ -26,7 +26,7 @@ SCRIPTS = test1.out test2.out test3.out test4.out test5.out test6.out \
|
||||
test64.out test65.out test66.out test67.out test68.out \
|
||||
test69.out test70.out test71.out test72.out test73.out \
|
||||
test74.out test75.out test76.out test77.out test78.out \
|
||||
test79.out test80.out test81.out test82.out
|
||||
test79.out test80.out test81.out test82.out test83.out
|
||||
|
||||
SCRIPTS_GUI = test16.out
|
||||
|
||||
@@ -72,7 +72,7 @@ test1.out: test1.in
|
||||
fi \
|
||||
else echo $* NO OUTPUT >>test.log; \
|
||||
fi"
|
||||
-rm -rf X* test.ok viminfo
|
||||
# -rm -rf X* test.ok viminfo
|
||||
|
||||
test49.out: test49.vim
|
||||
|
||||
|
||||
@@ -1308,6 +1308,20 @@ protected:
|
||||
void testfall();
|
||||
};
|
||||
|
||||
STARTTEST
|
||||
:set cino=(0,gs,hs
|
||||
2kdd]]=][
|
||||
ENDTEST
|
||||
|
||||
class Foo : public Bar
|
||||
{
|
||||
public:
|
||||
virtual void method1(void) = 0;
|
||||
virtual void method2(int arg1,
|
||||
int arg2,
|
||||
int arg3) = 0;
|
||||
};
|
||||
|
||||
STARTTEST
|
||||
:set cino=+20
|
||||
2kdd]]=][
|
||||
|
||||
@@ -1190,6 +1190,16 @@ protected:
|
||||
};
|
||||
|
||||
|
||||
class Foo : public Bar
|
||||
{
|
||||
public:
|
||||
virtual void method1(void) = 0;
|
||||
virtual void method2(int arg1,
|
||||
int arg2,
|
||||
int arg3) = 0;
|
||||
};
|
||||
|
||||
|
||||
void
|
||||
foo()
|
||||
{
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
xxx4asdf fail nop ok 9 333
|
||||
XX111XX
|
||||
XX111-XX
|
||||
---222---
|
||||
1. one
|
||||
2. two
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
!_TAG_FILE_ENCODING cp932 //
|
||||
‚`‚a‚b Xtags2.txt /‚`‚a‚b
|
||||
@@ -0,0 +1,102 @@
|
||||
!_TAG_FILE_SORTED 1 //
|
||||
!_TAG_FILE_ENCODING cp932 //
|
||||
abc1 Xtags3.txt /‚`‚a‚b
|
||||
abc2 Xtags3.txt /‚`‚a‚b
|
||||
abc3 Xtags3.txt /‚`‚a‚b
|
||||
abc4 Xtags3.txt /‚`‚a‚b
|
||||
abc5 Xtags3.txt /‚`‚a‚b
|
||||
abc6 Xtags3.txt /‚`‚a‚b
|
||||
abc7 Xtags3.txt /‚`‚a‚b
|
||||
abc8 Xtags3.txt /‚`‚a‚b
|
||||
abc9 Xtags3.txt /‚`‚a‚b
|
||||
abc10 Xtags3.txt /‚`‚a‚b
|
||||
abc11 Xtags3.txt /‚`‚a‚b
|
||||
abc12 Xtags3.txt /‚`‚a‚b
|
||||
abc13 Xtags3.txt /‚`‚a‚b
|
||||
abc14 Xtags3.txt /‚`‚a‚b
|
||||
abc15 Xtags3.txt /‚`‚a‚b
|
||||
abc16 Xtags3.txt /‚`‚a‚b
|
||||
abc17 Xtags3.txt /‚`‚a‚b
|
||||
abc18 Xtags3.txt /‚`‚a‚b
|
||||
abc19 Xtags3.txt /‚`‚a‚b
|
||||
abc20 Xtags3.txt /‚`‚a‚b
|
||||
abc21 Xtags3.txt /‚`‚a‚b
|
||||
abc22 Xtags3.txt /‚`‚a‚b
|
||||
abc23 Xtags3.txt /‚`‚a‚b
|
||||
abc24 Xtags3.txt /‚`‚a‚b
|
||||
abc25 Xtags3.txt /‚`‚a‚b
|
||||
abc26 Xtags3.txt /‚`‚a‚b
|
||||
abc27 Xtags3.txt /‚`‚a‚b
|
||||
abc28 Xtags3.txt /‚`‚a‚b
|
||||
abc29 Xtags3.txt /‚`‚a‚b
|
||||
abc30 Xtags3.txt /‚`‚a‚b
|
||||
abc31 Xtags3.txt /‚`‚a‚b
|
||||
abc32 Xtags3.txt /‚`‚a‚b
|
||||
abc33 Xtags3.txt /‚`‚a‚b
|
||||
abc34 Xtags3.txt /‚`‚a‚b
|
||||
abc35 Xtags3.txt /‚`‚a‚b
|
||||
abc36 Xtags3.txt /‚`‚a‚b
|
||||
abc37 Xtags3.txt /‚`‚a‚b
|
||||
abc38 Xtags3.txt /‚`‚a‚b
|
||||
abc39 Xtags3.txt /‚`‚a‚b
|
||||
abc40 Xtags3.txt /‚`‚a‚b
|
||||
abc41 Xtags3.txt /‚`‚a‚b
|
||||
abc42 Xtags3.txt /‚`‚a‚b
|
||||
abc43 Xtags3.txt /‚`‚a‚b
|
||||
abc44 Xtags3.txt /‚`‚a‚b
|
||||
abc45 Xtags3.txt /‚`‚a‚b
|
||||
abc46 Xtags3.txt /‚`‚a‚b
|
||||
abc47 Xtags3.txt /‚`‚a‚b
|
||||
abc48 Xtags3.txt /‚`‚a‚b
|
||||
abc49 Xtags3.txt /‚`‚a‚b
|
||||
abc50 Xtags3.txt /‚`‚a‚b
|
||||
abc51 Xtags3.txt /‚`‚a‚b
|
||||
abc52 Xtags3.txt /‚`‚a‚b
|
||||
abc53 Xtags3.txt /‚`‚a‚b
|
||||
abc54 Xtags3.txt /‚`‚a‚b
|
||||
abc55 Xtags3.txt /‚`‚a‚b
|
||||
abc56 Xtags3.txt /‚`‚a‚b
|
||||
abc57 Xtags3.txt /‚`‚a‚b
|
||||
abc58 Xtags3.txt /‚`‚a‚b
|
||||
abc59 Xtags3.txt /‚`‚a‚b
|
||||
abc60 Xtags3.txt /‚`‚a‚b
|
||||
abc61 Xtags3.txt /‚`‚a‚b
|
||||
abc62 Xtags3.txt /‚`‚a‚b
|
||||
abc63 Xtags3.txt /‚`‚a‚b
|
||||
abc64 Xtags3.txt /‚`‚a‚b
|
||||
abc65 Xtags3.txt /‚`‚a‚b
|
||||
abc66 Xtags3.txt /‚`‚a‚b
|
||||
abc67 Xtags3.txt /‚`‚a‚b
|
||||
abc68 Xtags3.txt /‚`‚a‚b
|
||||
abc69 Xtags3.txt /‚`‚a‚b
|
||||
abc70 Xtags3.txt /‚`‚a‚b
|
||||
abc71 Xtags3.txt /‚`‚a‚b
|
||||
abc72 Xtags3.txt /‚`‚a‚b
|
||||
abc73 Xtags3.txt /‚`‚a‚b
|
||||
abc74 Xtags3.txt /‚`‚a‚b
|
||||
abc75 Xtags3.txt /‚`‚a‚b
|
||||
abc76 Xtags3.txt /‚`‚a‚b
|
||||
abc77 Xtags3.txt /‚`‚a‚b
|
||||
abc78 Xtags3.txt /‚`‚a‚b
|
||||
abc79 Xtags3.txt /‚`‚a‚b
|
||||
abc80 Xtags3.txt /‚`‚a‚b
|
||||
abc81 Xtags3.txt /‚`‚a‚b
|
||||
abc82 Xtags3.txt /‚`‚a‚b
|
||||
abc83 Xtags3.txt /‚`‚a‚b
|
||||
abc84 Xtags3.txt /‚`‚a‚b
|
||||
abc85 Xtags3.txt /‚`‚a‚b
|
||||
abc86 Xtags3.txt /‚`‚a‚b
|
||||
abc87 Xtags3.txt /‚`‚a‚b
|
||||
abc88 Xtags3.txt /‚`‚a‚b
|
||||
abc89 Xtags3.txt /‚`‚a‚b
|
||||
abc90 Xtags3.txt /‚`‚a‚b
|
||||
abc91 Xtags3.txt /‚`‚a‚b
|
||||
abc92 Xtags3.txt /‚`‚a‚b
|
||||
abc93 Xtags3.txt /‚`‚a‚b
|
||||
abc94 Xtags3.txt /‚`‚a‚b
|
||||
abc95 Xtags3.txt /‚`‚a‚b
|
||||
abc96 Xtags3.txt /‚`‚a‚b
|
||||
abc97 Xtags3.txt /‚`‚a‚b
|
||||
abc98 Xtags3.txt /‚`‚a‚b
|
||||
abc99 Xtags3.txt /‚`‚a‚b
|
||||
abc100 Xtags3.txt /‚`‚a‚b
|
||||
@@ -0,0 +1,76 @@
|
||||
Tests for tag search with !_TAG_FILE_ENCODING.
|
||||
|
||||
STARTTEST
|
||||
:so mbyte.vim
|
||||
:if !has('iconv')
|
||||
: e! test.ok
|
||||
: w! test.out
|
||||
: qa!
|
||||
:endif
|
||||
:set enc=utf8
|
||||
|
||||
:/^text for tags1$/,/^text for tags1$/+1w! Xtags1.txt
|
||||
:/^text for tags2$/,/^text for tags2$/+1w! Xtags2.txt
|
||||
:/^text for tags3$/,/^text for tags3$/+1w! Xtags3.txt
|
||||
:/^tags1$/+1,/^tags1-end$/-1w! Xtags1
|
||||
|
||||
ggdG
|
||||
|
||||
:call setline('.', 'Results of test83')
|
||||
|
||||
:" case1:
|
||||
:new
|
||||
:set tags=Xtags1
|
||||
:let v:errmsg = ''
|
||||
:tag abcdefghijklmnopqrs
|
||||
:if v:errmsg =~ 'E426:' || getline('.') != 'abcdefghijklmnopqrs'
|
||||
: close
|
||||
: put ='case1: failed'
|
||||
:else
|
||||
: close
|
||||
: put ='case1: ok'
|
||||
:endif
|
||||
|
||||
:" case2:
|
||||
:new
|
||||
:set tags=test83-tags2
|
||||
:let v:errmsg = ''
|
||||
:tag /.BC
|
||||
:if v:errmsg =~ 'E426:' || getline('.') != 'ABC'
|
||||
: close
|
||||
: put ='case2: failed'
|
||||
:else
|
||||
: close
|
||||
: put ='case2: ok'
|
||||
:endif
|
||||
|
||||
:" case3:
|
||||
:new
|
||||
:set tags=test83-tags3
|
||||
:let v:errmsg = ''
|
||||
:tag abc50
|
||||
:if v:errmsg =~ 'E426:' || getline('.') != 'ABC'
|
||||
: close
|
||||
: put ='case3: failed'
|
||||
:else
|
||||
: close
|
||||
: put ='case3: ok'
|
||||
:endif
|
||||
:close
|
||||
|
||||
:wq! test.out
|
||||
ENDTEST
|
||||
|
||||
text for tags1
|
||||
abcdefghijklmnopqrs
|
||||
|
||||
text for tags2
|
||||
ABC
|
||||
|
||||
text for tags3
|
||||
ABC
|
||||
|
||||
tags1
|
||||
!_TAG_FILE_ENCODING utf-8 //
|
||||
abcdefghijklmnopqrs Xtags1.txt /abcdefghijklmnopqrs
|
||||
tags1-end
|
||||
@@ -0,0 +1,4 @@
|
||||
Results of test83
|
||||
case1: ok
|
||||
case2: ok
|
||||
case3: ok
|
||||
@@ -384,6 +384,11 @@ static char *(features[]) =
|
||||
# else
|
||||
"-mouse_xterm",
|
||||
# endif
|
||||
# ifdef FEAT_MOUSE_URXVT
|
||||
"+mouse_urxvt",
|
||||
# else
|
||||
"-mouse_urxvt",
|
||||
# endif
|
||||
#endif
|
||||
#ifdef __QNX__
|
||||
# ifdef FEAT_MOUSE_PTERM
|
||||
@@ -724,6 +729,82 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
353,
|
||||
/**/
|
||||
352,
|
||||
/**/
|
||||
351,
|
||||
/**/
|
||||
350,
|
||||
/**/
|
||||
349,
|
||||
/**/
|
||||
348,
|
||||
/**/
|
||||
347,
|
||||
/**/
|
||||
346,
|
||||
/**/
|
||||
345,
|
||||
/**/
|
||||
344,
|
||||
/**/
|
||||
343,
|
||||
/**/
|
||||
342,
|
||||
/**/
|
||||
341,
|
||||
/**/
|
||||
340,
|
||||
/**/
|
||||
339,
|
||||
/**/
|
||||
338,
|
||||
/**/
|
||||
337,
|
||||
/**/
|
||||
336,
|
||||
/**/
|
||||
335,
|
||||
/**/
|
||||
334,
|
||||
/**/
|
||||
333,
|
||||
/**/
|
||||
332,
|
||||
/**/
|
||||
331,
|
||||
/**/
|
||||
330,
|
||||
/**/
|
||||
329,
|
||||
/**/
|
||||
328,
|
||||
/**/
|
||||
327,
|
||||
/**/
|
||||
326,
|
||||
/**/
|
||||
325,
|
||||
/**/
|
||||
324,
|
||||
/**/
|
||||
323,
|
||||
/**/
|
||||
322,
|
||||
/**/
|
||||
321,
|
||||
/**/
|
||||
320,
|
||||
/**/
|
||||
319,
|
||||
/**/
|
||||
318,
|
||||
/**/
|
||||
317,
|
||||
/**/
|
||||
316,
|
||||
/**/
|
||||
315,
|
||||
/**/
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
# The most simplistic Makefile, for MinGW gcc on MS-DOS
|
||||
|
||||
ifndef USEDLL
|
||||
USEDLL = no
|
||||
endif
|
||||
|
||||
ifeq (yes, $(USEDLL))
|
||||
DEFINES =
|
||||
LIBS = -lc
|
||||
else
|
||||
DEFINES =
|
||||
LIBS =
|
||||
endif
|
||||
|
||||
CC = gcc
|
||||
CFLAGS = -O2 -Wall -DWIN32 $(DEFINES)
|
||||
|
||||
ifneq (sh.exe, $(SHELL))
|
||||
DEL = rm
|
||||
else
|
||||
DEL = del
|
||||
endif
|
||||
|
||||
xxd.exe: xxd.c
|
||||
$(CC) $(CFLAGS) -s -o xxd.exe xxd.c $(LIBS)
|
||||
|
||||
clean:
|
||||
-$(DEL) xxd.exe
|
||||
Reference in New Issue
Block a user