mirror of
https://github.com/zoriya/vim.git
synced 2025-12-26 09:05:28 +00:00
Compare commits
239 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
30445cb6e9 | ||
|
|
ee1deb4a00 | ||
|
|
65549bdef5 | ||
|
|
144445d15f | ||
|
|
a06ec8f345 | ||
|
|
ba768495c2 | ||
|
|
245a7cb6d3 | ||
|
|
bc5d6dd1dd | ||
|
|
bf2cc5f36d | ||
|
|
dcb1700186 | ||
|
|
1e5e1231ac | ||
|
|
9d5d3c9c44 | ||
|
|
05e418d436 | ||
|
|
6bb450145e | ||
|
|
e381d3d5e0 | ||
|
|
00efded106 | ||
|
|
80632db65e | ||
|
|
b33c7eb5b8 | ||
|
|
ab9c89b68d | ||
|
|
dec85cf750 | ||
|
|
fef524bbff | ||
|
|
3b98b83001 | ||
|
|
e18dbe865d | ||
|
|
0fcc7c6dd1 | ||
|
|
75464dc434 | ||
|
|
951fa1819a | ||
|
|
ee2615af64 | ||
|
|
361c8f0e51 | ||
|
|
2acfbed9db | ||
|
|
c5af40ae64 | ||
|
|
bde9810d61 | ||
|
|
22fcfad292 | ||
|
|
8767f52fbf | ||
|
|
4a6c670b84 | ||
|
|
4c5717ed8a | ||
|
|
40de45664c | ||
|
|
e8fea0728a | ||
|
|
70e136e1d8 | ||
|
|
24cf233ef9 | ||
|
|
1d90a5a5af | ||
|
|
6747fabc73 | ||
|
|
bcf7772a23 | ||
|
|
adb78a77eb | ||
|
|
688e3d1fd9 | ||
|
|
97ff9b9cff | ||
|
|
52df117df7 | ||
|
|
00672e1d3f | ||
|
|
04e2b4b0c4 | ||
|
|
aad30bbcde | ||
|
|
eeb50ab522 | ||
|
|
7b61bf187a | ||
|
|
5d2ca04029 | ||
|
|
f4fba6dcd5 | ||
|
|
d388d2ac8b | ||
|
|
802a0d902f | ||
|
|
049cba9e97 | ||
|
|
b12e7ef956 | ||
|
|
85babd6db6 | ||
|
|
f50df3925b | ||
|
|
38df43bd13 | ||
|
|
ad5ca9bc1e | ||
|
|
ecefe71704 | ||
|
|
cf2d77987c | ||
|
|
ddf8d1c746 | ||
|
|
b5b95750a6 | ||
|
|
678e480529 | ||
|
|
d18f672fc9 | ||
|
|
a02a551e18 | ||
|
|
3ef5bf7d45 | ||
|
|
23c60f21b0 | ||
|
|
28607ba2b8 | ||
|
|
36f0f0686c | ||
|
|
ab47c61f46 | ||
|
|
67e3720a9d | ||
|
|
bee666f239 | ||
|
|
9bd3186052 | ||
|
|
72e697d189 | ||
|
|
ece74ab103 | ||
|
|
a641e1d4da | ||
|
|
bf2c0ee0b2 | ||
|
|
2016ae586b | ||
|
|
76ae22fef3 | ||
|
|
5b7d177e89 | ||
|
|
a890f5e348 | ||
|
|
c95a302a4c | ||
|
|
2d35899721 | ||
|
|
cf08946349 | ||
|
|
ae3150ec8d | ||
|
|
06469e979f | ||
|
|
724f2edf75 | ||
|
|
e80ff7448d | ||
|
|
46bbb0c4ba | ||
|
|
62f8b4e180 | ||
|
|
012270936c | ||
|
|
b8aefa46ad | ||
|
|
2a67ed83a8 | ||
|
|
e429e70f05 | ||
|
|
1610d05241 | ||
|
|
1cee693b31 | ||
|
|
1fd99c1ca8 | ||
|
|
abc70bbf36 | ||
|
|
945ec093cd | ||
|
|
5ce4a0b96a | ||
|
|
1d5f1d07ae | ||
|
|
5f1032d2a5 | ||
|
|
fdd82fe365 | ||
|
|
c60954b48e | ||
|
|
45d2eeaad6 | ||
|
|
bbe8d91e69 | ||
|
|
762f175437 | ||
|
|
28b942a064 | ||
|
|
8e31fd52ec | ||
|
|
63a60ded3f | ||
|
|
fd89d7ea81 | ||
|
|
82af8710bf | ||
|
|
82faa259cc | ||
|
|
888ccac890 | ||
|
|
511972d810 | ||
|
|
b3619a90ea | ||
|
|
c9721bdc63 | ||
|
|
9ed96efb3d | ||
|
|
703a8044b5 | ||
|
|
35d88f4e2f | ||
|
|
76b6dfe54b | ||
|
|
e30a3d01dc | ||
|
|
cda7764d8e | ||
|
|
1aa07bdead | ||
|
|
2f095a4bc4 | ||
|
|
ea0345901c | ||
|
|
b37662a0fb | ||
|
|
83e6d7ac6a | ||
|
|
76929af431 | ||
|
|
e38a2f7ebd | ||
|
|
cf7c11a947 | ||
|
|
01d46e41ba | ||
|
|
a0055ad3a7 | ||
|
|
8e759ba865 | ||
|
|
ae3f33040b | ||
|
|
4231da403e | ||
|
|
c4bc0e6542 | ||
|
|
864293abb7 | ||
|
|
dec6c7beda | ||
|
|
cf190c6f01 | ||
|
|
b89a25f17e | ||
|
|
3c809343c7 | ||
|
|
a96732150c | ||
|
|
9ad73239c2 | ||
|
|
22081f4a33 | ||
|
|
9b0ac229bc | ||
|
|
18dfb4404a | ||
|
|
b055066a1d | ||
|
|
e3188e2615 | ||
|
|
ef3abc6442 | ||
|
|
b127cfd75f | ||
|
|
9f5842e63f | ||
|
|
324a78f3b6 | ||
|
|
655da31a18 | ||
|
|
d80629cef0 | ||
|
|
28ae577342 | ||
|
|
af6c12c27b | ||
|
|
180fc2d418 | ||
|
|
bf981eeb6b | ||
|
|
5850a764ea | ||
|
|
6727bf8617 | ||
|
|
13ddc5c359 | ||
|
|
54c10ccf92 | ||
|
|
f8df45d84f | ||
|
|
8e8df251bf | ||
|
|
2177f9fe18 | ||
|
|
03e19a04ac | ||
|
|
26852128a2 | ||
|
|
2b2b8ae5ab | ||
|
|
a570244531 | ||
|
|
2bbf8eff6f | ||
|
|
574860b5ee | ||
|
|
c67e892134 | ||
|
|
1d429610bf | ||
|
|
991dea3ab1 | ||
|
|
908be43879 | ||
|
|
2ff8b64679 | ||
|
|
06d2d38ab7 | ||
|
|
dc303bce10 | ||
|
|
e40d75f6ef | ||
|
|
73a733e08b | ||
|
|
de7eb0a47b | ||
|
|
e0f76d0097 | ||
|
|
fb6ffc732e | ||
|
|
cf7ff70ca7 | ||
|
|
5d96e3ae53 | ||
|
|
36e0f7da9b | ||
|
|
d9db8b448c | ||
|
|
91c4937be1 | ||
|
|
ea83bf06b9 | ||
|
|
4ed6b2e2d7 | ||
|
|
9ccaae04c6 | ||
|
|
827b165b2a | ||
|
|
89c79b9932 | ||
|
|
cefe4f9948 | ||
|
|
d8585eded6 | ||
|
|
9a3b3311d2 | ||
|
|
b8d4905592 | ||
|
|
9b4ebc692d | ||
|
|
187147aedd | ||
|
|
3266c85a44 | ||
|
|
715d285d79 | ||
|
|
868cfc19bb | ||
|
|
8a24b794b8 | ||
|
|
d75263c020 | ||
|
|
8e3d1b6326 | ||
|
|
0648142700 | ||
|
|
4cc39a527f | ||
|
|
b20545f2a7 | ||
|
|
0b6cf69c03 | ||
|
|
6be8c8e165 | ||
|
|
113ce08456 | ||
|
|
631225627d | ||
|
|
61be73bb0f | ||
|
|
bb82762907 | ||
|
|
c61348e83f | ||
|
|
283ee8b3a0 | ||
|
|
5487544fa5 | ||
|
|
c285fe7c3f | ||
|
|
e8aee7dcf9 | ||
|
|
ab3022196e | ||
|
|
674127e180 | ||
|
|
6231cb8b5b | ||
|
|
437905c25d | ||
|
|
c7baa43fdb | ||
|
|
b2658a1ab0 | ||
|
|
d10abe5201 | ||
|
|
490465bda6 | ||
|
|
8e9eb3a6a1 | ||
|
|
af98a49dd0 | ||
|
|
fca6600305 | ||
|
|
da5b3dcf06 | ||
|
|
dc633cf827 | ||
|
|
73dfe917ba | ||
|
|
b2fa54a840 | ||
|
|
3849992b16 |
6
Filelist
6
Filelist
@@ -116,6 +116,7 @@ SRC_ALL = \
|
||||
src/testdir/bench*.vim \
|
||||
src/testdir/samples/*.txt \
|
||||
src/proto.h \
|
||||
src/proto/arabic.pro \
|
||||
src/proto/blowfish.pro \
|
||||
src/proto/buffer.pro \
|
||||
src/proto/channel.pro \
|
||||
@@ -131,6 +132,7 @@ SRC_ALL = \
|
||||
src/proto/ex_docmd.pro \
|
||||
src/proto/ex_eval.pro \
|
||||
src/proto/ex_getln.pro \
|
||||
src/proto/farsi.pro \
|
||||
src/proto/fileio.pro \
|
||||
src/proto/fold.pro \
|
||||
src/proto/getchar.pro \
|
||||
@@ -317,6 +319,8 @@ SRC_DOS = \
|
||||
src/if_ole.h \
|
||||
src/if_ole.idl \
|
||||
src/if_perl_msvc/stdbool.h \
|
||||
src/iscygpty.c \
|
||||
src/iscygpty.h \
|
||||
src/iid_ole.c \
|
||||
src/os_dos.h \
|
||||
src/os_w32dll.c \
|
||||
@@ -379,8 +383,10 @@ SRC_DOS_BIN = \
|
||||
src/xpm/include/*.h \
|
||||
src/xpm/x64/lib/libXpm.a \
|
||||
src/xpm/x64/lib/libXpm.lib \
|
||||
src/xpm/x64/lib-vc14/libXpm.lib \
|
||||
src/xpm/x86/lib/libXpm.a \
|
||||
src/xpm/x86/lib/libXpm.lib \
|
||||
src/xpm/x86/lib-vc14/libXpm.lib \
|
||||
nsis/icons/*.bmp \
|
||||
nsis/icons/*.ico \
|
||||
|
||||
|
||||
@@ -215,6 +215,28 @@ Section "Vim executables and runtime files"
|
||||
SetOutPath $0\macros
|
||||
File ${VIMRT}\macros\*.*
|
||||
|
||||
SetOutPath $0\pack\dist\opt\dvorak\dvorak
|
||||
File ${VIMRT}\pack\dist\opt\dvorak\dvorak\*.*
|
||||
SetOutPath $0\pack\dist\opt\dvorak\plugin
|
||||
File ${VIMRT}\pack\dist\opt\dvorak\plugin\*.*
|
||||
|
||||
SetOutPath $0\pack\dist\opt\editexisting\plugin
|
||||
File ${VIMRT}\pack\dist\opt\editexisting\plugin\*.*
|
||||
|
||||
SetOutPath $0\pack\dist\opt\justify\plugin
|
||||
File ${VIMRT}\pack\dist\opt\justify\plugin\*.*
|
||||
|
||||
SetOutPath $0\pack\dist\opt\matchit\doc
|
||||
File ${VIMRT}\pack\dist\opt\matchit\doc\*.*
|
||||
SetOutPath $0\pack\dist\opt\matchit\plugin
|
||||
File ${VIMRT}\pack\dist\opt\matchit\plugin\*.*
|
||||
|
||||
SetOutPath $0\pack\dist\opt\shellmenu\plugin
|
||||
File ${VIMRT}\pack\dist\opt\shellmenu\plugin\*.*
|
||||
|
||||
SetOutPath $0\pack\dist\opt\swapmouse\plugin
|
||||
File ${VIMRT}\pack\dist\opt\swapmouse\plugin\*.*
|
||||
|
||||
SetOutPath $0\plugin
|
||||
File ${VIMRT}\plugin\*.*
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim compiler file
|
||||
" Compiler: HTML Tidy
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2013 Jul 7
|
||||
" Last Change: 2016 Apr 21
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
@@ -12,8 +12,8 @@ if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet makeprg=tidy\ -quiet\ -errors\ --gnu-emacs\ yes\ %
|
||||
CompilerSet makeprg=tidy\ -quiet\ -errors\ --gnu-emacs\ yes\ %:S
|
||||
|
||||
" sample warning: foo.html:8:1: Warning: inserting missing 'foobar' element
|
||||
" sample error: foo.html:9:2: Error: <foobar> is not recognized!
|
||||
CompilerSet errorformat=%f:%l:%c:\ Error:%m,%f:%l:%c:\ Warning:%m,%-G%.%#
|
||||
" foo.html:8:1: Warning: inserting missing 'foobar' element
|
||||
" foo.html:9:2: Error: <foobar> is not recognized!
|
||||
CompilerSet errorformat=%f:%l:%c:\ %trror:%m,%f:%l:%c:\ %tarning:%m,%-G%.%#
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*autocmd.txt* For Vim version 7.4. Last change: 2016 Apr 20
|
||||
*autocmd.txt* For Vim version 7.4. Last change: 2016 Jun 09
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1204,6 +1204,8 @@ option will not cause any commands to be executed.
|
||||
argument is present. You probably want to use
|
||||
<nomodeline> for events that are not used when loading
|
||||
a buffer, such as |User|.
|
||||
Processing modelines is also skipped when no
|
||||
matching autocommands were executed.
|
||||
|
||||
*:doautoa* *:doautoall*
|
||||
:doautoa[ll] [<nomodeline>] [group] {event} [fname]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*channel.txt* For Vim version 7.4. Last change: 2016 Mar 28
|
||||
*channel.txt* For Vim version 7.4. Last change: 2016 Jun 02
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -61,7 +61,7 @@ Common combination are:
|
||||
crosss-refrences in a database.
|
||||
|
||||
==============================================================================
|
||||
2. Channel demo *channel-demo*
|
||||
2. Channel demo *channel-demo* *demoserver.py*
|
||||
|
||||
This requires Python. The demo program can be found in
|
||||
$VIMRUNTIME/tools/demoserver.py
|
||||
@@ -146,11 +146,19 @@ Use |ch_status()| to see if the channel could be opened.
|
||||
For all callbacks: Use |function()| to bind it to arguments
|
||||
and/or a Dictionary. Or use the form "dict.function" to bind
|
||||
the Dictionary.
|
||||
|
||||
Callbacks are only called at a "safe" moment, usually when Vim
|
||||
is waiting for the user to type a character. Vim does not use
|
||||
multi-threading.
|
||||
|
||||
*close_cb*
|
||||
"close_cb" A function that is called when the channel gets closed, other
|
||||
than by calling ch_close(). It should be defined like this: >
|
||||
func MyCloseHandler(channel)
|
||||
< *waittime*
|
||||
< Vim will invoke callbacks that handle data before invoking
|
||||
close_cb, thus when this function is called no more data will
|
||||
be received.
|
||||
*waittime*
|
||||
"waittime" The time to wait for the connection to be made in
|
||||
milliseconds. A negative number waits forever.
|
||||
|
||||
@@ -254,10 +262,6 @@ message, it must use the number zero:
|
||||
Then channel handler will then get {response} converted to Vim types. If the
|
||||
channel does not have a handler the message is dropped.
|
||||
|
||||
On read error or ch_close(), when using a socket with RAW or NL mode, the
|
||||
string "DETACH\n" is sent, if still possible. The channel will then be
|
||||
inactive.
|
||||
|
||||
It is also possible to use ch_sendraw() and ch_evalraw() on a JSON or JS
|
||||
channel. The caller is then completely responsible for correct encoding and
|
||||
decoding.
|
||||
@@ -396,6 +400,7 @@ To obtain the status of a channel: ch_status(channel). The possible results
|
||||
are:
|
||||
"fail" Failed to open the channel.
|
||||
"open" The channel can be used.
|
||||
"buffered" The channel was closed but there is data to read.
|
||||
"closed" The channel was closed.
|
||||
|
||||
To obtain the job associated with a channel: ch_getjob(channel)
|
||||
@@ -451,7 +456,7 @@ it like this: >
|
||||
func MyHandler(channel, msg)
|
||||
|
||||
Without the handler you need to read the output with |ch_read()| or
|
||||
|ch_readraw()|.
|
||||
|ch_readraw()|. You can do this in the close callback, see |read-in-close-cb|.
|
||||
|
||||
The handler defined for "out_cb" will not receive stderr. If you want to
|
||||
handle that separately, add an "err_cb" handler: >
|
||||
@@ -490,6 +495,21 @@ time a line is added to the buffer, the last-but-one line will be send to the
|
||||
job stdin. This allows for editing the last line and sending it when pressing
|
||||
Enter.
|
||||
|
||||
|
||||
Reading job output in the close callback ~
|
||||
*read-in-close-cb*
|
||||
If the job can take some time and you don't need intermediate results, you can
|
||||
add a close callback and read the output there: >
|
||||
|
||||
func! CloseHandler(channel)
|
||||
while ch_status(a:channel) == 'buffered'
|
||||
echomsg ch_read(a:channel)
|
||||
endwhile
|
||||
endfunc
|
||||
let job = job_start(command, {'close_cb': 'CloseHandler'})
|
||||
|
||||
You will want to do something more useful than "echomsg".
|
||||
|
||||
==============================================================================
|
||||
9. Starting a job without a channel *job-start-nochannel*
|
||||
|
||||
@@ -553,13 +573,15 @@ See |job_setoptions()| and |ch_setoptions()|.
|
||||
"err_cb" wasn't set the channel callback is used.
|
||||
*job-close_cb*
|
||||
"close_cb": handler Callback for when the channel is closed. Same as
|
||||
"close_cb" on ch_open().
|
||||
"close_cb" on |ch_open()|, see |close_cb|.
|
||||
*job-exit_cb*
|
||||
"exit_cb": handler Callback for when the job ends. The arguments are the
|
||||
job and the exit status.
|
||||
Vim checks about every 10 seconds for jobs that ended.
|
||||
The callback can also be triggered by calling
|
||||
|job_status()|.
|
||||
The check also be triggered by calling |job_status()|,
|
||||
which may then invoke the exit_cb handler.
|
||||
Note that data can be buffered, callbacks may still be
|
||||
called after the process ends.
|
||||
*job-timeout*
|
||||
"timeout" The time to wait for a request when blocking, E.g.
|
||||
when using ch_evalexpr(). In milliseconds. The
|
||||
@@ -603,18 +625,22 @@ See |job_setoptions()| and |ch_setoptions()|.
|
||||
"out_io": "null" disconnect stdout (goes to /dev/null)
|
||||
"out_io": "pipe" stdout is connected to the channel (default)
|
||||
"out_io": "file" stdout writes to a file
|
||||
"out_io": "buffer" stdout appends to a buffer
|
||||
"out_io": "buffer" stdout appends to a buffer (see below)
|
||||
"out_name": "/path/file" the name of the file or buffer to write to
|
||||
"out_buf": number the number of the buffer to write to
|
||||
"out_modifiable": 0 when writing to a buffer, 'modifiable' will be off
|
||||
(see below)
|
||||
|
||||
*job-err_io* *err_name* *err_buf*
|
||||
"err_io": "out" stderr messages to go to stdout
|
||||
"err_io": "null" disconnect stderr (goes to /dev/null)
|
||||
"err_io": "pipe" stderr is connected to the channel (default)
|
||||
"err_io": "file" stderr writes to a file
|
||||
"err_io": "buffer" stderr appends to a buffer
|
||||
"err_io": "buffer" stderr appends to a buffer (see below)
|
||||
"err_name": "/path/file" the name of the file or buffer to write to
|
||||
"err_buf": number the number of the buffer to write to
|
||||
"err_modifiable": 0 when writing to a buffer, 'modifiable' will be off
|
||||
(see below)
|
||||
|
||||
"block_write": number only for testing: pretend every other write to stdin
|
||||
will block
|
||||
@@ -633,14 +659,27 @@ When using JS or JSON mode with "buffer", only messages with zero or negative
|
||||
ID will be added to the buffer, after decoding + encoding. Messages with a
|
||||
positive number will be handled by a callback, commands are handled as usual.
|
||||
|
||||
The name of the buffer is compared the full name of existing buffers. If
|
||||
there is a match that buffer is used. Otherwise a new buffer is created.
|
||||
Use an empty name to always create a new buffer. |ch_getbufnr()| can then be
|
||||
used to get the buffer number.
|
||||
The name of the buffer from "out_name" or "err_name" is compared the full name
|
||||
of existing buffers, also after expanding the name for the current directory.
|
||||
E.g., when a buffer was created with ":edit somename" and the buffer name is
|
||||
"somename" it will use that buffer.
|
||||
|
||||
If there is no matching buffer a new buffer is created. Use an empty name to
|
||||
always create a new buffer. |ch_getbufnr()| can then be used to get the
|
||||
buffer number.
|
||||
|
||||
For a new buffer 'buftype' is set to "nofile" and 'bufhidden' to "hide". If
|
||||
you prefer other settings, create the buffer first and pass the buffer number.
|
||||
|
||||
The "out_modifiable" and "err_modifiable" options can be used to set the
|
||||
'modifiable' option off, or write to a buffer that has 'modifiable' off. That
|
||||
means that lines will be appended to the buffer, but the user can't easily
|
||||
change the buffer.
|
||||
|
||||
When an existing buffer is to be written where 'modifiable' is off and the
|
||||
"out_modifiable" or "err_modifiable" options is not zero, an error is given
|
||||
and the buffer will not be written to.
|
||||
|
||||
When the buffer written to is displayed in a window and the cursor is in the
|
||||
first column of the last line, the cursor will be moved to the newly added
|
||||
line and the window is scrolled up to show the cursor if needed.
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
||||
*filetype.txt* For Vim version 7.4. Last change: 2015 Dec 06
|
||||
*filetype.txt* For Vim version 7.4. Last change: 2016 Jun 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -579,12 +579,56 @@ CTRL-] Jump to the manual page for the word under the cursor.
|
||||
CTRL-T Jump back to the previous manual page.
|
||||
q Same as ":quit"
|
||||
|
||||
To use a vertical split instead of horizontal: >
|
||||
let g:ft_man_open_mode = 'vert'
|
||||
To use a new tab: >
|
||||
let g:ft_man_open_mode = 'tab'
|
||||
|
||||
To enable folding use this: >
|
||||
let g:ft_man_folding_enable = 1
|
||||
If you do not like the default folding, use an autocommand to add your desired
|
||||
folding style instead. For example: >
|
||||
autocmd FileType man setlocal foldmethod=indent foldenable
|
||||
|
||||
You may also want to set 'keywordprg' to make the |K| command open a manual
|
||||
page in a Vim window: >
|
||||
set keywordprg=:Man
|
||||
|
||||
|
||||
MANPAGER *manpager.vim*
|
||||
|
||||
The :Man command allows you to turn Vim into a manpager (that syntax highlights
|
||||
manpages and follows linked manpages on hitting CTRL-]).
|
||||
|
||||
Works on:
|
||||
|
||||
- Linux
|
||||
- Mac OS
|
||||
- FreeBSD
|
||||
- Cygwin
|
||||
- Win 10 under Bash
|
||||
|
||||
Untested:
|
||||
|
||||
- Amiga OS
|
||||
- BeOS
|
||||
- OS/2
|
||||
|
||||
For bash,zsh,ksh or dash by adding to the config file (.bashrc,.zshrc, ...)
|
||||
|
||||
export MANPAGER="env MAN_PN=1 vim -M +MANPAGER -"
|
||||
|
||||
For (t)csh by adding to the config file
|
||||
|
||||
setenv MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"
|
||||
|
||||
For fish by adding to the config file
|
||||
|
||||
set -x MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"
|
||||
|
||||
If man sets the $MAN_PN environment variable, like man-db, the most common
|
||||
implementation on Linux and Mac OS, then the "env MAN_PN=1 " part above is
|
||||
superfluous.
|
||||
|
||||
PDF *ft-pdf-plugin*
|
||||
|
||||
|
||||
@@ -129,6 +129,7 @@ The available subcommands are:
|
||||
6 or e: Find this egrep pattern
|
||||
7 or f: Find this file
|
||||
8 or i: Find files #including this file
|
||||
9 or a: Find places where this symbol is assigned a value
|
||||
|
||||
For all types, except 4 and 6, leading white space for {name} is
|
||||
removed. For 4 and 6 there is exactly one space between {querytype}
|
||||
@@ -255,13 +256,13 @@ started will have no effect!
|
||||
{not available when compiled without the |+quickfix| feature}
|
||||
'cscopequickfix' specifies whether to use quickfix window to show cscope
|
||||
results. This is a list of comma-separated values. Each item consists of
|
||||
|cscope-find| command (s, g, d, c, t, e, f or i) and flag (+, - or 0).
|
||||
|cscope-find| command (s, g, d, c, t, e, f, i or a) and flag (+, - or 0).
|
||||
'+' indicates that results must be appended to quickfix window,
|
||||
'-' implies previous results clearance, '0' or command absence - don't use
|
||||
quickfix. Search is performed from start until first command occurrence.
|
||||
The default value is "" (don't use quickfix anyway). The following value
|
||||
seems to be useful: >
|
||||
:set cscopequickfix=s-,c-,d-,i-,t-,e-
|
||||
:set cscopequickfix=s-,c-,d-,i-,t-,e-,a-
|
||||
<
|
||||
*cscopetag* *cst*
|
||||
If 'cscopetag' is set, the commands ":tag" and CTRL-] as well as "vim -t"
|
||||
@@ -422,6 +423,7 @@ Cscope Home Page (http://cscope.sourceforge.net/): >
|
||||
nmap <C-_>f :cs find f <C-R>=expand("<cfile>")<CR><CR>
|
||||
nmap <C-_>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR>
|
||||
nmap <C-_>d :cs find d <C-R>=expand("<cword>")<CR><CR>
|
||||
nmap <C-_>a :cs find a <C-R>=expand("<cword>")<CR><CR>
|
||||
|
||||
" Using 'CTRL-spacebar' then a search type makes the vim window
|
||||
" split horizontally, with search result displayed in
|
||||
@@ -435,6 +437,7 @@ Cscope Home Page (http://cscope.sourceforge.net/): >
|
||||
nmap <C-Space>f :scs find f <C-R>=expand("<cfile>")<CR><CR>
|
||||
nmap <C-Space>i :scs find i ^<C-R>=expand("<cfile>")<CR>$<CR>
|
||||
nmap <C-Space>d :scs find d <C-R>=expand("<cword>")<CR><CR>
|
||||
nmap <C-Space>a :scs find a <C-R>=expand("<cword>")<CR><CR>
|
||||
|
||||
" Hitting CTRL-space *twice* before the search type does a vertical
|
||||
" split instead of a horizontal one
|
||||
@@ -453,6 +456,8 @@ Cscope Home Page (http://cscope.sourceforge.net/): >
|
||||
\:vert scs find i ^<C-R>=expand("<cfile>")<CR>$<CR>
|
||||
nmap <C-Space><C-Space>d
|
||||
\:vert scs find d <C-R>=expand("<cword>")<CR><CR>
|
||||
nmap <C-Space><C-Space>a
|
||||
\:vert scs find a <C-R>=expand("<cword>")<CR><CR>
|
||||
|
||||
==============================================================================
|
||||
7. Cscope availability and information *cscope-info*
|
||||
|
||||
@@ -659,19 +659,31 @@ vim.Function object *python-Function*
|
||||
`vim.bindeval('function(%s)'%json.dumps(name))`.
|
||||
|
||||
Attributes (read-only):
|
||||
Attribute Description ~
|
||||
name Function name.
|
||||
args `None` or a |python-List| object with arguments. Note that
|
||||
this is a copy of the arguments list, constructed each time
|
||||
you request this attribute. Modifications made to the list
|
||||
will be ignored (but not to the containers inside argument
|
||||
list: this is like |copy()| and not |deepcopy()|).
|
||||
self `None` or a |python-Dictionary| object with self
|
||||
dictionary. Note that explicit `self` keyword used when
|
||||
calling resulting object overrides this attribute.
|
||||
Attribute Description ~
|
||||
name Function name.
|
||||
args `None` or a |python-List| object with arguments. Note
|
||||
that this is a copy of the arguments list, constructed
|
||||
each time you request this attribute. Modifications made
|
||||
to the list will be ignored (but not to the containers
|
||||
inside argument list: this is like |copy()| and not
|
||||
|deepcopy()|).
|
||||
self `None` or a |python-Dictionary| object with self
|
||||
dictionary. Note that explicit `self` keyword used when
|
||||
calling resulting object overrides this attribute.
|
||||
auto_rebind Boolean. True if partial created from this Python object
|
||||
and stored in the VimL dictionary should be automatically
|
||||
rebound to the dictionary it is stored in when this
|
||||
dictionary is indexed. Exposes Vim internal difference
|
||||
between `dict.func` (auto_rebind=True) and
|
||||
`function(dict.func,dict)` (auto_rebind=False). This
|
||||
attribute makes no sense if `self` attribute is `None`.
|
||||
|
||||
Constructor additionally accepts `args` and `self` keywords. If any of
|
||||
them is given then it constructs a partial, see |function()|.
|
||||
Constructor additionally accepts `args`, `self` and `auto_rebind`
|
||||
keywords. If `args` and/or `self` argument is given then it constructs
|
||||
a partial, see |function()|. `auto_rebind` is only used when `self`
|
||||
argument is given, otherwise it is assumed to be `True` regardless of
|
||||
whether it was given or not. If `self` is given then it defaults to
|
||||
`False`.
|
||||
|
||||
Examples: >
|
||||
f = vim.Function('tr') # Constructor
|
||||
|
||||
@@ -813,7 +813,7 @@ PHP indenting can be altered in several ways by modifying the values of some
|
||||
global variables:
|
||||
|
||||
*php-comment* *PHP_autoformatcomment*
|
||||
To not enable auto-formating of comments by default (if you want to use your
|
||||
To not enable auto-formatting of comments by default (if you want to use your
|
||||
own 'formatoptions'): >
|
||||
:let g:PHP_autoformatcomment = 0
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*index.txt* For Vim version 7.4. Last change: 2016 Apr 12
|
||||
*index.txt* For Vim version 7.4. Last change: 2016 Jun 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1156,8 +1156,9 @@ tag command action ~
|
||||
|:chdir| :chd[ir] change directory
|
||||
|:checkpath| :che[ckpath] list included files
|
||||
|:checktime| :checkt[ime] check timestamp of loaded buffers
|
||||
|:clist| :cl[ist] list all errors
|
||||
|:clast| :cla[st] go to the specified error, default last one
|
||||
|:clearjumps| :cle[arjumps] clear the jump list
|
||||
|:clist| :cl[ist] list all errors
|
||||
|:close| :clo[se] close current window
|
||||
|:cmap| :cm[ap] like ":map" but for Command-line mode
|
||||
|:cmapclear| :cmapc[lear] clear all mappings for Command-line mode
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*map.txt* For Vim version 7.4. Last change: 2016 Jan 10
|
||||
*map.txt* For Vim version 7.4. Last change: 2016 Jun 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1411,6 +1411,27 @@ The valid escape sequences are
|
||||
<bang> (See the '-bang' attribute) Expands to a ! if the
|
||||
command was executed with a ! modifier, otherwise
|
||||
expands to nothing.
|
||||
*<mods>*
|
||||
<mods> The command modifiers, if specified. Otherwise, expands to
|
||||
nothing. Supported modifiers are |:aboveleft|, |:belowright|,
|
||||
|:botright|, |:browse|, |:confirm|, |:hide|, |:keepalt|,
|
||||
|:keepjumps|, |:keepmarks|, |:keeppatterns|, |:lockmarks|,
|
||||
|:noswapfile|, |:silent|, |:tab|, |:topleft|, |:verbose|, and
|
||||
|:vertical|.
|
||||
Examples: >
|
||||
command! -nargs=+ -complete=file MyEdit
|
||||
\ for f in expand(<q-args>, 0, 1) |
|
||||
\ exe '<mods> split ' . f |
|
||||
\ endfor
|
||||
|
||||
function! SpecialEdit(files, mods)
|
||||
for f in expand(a:files, 0, 1)
|
||||
exe a:mods . ' split ' . f
|
||||
endfor
|
||||
endfunction
|
||||
command! -nargs=+ -complete=file Sedit
|
||||
\ call SpecialEdit(<q-args>, <q-mods>)
|
||||
<
|
||||
*<reg>* *<register>*
|
||||
<reg> (See the '-register' attribute) The optional register,
|
||||
if specified. Otherwise, expands to nothing. <register>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*motion.txt* For Vim version 7.4. Last change: 2015 Jun 06
|
||||
*motion.txt* For Vim version 7.4. Last change: 2016 Jun 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1027,7 +1027,8 @@ unless the line containing that position was changed or deleted.
|
||||
|
||||
*CTRL-O*
|
||||
CTRL-O Go to [count] Older cursor position in jump list
|
||||
(not a motion command). {not in Vi}
|
||||
(not a motion command).
|
||||
{not in Vi}
|
||||
{not available without the |+jumplist| feature}
|
||||
|
||||
<Tab> or *CTRL-I* *<Tab>*
|
||||
@@ -1037,8 +1038,14 @@ CTRL-I Go to [count] newer cursor position in jump list
|
||||
{not available without the |+jumplist| feature}
|
||||
|
||||
*:ju* *:jumps*
|
||||
:ju[mps] Print the jump list (not a motion command). {not in
|
||||
Vi} {not available without the |+jumplist| feature}
|
||||
:ju[mps] Print the jump list (not a motion command).
|
||||
{not in Vi}
|
||||
{not available without the |+jumplist| feature}
|
||||
|
||||
*:cle* *:clearjumps*
|
||||
:cle[arjumps] Clear the jump list of the current window.
|
||||
{not in Vi}
|
||||
{not available without the |+jumplist| feature}
|
||||
|
||||
*jumplist*
|
||||
Jumps are remembered in a jump list. With the CTRL-O and CTRL-I command you
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 7.4. Last change: 2016 Apr 21
|
||||
*options.txt* For Vim version 7.4. Last change: 2016 Jul 01
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1103,6 +1103,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
|
||||
v:beval_bufnr number of the buffer in which balloon is going to show
|
||||
v:beval_winnr number of the window
|
||||
v:beval_winid ID of the window
|
||||
v:beval_lnum line number
|
||||
v:beval_col column number (byte index)
|
||||
v:beval_text word under or after the mouse pointer
|
||||
@@ -1426,8 +1427,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Only non-printable keys are allowed.
|
||||
The key can be specified as a single character, but it is difficult to
|
||||
type. The preferred way is to use the <> notation. Examples: >
|
||||
:set cedit=<C-Y>
|
||||
:set cedit=<Esc>
|
||||
:exe "set cedit=\<C-Y>"
|
||||
:exe "set cedit=\<Esc>"
|
||||
< |Nvi| also has this option, but it only uses the first character.
|
||||
See |cmdwin|.
|
||||
|
||||
@@ -3336,6 +3337,41 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
It is not allowed to change text or jump to another window while
|
||||
evaluating 'foldtext' |textlock|.
|
||||
|
||||
*'formatexpr'* *'fex'*
|
||||
'formatexpr' 'fex' string (default "")
|
||||
local to buffer
|
||||
{not in Vi}
|
||||
{not available when compiled without the |+eval|
|
||||
feature}
|
||||
Expression which is evaluated to format a range of lines for the |gq|
|
||||
operator or automatic formatting (see 'formatoptions'). When this
|
||||
option is empty 'formatprg' is used.
|
||||
|
||||
The |v:lnum| variable holds the first line to be formatted.
|
||||
The |v:count| variable holds the number of lines to be formatted.
|
||||
The |v:char| variable holds the character that is going to be
|
||||
inserted if the expression is being evaluated due to
|
||||
automatic formatting. This can be empty. Don't insert
|
||||
it yet!
|
||||
|
||||
Example: >
|
||||
:set formatexpr=mylang#Format()
|
||||
< This will invoke the mylang#Format() function in the
|
||||
autoload/mylang.vim file in 'runtimepath'. |autoload|
|
||||
|
||||
The expression is also evaluated when 'textwidth' is set and adding
|
||||
text beyond that limit. This happens under the same conditions as
|
||||
when internal formatting is used. Make sure the cursor is kept in the
|
||||
same spot relative to the text then! The |mode()| function will
|
||||
return "i" or "R" in this situation.
|
||||
|
||||
When the expression evaluates to non-zero Vim will fall back to using
|
||||
the internal format mechanism.
|
||||
|
||||
The expression will be evaluated in the |sandbox| when set from a
|
||||
modeline, see |sandbox-option|. That stops the option from working,
|
||||
since changing the buffer text is not allowed.
|
||||
|
||||
*'formatoptions'* *'fo'*
|
||||
'formatoptions' 'fo' string (Vim default: "tcq", Vi default: "vt")
|
||||
local to buffer
|
||||
@@ -3379,41 +3415,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
|
||||
*'formatexpr'* *'fex'*
|
||||
'formatexpr' 'fex' string (default "")
|
||||
local to buffer
|
||||
{not in Vi}
|
||||
{not available when compiled without the |+eval|
|
||||
feature}
|
||||
Expression which is evaluated to format a range of lines for the |gq|
|
||||
operator or automatic formatting (see 'formatoptions'). When this
|
||||
option is empty 'formatprg' is used.
|
||||
|
||||
The |v:lnum| variable holds the first line to be formatted.
|
||||
The |v:count| variable holds the number of lines to be formatted.
|
||||
The |v:char| variable holds the character that is going to be
|
||||
inserted if the expression is being evaluated due to
|
||||
automatic formatting. This can be empty. Don't insert
|
||||
it yet!
|
||||
|
||||
Example: >
|
||||
:set formatexpr=mylang#Format()
|
||||
< This will invoke the mylang#Format() function in the
|
||||
autoload/mylang.vim file in 'runtimepath'. |autoload|
|
||||
|
||||
The expression is also evaluated when 'textwidth' is set and adding
|
||||
text beyond that limit. This happens under the same conditions as
|
||||
when internal formatting is used. Make sure the cursor is kept in the
|
||||
same spot relative to the text then! The |mode()| function will
|
||||
return "i" or "R" in this situation.
|
||||
|
||||
When the expression evaluates to non-zero Vim will fall back to using
|
||||
the internal format mechanism.
|
||||
|
||||
The expression will be evaluated in the |sandbox| when set from a
|
||||
modeline, see |sandbox-option|. That stops the option from working,
|
||||
since changing the buffer text is not allowed.
|
||||
|
||||
*'fsync'* *'fs'* *'nofsync'* *'nofs'*
|
||||
'fsync' 'fs' boolean (default on)
|
||||
global
|
||||
@@ -3477,18 +3478,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
|
||||
*'guicolors'* *'gcol'*
|
||||
'guicolors' 'gcol' boolean (default off)
|
||||
global
|
||||
{not in Vi}
|
||||
{not available when compiled without the
|
||||
|+termtruecolor| feature}
|
||||
When on, uses |highlight-guifg| and |highlight-guibg| attributes in
|
||||
the terminal (thus using 24-bit color). Requires a ISO-8613-3
|
||||
compatible terminal.
|
||||
If setting this option does not work (produces a colorless UI)
|
||||
reading |xterm-true-color| might help.
|
||||
|
||||
*'guicursor'* *'gcr'* *E545* *E546* *E548* *E549*
|
||||
'guicursor' 'gcr' string (default "n-v-c:block-Cursor/lCursor,
|
||||
ve:ver35-Cursor,
|
||||
@@ -3647,7 +3636,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
SYMBOL, THAI, TURKISH, VIETNAMESE ANSI and BALTIC.
|
||||
Normally you would use "cDEFAULT".
|
||||
qXX - quality XX. Valid quality names are: PROOF, DRAFT,
|
||||
ANTIALIASED, UNANTIALIASED, CLEARTYPE, DEFAULT.
|
||||
ANTIALIASED, NONANTIALIASED, CLEARTYPE, DEFAULT.
|
||||
Normally you would use "qDEFAULT".
|
||||
Some quality values isn't supported in legacy OSs.
|
||||
|
||||
@@ -4599,16 +4588,18 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
|
||||
*'keywordprg'* *'kp'*
|
||||
'keywordprg' 'kp' string (default "man" or "man -s", DOS: ":help",
|
||||
OS/2: "view /", VMS: "help")
|
||||
VMS: "help")
|
||||
global or local to buffer |global-local|
|
||||
{not in Vi}
|
||||
Program to use for the |K| command. Environment variables are
|
||||
expanded |:set_env|. ":help" may be used to access the Vim internal
|
||||
help. (Note that previously setting the global option to the empty
|
||||
value did this, which is now deprecated.)
|
||||
When "man" is used, Vim will automatically translate a count for the
|
||||
"K" command to a section number. Also for "man -s", in which case the
|
||||
"-s" is removed when there is no count.
|
||||
When the first character is ":", the command is invoked as a Vim
|
||||
Ex command prefixed with [count].
|
||||
When "man", "man -s" or an Ex command is used, Vim will automatically
|
||||
translate a count for the "K" command and pass it as the first
|
||||
argument. For "man -s" the "-s" is removed when there is no count.
|
||||
See |option-backslash| about including spaces and backslashes.
|
||||
Example: >
|
||||
:set keywordprg=man\ -s
|
||||
@@ -6075,6 +6066,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
keymap/ key mapping files |mbyte-keymap|
|
||||
lang/ menu translations |:menutrans|
|
||||
menu.vim GUI menus |menu.vim|
|
||||
pack/ packages |:packadd|
|
||||
plugin/ plugin scripts |write-plugin|
|
||||
print/ files for printing |postscript-print-encoding|
|
||||
spell/ spell checking files |spell|
|
||||
@@ -6096,6 +6088,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
personal preferences to overrule or add to the distributed defaults
|
||||
or system-wide settings (rarely needed).
|
||||
|
||||
More entries are added when using |packages|.
|
||||
|
||||
Note that, unlike 'path', no wildcards like "**" are allowed. Normal
|
||||
wildcards are allowed, but can significantly slow down searching for
|
||||
runtime files. For speed, use as few items as possible and avoid
|
||||
@@ -7551,6 +7545,18 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
:set encoding=utf-8
|
||||
< You need to do this when your system has no locale support for UTF-8.
|
||||
|
||||
*'termguicolors'* *'tgc'*
|
||||
'termguicolors' 'tgc' boolean (default off)
|
||||
global
|
||||
{not in Vi}
|
||||
{not available when compiled without the
|
||||
|+termguicolors| feature}
|
||||
When on, uses |highlight-guifg| and |highlight-guibg| attributes in
|
||||
the terminal (thus using 24-bit color). Requires a ISO-8613-3
|
||||
compatible terminal.
|
||||
If setting this option does not work (produces a colorless UI)
|
||||
reading |xterm-true-color| might help.
|
||||
|
||||
*'terse'* *'noterse'*
|
||||
'terse' boolean (default off)
|
||||
global
|
||||
@@ -8662,7 +8668,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'writedelay' 'wd' number (default 0)
|
||||
global
|
||||
{not in Vi}
|
||||
The number of microseconds to wait for each character sent to the
|
||||
The number of milliseconds to wait for each character sent to the
|
||||
screen. When non-zero, characters are sent to the terminal one by
|
||||
one. For MS-DOS pcterm this does not work. For debugging purposes.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pattern.txt* For Vim version 7.4. Last change: 2016 Apr 03
|
||||
*pattern.txt* For Vim version 7.4. Last change: 2016 Jun 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -954,14 +954,18 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
||||
< When 'hlsearch' is set and you move the cursor around and make changes
|
||||
this will clearly show when the match is updated or not.
|
||||
To match the text up to column 17: >
|
||||
/.*\%17v
|
||||
< Column 17 is included, because that's where the "\%17v" matches,
|
||||
even though this is a |/zero-width| match. Adding a dot to match the
|
||||
next character has the same result: >
|
||||
/.*\%17v.
|
||||
/^.*\%17v
|
||||
< Column 17 is not included, because this is a |/zero-width| match. To
|
||||
include the column use: >
|
||||
/^.*\%17v.
|
||||
< This command does the same thing, but also matches when there is no
|
||||
character in column 17: >
|
||||
/.*\%<18v.
|
||||
/^.*\%<18v.
|
||||
< Note that without the "^" to anchor the match in the first column,
|
||||
this will also highlight column 17: >
|
||||
/.*\%17v
|
||||
< Column 17 is highlighted by 'hlsearch' because there is another match
|
||||
where ".*" matches zero characters.
|
||||
<
|
||||
|
||||
Character classes: {not in Vi}
|
||||
@@ -1079,8 +1083,8 @@ x A single character, with no special meaning, matches itself
|
||||
belonging to that character class. The following character classes
|
||||
are supported:
|
||||
Name Contents ~
|
||||
*[:alnum:]* [:alnum:] letters and digits
|
||||
*[:alpha:]* [:alpha:] letters
|
||||
*[:alnum:]* [:alnum:] ASCII letters and digits
|
||||
*[:alpha:]* [:alpha:] ASCII letters
|
||||
*[:blank:]* [:blank:] space and tab characters
|
||||
*[:cntrl:]* [:cntrl:] control characters
|
||||
*[:digit:]* [:digit:] decimal digits
|
||||
@@ -1088,7 +1092,7 @@ x A single character, with no special meaning, matches itself
|
||||
*[:lower:]* [:lower:] lowercase letters (all letters when
|
||||
'ignorecase' is used)
|
||||
*[:print:]* [:print:] printable characters including space
|
||||
*[:punct:]* [:punct:] punctuation characters
|
||||
*[:punct:]* [:punct:] ASCII punctuation characters
|
||||
*[:space:]* [:space:] whitespace characters
|
||||
*[:upper:]* [:upper:] uppercase letters (all letters when
|
||||
'ignorecase' is used)
|
||||
@@ -1105,7 +1109,8 @@ x A single character, with no special meaning, matches itself
|
||||
These items only work for 8-bit characters, except [:lower:] and
|
||||
[:upper:] also work for multi-byte characters when using the new
|
||||
regexp engine. See |two-engines|. In the future these items may
|
||||
work for multi-byte characters.
|
||||
work for multi-byte characters. For now, to get all "alpha"
|
||||
characters you can use: [[:lower:][:upper:]].
|
||||
*/[[=* *[==]*
|
||||
- An equivalence class. This means that characters are matched that
|
||||
have almost the same meaning, e.g., when ignoring accents. This
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickfix.txt* For Vim version 7.4. Last change: 2016 Mar 23
|
||||
*quickfix.txt* For Vim version 7.4. Last change: 2016 Jul 02
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -35,11 +35,13 @@ positions in files. For example, |:vimgrep| finds pattern matches. You can
|
||||
use the positions in a script with the |getqflist()| function. Thus you can
|
||||
do a lot more than the edit/compile/fix cycle!
|
||||
|
||||
If you are using Manx's Aztec C compiler on the Amiga look here for how to use
|
||||
it with Vim: |quickfix-manx|. If you are using another compiler you should
|
||||
save the error messages in a file and start Vim with "vim -q filename". An
|
||||
easy way to do this is with the |:make| command (see below). The
|
||||
'errorformat' option should be set to match the error messages from your
|
||||
If you have the error messages in a file you can start Vim with: >
|
||||
vim -q filename
|
||||
|
||||
From inside Vim an easy way to run a command and handle the output is with the
|
||||
|:make| command (see below).
|
||||
|
||||
The 'errorformat' option should be set to match the error messages from your
|
||||
compiler (see |errorformat| below).
|
||||
|
||||
*location-list* *E776*
|
||||
@@ -49,8 +51,8 @@ have a separate location list. A location list can be associated with only
|
||||
one window. The location list is independent of the quickfix list.
|
||||
|
||||
When a window with a location list is split, the new window gets a copy of the
|
||||
location list. When there are no references to a location list, the location
|
||||
list is destroyed.
|
||||
location list. When there are no longer any references to a location list,
|
||||
the location list is destroyed.
|
||||
|
||||
The following quickfix commands can be used. The location list commands are
|
||||
similar to the quickfix commands, replacing the 'c' prefix in the quickfix
|
||||
@@ -270,11 +272,24 @@ processing a quickfix or location list command, it will be aborted.
|
||||
The 'switchbuf' settings are respected when jumping
|
||||
to a buffer.
|
||||
|
||||
:cl[ist] +{count} List the current and next {count} valid errors. This
|
||||
is similar to ":clist from from+count", where "from"
|
||||
is the current error position.
|
||||
|
||||
:cl[ist]! [from] [, [to]]
|
||||
List all errors.
|
||||
|
||||
*:lli* *:llist*
|
||||
:lli[st] [from] [, [to]]
|
||||
:cl[ist]! +{count} List the current and next {count} error lines. This
|
||||
is useful to see unrecognized lines after the current
|
||||
one. For example, if ":clist" shows:
|
||||
8384 testje.java:252: error: cannot find symbol ~
|
||||
Then using ":cl! +3" shows the reason:
|
||||
8384 testje.java:252: error: cannot find symbol ~
|
||||
8385: ZexitCode = Fmainx(); ~
|
||||
8386: ^ ~
|
||||
8387: symbol: method Fmainx() ~
|
||||
|
||||
:lli[st] [from] [, [to]] *:lli* *:llist*
|
||||
Same as ":clist", except the location list for the
|
||||
current window is used instead of the quickfix list.
|
||||
|
||||
@@ -318,7 +333,7 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
|
||||
etc.
|
||||
< When the current file can't be |abandon|ed and the [!]
|
||||
is not present, the command fails.
|
||||
When an error is detected excecution stops.
|
||||
When an error is detected execution stops.
|
||||
The last buffer (or where an error occurred) becomes
|
||||
the current buffer.
|
||||
{cmd} can contain '|' to concatenate several commands.
|
||||
@@ -422,6 +437,12 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
|
||||
:lw[indow] [height] Same as ":cwindow", except use the window showing the
|
||||
location list for the current window.
|
||||
|
||||
:cbo[ttom] Put the cursor in the last line of the quickfix window
|
||||
and scroll to make it visible. This is useful for
|
||||
when errors are added by an asynchronous callback.
|
||||
Only call it once in a while if there are many
|
||||
updates to avoid a lot of redrawing.
|
||||
|
||||
Normally the quickfix window is at the bottom of the screen. If there are
|
||||
vertical splits, it's at the bottom of the rightmost column of windows. To
|
||||
make it always occupy the full width: >
|
||||
@@ -457,6 +478,9 @@ expression.
|
||||
The BufWinEnter event is also triggered, again using "quickfix" for the buffer
|
||||
name.
|
||||
|
||||
Note: When adding to an existing quickfix list the autocommand are not
|
||||
triggered.
|
||||
|
||||
Note: Making changes in the quickfix window has no effect on the list of
|
||||
errors. 'modifiable' is off to avoid making changes. If you delete or insert
|
||||
lines anyway, the relation between the text and the error number is messed up.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickref.txt* For Vim version 7.4. Last change: 2016 Mar 30
|
||||
*quickref.txt* For Vim version 7.4. Last change: 2016 Jun 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -831,6 +831,7 @@ Short explanation of each option: *option-list*
|
||||
'printmbcharset' 'pmbcs' CJK character set to be used for :hardcopy
|
||||
'printmbfont' 'pmbfn' font names to be used for CJK output of :hardcopy
|
||||
'printoptions' 'popt' controls the format of :hardcopy output
|
||||
'prompt' 'prompt' enable prompt in Ex mode
|
||||
'pumheight' 'ph' maximum height of the popup menu
|
||||
'pythondll' name of the Python 2 dynamic library
|
||||
'pythonthreedll' name of the Python 3 dynamic library
|
||||
@@ -915,6 +916,7 @@ Short explanation of each option: *option-list*
|
||||
'term' name of the terminal
|
||||
'termbidi' 'tbidi' terminal takes care of bi-directionality
|
||||
'termencoding' 'tenc' character encoding used by the terminal
|
||||
'termguicolors' 'tgc' use GUI colors for the terminal
|
||||
'terse' shorten some messages
|
||||
'textauto' 'ta' obsolete, use 'fileformats'
|
||||
'textmode' 'tx' obsolete, use 'fileformat'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*repeat.txt* For Vim version 7.4. Last change: 2016 Apr 05
|
||||
*repeat.txt* For Vim version 7.4. Last change: 2016 Jun 11
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -232,6 +232,8 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
||||
pack/*/opt/{name} ~
|
||||
The directory is added to 'runtimepath' if it wasn't
|
||||
there yet.
|
||||
If the directory pack/*/opt/{name}/after exists it is
|
||||
added at the end of 'runtimepath'.
|
||||
|
||||
Note that {name} is the directory name, not the name
|
||||
of the .vim file. All the files matching the pattern
|
||||
@@ -507,6 +509,9 @@ To load packages earlier, so that 'runtimepath' gets updated: >
|
||||
This also works when loading plugins is disabled. The automatic loading will
|
||||
only happen once.
|
||||
|
||||
If the package has an "after" directory, that directory is added to the end of
|
||||
'runtimepath', so that anything there will be loaded later.
|
||||
|
||||
|
||||
Using a single plugin and loading it automatically ~
|
||||
|
||||
@@ -536,7 +541,7 @@ whether Vim supports a feature or a dependency is missing.
|
||||
You can also load an optional plugin at startup, by putting this command in
|
||||
your |.vimrc|: >
|
||||
:packadd! foodebug
|
||||
The extra "!" is so that the plugin isn't loaded with Vim was started with
|
||||
The extra "!" is so that the plugin isn't loaded if Vim was started with
|
||||
|--noplugin|.
|
||||
|
||||
It is perfectly normal for a package to only have files in the "opt"
|
||||
@@ -615,7 +620,7 @@ the command after changing the plugin help: >
|
||||
|
||||
Dependencies between plugins ~
|
||||
*packload-two-steps*
|
||||
Suppose you have a two plugins that depend on the same functionality. You can
|
||||
Suppose you have two plugins that depend on the same functionality. You can
|
||||
put the common functionality in an autoload directory, so that it will be
|
||||
found automatically. Your package would have these files:
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*starting.txt* For Vim version 7.4. Last change: 2016 Apr 05
|
||||
*starting.txt* For Vim version 7.4. Last change: 2016 Jun 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -249,7 +249,8 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
||||
-Z Restricted mode. All commands that make use of an external
|
||||
shell are disabled. This includes suspending with CTRL-Z,
|
||||
":sh", filtering, the system() function, backtick expansion,
|
||||
delete(), rename(), mkdir(), writefile(), libcall(), etc.
|
||||
delete(), rename(), mkdir(), writefile(), libcall(),
|
||||
job_start(), etc.
|
||||
{not in Vi}
|
||||
|
||||
*-g*
|
||||
@@ -1412,6 +1413,33 @@ file (it's actually merged with the existing one, if one exists). The
|
||||
'viminfo' option is a string containing information about what info should be
|
||||
stored, and contains limits on how much should be stored (see 'viminfo').
|
||||
|
||||
Merging happens in two ways. Most items that have been changed or set in the
|
||||
current Vim session are stored, and what was not changed is filled from what
|
||||
is currently in the viminfo file. For example:
|
||||
- Vim session A reads the viminfo, which contains variable START.
|
||||
- Vim session B does the same
|
||||
- Vim session A sets the variables AAA and BOTH and exits
|
||||
- Vim session B sets the variables BBB and BOTH and exits
|
||||
Now the viminfo will have:
|
||||
START - it was in the viminfo and wasn't changed in session A or B
|
||||
AAA - value from session A, session B kept it
|
||||
BBB - value from session B
|
||||
BOTH - value from session B, value from session A is lost
|
||||
|
||||
For some items a timestamp is used to keep the last changed version. Here it
|
||||
doesn't matter in which sequence Vim sessions exit, the newest item(s) are
|
||||
always kept. This is used for:
|
||||
- The command line history.
|
||||
- The search string history.
|
||||
- The input-line history.
|
||||
- Contents of non-empty registers.
|
||||
- The jump list
|
||||
- File marks
|
||||
The timestamp feature was added before Vim 8.0. Older versions of Vim,
|
||||
starting with 7.4.1131, will keep the items with timestamp, but not use them.
|
||||
Thus when using both an older and a newer version of Vim the most recent data
|
||||
will be kept.
|
||||
|
||||
Notes for Unix:
|
||||
- The file protection for the viminfo file will be set to prevent other users
|
||||
from being able to read it, because it may contain any text or commands that
|
||||
@@ -1534,14 +1562,14 @@ most of the information will be restored).
|
||||
already set (registers, marks, |v:oldfiles|, etc.)
|
||||
will be overwritten {not in Vi}
|
||||
|
||||
*:wv* *:wviminfo* *E137* *E138* *E574* *E886*
|
||||
*:wv* *:wviminfo* *E137* *E138* *E574* *E886* *E929*
|
||||
:wv[iminfo][!] [file] Write to viminfo file [file] (default: see above).
|
||||
The information in the file is first read in to make
|
||||
a merge between old and new info. When [!] is used,
|
||||
the old information is not read first, only the
|
||||
internal info is written. If 'viminfo' is empty, marks
|
||||
for up to 100 files will be written.
|
||||
When you get error "E138: Can't write viminfo file"
|
||||
When you get error "E929: Too many viminfo temp files"
|
||||
check that no old temp files were left behind (e.g.
|
||||
~/.viminf*) and that you can write in the directory of
|
||||
the .viminfo file.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*syntax.txt* For Vim version 7.4. Last change: 2016 Apr 10
|
||||
*syntax.txt* For Vim version 7.4. Last change: 2016 May 28
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -4779,6 +4779,10 @@ font={font-name} *highlight-font*
|
||||
All fonts used, except for Menu and Tooltip, should be of the same
|
||||
character size as the default font! Otherwise redrawing problems will
|
||||
occur.
|
||||
To use a font name with an embedded space or other special character,
|
||||
put it in single quotes. The single quote cannot be used then.
|
||||
Example: >
|
||||
:hi comment font='Monospace 10'
|
||||
|
||||
guifg={color-name} *highlight-guifg*
|
||||
guibg={color-name} *highlight-guibg*
|
||||
|
||||
@@ -911,6 +911,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
't_%1' term.txt /*'t_%1'*
|
||||
't_%i' term.txt /*'t_%i'*
|
||||
't_&8' term.txt /*'t_&8'*
|
||||
't_8b' term.txt /*'t_8b'*
|
||||
't_8f' term.txt /*'t_8f'*
|
||||
't_@7' term.txt /*'t_@7'*
|
||||
't_AB' term.txt /*'t_AB'*
|
||||
't_AF' term.txt /*'t_AF'*
|
||||
@@ -1046,11 +1048,13 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
'term' options.txt /*'term'*
|
||||
'termbidi' options.txt /*'termbidi'*
|
||||
'termencoding' options.txt /*'termencoding'*
|
||||
'termguicolors' options.txt /*'termguicolors'*
|
||||
'terse' options.txt /*'terse'*
|
||||
'textauto' options.txt /*'textauto'*
|
||||
'textmode' options.txt /*'textmode'*
|
||||
'textwidth' options.txt /*'textwidth'*
|
||||
'tf' options.txt /*'tf'*
|
||||
'tgc' options.txt /*'tgc'*
|
||||
'tgst' options.txt /*'tgst'*
|
||||
'thesaurus' options.txt /*'thesaurus'*
|
||||
'tildeop' options.txt /*'tildeop'*
|
||||
@@ -1256,7 +1260,9 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
+mzscheme various.txt /*+mzscheme*
|
||||
+mzscheme/dyn various.txt /*+mzscheme\/dyn*
|
||||
+netbeans_intg various.txt /*+netbeans_intg*
|
||||
+num64 various.txt /*+num64*
|
||||
+ole various.txt /*+ole*
|
||||
+packages various.txt /*+packages*
|
||||
+path_extra various.txt /*+path_extra*
|
||||
+perl various.txt /*+perl*
|
||||
+perl/dyn various.txt /*+perl\/dyn*
|
||||
@@ -1286,6 +1292,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
+tag_old_static various.txt /*+tag_old_static*
|
||||
+tcl various.txt /*+tcl*
|
||||
+tcl/dyn various.txt /*+tcl\/dyn*
|
||||
+termguicolors various.txt /*+termguicolors*
|
||||
+terminfo various.txt /*+terminfo*
|
||||
+termresponse various.txt /*+termresponse*
|
||||
+textobjects various.txt /*+textobjects*
|
||||
@@ -2068,6 +2075,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:cl quickfix.txt /*:cl*
|
||||
:cla quickfix.txt /*:cla*
|
||||
:clast quickfix.txt /*:clast*
|
||||
:cle motion.txt /*:cle*
|
||||
:clearjumps motion.txt /*:clearjumps*
|
||||
:clist quickfix.txt /*:clist*
|
||||
:clo windows.txt /*:clo*
|
||||
:close windows.txt /*:close*
|
||||
@@ -3354,6 +3363,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
<line1> map.txt /*<line1>*
|
||||
<line2> map.txt /*<line2>*
|
||||
<lt> intro.txt /*<lt>*
|
||||
<mods> map.txt /*<mods>*
|
||||
<nomodeline> autocmd.txt /*<nomodeline>*
|
||||
<q-args> map.txt /*<q-args>*
|
||||
<reg> map.txt /*<reg>*
|
||||
@@ -4443,6 +4453,9 @@ E923 eval.txt /*E923*
|
||||
E924 quickfix.txt /*E924*
|
||||
E925 quickfix.txt /*E925*
|
||||
E926 quickfix.txt /*E926*
|
||||
E927 eval.txt /*E927*
|
||||
E928 eval.txt /*E928*
|
||||
E929 starting.txt /*E929*
|
||||
E93 windows.txt /*E93*
|
||||
E94 windows.txt /*E94*
|
||||
E95 message.txt /*E95*
|
||||
@@ -4581,6 +4594,7 @@ PHP_outdentSLComments indent.txt /*PHP_outdentSLComments*
|
||||
PHP_outdentphpescape indent.txt /*PHP_outdentphpescape*
|
||||
PHP_removeCRwhenUnix indent.txt /*PHP_removeCRwhenUnix*
|
||||
PHP_vintage_case_default_indent indent.txt /*PHP_vintage_case_default_indent*
|
||||
Partial eval.txt /*Partial*
|
||||
Pattern pattern.txt /*Pattern*
|
||||
Perl if_perl.txt /*Perl*
|
||||
Posix intro.txt /*Posix*
|
||||
@@ -4907,7 +4921,6 @@ added-win32-GUI version5.txt /*added-win32-GUI*
|
||||
aff-dic-format spell.txt /*aff-dic-format*
|
||||
after-directory options.txt /*after-directory*
|
||||
aleph options.txt /*aleph*
|
||||
alloc_fail() eval.txt /*alloc_fail()*
|
||||
alt intro.txt /*alt*
|
||||
alt-input debugger.txt /*alt-input*
|
||||
alternate-file editing.txt /*alternate-file*
|
||||
@@ -5028,6 +5041,7 @@ beval_bufnr-variable eval.txt /*beval_bufnr-variable*
|
||||
beval_col-variable eval.txt /*beval_col-variable*
|
||||
beval_lnum-variable eval.txt /*beval_lnum-variable*
|
||||
beval_text-variable eval.txt /*beval_text-variable*
|
||||
beval_winid-variable eval.txt /*beval_winid-variable*
|
||||
beval_winnr-variable eval.txt /*beval_winnr-variable*
|
||||
bitwise-function usr_41.txt /*bitwise-function*
|
||||
blockwise-examples visual.txt /*blockwise-examples*
|
||||
@@ -5060,6 +5074,7 @@ buflisted() eval.txt /*buflisted()*
|
||||
bufloaded() eval.txt /*bufloaded()*
|
||||
bufname() eval.txt /*bufname()*
|
||||
bufnr() eval.txt /*bufnr()*
|
||||
bufwinid() eval.txt /*bufwinid()*
|
||||
bufwinnr() eval.txt /*bufwinnr()*
|
||||
bug-fixes-5 version5.txt /*bug-fixes-5*
|
||||
bug-fixes-6 version6.txt /*bug-fixes-6*
|
||||
@@ -5234,6 +5249,7 @@ channel-callback channel.txt /*channel-callback*
|
||||
channel-close channel.txt /*channel-close*
|
||||
channel-commands channel.txt /*channel-commands*
|
||||
channel-demo channel.txt /*channel-demo*
|
||||
channel-functions usr_41.txt /*channel-functions*
|
||||
channel-mode channel.txt /*channel-mode*
|
||||
channel-more channel.txt /*channel-more*
|
||||
channel-open channel.txt /*channel-open*
|
||||
@@ -5554,6 +5570,7 @@ delete() eval.txt /*delete()*
|
||||
delete-insert change.txt /*delete-insert*
|
||||
delete-menus gui.txt /*delete-menus*
|
||||
deleting change.txt /*deleting*
|
||||
demoserver.py channel.txt /*demoserver.py*
|
||||
design-assumptions develop.txt /*design-assumptions*
|
||||
design-compatible develop.txt /*design-compatible*
|
||||
design-decisions develop.txt /*design-decisions*
|
||||
@@ -5609,7 +5626,6 @@ dip motion.txt /*dip*
|
||||
dircolors.vim syntax.txt /*dircolors.vim*
|
||||
dis motion.txt /*dis*
|
||||
disable-menus gui.txt /*disable-menus*
|
||||
disable_char_avail_for_testing() eval.txt /*disable_char_avail_for_testing()*
|
||||
discard editing.txt /*discard*
|
||||
distribute-script usr_41.txt /*distribute-script*
|
||||
distribution intro.txt /*distribution*
|
||||
@@ -6257,6 +6273,7 @@ g:netrw_special_syntax pi_netrw.txt /*g:netrw_special_syntax*
|
||||
g:netrw_ssh_browse_reject pi_netrw.txt /*g:netrw_ssh_browse_reject*
|
||||
g:netrw_ssh_cmd pi_netrw.txt /*g:netrw_ssh_cmd*
|
||||
g:netrw_sshport pi_netrw.txt /*g:netrw_sshport*
|
||||
g:netrw_suppress_gx_mesg pi_netrw.txt /*g:netrw_suppress_gx_mesg*
|
||||
g:netrw_timefmt pi_netrw.txt /*g:netrw_timefmt*
|
||||
g:netrw_tmpfile_escape pi_netrw.txt /*g:netrw_tmpfile_escape*
|
||||
g:netrw_uid pi_netrw.txt /*g:netrw_uid*
|
||||
@@ -6342,7 +6359,6 @@ g` motion.txt /*g`*
|
||||
g`a motion.txt /*g`a*
|
||||
ga various.txt /*ga*
|
||||
garbagecollect() eval.txt /*garbagecollect()*
|
||||
garbagecollect_for_testing() eval.txt /*garbagecollect_for_testing()*
|
||||
gd pattern.txt /*gd*
|
||||
gdb debug.txt /*gdb*
|
||||
ge motion.txt /*ge*
|
||||
@@ -6884,6 +6900,7 @@ job-control channel.txt /*job-control*
|
||||
job-err_cb channel.txt /*job-err_cb*
|
||||
job-err_io channel.txt /*job-err_io*
|
||||
job-exit_cb channel.txt /*job-exit_cb*
|
||||
job-functions usr_41.txt /*job-functions*
|
||||
job-in_io channel.txt /*job-in_io*
|
||||
job-options channel.txt /*job-options*
|
||||
job-out_cb channel.txt /*job-out_cb*
|
||||
@@ -7054,6 +7071,7 @@ maillist intro.txt /*maillist*
|
||||
maillist-archive intro.txt /*maillist-archive*
|
||||
make.vim syntax.txt /*make.vim*
|
||||
man.vim filetype.txt /*man.vim*
|
||||
manpager.vim filetype.txt /*manpager.vim*
|
||||
manual-copyright usr_01.txt /*manual-copyright*
|
||||
map() eval.txt /*map()*
|
||||
map-<SID> map.txt /*map-<SID>*
|
||||
@@ -7176,6 +7194,7 @@ mouse-using term.txt /*mouse-using*
|
||||
mouse_col-variable eval.txt /*mouse_col-variable*
|
||||
mouse_lnum-variable eval.txt /*mouse_lnum-variable*
|
||||
mouse_win-variable eval.txt /*mouse_win-variable*
|
||||
mouse_winid-variable eval.txt /*mouse_winid-variable*
|
||||
movement intro.txt /*movement*
|
||||
ms-dos os_msdos.txt /*ms-dos*
|
||||
msdos os_msdos.txt /*msdos*
|
||||
@@ -7867,6 +7886,7 @@ r change.txt /*r*
|
||||
range() eval.txt /*range()*
|
||||
raw-terminal-mode term.txt /*raw-terminal-mode*
|
||||
rcp pi_netrw.txt /*rcp*
|
||||
read-in-close-cb channel.txt /*read-in-close-cb*
|
||||
read-messages insert.txt /*read-messages*
|
||||
read-only-share editing.txt /*read-only-share*
|
||||
read-stdin version5.txt /*read-stdin*
|
||||
@@ -8332,6 +8352,8 @@ t_#4 term.txt /*t_#4*
|
||||
t_%1 term.txt /*t_%1*
|
||||
t_%i term.txt /*t_%i*
|
||||
t_&8 term.txt /*t_&8*
|
||||
t_8b term.txt /*t_8b*
|
||||
t_8f term.txt /*t_8f*
|
||||
t_@7 term.txt /*t_@7*
|
||||
t_AB term.txt /*t_AB*
|
||||
t_AF term.txt /*t_AF*
|
||||
@@ -8598,6 +8620,16 @@ terminal-options term.txt /*terminal-options*
|
||||
terminfo term.txt /*terminfo*
|
||||
termresponse-variable eval.txt /*termresponse-variable*
|
||||
test-functions usr_41.txt /*test-functions*
|
||||
test_alloc_fail() eval.txt /*test_alloc_fail()*
|
||||
test_disable_char_avail() eval.txt /*test_disable_char_avail()*
|
||||
test_garbagecollect_now() eval.txt /*test_garbagecollect_now()*
|
||||
test_null_channel() eval.txt /*test_null_channel()*
|
||||
test_null_dict() eval.txt /*test_null_dict()*
|
||||
test_null_job() eval.txt /*test_null_job()*
|
||||
test_null_list() eval.txt /*test_null_list()*
|
||||
test_null_partial() eval.txt /*test_null_partial()*
|
||||
test_null_string() eval.txt /*test_null_string()*
|
||||
test_settime() eval.txt /*test_settime()*
|
||||
testing-variable eval.txt /*testing-variable*
|
||||
tex-cchar syntax.txt /*tex-cchar*
|
||||
tex-cole syntax.txt /*tex-cole*
|
||||
@@ -8628,6 +8660,7 @@ throw-from-catch eval.txt /*throw-from-catch*
|
||||
throw-variables eval.txt /*throw-variables*
|
||||
throwpoint-variable eval.txt /*throwpoint-variable*
|
||||
time-functions usr_41.txt /*time-functions*
|
||||
timer-functions usr_41.txt /*timer-functions*
|
||||
timer_start() eval.txt /*timer_start()*
|
||||
timer_stop() eval.txt /*timer_stop()*
|
||||
timestamp editing.txt /*timestamp*
|
||||
@@ -8740,6 +8773,7 @@ v:beval_bufnr eval.txt /*v:beval_bufnr*
|
||||
v:beval_col eval.txt /*v:beval_col*
|
||||
v:beval_lnum eval.txt /*v:beval_lnum*
|
||||
v:beval_text eval.txt /*v:beval_text*
|
||||
v:beval_winid eval.txt /*v:beval_winid*
|
||||
v:beval_winnr eval.txt /*v:beval_winnr*
|
||||
v:char eval.txt /*v:char*
|
||||
v:charconvert_from eval.txt /*v:charconvert_from*
|
||||
@@ -8774,6 +8808,7 @@ v:lnum eval.txt /*v:lnum*
|
||||
v:mouse_col eval.txt /*v:mouse_col*
|
||||
v:mouse_lnum eval.txt /*v:mouse_lnum*
|
||||
v:mouse_win eval.txt /*v:mouse_win*
|
||||
v:mouse_winid eval.txt /*v:mouse_winid*
|
||||
v:none eval.txt /*v:none*
|
||||
v:null eval.txt /*v:null*
|
||||
v:oldfiles eval.txt /*v:oldfiles*
|
||||
@@ -9186,6 +9221,7 @@ xterm-save-screen tips.txt /*xterm-save-screen*
|
||||
xterm-screens tips.txt /*xterm-screens*
|
||||
xterm-scroll-region term.txt /*xterm-scroll-region*
|
||||
xterm-shifted-keys term.txt /*xterm-shifted-keys*
|
||||
xterm-true-color term.txt /*xterm-true-color*
|
||||
y change.txt /*y*
|
||||
yaml.vim syntax.txt /*yaml.vim*
|
||||
yank change.txt /*yank*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*term.txt* For Vim version 7.4. Last change: 2016 Apr 21
|
||||
*term.txt* For Vim version 7.4. Last change: 2016 Apr 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -302,7 +302,6 @@ Added by Vim (there are no standard codes for these):
|
||||
t_u7 request cursor position (for xterm) *t_u7* *'t_u7'*
|
||||
see |'ambiwidth'|
|
||||
t_RB request terminal background color *t_RB* *'t_RB'*
|
||||
see |'ambiwidth'|
|
||||
t_8f set foreground color (R, G, B) *t_8f* *'t_8f'*
|
||||
|xterm-true-color|
|
||||
t_8b set background color (R, G, B) *t_8b* *'t_8b'*
|
||||
@@ -425,19 +424,23 @@ Vim has started, the escape sequences may not be recognized anymore.
|
||||
|
||||
*xterm-true-color*
|
||||
Vim supports using true colors in the terminal (taken from |highlight-guifg|
|
||||
and |highlight-guibg|), given that terminal supports this. To make this
|
||||
work, 'guicolors' option needs to be set.
|
||||
and |highlight-guibg|), given that the terminal supports this. To make this
|
||||
work the 'termguicolors' option needs to be set.
|
||||
|
||||
Sometimes setting 'guicolors' is not enough and one has to set the |t_8f| and
|
||||
|t_8b| options explicitly. Default values of these options are
|
||||
`^[[38;2;%lu;%lu;%lum` and `^[[48;2;%lu;%lu;%lum` (replace `^[` with real
|
||||
escape) respectively, but it is only set when `$TERM` is `xterm`. Some
|
||||
terminals accept the same sequences, but with all semicolons replaced by
|
||||
colons (this is actually more compatible, but less widely supported). These
|
||||
options contain printf strings, with |printf()| (actually, its C equivalent
|
||||
hence `l` modifier) invoked with the t_ option value and three unsigned long
|
||||
integers that may have any value between 0 and 255 (inclusive) representing
|
||||
red, green and blue colors respectively.
|
||||
Sometimes setting 'termguicolors' is not enough and one has to set the |t_8f|
|
||||
and |t_8b| options explicitly. Default values of these options are
|
||||
"^[[38;2;%lu;%lu;%lum" and "^[[48;2;%lu;%lu;%lum" respectively, but it is only
|
||||
set when `$TERM` is `xterm`. Some terminals accept the same sequences, but
|
||||
with all semicolons replaced by colons (this is actually more compatible, but
|
||||
less widely supported): >
|
||||
set t_8f=^[[38:2:%lu:%lu:%lum
|
||||
set t_8b=^[[48:2:%lu:%lu:%lum
|
||||
(replace `^[` with real escape)
|
||||
|
||||
These options contain printf strings, with |printf()| (actually, its C
|
||||
equivalent hence `l` modifier) invoked with the t_ option value and three
|
||||
unsigned long integers that may have any value between 0 and 255 (inclusive)
|
||||
representing red, green and blue colors respectively.
|
||||
|
||||
*xterm-resize*
|
||||
Window resizing with xterm only works if the allowWindowOps resource is
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 7.4. Last change: 2016 Apr 21
|
||||
*todo.txt* For Vim version 7.4. Last change: 2016 Jul 02
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -34,22 +34,22 @@ not be repeated below, unless there is extra information.
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
In test_partial when start_job() has a non-existing command memory leaks.
|
||||
Further implement 'barline' in viminfo:
|
||||
- Use timestamp for more items: locations, marks.
|
||||
|
||||
Memory leak in test49
|
||||
Memory leak in test_alot, with matchstrpos()
|
||||
|
||||
Also keep a list of loaded plugins, skip when encountered again?
|
||||
|
||||
Vim.org: when a user already has a homepage, do show the field so that it can
|
||||
be deleted.
|
||||
Problem with setqflist([]): grep 4 times, ":colder 3", setqflist([]) will
|
||||
clear the next list, not the current one. Ramel Eshed, Jun 8.
|
||||
|
||||
+channel:
|
||||
- GUI:cursor blinking is irregular when invoking callbacks. (Ramel Eshed, 2016
|
||||
Apr 16) somehow remember the previous state?
|
||||
- Should write_buf_line() change NL to NUL characters?
|
||||
- GUI cursor blinking interrupted when the job output goes to a buffer that is
|
||||
in a window. (Ramel Eshed, 2016 Jun 9)
|
||||
- GUI cursor blinking interrupted when there is a status line. (Ramel Eshed,
|
||||
2016 Jun 9)
|
||||
- When a message in the queue but there is no callback, drop it after a while?
|
||||
Add timestamp to queued messages and callbacks with ID, remove after a
|
||||
minute. Option to set the droptime.
|
||||
- Add an option to drop text of very long lines? Default to 1 Mbyte.
|
||||
- Add remark about undo sync, is there a way to force it?
|
||||
- When starting a job, have an option to open the server socket, so we know
|
||||
the port, and pass it to the command with --socket-fd {nr}. (Olaf Dabrunz,
|
||||
@@ -60,12 +60,26 @@ Later
|
||||
- job_start(): run job in a newly opened terminal.
|
||||
With xterm could use -S{pty}.
|
||||
|
||||
Make it so that the window ID can be used where currently a window nr is used
|
||||
|
||||
Patch to fix invalid behavior with NULL list. (Nikolai Pavlov, #768)
|
||||
Also check :for.
|
||||
Quickfix improvements for background building and grepping:
|
||||
Patch from Yegappan, 2016 Jun 17.
|
||||
Need to reset values when starting a new list.
|
||||
- If 'efm' is the same as last time re-use the fmt_first list.
|
||||
- Do not clear "dir_stack", "directory" and "file_stack", "currfile" when
|
||||
using ":addexpr".
|
||||
Move multiline, multiignore, multiscan outside of the function.
|
||||
- Add :cbottom, if quickfix window is visible scroll to make the last line
|
||||
visible. Use scroll_cursor_bot(0, FALSE);
|
||||
- Add a flag/property/option to quickfix commands and functions to keep a file
|
||||
name as a string and not create a buffer for it? To avoid creating lots of
|
||||
buffers. (Ramel Eshed)
|
||||
|
||||
Regexp problems:
|
||||
- When using automatic engine selection there is a false match. Forcing
|
||||
either engine works OK. (fritzophrenic, 2016 Jun 15, #867)
|
||||
- Since 7.4.704 the old regex engine fails to match [[:print:]] in 0xf6.
|
||||
(Manuel Ortega, 2016 Apr 24)
|
||||
Test fails on Mac. Avoid using isalpha(), isalnum(), etc? Depends on
|
||||
LC_CTYPE
|
||||
- The regexp engines are not reentrant, causing havoc when interrupted by a
|
||||
remote expression or something else. Move global variables onto the stack
|
||||
or into an allocated struct.
|
||||
@@ -107,49 +121,78 @@ Regexp problems:
|
||||
- The pattern "\1" with the old engine gives E65, with the new engine it
|
||||
matches the empty string. (Dominique Pelle, 2015 Oct 2, Nov 24)
|
||||
- Search for \\~ causes error E874.
|
||||
- Search for /\%d0\+ causes error E363 in a file with consecutive NUL
|
||||
characters. (Christian Brabandt, 2016 Jun 7)
|
||||
|
||||
Using freed memory in quickfix code. (Dominique, 2016 Mar 21)
|
||||
|
||||
jsonencode(): should convert to utf-8. (Nikolai Pavlov, 2016 Jan 23)
|
||||
json_encode(): should convert to utf-8. (Nikolai Pavlov, 2016 Jan 23)
|
||||
What if there is an invalid character?
|
||||
|
||||
Should json_encode()/json_decode() restrict recursiveness?
|
||||
Or avoid recursiveness.
|
||||
|
||||
Patch to support 64 bit ints for Number. (Ken Takata, 2016 Jan 21)
|
||||
Update 2016 Apr 24.
|
||||
Update 2016 Jun 14, includes some tests.
|
||||
|
||||
Patch to support expression argument to sort() instead of a function name.
|
||||
Yasuhiro Matsumoto, 2013 May 31.
|
||||
Or should we add a more general mechanism, like a lambda() function?
|
||||
Patch by Yasuhiro Matsumoto, 2014 Sep 16, update 2016 Apr 17.
|
||||
Correction for test, Ken Takata, 2016 May 27.
|
||||
Merged patch: Ken Takata, 2016 Jun 15.
|
||||
|
||||
Once .exe with updated installer is available: Add remark to download page
|
||||
about /S and /D options (Ken Takata, 2016 Apr 13)
|
||||
|
||||
Patch to make cursor blinking work better with GTK3. (Kazunobu Kuriyama, 2016
|
||||
Apr 19) Need to check this works on Linux.
|
||||
Cursor positioned in the wrong place when editing src/testdir/test_viml.vim.
|
||||
|
||||
Javascript indent wrong after /* in single quoted string:
|
||||
var SRC = 'src/*.js';
|
||||
function log(tag) {
|
||||
a = b;
|
||||
}
|
||||
|
||||
Use ADDR_OTHER instead of ADDR_LINES for many more commands.
|
||||
Add tests for using number larger than number of lines in buffer.
|
||||
|
||||
Patch to fix escaping special characters for delete(). (tc-0, 2016 Mar 20,
|
||||
#700) Test fails on MS-Windows.
|
||||
Invalid behavior with NULL list. (Nikolai Pavlov, #768)
|
||||
|
||||
For current Windows build .pdb file is missing. (Gabriele Fava, 2016 May 11)
|
||||
5)
|
||||
|
||||
'completeopt' noinsert breaks redo register (Shougo, 2016 Jun 18, #874)
|
||||
Patch to fix this: #875
|
||||
|
||||
Problem with whitespace in errorformat. (Gerd Wachsmuth, 2016 May 15, #807)
|
||||
|
||||
":caddexpr" should keep state, so that directory changes can be respected.
|
||||
(Luc Hermitte, 2016 Jun 6)
|
||||
Don't clear dir_stack and file_stack when returning, do it on entry when not
|
||||
adding iterms. And keep them in qf_list_T.
|
||||
|
||||
Patch to add filtering of the quickfix list. (Yegappan Lakshmanan, 2016 Mar
|
||||
13, last version) Update June 26, #830.
|
||||
|
||||
When 'autochdir' is set, writing new file does not change the current dir.
|
||||
(Dan Church, issue #777)
|
||||
Patch to fix this. (mister fish (Allen Haim), 2016 May 14, #803)
|
||||
|
||||
ml_get errors when reloading file. (Chris Desjardins, 2016 Apr 19)
|
||||
Also with latest version.
|
||||
|
||||
Patch to put undo options together in undo window.
|
||||
(Gary Johnson, 2016 Jan 28)
|
||||
Patch to load rgb.txt once. (Christian Brabandt, 2016 Apr 29)
|
||||
|
||||
Still problems with 'emoji'. See issue #721. Patch 7.4.1697 half-fixes it.
|
||||
Avoid PLAN_WRITE in windgoto() ?
|
||||
|
||||
AVR assembler syntax file. (Marius Ghita, #439)
|
||||
|
||||
Patch to have better check for {action} argument of setqflist().
|
||||
Nikolai Pavlov, Feb 25, #661. Can be even more strict.
|
||||
Also see patch from Hirohito Higashi, Feb 25.
|
||||
Updated patch, 2016 Mar 25.
|
||||
|
||||
Patch to update the GTK icon cache when installing. (Kazunobu Kuriyama, 2016
|
||||
Feb 3)
|
||||
|
||||
Patch for test86 and test87. (Roland Puntaier, #622)
|
||||
Should already never use utf-8 chars to position the cursor.
|
||||
|
||||
Cannot delete a file with square brackets with delete(). (#696)
|
||||
|
||||
Patch to add GUI colors to the terminal, when 'guicolors' is set. (ZyX, 2013
|
||||
Jan 26, update 2013 Dec 14, another 2014 Nov 22)
|
||||
No autocommand for when changing directory. Patch from allen haim, 2016 Jun
|
||||
27, #888
|
||||
|
||||
Should make ":@r" handle line continuation. (Cesar Romani, 2016 Jun 26)
|
||||
Also for ":@.".
|
||||
|
||||
Patch to add TabNew, TabNewEntered and TabClosed autocommand events.
|
||||
(Felipe Morales, 2015 Feb 1)
|
||||
@@ -167,28 +210,42 @@ Patch for C syntax HL. (Bradley Garagan, 2016 Apr 17) #763
|
||||
Patch to make matchit work better, respect 'matchpairs'. (Ken Takata, 2016 Mar
|
||||
25)
|
||||
|
||||
Possibly wrong value for seq_cur. (Florent Fayolle, 2016 May 15, #806)
|
||||
|
||||
Patch to improve map documentation. Issue #799.
|
||||
|
||||
Patch for restoring wide characters in the console buffer.
|
||||
(Ken Takata, 2016 Jun 7)
|
||||
|
||||
We can use '. to go to the last change in the current buffer, but how about
|
||||
the last change in any buffer? Can we use ', (, is next to .)?
|
||||
|
||||
Patch for Python: #622. (Roland Puntaier, 2016 Feb 2)
|
||||
What does it change?
|
||||
|
||||
When generating the Unicode tables with runtime/tools/unicode.vim the
|
||||
emoji_width table has only one entry.
|
||||
|
||||
It's possible to add ",," to 'wildignore', an empty entry. Causes problems.
|
||||
Reject the value? #710.
|
||||
|
||||
Win32: patch to use 64 bit stat() if possible. (Ken Takata, 2014 May 12)
|
||||
More tests May 14. Update May 29. Update Aug 10.
|
||||
Now part of large file patches. (Ken Takata, 2016 Feb 1)
|
||||
Win64: Seek error in swap file for a very big file (3 Gbyte). Check storing
|
||||
pointer in long and seek offset in 64 bit var.
|
||||
Patches from Ken Takata might help (2014 Apr 17)
|
||||
Update 2016 Mar 28. Can include all parts into one dist patch.
|
||||
Patch to support strikethrough next to bold and italic. (Christian Brabandt,
|
||||
2013 Jul 30) Update from Ken Takata, 2013 Oct 12.
|
||||
Update mentioned by Christian, 2016 Apr 25.
|
||||
Update from Ken Takata, 2016 Apr 26.
|
||||
|
||||
Patch to support 64 bit ints for Number. (Ken Takata, 2016 Jan 21)
|
||||
Update 2016 Apr 4.
|
||||
Patch to improve cscope. (Adrian Kocis, #843)
|
||||
|
||||
Patch for groovy multi-line comment highlighting. (Justin M. Keyes, 2016 May
|
||||
20 #644)
|
||||
|
||||
When doing "vi buf.md" a BufNew autocommand for *.md is not triggered.
|
||||
Because of using the initial buffer? (Dun Peal, 2016 May 12)
|
||||
|
||||
Patch to add the :bvimgrep command. (Christian Brabandt, 2014 Nov 12)
|
||||
Updated 2016 Feb 10
|
||||
Updated 2016 Jun 10, #858
|
||||
|
||||
Add redrawtabline command. (Naruhiko Nishino, 2016 Jun 11)
|
||||
|
||||
Neovim patch for utfc_ptr2char_len() https://github.com/neovim/neovim/pull/4574
|
||||
No test, needs some work to include.
|
||||
@@ -228,14 +285,6 @@ Patch to make tests pass with EBCDIC. (Owen Leibman, 2016 Apr 10)
|
||||
When repeating the 'confirm' dialog one needs to press Enter. (ds26gte, 2016
|
||||
Apr 17) #762
|
||||
|
||||
Patch to support expression argument to sort() instead of a function name.
|
||||
Yasuhiro Matsumoto, 2013 May 31.
|
||||
Or should we add a more general mechanism, like a lambda() function?
|
||||
Patch by Yasuhiro Matsumoto, 2014 Sep 16, update 2016 Apr 17.
|
||||
|
||||
Should jsonencode()/jsondecode() restrict recursiveness?
|
||||
Or avoid recursiveness.
|
||||
|
||||
Use vim.vim syntax highlighting for help file examples, but without ":" in
|
||||
'iskeyword' for syntax.
|
||||
|
||||
@@ -244,6 +293,10 @@ Patch to make "%:h:h" return "." instead of the full path.
|
||||
|
||||
Remove SPACE_IN_FILENAME ? What could possibly go wrong?
|
||||
|
||||
When command names are very long :command output is difficult to read. Use a
|
||||
maximum for the column width? (#871)
|
||||
Patcy by varmanishant, 2016 Jun 18, #876
|
||||
|
||||
Patch to change GUI behavior: instead of changing the window size change the
|
||||
lines/columns when menu/toolbar/etc. is added/removed. (Ychin, 2016 Mar 20,
|
||||
#703)
|
||||
@@ -255,6 +308,9 @@ Should use /usr/local/share/applications or /usr/share/applications.
|
||||
Or use $XDG_DATA_DIRS.
|
||||
Also need to run update-desktop-database (Kuriyama Kazunobu, 2015 Nov 4)
|
||||
|
||||
Patch to add getbufinfo(), gettabinfo() and getwininfo(). (Yegappan
|
||||
Lakshmanan, 2016 Apr 2016) Update Jun 8.
|
||||
|
||||
Access to uninitialized memory in match_backref() regexp_nda.c:4882
|
||||
(Dominique Pelle, 2015 Nov 6)
|
||||
|
||||
@@ -265,15 +321,16 @@ directory exists. (Sergio Gallelli, 2013 Dec 29)
|
||||
when evaluating to non-zero. Add the "watchadd expr" command, stop when
|
||||
the value of the expression changes. ":watchdel" deletes an item,
|
||||
":watchlist" lists the items. (Charles Campbell)
|
||||
Patch by Christian Brabandt, 2016 Feb 1.
|
||||
Patch by Christian Brabandt, 2016 Jun 10, #859
|
||||
|
||||
Patch to discard remainder of long error messages in quickfix, avoid using
|
||||
them as separate messages. (Anton Lindqvist, 2016 Apr 9, update Apr 13)
|
||||
If ":bd" also closes a Tab page then the " mark is not set. (Harm te Hennepe,
|
||||
2016 Apr 25, #780)
|
||||
|
||||
Patch to avoid redrawing tabline when the popup menu is visible.
|
||||
(Christian Brabandt, 2016 Jan 28)
|
||||
|
||||
Patch to add {skip} argument to search(). (Christian Brabandt, 2016 Feb 24)
|
||||
Update 2016 Jun 10, #861
|
||||
|
||||
Add value "smart" to 'tagcase': ignore case when tag is all lower case.
|
||||
Patch from Christian Brabandt, 2016 Mar 30, #712.
|
||||
@@ -355,9 +412,6 @@ Patch to add :mapgroup, put mappings in a group like augroup.
|
||||
Value returned by virtcol() changes depending on how lines wrap. This is
|
||||
inconsistent with the documentation.
|
||||
|
||||
Patch to add filtering of the quickfix list. (Yegappan Lakshmanan, 2016 Mar
|
||||
13, last version) Update Mar 21., Apr 2.
|
||||
|
||||
Can we cache the syntax attributes, so that updates for 'relativenumber' and
|
||||
'cursorline'/'cursorcolumn' are a lot faster?
|
||||
|
||||
@@ -369,7 +423,7 @@ Use v:none. var == v:none
|
||||
|
||||
Patch to add arguments to argc() and argv(). (Yegappan Lakshmanan, 2016 Jan
|
||||
24) Also need a way to get the global arg list? Update later on Jan 24
|
||||
Update Mar 5. Update Apr 7.
|
||||
Update Mar 5. Update Apr 7. Update Jun 5.
|
||||
|
||||
To support Thai (and other languages) word boundaries, include the ICU
|
||||
library: http://userguide.icu-project.org/boundaryanalysis
|
||||
@@ -403,8 +457,6 @@ wildcards. Add a ":nowild" command modifier? (ZyX, 2015 March 4)
|
||||
Proposal to make options.txt easier to read. (Arnaud Decara, 2015 Aug 5)
|
||||
Update Aug 14.
|
||||
|
||||
Crash in :cnext on MS-Windows. (Ben Fritz, 2015 Oct 27)
|
||||
|
||||
When using --remote-tab on MS-Windows 'encoding' hasn't been initialized yet,
|
||||
the file name ends up encoded wrong. (Raul Coronado, 2015 Dec 21)
|
||||
|
||||
@@ -456,9 +508,6 @@ Breaks test_eval. Inefficient, can we only compute y_width when needed?
|
||||
Patch to use different terminal mode settings for system(). (Hayaki Saito)
|
||||
Does this work for everybody?
|
||||
|
||||
Patch to fix that wide characters do not work properly after exiting.
|
||||
(Yasuhiro Matsumoto, 2015 May 24) Better patch to come.
|
||||
|
||||
Patch to add wordcount(). Same info as g CTRL-G. (Christian Brabandt, 2015
|
||||
Nov 17)
|
||||
|
||||
@@ -538,7 +587,7 @@ Patch for ordered dict. (Ozaki Kiichi, 2015 May 7)
|
||||
Patch to make closed folds line up. (Charles Campbell, 2014 Sep 12)
|
||||
Remark from Roland Eggner: does it cause crashes? (2014 Dec 12)
|
||||
Updated patch by Roland Eggner, Dec 16
|
||||
Updated patch from Charles, 2016 Jan 4.
|
||||
Updated patch from Charles, 2016 Jul 2
|
||||
|
||||
Patch to open folds for 'incsearch'. (Christian Brabandt, 2015 Jan 6)
|
||||
|
||||
@@ -551,7 +600,7 @@ Patch: On MS-Windows shellescape() may have to triple double quotes.
|
||||
(Ingo Karkat, 2015 Jan 16)
|
||||
|
||||
Patch for variable tabstops. On github (Christian Brabandt, 2014 May 15)
|
||||
Update 2016 Jan 31 (email).
|
||||
Update 2016 Jun 10, # 857
|
||||
|
||||
Redo only remembers the last change. Could use "{count}g." to redo an older
|
||||
change. How does the user know which change? At least have a way to list
|
||||
@@ -802,9 +851,6 @@ May 17: with winlist() and tabpagelist().
|
||||
May 19: with local variables.
|
||||
May 28: with options
|
||||
|
||||
Patch to add getbufinfo(), gettabinfo() and getwininfo(). (Yegappan
|
||||
Lakshmanan, 2016 Apr 2016)
|
||||
|
||||
Patch to support 'u' in interactive substitute. (Christian Brabandt, 2012 Sep
|
||||
28) With tests: Oct 9.
|
||||
|
||||
@@ -814,6 +860,7 @@ optional. (2013 Jul 12)
|
||||
Dialog is too big on Linux too. (David Fishburn, 2013 Sep 2)
|
||||
|
||||
Improve the installer for MS-Windows. There are a few alternatives:
|
||||
- Add silent install option. (Shane Lee, #751)
|
||||
- Installer from Cream (Steve Hall).
|
||||
- Modern UI 2.0 for the Nsis installer. (Guopeng Wen)
|
||||
https://github.com/gpwen/vim-installer-mui2
|
||||
@@ -1117,7 +1164,7 @@ Build problem with small features on Mac OS X 10.6. (Rainer, 2011 Jan 24)
|
||||
|
||||
"0g@$" puts '] on last byte of multi-byte. (ZyX, 2011 Jan 22)
|
||||
|
||||
Patch to addd TextDeletePost and TextYankPost events. (Philippe Vaucher, 2011
|
||||
Patch to add TextDeletePost and TextYankPost events. (Philippe Vaucher, 2011
|
||||
May 24) Update May 26.
|
||||
|
||||
Patch for :tabrecently. (Hirokazu Yoshida, 2012 Jan 30)
|
||||
@@ -1289,12 +1336,6 @@ Gui menu edit/paste in block mode insert only inserts in one line (Bjorn
|
||||
Winckler, 2011 May 11)
|
||||
Requires a map mode for Insert mode started from blockwise Visual mode.
|
||||
|
||||
Use json format for new items in .viminfo:
|
||||
|["info","any info"]
|
||||
|["text","text text text"
|
||||
|"continuation line"]
|
||||
|["hist",242342342,{"arg":"value"}]
|
||||
|
||||
Writing nested List and Dict in viminfo gives error message and can't be read
|
||||
back. (Yukihiro Nakadaira, 2010 Nov 13)
|
||||
|
||||
@@ -1594,9 +1635,6 @@ probably causes this.
|
||||
'scrollbind' is not respected when deleting lines or undo. (Milan Vancura,
|
||||
2009 Jan 16)
|
||||
|
||||
Patch to support strikethrough next to bold and italic. (Christian Brabandt,
|
||||
2013 Jul 30) Update from Ken Takata, 2013 Oct 12.
|
||||
|
||||
Document that default font in Athena can be set with resources:
|
||||
XtDefaultFont: "9x15"
|
||||
XtDefaultFontSet: "9x15"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_41.txt* For Vim version 7.4. Last change: 2016 Apr 12
|
||||
*usr_41.txt* For Vim version 7.4. Last change: 2016 Jun 13
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -602,7 +602,9 @@ String manipulation: *string-functions*
|
||||
strdisplaywidth() size of string when displayed, deals with tabs
|
||||
substitute() substitute a pattern match with a string
|
||||
submatch() get a specific match in ":s" and substitute()
|
||||
strpart() get part of a string
|
||||
strpart() get part of a string using byte index
|
||||
strcharpart() get part of a string using char index
|
||||
strgetchar() get character from a string using char index
|
||||
expand() expand special keywords
|
||||
iconv() convert text from one encoding to another
|
||||
byteidx() byte index of a character in a string
|
||||
@@ -678,6 +680,7 @@ Floating point computation: *float-functions*
|
||||
sinh() hyperbolic sine
|
||||
cosh() hyperbolic cosine
|
||||
tanh() hyperbolic tangent
|
||||
isnan() check for not a number
|
||||
|
||||
Other computation: *bitwise-function*
|
||||
and() bitwise AND
|
||||
@@ -732,11 +735,14 @@ Working with text in the current buffer: *text-functions*
|
||||
searchpair() find the other end of a start/skip/end
|
||||
searchpairpos() find the other end of a start/skip/end
|
||||
searchdecl() search for the declaration of a name
|
||||
getcharsearch() return character search information
|
||||
setcharsearch() set character search information
|
||||
|
||||
*system-functions* *file-functions*
|
||||
System functions and manipulation of files:
|
||||
glob() expand wildcards
|
||||
globpath() expand wildcards in a number of directories
|
||||
glob2regpat() convert a glob pattern into a search pattern
|
||||
findfile() find a file in a list of directories
|
||||
finddir() find a directory in a list of directories
|
||||
resolve() find out where a shortcut points to
|
||||
@@ -748,6 +754,7 @@ System functions and manipulation of files:
|
||||
filereadable() check if a file can be read
|
||||
filewritable() check if a file can be written to
|
||||
getfperm() get the permissions of a file
|
||||
setfperm() set the permissions of a file
|
||||
getftype() get the kind of a file
|
||||
isdirectory() check if a directory exists
|
||||
getfsize() get the size of a file
|
||||
@@ -786,9 +793,15 @@ Buffers, windows and the argument list:
|
||||
tabpagenr() get the number of a tab page
|
||||
tabpagewinnr() like winnr() for a specified tab page
|
||||
winnr() get the window number for the current window
|
||||
bufwinid() get the window ID of a specific buffer
|
||||
bufwinnr() get the window number of a specific buffer
|
||||
winbufnr() get the buffer number of a specific window
|
||||
getbufline() get a list of lines from the specified buffer
|
||||
win_findbuf() find windows containing a buffer
|
||||
win_getid() get window ID of a window
|
||||
win_gotoid() go to window with ID
|
||||
win_id2tabwin() get tab and window nr from window ID
|
||||
win_id2win() get window nr from window ID
|
||||
|
||||
Command line: *command-line-functions*
|
||||
getcmdline() get the current command line
|
||||
@@ -899,14 +912,48 @@ Testing: *test-functions*
|
||||
assert_true() assert that an expression is true
|
||||
assert_exception() assert that a command throws an exception
|
||||
assert_fails() assert that a function call fails
|
||||
test_alloc_fail() make memory allocation fail
|
||||
test_disable_char_avail() test without typeahead
|
||||
test_garbagecollect_now() free memory right now
|
||||
test_null_channel() return a null Channel
|
||||
test_null_dict() return a null Dict
|
||||
test_null_job() return a null Job
|
||||
test_null_list() return a null List
|
||||
test_null_partial() return a null Partial function
|
||||
test_null_string() return a null String
|
||||
|
||||
Inter-process communication:
|
||||
Inter-process communication: *channel-functions*
|
||||
ch_open() open a channel
|
||||
ch_close() close a channel
|
||||
ch_read() read a message from a channel
|
||||
ch_readraw() read a raw message from a channel
|
||||
ch_sendexpr() send a JSON message over a channel
|
||||
ch_sendraw() send a raw message over a channel
|
||||
jsonencode() encode an expression to a JSON string
|
||||
jsondecode() decode a JSON string to Vim types
|
||||
ch_evalexpr() evaluates an expression over channel
|
||||
ch_evalraw() evaluates a raw string over channel
|
||||
ch_status() get status of a channel
|
||||
ch_getbufnr() get the buffer number of a channel
|
||||
ch_getjob() get the job associated with a channel
|
||||
ch_info() get channel information
|
||||
ch_log() write a message in the channel log file
|
||||
ch_logfile() set the channel log file
|
||||
ch_setoptions() set the options for a channel
|
||||
json_encode() encode an expression to a JSON string
|
||||
json_decode() decode a JSON string to Vim types
|
||||
js_encode() encode an expression to a JSON string
|
||||
js_decode() decode a JSON string to Vim types
|
||||
|
||||
Jobs: *job-functions*
|
||||
job_start() start a job
|
||||
job_stop() stop a job
|
||||
job_status() get the status of a job
|
||||
job_getchannel() get the channel used by a job
|
||||
job_info() get information about a job
|
||||
job_setoptions() set options for a job
|
||||
|
||||
Timers: *timer-functions*
|
||||
timer_start() create a timer
|
||||
timer_stop() stop a timer
|
||||
|
||||
Various: *various-functions*
|
||||
mode() get current editing mode
|
||||
@@ -1407,9 +1454,9 @@ Now we can instantiate a Dutch translation object: >
|
||||
And a German translator: >
|
||||
|
||||
:let uk2de = copy(transdict)
|
||||
:let uk2de.words = {'one': 'ein', 'two': 'zwei', 'three': 'drei'}
|
||||
:let uk2de.words = {'one': 'eins', 'two': 'zwei', 'three': 'drei'}
|
||||
:echo uk2de.translate('three one')
|
||||
< drei ein ~
|
||||
< drei eins ~
|
||||
|
||||
You see that the copy() function is used to make a copy of the "transdict"
|
||||
Dictionary and then the copy is changed to add the words. The original
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*various.txt* For Vim version 7.4. Last change: 2016 Mar 20
|
||||
*various.txt* For Vim version 7.4. Last change: 2016 May 24
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -390,7 +390,9 @@ N *+multi_lang* non-English language support |multi-lang|
|
||||
m *+mzscheme* Mzscheme interface |mzscheme|
|
||||
m *+mzscheme/dyn* Mzscheme interface |mzscheme-dynamic| |/dyn|
|
||||
m *+netbeans_intg* |netbeans|
|
||||
*+num64* 64-bit Number support |Number|
|
||||
m *+ole* Win32 GUI only: |ole-interface|
|
||||
N *+packages* Loading |packages|
|
||||
N *+path_extra* Up/downwards search in 'path' and 'tags'
|
||||
m *+perl* Perl interface |perl|
|
||||
m *+perl/dyn* Perl interface |perl-dynamic| |/dyn|
|
||||
@@ -424,7 +426,7 @@ m *+tcl* Tcl interface |tcl|
|
||||
m *+tcl/dyn* Tcl interface |tcl-dynamic| |/dyn|
|
||||
*+terminfo* uses |terminfo| instead of termcap
|
||||
N *+termresponse* support for |t_RV| and |v:termresponse|
|
||||
m *+termtruecolor* 24-bit color in xterm-compatible terminals support
|
||||
B *+termguicolors* 24-bit color in xterm-compatible terminals support
|
||||
N *+textobjects* |text-objects| selection
|
||||
*+tgetent* non-Unix only: able to use external termcap
|
||||
N *+timers* the |timer_start()| function
|
||||
@@ -606,13 +608,16 @@ K Run a program to lookup the keyword under the
|
||||
directory of Vim. It is called 'ref' and does a
|
||||
simple spelling check.
|
||||
Special cases:
|
||||
- If 'keywordprg' begins with ":" it is invoked as
|
||||
a Vim Ex command with [count].
|
||||
- If 'keywordprg' is empty, the ":help" command is
|
||||
used. It's a good idea to include more characters
|
||||
in 'iskeyword' then, to be able to find more help.
|
||||
- When 'keywordprg' is equal to "man", a count before
|
||||
"K" is inserted after the "man" command and before
|
||||
the keyword. For example, using "2K" while the
|
||||
cursor is on "mkdir", results in: >
|
||||
- When 'keywordprg' is equal to "man" or starts with
|
||||
":", a [count] before "K" is inserted after
|
||||
keywordprg and before the keyword. For example,
|
||||
using "2K" while the cursor is on "mkdir", results
|
||||
in: >
|
||||
!man 2 mkdir
|
||||
< - When 'keywordprg' is equal to "man -s", a count
|
||||
before "K" is inserted after the "-s". If there is
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*version7.txt* For Vim version 7.4. Last change: 2016 Apr 03
|
||||
*version7.txt* For Vim version 7.4. Last change: 2016 Jun 04
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*version8.txt* For Vim version 8.0. Last change: 2016 Apr 14
|
||||
*version8.txt* For Vim version 8.0. Last change: 2016 Jun 04
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -13,10 +13,8 @@ found below |vim-7.4|. Use this command to see the version you are using: >
|
||||
:version
|
||||
|
||||
See |vi_diff.txt| for an overview of differences between Vi and Vim 7.0.
|
||||
See |version4.txt| for differences between Vim 3.x and Vim 4.x.
|
||||
See |version5.txt| for differences between Vim 4.x and Vim 5.x.
|
||||
See |version6.txt| for differences between Vim 5.x and Vim 6.x.
|
||||
See |version7.txt| for differences between Vim 6.x and Vim 7.x.
|
||||
See |version4.txt|, |version5.txt|, |version6.txt| and |version7.txt| for
|
||||
differences between other versions.
|
||||
|
||||
INCOMPATIBLE CHANGES |incompatible-8|
|
||||
|
||||
@@ -104,7 +102,8 @@ New style tests ~
|
||||
|
||||
This is for Vim developers. So far writing tests for Vim has not been easy.
|
||||
Vim 8 adds assert functions and a framework to run tests. This makes it a lot
|
||||
simpler to write tests and keep them updated.
|
||||
simpler to write tests and keep them updated. Also new are several functions
|
||||
that are added specifically for testing.
|
||||
|
||||
These functions have been added:
|
||||
|assert_equal()|
|
||||
@@ -115,15 +114,22 @@ These functions have been added:
|
||||
|assert_match()|
|
||||
|assert_notmatch()|
|
||||
|assert_true()|
|
||||
|alloc_fail()|
|
||||
|disable_char_avail_for_testing()|
|
||||
|test_alloc_fail()|
|
||||
|test_disable_char_avail()|
|
||||
|test_garbagecollect_now()|
|
||||
|test_null_channel()|
|
||||
|test_null_dict()|
|
||||
|test_null_job()|
|
||||
|test_null_list()|
|
||||
|test_null_partial()|
|
||||
|test_null_string()|
|
||||
|
||||
|
||||
Window IDs ~
|
||||
|
||||
Previously windows could only be accessed by their number. And every time a
|
||||
window would open, close or move that number changes. Each window now has a
|
||||
unique ID, so that they are easy to find.
|
||||
unique ID, so that they are easy to find. See |win_getid()| and |win_id2win()|.
|
||||
|
||||
|
||||
Wrapping lines with indent ~
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*windows.txt* For Vim version 7.4. Last change: 2016 Feb 01
|
||||
*windows.txt* For Vim version 7.4. Last change: 2016 Jun 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -76,6 +76,16 @@ places where a Normal mode command can't be used or is inconvenient.
|
||||
The main Vim window can hold several split windows. There are also tab pages
|
||||
|tab-page|, each of which can hold multiple windows.
|
||||
|
||||
Each window has a unique identifier called the window ID. This identifier
|
||||
will not change within a Vim session. The |win_getid()| and |win_id2tabwin()|
|
||||
functions can be used to convert between the window/tab number and the
|
||||
identifier. There is also the window number, which may change whenever
|
||||
windows are opened or closed, see |winnr()|.
|
||||
|
||||
Each buffer has a unique number and the number will not change within a Vim
|
||||
session. The |bufnr()| and |bufname()| functions can be used to convert
|
||||
between a buffer name and the buffer number.
|
||||
|
||||
==============================================================================
|
||||
2. Starting Vim *windows-starting*
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2015 Dec 03
|
||||
" Last Change: 2016 Jun 26
|
||||
|
||||
" Listen very carefully, I will say this only once
|
||||
if exists("did_load_filetypes")
|
||||
@@ -17,7 +17,7 @@ augroup filetypedetect
|
||||
|
||||
" Ignored extensions
|
||||
if exists("*fnameescape")
|
||||
au BufNewFile,BufRead ?\+.orig,?\+.bak,?\+.old,?\+.new,?\+.dpkg-dist,?\+.dpkg-old,?\+.dpkg-new,?\+.dpkg-bak,?\+.rpmsave,?\+.rpmnew
|
||||
au BufNewFile,BufRead ?\+.orig,?\+.bak,?\+.old,?\+.new,?\+.dpkg-dist,?\+.dpkg-old,?\+.dpkg-new,?\+.dpkg-bak,?\+.rpmsave,?\+.rpmnew,?\+.pacsave,?\+.pacnew
|
||||
\ exe "doau filetypedetect BufRead " . fnameescape(expand("<afile>:r"))
|
||||
au BufNewFile,BufRead *~
|
||||
\ let s:name = expand("<afile>") |
|
||||
@@ -1019,7 +1019,7 @@ au BufNewFile,BufRead *.jgr setf jgraph
|
||||
au BufNewFile,BufRead *.jov,*.j73,*.jovial setf jovial
|
||||
|
||||
" JSON
|
||||
au BufNewFile,BufRead *.json,*.jsonp setf json
|
||||
au BufNewFile,BufRead *.json,*.jsonp,*.webmanifest setf json
|
||||
|
||||
" Kixtart
|
||||
au BufNewFile,BufRead *.kix setf kix
|
||||
@@ -1861,11 +1861,19 @@ au BufNewFile,BufRead catalog setf catalog
|
||||
au BufNewFile,BufRead sgml.catalog* call s:StarSetf('catalog')
|
||||
|
||||
" Shell scripts (sh, ksh, bash, bash2, csh); Allow .profile_foo etc.
|
||||
" Gentoo ebuilds are actually bash scripts
|
||||
au BufNewFile,BufRead .bashrc*,bashrc,bash.bashrc,.bash[_-]profile*,.bash[_-]logout*,.bash[_-]aliases*,*.bash,*/{,.}bash[_-]completion{,.d,.sh}{,/*},*.ebuild,*.eclass call SetFileTypeSH("bash")
|
||||
" Gentoo ebuilds and Arch Linux PKGBUILDs are actually bash scripts
|
||||
au BufNewFile,BufRead .bashrc*,bashrc,bash.bashrc,.bash[_-]profile*,.bash[_-]logout*,.bash[_-]aliases*,*.bash,*/{,.}bash[_-]completion{,.d,.sh}{,/*},*.ebuild,*.eclass,PKGBUILD* call SetFileTypeSH("bash")
|
||||
au BufNewFile,BufRead .kshrc*,*.ksh call SetFileTypeSH("ksh")
|
||||
au BufNewFile,BufRead */etc/profile,.profile*,*.sh,*.env call SetFileTypeSH(getline(1))
|
||||
|
||||
" Shell script (Arch Linux) or PHP file (Drupal)
|
||||
au BufNewFile,BufRead *.install
|
||||
\ if getline(1) =~ '<?php' |
|
||||
\ setf php |
|
||||
\ else |
|
||||
\ call SetFileTypeSH("bash") |
|
||||
\ endif
|
||||
|
||||
" Also called from scripts.vim.
|
||||
func! SetFileTypeSH(name)
|
||||
if expand("<amatch>") =~ g:ft_ignore_pat
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: C
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2012 Jul 10
|
||||
" Last Change: 2016 Jun 12
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@@ -37,7 +37,7 @@ endif
|
||||
" When the matchit plugin is loaded, this makes the % command skip parens and
|
||||
" braces in comments.
|
||||
let b:match_words = &matchpairs . ',^\s*#\s*if\(\|def\|ndef\)\>:^\s*#\s*elif\>:^\s*#\s*else\>:^\s*#\s*endif\>'
|
||||
let b:match_skip = 's:comment\|string\|character'
|
||||
let b:match_skip = 's:comment\|string\|character\|special'
|
||||
|
||||
" Win32 can filter files in the browse dialog
|
||||
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
|
||||
|
||||
19
runtime/ftplugin/groovy.vim
Normal file
19
runtime/ftplugin/groovy.vim
Normal file
@@ -0,0 +1,19 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: groovy
|
||||
" Maintainer: Justin M. Keyes <justinkz@gmail.com>
|
||||
" Last Change: 2016 May 22
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
|
||||
let b:undo_ftplugin = 'setlocal commentstring<'
|
||||
|
||||
setlocal commentstring=//%s
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: man
|
||||
" Maintainer: SungHyun Nam <goweol@gmail.com>
|
||||
" Last Change: 2016 Feb 04
|
||||
" Last Change: 2016 Jun 20
|
||||
|
||||
" To make the ":Man" command available before editing a manual page, source
|
||||
" this script from your startup vimrc file.
|
||||
@@ -150,7 +150,17 @@ func <SID>GetPage(...)
|
||||
endwhile
|
||||
endif
|
||||
if &filetype != "man"
|
||||
new
|
||||
if exists("g:ft_man_open_mode")
|
||||
if g:ft_man_open_mode == "vert"
|
||||
vnew
|
||||
elseif g:ft_man_open_mode == "tab"
|
||||
tabnew
|
||||
else
|
||||
new
|
||||
endif
|
||||
else
|
||||
new
|
||||
endif
|
||||
setl nonu fdc=0
|
||||
endif
|
||||
endif
|
||||
@@ -160,10 +170,15 @@ func <SID>GetPage(...)
|
||||
|
||||
setl ma nonu nornu nofen
|
||||
silent exec "norm 1GdG"
|
||||
let unsetwidth = 0
|
||||
if empty($MANWIDTH)
|
||||
let $MANWIDTH = winwidth(0)
|
||||
let unsetwidth = 1
|
||||
endif
|
||||
silent exec "r!/usr/bin/man ".s:GetCmdArg(sect, page)." | col -b"
|
||||
if unsetwidth
|
||||
let $MANWIDTH = ''
|
||||
endif
|
||||
" Remove blank lines from top and bottom.
|
||||
while getline(1) =~ '^\s*$'
|
||||
silent keepj norm ggdd
|
||||
@@ -175,6 +190,7 @@ func <SID>GetPage(...)
|
||||
setl ft=man nomod
|
||||
setl bufhidden=hide
|
||||
setl nobuflisted
|
||||
setl noma
|
||||
endfunc
|
||||
|
||||
func <SID>PopPage()
|
||||
@@ -195,4 +211,4 @@ endfunc
|
||||
|
||||
endif
|
||||
|
||||
" vim: set sw=2:
|
||||
" vim: set sw=2 ts=8 noet:
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: python
|
||||
" Maintainer: Johannes Zellner <johannes@zellner.org>
|
||||
" Last Change: 2014 Feb 09
|
||||
" Last Change By Johannes: Wed, 21 Apr 2004 13:13:08 CEST
|
||||
" Maintainer: James Sully <sullyj3@gmail.com>
|
||||
" Previous Maintainer: Johannes Zellner <johannes@zellner.org>
|
||||
" Last Change: Wed, 29 June 2016
|
||||
" https://github.com/sullyj3/vim-ftplugin-python
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
let b:did_ftplugin = 1
|
||||
@@ -21,28 +22,38 @@ setlocal omnifunc=pythoncomplete#Complete
|
||||
|
||||
set wildignore+=*.pyc
|
||||
|
||||
nnoremap <silent> <buffer> ]] :call <SID>Python_jump('/^\(class\\|def\)')<cr>
|
||||
nnoremap <silent> <buffer> [[ :call <SID>Python_jump('?^\(class\\|def\)')<cr>
|
||||
nnoremap <silent> <buffer> ]m :call <SID>Python_jump('/^\s*\(class\\|def\)')<cr>
|
||||
nnoremap <silent> <buffer> [m :call <SID>Python_jump('?^\s*\(class\\|def\)')<cr>
|
||||
nnoremap <silent> <buffer> ]] :call <SID>Python_jump('n', '\v%$\|^(class\|def)>', 'W')<cr>
|
||||
nnoremap <silent> <buffer> [[ :call <SID>Python_jump('n', '\v^(class\|def)>', 'Wb')<cr>
|
||||
nnoremap <silent> <buffer> ]m :call <SID>Python_jump('n', '\v%$\|^\s*(class\|def)>', 'W')<cr>
|
||||
nnoremap <silent> <buffer> [m :call <SID>Python_jump('n', '\v^\s*(class\|def)>', 'Wb')<cr>
|
||||
|
||||
xnoremap <silent> <buffer> ]] :call <SID>Python_jump('x', '\v%$\|^(class\|def)>', 'W')<cr>
|
||||
xnoremap <silent> <buffer> [[ :call <SID>Python_jump('x', '\v^(class\|def)>', 'Wb')<cr>
|
||||
xnoremap <silent> <buffer> ]m :call <SID>Python_jump('x', '\v%$\|^\s*(class\|def)>', 'W')<cr>
|
||||
xnoremap <silent> <buffer> [m :call <SID>Python_jump('x', '\v^\s*(class\|def)>', 'Wb')<cr>
|
||||
|
||||
if !exists('*<SID>Python_jump')
|
||||
fun! <SID>Python_jump(motion) range
|
||||
fun! <SID>Python_jump(mode, motion, flags) range
|
||||
if a:mode == 'x'
|
||||
normal! gv
|
||||
endif
|
||||
|
||||
normal! 0
|
||||
|
||||
let cnt = v:count1
|
||||
let save = @/ " save last search pattern
|
||||
mark '
|
||||
while cnt > 0
|
||||
silent! exe a:motion
|
||||
let cnt = cnt - 1
|
||||
call search(a:motion, a:flags)
|
||||
let cnt = cnt - 1
|
||||
endwhile
|
||||
call histdel('/', -1)
|
||||
let @/ = save " restore last search pattern
|
||||
|
||||
normal! ^
|
||||
endfun
|
||||
endif
|
||||
|
||||
if has("browsefilter") && !exists("b:browsefilter")
|
||||
let b:browsefilter = "Python Files (*.py)\t*.py\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
" As suggested by PEP8.
|
||||
|
||||
@@ -36,10 +36,11 @@ except ImportError:
|
||||
else:
|
||||
specfile = vim.current.buffer.name
|
||||
if specfile:
|
||||
rpm.delMacro("dist")
|
||||
spec = rpm.spec(specfile)
|
||||
headers = spec.packages[0].header
|
||||
version = headers['Version']
|
||||
release = ".".join(headers['Release'].split(".")[:-1])
|
||||
headers = spec.sourceHeader
|
||||
version = headers["Version"]
|
||||
release = headers["Release"]
|
||||
vim.command("let ver = " + version)
|
||||
vim.command("let rel = " + release)
|
||||
PYEND
|
||||
@@ -113,7 +114,10 @@ if !exists("*s:SpecChangelog")
|
||||
endif
|
||||
endif
|
||||
if (chgline != -1)
|
||||
let tmptime = v:lc_time
|
||||
language time C
|
||||
let parsed_format = "* ".strftime(format)." - ".ver."-".rel
|
||||
execute "language time" tmptime
|
||||
let release_info = "+ ".name."-".ver."-".rel
|
||||
let wrong_format = 0
|
||||
let wrong_release = 0
|
||||
@@ -179,12 +183,8 @@ if !exists("*s:ParseRpmVars")
|
||||
endif
|
||||
let varname = strpart(a:str, start+2, end-(start+2))
|
||||
execute a:strline
|
||||
let definestr = "^[ \t]*%define[ \t]\\+" . varname . "[ \t]\\+\\(.*\\)$"
|
||||
let definestr = "^[ \t]*%(?:global|define)[ \t]\\+" . varname . "[ \t]\\+\\(.*\\)$"
|
||||
let linenum = search(definestr, "bW")
|
||||
if (linenum == 0)
|
||||
let definestr = substitute(definestr, "%define", "%global", "")
|
||||
let linenum = search(definestr, "bW")
|
||||
endif
|
||||
if (linenum != -1)
|
||||
let ret = ret . substitute(getline(linenum), definestr, "\\1", "")
|
||||
else
|
||||
@@ -201,7 +201,7 @@ endif
|
||||
|
||||
let b:match_ignorecase = 0
|
||||
let b:match_words =
|
||||
\ '^Name:^%description:^%clean:^%setup:^%build:^%install:^%files:' .
|
||||
\ '^Name:^%description:^%clean:^%(?:auto)?setup:^%build:^%install:^%files:' .
|
||||
\ '^%package:^%preun:^%postun:^%changelog'
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
|
||||
@@ -3,9 +3,15 @@
|
||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||
" Previous Maintainer: Peter Aronoff <telemachus@arpinum.org>
|
||||
" Original Author: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2016-02-15
|
||||
" Latest Revision: 2016-06-27
|
||||
" License: Vim (see :h license)
|
||||
" Repository: https://github.com/chrisbra/vim-sh-indent
|
||||
" Changelog:
|
||||
" 20160627: - detect heredocs correctly
|
||||
" 20160213: - detect function definition correctly
|
||||
" 20160202: - use shiftwidth() function
|
||||
" 20151215: - set b:undo_indent variable
|
||||
" 20150728: - add foreach detection for zsh
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
@@ -102,6 +108,8 @@ function! GetShIndent()
|
||||
endif
|
||||
elseif s:is_case_break(line)
|
||||
let ind -= s:indent_value('case-breaks')
|
||||
elseif s:is_here_doc(line)
|
||||
let ind = 0
|
||||
endif
|
||||
|
||||
return ind
|
||||
@@ -160,6 +168,14 @@ function! s:is_case_break(line)
|
||||
return a:line =~ '^\s*;[;&]'
|
||||
endfunction
|
||||
|
||||
function! s:is_here_doc(line)
|
||||
if a:line =~ '^\w\+$'
|
||||
let here_pat = '<<-\?'. s:escape(a:line). '\$'
|
||||
return search(here_pat, 'bnW') > 0
|
||||
endif
|
||||
return 0
|
||||
endfunction
|
||||
|
||||
function! s:is_case_ended(line)
|
||||
return s:is_case_break(a:line) || a:line =~ ';[;&]\s*\%(#.*\)\=$'
|
||||
endfunction
|
||||
@@ -172,5 +188,9 @@ function! s:is_case_empty(line)
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:escape(pattern)
|
||||
return '\V'. escape(a:pattern, '\\')
|
||||
endfunction
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" VHDL indent ('93 syntax)
|
||||
" Language: VHDL
|
||||
" Maintainer: Gerald Lai <laigera+vim?gmail.com>
|
||||
" Version: 1.58
|
||||
" Last Change: 2011 Sep 27
|
||||
" Version: 1.60
|
||||
" Last Change: 2016 Feb 26
|
||||
" URL: http://www.vim.org/scripts/script.php?script_id=1450
|
||||
|
||||
" only load this indent file when no other was loaded
|
||||
@@ -104,7 +104,7 @@ function GetVHDLindent()
|
||||
let pn = prevnonblank(pn - 1)
|
||||
let ps = getline(pn)
|
||||
endwhile
|
||||
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*('))
|
||||
if (curs =~ '^\s*)' || curs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*\((.*)\)*\s*\%(=>\s*\S\+\|:[^=]\@=\s*\%(\%(in\|out\|inout\|buffer\|linkage\)\>\|\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, '(')
|
||||
@@ -412,11 +412,22 @@ function GetVHDLindent()
|
||||
|
||||
" ****************************************************************************************
|
||||
" indent: maintain indent of previous opening statement
|
||||
" keywords: without "procedure", "generic", "map", "port" + ":" but not ":=" + "in", "out", "inout", "buffer", "linkage", variable & ":="
|
||||
" keywords: without "procedure", "generic", "map", "port" + ":" but not ":=" + eventually ;$
|
||||
" where: start of current line
|
||||
if curs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*:[^=]\@=\s*\%(\%(in\|out\|inout\|buffer\|linkage\)\>\|\w\+\s\+:=\)'
|
||||
if curs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*:[^=].*;.*$'
|
||||
return ind2
|
||||
endif
|
||||
" ****************************************************************************************
|
||||
" indent: maintain indent of previous opening statement, corner case which
|
||||
" does not end in ;, but is part of a mapping
|
||||
" keywords: without "procedure", "generic", "map", "port" + ":" but not ":=", never + ;$ and
|
||||
" prevline without "procedure", "generic", "map", "port" + ":" but not ":=" + eventually ;$
|
||||
" where: start of current line
|
||||
if curs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*:[^=].*[^;].*$'
|
||||
if prevs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*:[^=].*;.*$'
|
||||
return ind2
|
||||
endif
|
||||
endif
|
||||
|
||||
" return leftover filtered indent
|
||||
return ind
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim indent file
|
||||
" Language: Vim script
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2016 Apr 19
|
||||
" Last Change: 2016 Jun 27
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
@@ -60,7 +60,7 @@ function GetVimIndentIntern()
|
||||
else
|
||||
let ind = ind + shiftwidth() * 3
|
||||
endif
|
||||
elseif prev_text =~ '^\s*aug\%[roup]' && prev_text !~ '^\s*aug\%[roup]\s*!\=\s\+[eE][nN][dD]'
|
||||
elseif prev_text =~ '^\s*aug\%[roup]\s\+' && prev_text !~ '^\s*aug\%[roup]\s\+[eE][nN][dD]\>'
|
||||
let ind = ind + shiftwidth()
|
||||
else
|
||||
" A line starting with :au does not increment/decrement indent.
|
||||
@@ -89,7 +89,7 @@ function GetVimIndentIntern()
|
||||
|
||||
" Subtract a 'shiftwidth' on a :endif, :endwhile, :catch, :finally, :endtry,
|
||||
" :endfun, :else and :augroup END.
|
||||
if cur_text =~ '^\s*\(ene\@!\|cat\|fina\|el\|aug\%[roup]\s*!\=\s\+[eE][nN][dD]\)'
|
||||
if cur_text =~ '^\s*\(ene\@!\|cat\|fina\|el\|aug\%[roup]\s\+[eE][nN][dD]\)'
|
||||
let ind = ind - shiftwidth()
|
||||
endif
|
||||
|
||||
|
||||
196
runtime/keymap/vietnamese-telex_utf-8.vim
Normal file
196
runtime/keymap/vietnamese-telex_utf-8.vim
Normal file
@@ -0,0 +1,196 @@
|
||||
" Vim Keymap file for Vietnamese through Telex method
|
||||
" Maintainer: Raphael McSinyx <vn.mcsinyx@gmail.com>
|
||||
" Last Change: 2016-06-13
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
let b:keymap_name = "vi"
|
||||
|
||||
loadkeymap
|
||||
|
||||
A\\ A
|
||||
AF À
|
||||
AS Á
|
||||
AR Ả
|
||||
AX Ã
|
||||
AJ Ạ
|
||||
|
||||
AW Ă
|
||||
AW\\ Ă
|
||||
AWF Ằ
|
||||
AWS Ắ
|
||||
AWR Ẳ
|
||||
AWX Ẵ
|
||||
AWJ Ặ
|
||||
|
||||
AA Â
|
||||
AA\\ Â
|
||||
AAF Ầ
|
||||
AAS Ấ
|
||||
AAR Ẩ
|
||||
AAX Ẫ
|
||||
AAJ Ậ
|
||||
|
||||
D\\ D
|
||||
DD Đ
|
||||
|
||||
E E
|
||||
E\\ E
|
||||
EF È
|
||||
ES É
|
||||
ER Ẻ
|
||||
EX Ẽ
|
||||
EJ Ẹ
|
||||
|
||||
EE Ê
|
||||
EE\\ Ê
|
||||
EEF Ề
|
||||
EES Ế
|
||||
EER Ể
|
||||
EEX Ễ
|
||||
EEJ Ệ
|
||||
|
||||
I\\ I
|
||||
IF Ì
|
||||
IS Í
|
||||
IR Ỉ
|
||||
IX Ĩ
|
||||
IJ Ị
|
||||
|
||||
O\\ O
|
||||
OF Ò
|
||||
OS Ó
|
||||
OR Ỏ
|
||||
OX Õ
|
||||
OJ Ọ
|
||||
|
||||
OO Ô
|
||||
OO\\ Ô
|
||||
OOF Ồ
|
||||
OOS Ố
|
||||
OOR Ổ
|
||||
OOX Ỗ
|
||||
OOJ Ộ
|
||||
|
||||
OW Ơ
|
||||
OW\\ Ơ
|
||||
OWF Ờ
|
||||
OWS Ớ
|
||||
OWR Ở
|
||||
OWX Ỡ
|
||||
OWJ Ợ
|
||||
|
||||
U\\ U
|
||||
UF Ù
|
||||
US Ú
|
||||
UR Ủ
|
||||
UX Ũ
|
||||
UJ Ụ
|
||||
|
||||
UW Ư
|
||||
UW\\ Ư
|
||||
UWF Ừ
|
||||
UWS Ứ
|
||||
UWR Ử
|
||||
UWX Ữ
|
||||
UWJ Ự
|
||||
|
||||
Y\\ Y
|
||||
YF Ỳ
|
||||
YS Ý
|
||||
YR Ỷ
|
||||
YX Ỹ
|
||||
YJ Ỵ
|
||||
|
||||
a\\ a
|
||||
af à
|
||||
as á
|
||||
ar ả
|
||||
ax ã
|
||||
aj ạ
|
||||
|
||||
aw ă
|
||||
aw\\ ă
|
||||
awf ằ
|
||||
aws ắ
|
||||
awr ẳ
|
||||
awx ẵ
|
||||
awj ặ
|
||||
|
||||
aa â
|
||||
aa\\ â
|
||||
aaf ầ
|
||||
aas ấ
|
||||
aar ẩ
|
||||
aax ẫ
|
||||
aaj ậ
|
||||
|
||||
d\\ d
|
||||
dd đ
|
||||
|
||||
e\\ e
|
||||
ef è
|
||||
es é
|
||||
er ẻ
|
||||
ex ẽ
|
||||
ej ẹ
|
||||
|
||||
ee ê
|
||||
ee\\ ê
|
||||
eef ề
|
||||
ees ế
|
||||
eer ể
|
||||
eex ễ
|
||||
eej ệ
|
||||
|
||||
i\\ i
|
||||
if ì
|
||||
is í
|
||||
ir ỉ
|
||||
ix ĩ
|
||||
ij ị
|
||||
|
||||
o\\ o
|
||||
of ò
|
||||
os ó
|
||||
or ỏ
|
||||
ox õ
|
||||
oj ọ
|
||||
|
||||
oo ô
|
||||
oo\\ ô
|
||||
oof ồ
|
||||
oos ố
|
||||
oor ổ
|
||||
oox ỗ
|
||||
ooj ộ
|
||||
|
||||
ow ơ
|
||||
ow\\ ơ
|
||||
owf ờ
|
||||
ows ớ
|
||||
owr ở
|
||||
owx ỡ
|
||||
owj ợ
|
||||
|
||||
u\\ u
|
||||
uf ù
|
||||
us ú
|
||||
ur ủ
|
||||
ux ũ
|
||||
uj ụ
|
||||
|
||||
uw ư
|
||||
uw\\ ư
|
||||
uwf ừ
|
||||
uws ứ
|
||||
uwr ử
|
||||
uwx ữ
|
||||
uwj ự
|
||||
|
||||
y\\ y
|
||||
yf ỳ
|
||||
ys ý
|
||||
yr ỷ
|
||||
yx ỹ
|
||||
yj ỵ
|
||||
196
runtime/keymap/vietnamese-vni_utf-8.vim
Normal file
196
runtime/keymap/vietnamese-vni_utf-8.vim
Normal file
@@ -0,0 +1,196 @@
|
||||
" Vim Keymap file for Vietnamese through VNI method
|
||||
" Maintainer: Raphael McSinyx <vn.mcsinyx@gmail.com>
|
||||
" Last Change: 2016-06-13
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
let b:keymap_name = "vi"
|
||||
|
||||
loadkeymap
|
||||
|
||||
A\\ A
|
||||
A1 Á
|
||||
A2 À
|
||||
A3 Ả
|
||||
A4 Ã
|
||||
A5 Ạ
|
||||
|
||||
A8 Ă
|
||||
A8\\ Ă
|
||||
A81 Ắ
|
||||
A82 Ằ
|
||||
A83 Ẳ
|
||||
A84 Ẵ
|
||||
A85 Ặ
|
||||
|
||||
A6 Â
|
||||
A6\\ Â
|
||||
A61 Ấ
|
||||
A62 Ầ
|
||||
A63 Ẩ
|
||||
A64 Ẫ
|
||||
A65 Ậ
|
||||
|
||||
D D
|
||||
D\\ D
|
||||
D9 Đ
|
||||
|
||||
E\\ E
|
||||
E1 É
|
||||
E2 È
|
||||
E3 Ẻ
|
||||
E4 Ẽ
|
||||
E5 Ẹ
|
||||
|
||||
E6 Ê
|
||||
E6\\ Ê
|
||||
E61 Ế
|
||||
E62 Ề
|
||||
E63 Ể
|
||||
E64 Ễ
|
||||
E65 Ệ
|
||||
|
||||
I\\ I
|
||||
I1 Í
|
||||
I2 Ì
|
||||
I3 Ỉ
|
||||
I4 Ĩ
|
||||
I5 Ị
|
||||
|
||||
O\\ O
|
||||
O1 Ó
|
||||
O2 Ò
|
||||
O3 Ỏ
|
||||
O4 Õ
|
||||
O5 Ọ
|
||||
|
||||
O6 Ô
|
||||
O6\\ Ô
|
||||
O61 Ố
|
||||
O62 Ồ
|
||||
O63 Ổ
|
||||
O64 Ỗ
|
||||
O65 Ộ
|
||||
|
||||
O7 Ơ
|
||||
O7\\ Ơ
|
||||
O71 Ớ
|
||||
O72 Ờ
|
||||
O73 Ở
|
||||
O74 Ỡ
|
||||
O75 Ợ
|
||||
|
||||
U\\ U
|
||||
U1 Ú
|
||||
U2 Ù
|
||||
U3 Ủ
|
||||
U4 Ũ
|
||||
U5 Ụ
|
||||
|
||||
U7 Ư
|
||||
U7\\ Ư
|
||||
U71 Ứ
|
||||
U72 Ừ
|
||||
U73 Ử
|
||||
U74 Ữ
|
||||
U75 Ự
|
||||
|
||||
Y\\ Y
|
||||
Y1 Ý
|
||||
Y2 Ỳ
|
||||
Y3 Ỷ
|
||||
Y4 Ỹ
|
||||
Y5 Ỵ
|
||||
|
||||
a\\ a
|
||||
a1 á
|
||||
a2 à
|
||||
a3 ả
|
||||
a4 ã
|
||||
a5 ạ
|
||||
|
||||
a8 ă
|
||||
a8\\ ă
|
||||
a81 ắ
|
||||
a82 ằ
|
||||
a83 ẳ
|
||||
a84 ẵ
|
||||
a85 ặ
|
||||
|
||||
a6 â
|
||||
a6\\ â
|
||||
a61 ấ
|
||||
a62 ầ
|
||||
a63 ẩ
|
||||
a64 ẫ
|
||||
a65 ậ
|
||||
|
||||
d\\ d
|
||||
d9 đ
|
||||
|
||||
e\\ e
|
||||
e1 é
|
||||
e2 è
|
||||
e3 ẻ
|
||||
e4 ẽ
|
||||
e5 ẹ
|
||||
|
||||
e6 ê
|
||||
e6\\ ê
|
||||
e61 ế
|
||||
e62 ề
|
||||
e63 ể
|
||||
e64 ễ
|
||||
e65 ệ
|
||||
|
||||
i\\ i
|
||||
i1 í
|
||||
i2 ì
|
||||
i3 ỉ
|
||||
i4 ĩ
|
||||
i5 ị
|
||||
|
||||
o\\ o
|
||||
o1 ó
|
||||
o2 ò
|
||||
o3 ỏ
|
||||
o4 õ
|
||||
o5 ọ
|
||||
|
||||
o6 ô
|
||||
o6\\ ô
|
||||
o61 ố
|
||||
o62 ồ
|
||||
o63 ổ
|
||||
o64 ỗ
|
||||
o65 ộ
|
||||
|
||||
o7 ơ
|
||||
o7\\ ơ
|
||||
o71 ớ
|
||||
o72 ờ
|
||||
o73 ở
|
||||
o74 ỡ
|
||||
o75 ợ
|
||||
|
||||
u\\ u
|
||||
u1 ú
|
||||
u2 ù
|
||||
u3 ủ
|
||||
u4 ũ
|
||||
u5 ụ
|
||||
|
||||
u7 ư
|
||||
u7\\ ư
|
||||
u71 ứ
|
||||
u72 ừ
|
||||
u73 ử
|
||||
u74 ữ
|
||||
u75 ự
|
||||
|
||||
y\\ y
|
||||
y1 ý
|
||||
y2 ỳ
|
||||
y3 ỷ
|
||||
y4 ỹ
|
||||
y5 ỵ
|
||||
@@ -1,7 +1,7 @@
|
||||
" These commands create the option window.
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2016 Apr 21
|
||||
" Last Change: 2016 Apr 30
|
||||
|
||||
" If there already is an option window, jump to that one.
|
||||
if bufwinnr("option-window") > 0
|
||||
@@ -412,6 +412,10 @@ call append("$", "highlight\twhich highlighting to use for various occasions")
|
||||
call <SID>OptionG("hl", &hl)
|
||||
call append("$", "hlsearch\thighlight all matches for the last used search pattern")
|
||||
call <SID>BinOptionG("hls", &hls)
|
||||
if has("termguicolors")
|
||||
call append("$", "termguicolors\tuse GUI colors for the terminal")
|
||||
call <SID>BinOptionG("tgc", &tgc)
|
||||
endif
|
||||
if has("syntax")
|
||||
call append("$", "cursorcolumn\thighlight the screen column of the cursor")
|
||||
call append("$", "\t(local to window)")
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
" Last Change: Fri Jan 25 10:00 AM 2008 EST
|
||||
" Maintainer: Benji Fisher PhD <benji@member.AMS.org>
|
||||
" Version: 1.13.2, for Vim 6.3+
|
||||
" Fix from Fernando Torres included.
|
||||
" URL: http://www.vim.org/script.php?script_id=39
|
||||
|
||||
" Documentation:
|
||||
@@ -122,7 +123,6 @@ function! s:Match_wrapper(word, forward, mode) range
|
||||
" Thanks to Preben "Peppe" Guldberg and Bram Moolenaar for this suggestion!
|
||||
if (match_words != s:last_words) || (&mps != s:last_mps) ||
|
||||
\ exists("b:match_debug")
|
||||
let s:last_words = match_words
|
||||
let s:last_mps = &mps
|
||||
" The next several lines were here before
|
||||
" BF started messing with this script.
|
||||
@@ -134,6 +134,7 @@ function! s:Match_wrapper(word, forward, mode) range
|
||||
\ '\/\*:\*\/,#\s*if\%(def\)\=:#\s*else\>:#\s*elif\>:#\s*endif\>'
|
||||
" s:all = pattern with all the keywords
|
||||
let match_words = match_words . (strlen(match_words) ? "," : "") . default
|
||||
let s:last_words = match_words
|
||||
if match_words !~ s:notslash . '\\\d'
|
||||
let s:do_BR = 0
|
||||
let s:pat = match_words
|
||||
|
||||
29
runtime/plugin/manpager.vim
Normal file
29
runtime/plugin/manpager.vim
Normal file
@@ -0,0 +1,29 @@
|
||||
" Vim plugin for using Vim as manpager.
|
||||
" Maintainer: Enno Nagel <ennonagel+vim@gmail.com>
|
||||
" Last Change: 2016 May 20
|
||||
|
||||
" $MAN_PN is supposed to be set by MANPAGER, see ":help manpager.vim".
|
||||
if empty($MAN_PN)
|
||||
finish
|
||||
endif
|
||||
|
||||
command! -nargs=0 MANPAGER call s:MANPAGER() | delcommand MANPAGER
|
||||
|
||||
function! s:MANPAGER()
|
||||
let page_pattern = '\v\w+%([-_.]\w+)*'
|
||||
let sec_pattern = '\v\w+%(\+\w+)*'
|
||||
let pagesec_pattern = '\v(' . page_pattern . ')\((' . sec_pattern . ')\)'
|
||||
|
||||
if $MAN_PN is '1'
|
||||
let manpage = matchstr( getline(1), '^' . pagesec_pattern )
|
||||
else
|
||||
let manpage = expand('$MAN_PN')
|
||||
endif
|
||||
|
||||
let page_sec = matchlist(tolower(manpage), '^' . pagesec_pattern . '$')
|
||||
|
||||
bwipe!
|
||||
|
||||
setlocal filetype=man
|
||||
exe 'Man' page_sec[2] page_sec[1]
|
||||
endfunction
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types in scripts
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last change: 2014 Aug 24
|
||||
" Last change: 2016 May 21
|
||||
|
||||
" This file is called by an autocommand for every file that has just been
|
||||
" loaded into a buffer. It checks if the type of file can be recognized by
|
||||
@@ -245,7 +245,8 @@ else
|
||||
set ft=xhtml
|
||||
|
||||
" HTML (e.g.: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN")
|
||||
elseif s:line1 =~? '\<DOCTYPE\s\+html\>'
|
||||
" Avoid "doctype html", used by slim.
|
||||
elseif s:line1 =~? '<!DOCTYPE\s\+html\>'
|
||||
set ft=html
|
||||
|
||||
" PDF
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: BibTeX (bibliographic database format for (La)TeX)
|
||||
" Maintainer: Bernd Feige <Bernd.Feige@gmx.net>
|
||||
" Filenames: *.bib
|
||||
" Last Change: 2014 Mar 26
|
||||
" Last Change: 2016 May 31
|
||||
|
||||
" Thanks to those who pointed out problems with this file or supplied fixes!
|
||||
|
||||
@@ -35,8 +35,40 @@ syn keyword bibEntryKw contained crossref edition editor howpublished
|
||||
syn keyword bibEntryKw contained institution journal key month note
|
||||
syn keyword bibEntryKw contained number organization pages publisher
|
||||
syn keyword bibEntryKw contained school series title type volume year
|
||||
|
||||
" biblatex keywords, cf. http://mirrors.ctan.org/macros/latex/contrib/biblatex/doc/biblatex.pdf
|
||||
syn keyword bibType contained mvbook bookinbook suppbook collection mvcollection suppcollection
|
||||
syn keyword bibType contained online patent periodical suppperiodical mvproceedings reference
|
||||
syn keyword bibType contained mvreference inreference report set thesis xdata customa customb
|
||||
syn keyword bibType contained customc customd custome customf electronic www artwork audio bibnote
|
||||
syn keyword bibType contained commentary image jurisdiction legislation legal letter movie music
|
||||
syn keyword bibType contained performance review software standard video
|
||||
|
||||
syn keyword bibEntryKw contained abstract isbn issn keywords url
|
||||
syn keyword bibEntryKw contained addendum afterwordannotation annotation annotator authortype
|
||||
syn keyword bibEntryKw contained bookauthor bookpagination booksubtitle booktitleaddon
|
||||
syn keyword bibEntryKw contained commentator date doi editora editorb editorc editortype
|
||||
syn keyword bibEntryKw contained editoratype editorbtype editorctype eid entrysubtype
|
||||
syn keyword bibEntryKw contained eprint eprintclass eprinttype eventdate eventtitle
|
||||
syn keyword bibEntryKw contained eventtitleaddon file foreword holder indextitle
|
||||
syn keyword bibEntryKw contained introduction isan ismn isrn issue issuesubtitle
|
||||
syn keyword bibEntryKw contained issuetitle iswc journalsubtitle journaltitle label
|
||||
syn keyword bibEntryKw contained language library location mainsubtitle maintitle
|
||||
syn keyword bibEntryKw contained maintitleaddon nameaddon origdate origlanguage
|
||||
syn keyword bibEntryKw contained origlocation origpublisher origtitle pagetotal
|
||||
syn keyword bibEntryKw contained pagination part pubstate reprinttitle shortauthor
|
||||
syn keyword bibEntryKw contained shorteditor shorthand shorthandintro shortjournal
|
||||
syn keyword bibEntryKw contained shortseries shorttitle subtitle titleaddon translator
|
||||
syn keyword bibEntryKw contained urldate venue version volumes entryset execute gender
|
||||
syn keyword bibEntryKw contained langid langidopts ids indexsorttitle options presort
|
||||
syn keyword bibEntryKw contained related relatedoptions relatedtype relatedstring
|
||||
syn keyword bibEntryKw contained sortkey sortname sortshorthand sorttitle sortyear xdata
|
||||
syn keyword bibEntryKw contained xref namea nameb namec nameatype namebtype namectype
|
||||
syn keyword bibEntryKw contained lista listb listc listd liste listf usera userb userc
|
||||
syn keyword bibEntryKw contained userd usere userf verba verbb verbc archiveprefix pdf
|
||||
syn keyword bibEntryKw contained primaryclass
|
||||
|
||||
" Non-standard:
|
||||
syn keyword bibNSEntryKw contained abstract isbn issn keywords url
|
||||
" AMS mref http://www.ams.org/mref
|
||||
syn keyword bibNSEntryKw contained mrclass mrnumber mrreviewer fjournal coden
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" Vim syntax file
|
||||
" Language: DCL (Digital Command Language - vms)
|
||||
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
|
||||
" Last Change: Jan 20, 2016
|
||||
" Version: 8
|
||||
" Last Change: May 02, 2016
|
||||
" Version: 9
|
||||
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_DCL
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
@@ -13,7 +13,7 @@ elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
if !has("patch-7.4.1141")
|
||||
if !has("patch-7.4.1142")
|
||||
setlocal iskeyword=$,@,48-57,_
|
||||
else
|
||||
syn iskeyword $,@,48-57,_
|
||||
|
||||
@@ -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: 2015 Oct 24
|
||||
" Last Change: 2016 Apr 24
|
||||
" URL: https://anonscm.debian.org/cgit/pkg-vim/vim.git/plain/runtime/syntax/debchangelog.vim
|
||||
|
||||
" Standard syntax initialization
|
||||
@@ -23,7 +23,7 @@ let binNMU='binary-only=yes'
|
||||
syn match debchangelogName contained "^[[:alnum:]][[:alnum:].+-]\+ "
|
||||
exe 'syn match debchangelogFirstKV contained "; \('.urgency.'\|'.binNMU.'\)"'
|
||||
exe 'syn match debchangelogOtherKV contained ", \('.urgency.'\|'.binNMU.'\)"'
|
||||
syn match debchangelogTarget contained "\v %(frozen|unstable|sid|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|squeeze-%(backports%(-sloppy)=|volatile|lts|security)|wheezy-%(backports%(-sloppy)=|security)|jessie%(-backports|-security)=|stretch|%(devel|precise|trusty|vivid|wily|xenial)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
|
||||
syn match debchangelogTarget contained "\v %(frozen|unstable|sid|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|squeeze-%(backports%(-sloppy)=|volatile|lts|security)|wheezy-%(backports%(-sloppy)=|security)|jessie%(-backports|-security)=|stretch|%(devel|precise|trusty|vivid|wily|xenial|yakkety)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
|
||||
syn match debchangelogVersion contained "(.\{-})"
|
||||
syn match debchangelogCloses contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*"
|
||||
syn match debchangelogLP contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: Debian sources.list
|
||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
|
||||
" Last Change: 2015 Oct 24
|
||||
" Last Change: 2016 Apr 24
|
||||
" URL: https://anonscm.debian.org/cgit/pkg-vim/vim.git/plain/runtime/syntax/debsources.vim
|
||||
|
||||
" Standard syntax initialization
|
||||
@@ -27,7 +27,7 @@ let s:supported = [
|
||||
\ 'oldstable', 'stable', 'testing', 'unstable', 'experimental',
|
||||
\ 'squeeze', 'wheezy', 'jessie', 'stretch', 'sid', 'rc-buggy',
|
||||
\
|
||||
\ 'precise', 'trusty', 'vivid', 'wily', 'xenial', 'devel'
|
||||
\ 'precise', 'trusty', 'wily', 'xenial', 'yakkety', 'devel'
|
||||
\ ]
|
||||
let s:unsupported = [
|
||||
\ 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato',
|
||||
@@ -36,7 +36,7 @@ let s:unsupported = [
|
||||
\ 'warty', 'hoary', 'breezy', 'dapper', 'edgy', 'feisty',
|
||||
\ 'gutsy', 'hardy', 'intrepid', 'jaunty', 'karmic', 'lucid',
|
||||
\ 'maverick', 'natty', 'oneiric', 'quantal', 'raring', 'saucy',
|
||||
\ 'utopic'
|
||||
\ 'utopic', 'vivid'
|
||||
\ ]
|
||||
let &cpo=s:cpo
|
||||
|
||||
|
||||
@@ -44,24 +44,24 @@ highlight default link dircolorsExtension Identifier
|
||||
highlight default link dircolorsEscape Special
|
||||
|
||||
function! s:set_guicolors() abort
|
||||
let s:guicolors = {}
|
||||
let s:termguicolors = {}
|
||||
|
||||
let s:guicolors[0] = "Black"
|
||||
let s:guicolors[1] = "DarkRed"
|
||||
let s:guicolors[2] = "DarkGreen"
|
||||
let s:guicolors[3] = "DarkYellow"
|
||||
let s:guicolors[4] = "DarkBlue"
|
||||
let s:guicolors[5] = "DarkMagenta"
|
||||
let s:guicolors[6] = "DarkCyan"
|
||||
let s:guicolors[7] = "Gray"
|
||||
let s:guicolors[8] = "DarkGray"
|
||||
let s:guicolors[9] = "Red"
|
||||
let s:guicolors[10] = "Green"
|
||||
let s:guicolors[11] = "Yellow"
|
||||
let s:guicolors[12] = "Blue"
|
||||
let s:guicolors[13] = "Magenta"
|
||||
let s:guicolors[14] = "Cyan"
|
||||
let s:guicolors[15] = "White"
|
||||
let s:termguicolors[0] = "Black"
|
||||
let s:termguicolors[1] = "DarkRed"
|
||||
let s:termguicolors[2] = "DarkGreen"
|
||||
let s:termguicolors[3] = "DarkYellow"
|
||||
let s:termguicolors[4] = "DarkBlue"
|
||||
let s:termguicolors[5] = "DarkMagenta"
|
||||
let s:termguicolors[6] = "DarkCyan"
|
||||
let s:termguicolors[7] = "Gray"
|
||||
let s:termguicolors[8] = "DarkGray"
|
||||
let s:termguicolors[9] = "Red"
|
||||
let s:termguicolors[10] = "Green"
|
||||
let s:termguicolors[11] = "Yellow"
|
||||
let s:termguicolors[12] = "Blue"
|
||||
let s:termguicolors[13] = "Magenta"
|
||||
let s:termguicolors[14] = "Cyan"
|
||||
let s:termguicolors[15] = "White"
|
||||
|
||||
let xterm_palette = ["00", "5f", "87", "af", "d7", "ff"]
|
||||
|
||||
@@ -70,7 +70,7 @@ function! s:set_guicolors() abort
|
||||
for r in xterm_palette
|
||||
for g in xterm_palette
|
||||
for b in xterm_palette
|
||||
let s:guicolors[cur_col] = '#' . r . g . b
|
||||
let s:termguicolors[cur_col] = '#' . r . g . b
|
||||
let cur_col += 1
|
||||
endfor
|
||||
endfor
|
||||
@@ -78,14 +78,14 @@ function! s:set_guicolors() abort
|
||||
|
||||
for i in range(24)
|
||||
let g = i * 0xa + 8
|
||||
let s:guicolors[i + 232] = '#' . g . g . g
|
||||
let s:termguicolors[i + 232] = '#' . g . g . g
|
||||
endfor
|
||||
endfunction
|
||||
|
||||
function! s:get_hi_str(color, place) abort
|
||||
if a:color >= 0 && a:color <= 255
|
||||
if has('gui_running')
|
||||
return ' gui' . a:place . '=' . s:guicolors[a:color]
|
||||
return ' gui' . a:place . '=' . s:termguicolors[a:color]
|
||||
elseif a:color <= 7 || &t_Co == 256 || &t_Co == 88
|
||||
return ' cterm' . a:place . '=' . a:color
|
||||
endif
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
" Language: Groovy
|
||||
" Original Author: Alessio Pace <billy.corgan@tiscali.it>
|
||||
" Maintainer: Tobias Rapp <yahuxo@gmx.de>
|
||||
" Version: 0.1.14
|
||||
" Version: 0.1.16
|
||||
" URL: http://www.vim.org/scripts/script.php?script_id=945
|
||||
" Last Change: 2015 Apr 21
|
||||
" Last Change: 2016 May 23
|
||||
|
||||
" THE ORIGINAL AUTHOR'S NOTES:
|
||||
"
|
||||
@@ -255,8 +255,11 @@ syn region groovyString start=+"+ end=+"+ end=+$+ contains=groovySpeci
|
||||
syn region groovyString start=+'+ end=+'+ end=+$+ contains=groovySpecialChar,groovySpecialError,@Spell
|
||||
syn region groovyString start=+"""+ end=+"""+ contains=groovySpecialChar,groovySpecialError,@Spell,groovyELExpr
|
||||
syn region groovyString start=+'''+ end=+'''+ contains=groovySpecialChar,groovySpecialError,@Spell
|
||||
" regex string
|
||||
syn region groovyString start='/[^/]' end='/' contains=groovySpecialChar,groovyRegexChar,groovyELExpr
|
||||
if exists("groovy_regex_strings")
|
||||
" regex strings interfere with the division operator and thus are disabled
|
||||
" by default
|
||||
syn region groovyString start='/[^/*]' end='/' contains=groovySpecialChar,groovyRegexChar,groovyELExpr
|
||||
endif
|
||||
" syn region groovyELExpr start=+${+ end=+}+ keepend contained
|
||||
syn match groovyELExpr /\${.\{-}}/ contained
|
||||
syn match groovyELExpr /\$[a-zA-Z_][a-zA-Z0-9_.]*/ contained
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" Vim syntax file
|
||||
" Language: Lisp
|
||||
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
|
||||
" Last Change: Jan 20, 2016
|
||||
" Version: 24
|
||||
" Last Change: May 02, 2016
|
||||
" Version: 25
|
||||
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_LISP
|
||||
"
|
||||
" Thanks to F Xavier Noria for a list of 978 Common Lisp symbols taken from HyperSpec
|
||||
@@ -16,7 +16,7 @@ endif
|
||||
|
||||
if exists("g:lisp_isk")
|
||||
exe "setl isk=".g:lisp_isk
|
||||
elseif !has("patch-7.4.1141")
|
||||
elseif !has("patch-7.4.1142")
|
||||
setl isk=38,42,43,45,47-58,60-62,64-90,97-122,_
|
||||
else
|
||||
syn iskeyword 38,42,43,45,47-58,60-62,64-90,97-122,_
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" Vim syntax file
|
||||
" Language: Maple V (based on release 4)
|
||||
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
|
||||
" Last Change: Jan 20, 2016
|
||||
" Version: 12
|
||||
" Last Change: May 02, 2016
|
||||
" Version: 13
|
||||
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_MAPLE
|
||||
"
|
||||
" Package Function Selection: {{{1
|
||||
@@ -30,7 +30,7 @@ elseif exists("b:current_syntax")
|
||||
endif
|
||||
|
||||
" Iskeyword Effects: {{{1
|
||||
if !has("patch-7.4.1141")
|
||||
if !has("patch-7.4.1142")
|
||||
setl isk=$,48-57,_,a-z,@-Z
|
||||
else
|
||||
syn iskeyword $,48-57,_,a-z,@-Z
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: reStructuredText documentation format
|
||||
" Maintainer: Marshall Ward <marshall.ward@gmail.com>
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2016-01-05
|
||||
" Latest Revision: 2016-06-17
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
@@ -137,7 +137,7 @@ syn match rstStandaloneHyperlink contains=@NoSpell
|
||||
\ "\<\%(\%(\%(https\=\|file\|ftp\|gopher\)://\|\%(mailto\|news\):\)[^[:space:]'\"<>]\+\|www[[:alnum:]_-]*\.[[:alnum:]_-]\+\.[^[:space:]'\"<>]\+\)[[:alnum:]/]"
|
||||
|
||||
syn region rstCodeBlock contained matchgroup=rstDirective
|
||||
\ start=+\%(sourcecode\|code\%(-block\)\=\)::\_s*\n\ze\z(\s\+\)+
|
||||
\ start=+\%(sourcecode\|code\%(-block\)\=\)::\s\+\w*\_s*\n\ze\z(\s\+\)+
|
||||
\ skip=+^$+
|
||||
\ end=+^\z1\@!+
|
||||
\ contains=@NoSpell
|
||||
@@ -153,10 +153,11 @@ for code in g:rst_syntax_code_list
|
||||
" guard against setting 'isk' option which might cause problems (issue #108)
|
||||
let prior_isk = &l:iskeyword
|
||||
exe 'syn include @rst'.code.' syntax/'.code.'.vim'
|
||||
exe 'syn region rstDirective'.code.' matchgroup=rstDirective fold '
|
||||
\.'start=#\%(sourcecode\|code\%(-block\)\=\)::\s\+'.code.'\_s*\n\ze\z(\s\+\)# '
|
||||
\.'skip=#^$# '
|
||||
\.'end=#^\z1\@!# contains=@NoSpell,@rst'.code
|
||||
exe 'syn region rstDirective'.code.' matchgroup=rstDirective fold'
|
||||
\.' start=#\%(sourcecode\|code\%(-block\)\=\)::\s\+'.code.'\_s*\n\ze\z(\s\+\)#'
|
||||
\.' skip=#^$#'
|
||||
\.' end=#^\z1\@!#'
|
||||
\.' contains=@NoSpell,@rst'.code
|
||||
exe 'syn cluster rstDirectives add=rstDirective'.code
|
||||
" reset 'isk' setting, if it has been changed
|
||||
if &l:iskeyword !=# prior_isk
|
||||
@@ -185,10 +186,11 @@ hi def link rstHyperlinkTarget String
|
||||
hi def link rstExDirective String
|
||||
hi def link rstSubstitutionDefinition rstDirective
|
||||
hi def link rstDelimiter Delimiter
|
||||
" TODO: I dunno...
|
||||
hi def rstEmphasis term=italic cterm=italic gui=italic
|
||||
hi def link rstEmphasis Underlined
|
||||
hi def link rstStrongEmphasis Special
|
||||
"term=bold cterm=bold gui=bold
|
||||
" TODO Append these atttributes somehow
|
||||
"hi def rstEmphasis term=italic cterm=italic gui=italic
|
||||
"hi def rstStrongEmphasis term=bold cterm=bold gui=bold
|
||||
hi def link rstInterpretedTextOrHyperlinkReference Identifier
|
||||
hi def link rstInlineLiteral String
|
||||
hi def link rstSubstitutionReference PreProc
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim syntax file
|
||||
" Language: Scheme (R5RS + some R6RS extras)
|
||||
" Last Change: 2012 May 13
|
||||
" Last Change: 2016 May 23
|
||||
" Maintainer: Sergey Khorev <sergey.khorev@gmail.com>
|
||||
" Original author: Dirk van Deun <dirk@igwe.vub.ac.be>
|
||||
|
||||
@@ -245,6 +245,18 @@ if exists("b:is_mzscheme") || exists("is_mzscheme")
|
||||
syn region schemeUnquote matchgroup=Delimiter start="#,@\[" end="\]" contains=ALL
|
||||
syn region schemeQuoted matchgroup=Delimiter start="#['`]" end=![ \t()\[\]";]!me=e-1 contains=ALL
|
||||
syn region schemeQuoted matchgroup=Delimiter start="#['`](" matchgroup=Delimiter end=")" contains=ALL
|
||||
|
||||
" Identifiers are very liberal in MzScheme/Racket
|
||||
syn match schemeOther ![^()[\]{}",'`;#|\\ ]\+!
|
||||
|
||||
" Language setting
|
||||
syn match schemeLang "#lang [-+_/A-Za-z0-9]\+\>"
|
||||
|
||||
" Various number forms
|
||||
syn match schemeNumber "[-+]\=[0-9]\+\(\.[0-9]*\)\=\(e[-+]\=[0-9]\+\)\=\>"
|
||||
syn match schemeNumber "[-+]\=\.[0-9]\+\(e[-+]\=[0-9]\+\)\=\>"
|
||||
syn match schemeNumber "[-+]\=[0-9]\+/[0-9]\+\>"
|
||||
syn match schemeNumber "\([-+]\=\([0-9]\+\(\.[0-9]*\)\=\(e[-+]\=[0-9]\+\)\=\|\.[0-9]\+\(e[-+]\=[0-9]\+\)\=\|[0-9]\+/[0-9]\+\)\)\=[-+]\([0-9]\+\(\.[0-9]*\)\=\(e[-+]\=[0-9]\+\)\=\|\.[0-9]\+\(e[-+]\=[0-9]\+\)\=\|[0-9]\+/[0-9]\+\)\=i\>"
|
||||
endif
|
||||
|
||||
|
||||
@@ -321,6 +333,9 @@ if version >= 508 || !exists("did_scheme_syntax_inits")
|
||||
|
||||
HiLink schemeExtSyntax Type
|
||||
HiLink schemeExtFunc PreProc
|
||||
|
||||
HiLink schemeLang PreProc
|
||||
|
||||
delcommand HiLink
|
||||
endif
|
||||
|
||||
|
||||
@@ -2,15 +2,15 @@
|
||||
" Language: shell (sh) Korn shell (ksh) bash (sh)
|
||||
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
|
||||
" Previous Maintainer: Lennart Schultz <Lennart.Schultz@ecmwf.int>
|
||||
" Last Change: Apr 11, 2016
|
||||
" Version: 147
|
||||
" Last Change: Jun 10, 2016
|
||||
" Version: 152
|
||||
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH
|
||||
" For options and settings, please use: :help ft-sh-syntax
|
||||
" This file includes many ideas from Eric Brunet (eric.brunet@ens.fr)
|
||||
|
||||
" For version 5.x: Clear all syntax items {{{1
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
if version < 600
|
||||
if v:version < 600
|
||||
syntax clear
|
||||
elseif exists("b:current_syntax")
|
||||
finish
|
||||
@@ -18,19 +18,25 @@ endif
|
||||
|
||||
" trying to answer the question: which shell is /bin/sh, really?
|
||||
" If the user has not specified any of g:is_kornshell, g:is_bash, g:is_posix, g:is_sh, then guess.
|
||||
if !exists("g:is_kornshell") && !exists("g:is_bash") && !exists("g:is_posix") && !exists("g:is_sh")
|
||||
if getline(1) =~ '\<ksh$'
|
||||
let b:is_kornshell = 1
|
||||
elseif getline(1) =~ '\<bash$'
|
||||
let b:is_bash = 1
|
||||
elseif getline(1) =~ '\<dash$'
|
||||
let b:is_posix = 1
|
||||
elseif !exists("g:is_kornshell") && !exists("g:is_bash") && !exists("g:is_posix") && !exists("g:is_sh")
|
||||
let s:shell = ""
|
||||
if executable("/bin/sh")
|
||||
let s:shell = resolve("/bin/sh")
|
||||
elseif executable("/usr/bin/sh")
|
||||
let s:shell = resolve("/usr/bin/sh")
|
||||
endif
|
||||
if s:shell =~ 'bash$'
|
||||
let g:is_bash= 1
|
||||
elseif s:shell =~ 'ksh$'
|
||||
let g:is_kornshell = 1
|
||||
if s:shell =~ 'ksh$'
|
||||
let b:is_kornshell= 1
|
||||
elseif s:shell =~ 'bash$'
|
||||
let b:is_bash = 1
|
||||
elseif s:shell =~ 'dash$'
|
||||
let g:is_posix = 1
|
||||
let b:is_posix = 1
|
||||
endif
|
||||
unlet s:shell
|
||||
endif
|
||||
@@ -86,8 +92,12 @@ if g:sh_fold_enabled && &fdm == "manual"
|
||||
endif
|
||||
|
||||
" set up the syntax-highlighting iskeyword
|
||||
if has("patch-7.4.1141")
|
||||
exe "syn iskeyword ".&iskeyword.",-"
|
||||
if has("patch-7.4.1142")
|
||||
if exists("b:is_bash")
|
||||
exe "syn iskeyword ".&iskeyword.",-,:"
|
||||
else
|
||||
exe "syn iskeyword ".&iskeyword.",-"
|
||||
endif
|
||||
endif
|
||||
|
||||
" Set up folding commands for shell {{{1
|
||||
@@ -140,6 +150,7 @@ syn cluster shHereListDQ contains=shBeginHere,@shDblQuoteList,shHerePayload
|
||||
syn cluster shIdList contains=shCommandSub,shWrapLineOperator,shSetOption,shDeref,shDerefSimple,shRedir,shExSingleQuote,shExDoubleQuote,shSingleQuote,shDoubleQuote,shExpr,shCtrlSeq,shStringSpecial,shAtExpr
|
||||
syn cluster shIfList contains=@shLoopList,shDblBrace,shDblParen,shFunctionKey,shFunctionOne,shFunctionTwo
|
||||
syn cluster shLoopList contains=@shCaseList,@shErrorList,shCaseEsac,shConditional,shDblBrace,shExpr,shFor,shForPP,shIf,shOption,shSet,shTest,shTestOpr,shTouch
|
||||
syn cluster shPPSRightList contains=shComment,shDeref,shDerefSimple,shEscape,shPosnParm
|
||||
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,shCommandSub,shCtrlSeq,shDeref,shDerefSimple,shDoubleQuote,shExDoubleQuote,shExpr,shExSingleQuote,shNumber,shOperator,shSingleQuote,shTest,shTestOpr
|
||||
|
||||
@@ -162,7 +173,7 @@ if exists("b:is_kornshell") || exists("b:is_bash")
|
||||
|
||||
" Touch: {{{1
|
||||
" =====
|
||||
syn match shTouch '\<touch\>[^;#]*' skipwhite nextgroup=shTouchList contains=shTouchCmd
|
||||
syn match shTouch '\<touch\>[^;#]*' skipwhite nextgroup=shComment contains=shTouchCmd
|
||||
syn match shTouchCmd '\<touch\>' contained
|
||||
endif
|
||||
|
||||
@@ -213,14 +224,15 @@ syn region shSubSh transparent matchgroup=shSubShRegion start="[^(]\zs(" end=")"
|
||||
syn region shExpr matchgroup=shRange start="\[" skip=+\\\\\|\\$\|\[+ end="\]" contains=@shTestList,shSpecial
|
||||
syn region shTest transparent matchgroup=shStatement start="\<test\s" skip=+\\\\\|\\$+ matchgroup=NONE end="[;&|]"me=e-1 end="$" contains=@shExprList1
|
||||
syn region shNoQuote start='\S' skip='\%(\\\\\)*\\.' end='\ze\s' contained
|
||||
syn match shAstQuote contained '\*\ze"' nextgroup=shString
|
||||
syn match shTestOpr contained '[^-+/%]\zs=' skipwhite nextgroup=shTestDoubleQuote,shTestSingleQuote,shTestPattern
|
||||
syn match shTestOpr contained "<=\|>=\|!=\|==\|=\~\|-.\>\|-\(nt\|ot\|ef\|eq\|ne\|lt\|le\|gt\|ge\)\>\|[!<>]"
|
||||
syn match shTestPattern contained '\w\+'
|
||||
syn region shTestDoubleQuote contained start='\%(\%(\\\\\)*\\\)\@<!"' skip=+\\\\\|\\"+ end='"'
|
||||
syn region shTestDoubleQuote contained start='\%(\%(\\\\\)*\\\)\@<!"' skip=+\\\\\|\\"+ end='"' contains=shDeref,shDerefSimple,shDerefSpecial
|
||||
syn match shTestSingleQuote contained '\\.'
|
||||
syn match shTestSingleQuote contained "'[^']*'"
|
||||
if exists("b:is_kornshell") || exists("b:is_bash")
|
||||
syn region shDblBrace matchgroup=Delimiter start="\[\[" skip=+\%(\\\\\)*\\$+ end="\]\]" contains=@shTestList,shNoQuote,shComment
|
||||
syn region shDblBrace matchgroup=Delimiter start="\[\[" skip=+\%(\\\\\)*\\$+ end="\]\]" contains=@shTestList,shAstQuote,shNoQuote,shComment
|
||||
syn region shDblParen matchgroup=Delimiter start="((" skip=+\%(\\\\\)*\\$+ end="))" contains=@shTestList,shComment
|
||||
endif
|
||||
|
||||
@@ -313,15 +325,18 @@ syn match shSource "^\.\s"
|
||||
syn match shSource "\s\.\s"
|
||||
"syn region shColon start="^\s*:" end="$" end="\s#"me=e-2 contains=@shColonList
|
||||
"syn region shColon start="^\s*\zs:" end="$" end="\s#"me=e-2
|
||||
syn match shColon '^\s*\zs:'
|
||||
if exists("b:is_kornshell")
|
||||
syn match shColon '^\s*\zs:'
|
||||
endif
|
||||
|
||||
" String And Character Constants: {{{1
|
||||
"================================
|
||||
syn match shNumber "\<\d\+\>#\="
|
||||
syn match shNumber "-\=\.\=\d\+\>#\="
|
||||
syn match shCtrlSeq "\\\d\d\d\|\\[abcfnrtv0]" contained
|
||||
syn match shCtrlSeq "\\\d\d\d\|\\[abcfnrtv0]" contained
|
||||
if exists("b:is_bash")
|
||||
syn match shSpecial "\\\o\o\o\|\\x\x\x\|\\c[^"]\|\\[abefnrtv]" contained
|
||||
syn match shSpecial "[^\\]\(\\\\\)*\zs\\\o\o\o\|\\x\x\x\|\\c[^"]\|\\[abefnrtv]" contained
|
||||
syn match shSpecial "^\(\\\\\)*\zs\\\o\o\o\|\\x\x\x\|\\c[^"]\|\\[abefnrtv]" contained
|
||||
endif
|
||||
if exists("b:is_bash")
|
||||
syn region shExSingleQuote matchgroup=shQuote start=+\$'+ skip=+\\\\\|\\.+ end=+'+ contains=shStringSpecial,shSpecial
|
||||
@@ -332,11 +347,13 @@ elseif !exists("g:sh_no_error")
|
||||
endif
|
||||
syn region shSingleQuote matchgroup=shQuote start=+'+ end=+'+ contains=@Spell
|
||||
syn region shDoubleQuote matchgroup=shQuote start=+\%(\%(\\\\\)*\\\)\@<!"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell
|
||||
syn match shStringSpecial "[^[:print:] \t]" contained
|
||||
syn match shStringSpecial "\%(\\\\\)*\\[\\"'`$()#]"
|
||||
syn match shSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]"
|
||||
syn match shStringSpecial "[^[:print:] \t]" contained
|
||||
syn match shStringSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]"
|
||||
syn match shSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]" nextgroup=shBkslshSnglQuote,shBkslshDblQuote
|
||||
syn match shSpecial "^\%(\\\\\)*\\[\\"'`$()#]"
|
||||
syn match shMoreSpecial "\%(\\\\\)*\\[\\"'`$()#]" nextgroup=shMoreSpecial contained
|
||||
syn match shMoreSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]" nextgroup=shMoreSpecial contained
|
||||
syn region shBkslshSnglQuote contained matchgroup=shQuote start=+'+ end=+'+ contains=@Spell
|
||||
syn region shBkslshDblQuote contained matchgroup=shQuote start=+"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell
|
||||
|
||||
" Comments: {{{1
|
||||
"==========
|
||||
@@ -349,31 +366,21 @@ syn match shQuickComment contained "#.*$"
|
||||
|
||||
" Here Documents: {{{1
|
||||
" =========================================
|
||||
if version < 600
|
||||
syn region shHereDoc matchgroup=shHereDoc01 start="<<\s*\**END[a-zA-Z_0-9]*\**" matchgroup=shHereDoc01 end="^END[a-zA-Z_0-9]*$" contains=@shDblQuoteList
|
||||
syn region shHereDoc matchgroup=shHereDoc02 start="<<-\s*\**END[a-zA-Z_0-9]*\**" matchgroup=shHereDoc02 end="^\s*END[a-zA-Z_0-9]*$" contains=@shDblQuoteList
|
||||
syn region shHereDoc matchgroup=shHereDoc03 start="<<\s*\**EOF\**" matchgroup=shHereDoc03 end="^EOF$" contains=@shDblQuoteList
|
||||
syn region shHereDoc matchgroup=shHereDoc04 start="<<-\s*\**EOF\**" matchgroup=shHereDoc04 end="^\s*EOF$" contains=@shDblQuoteList
|
||||
syn region shHereDoc matchgroup=shHereDoc05 start="<<\s*\**\.\**" matchgroup=shHereDoc05 end="^\.$" contains=@shDblQuoteList
|
||||
syn region shHereDoc matchgroup=shHereDoc06 start="<<-\s*\**\.\**" matchgroup=shHereDoc06 end="^\s*\.$" contains=@shDblQuoteList
|
||||
|
||||
else
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc07 start="<<\s*\\\=\z([^ \t|]\+\)" matchgroup=shHereDoc07 end="^\z1\s*$" contains=@shDblQuoteList
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc08 start="<<\s*\"\z([^ \t|]\+\)\"" matchgroup=shHereDoc08 end="^\z1\s*$"
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc09 start="<<-\s*\z([^ \t|]\+\)" matchgroup=shHereDoc09 end="^\s*\z1\s*$" contains=@shDblQuoteList
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc10 start="<<-\s*'\z([^ \t|]\+\)'" matchgroup=shHereDoc10 end="^\s*\z1\s*$"
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc11 start="<<\s*'\z([^ \t|]\+\)'" matchgroup=shHereDoc11 end="^\z1\s*$"
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc12 start="<<-\s*\"\z([^ \t|]\+\)\"" matchgroup=shHereDoc12 end="^\s*\z1\s*$"
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc13 start="<<\s*\\\_$\_s*\z([^ \t|]\+\)" matchgroup=shHereDoc13 end="^\z1\s*$" contains=@shDblQuoteList
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc14 start="<<\s*\\\_$\_s*'\z([^ \t|]\+\)'" matchgroup=shHereDoc14 end="^\z1\s*$"
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc15 start="<<\s*\\\_$\_s*\"\z([^ \t|]\+\)\"" matchgroup=shHereDoc15 end="^\z1\s*$"
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc16 start="<<-\s*\\\_$\_s*\z([^ \t|]\+\)" matchgroup=shHereDoc16 end="^\s*\z1\s*$"
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc17 start="<<-\s*\\\_$\_s*\\\z([^ \t|]\+\)" matchgroup=shHereDoc17 end="^\s*\z1\s*$"
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc18 start="<<-\s*\\\_$\_s*'\z([^ \t|]\+\)'" matchgroup=shHereDoc18 end="^\s*\z1\s*$"
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc19 start="<<-\s*\\\_$\_s*\"\z([^ \t|]\+\)\"" matchgroup=shHereDoc19 end="^\s*\z1\s*$"
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc20 start="<<\\\z([^ \t|]\+\)" matchgroup=shHereDoc20 end="^\z1\s*$"
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc21 start="<<-\s*\\\z([^ \t|]\+\)" matchgroup=shHereDoc21 end="^\s*\z1\s*$"
|
||||
endif
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc01 start="<<\s*\\\=\z([^ \t|]\+\)" matchgroup=shHereDoc01 end="^\z1\s*$" contains=@shDblQuoteList
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc02 start="<<\s*\"\z([^ \t|]\+\)\"" matchgroup=shHereDoc02 end="^\z1\s*$"
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc03 start="<<-\s*\z([^ \t|]\+\)" matchgroup=shHereDoc03 end="^\s*\z1\s*$" contains=@shDblQuoteList
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc04 start="<<-\s*'\z([^ \t|]\+\)'" matchgroup=shHereDoc04 end="^\s*\z1\s*$"
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc05 start="<<\s*'\z([^ \t|]\+\)'" matchgroup=shHereDoc05 end="^\z1\s*$"
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc06 start="<<-\s*\"\z([^ \t|]\+\)\"" matchgroup=shHereDoc06 end="^\s*\z1\s*$"
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc07 start="<<\s*\\\_$\_s*\z([^ \t|]\+\)" matchgroup=shHereDoc07 end="^\z1\s*$" contains=@shDblQuoteList
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc08 start="<<\s*\\\_$\_s*'\z([^ \t|]\+\)'" matchgroup=shHereDoc08 end="^\z1\s*$"
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc09 start="<<\s*\\\_$\_s*\"\z([^ \t|]\+\)\"" matchgroup=shHereDoc09 end="^\z1\s*$"
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc10 start="<<-\s*\\\_$\_s*\z([^ \t|]\+\)" matchgroup=shHereDoc10 end="^\s*\z1\s*$"
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc11 start="<<-\s*\\\_$\_s*\\\z([^ \t|]\+\)" matchgroup=shHereDoc11 end="^\s*\z1\s*$"
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc12 start="<<-\s*\\\_$\_s*'\z([^ \t|]\+\)'" matchgroup=shHereDoc12 end="^\s*\z1\s*$"
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc13 start="<<-\s*\\\_$\_s*\"\z([^ \t|]\+\)\"" matchgroup=shHereDoc13 end="^\s*\z1\s*$"
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc14 start="<<\\\z([^ \t|]\+\)" matchgroup=shHereDoc14 end="^\z1\s*$"
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc15 start="<<-\s*\\\z([^ \t|]\+\)" matchgroup=shHereDoc15 end="^\s*\z1\s*$"
|
||||
|
||||
" Here Strings: {{{1
|
||||
" =============
|
||||
@@ -404,21 +411,21 @@ if !exists("g:is_posix")
|
||||
endif
|
||||
|
||||
if exists("b:is_bash")
|
||||
ShFoldFunctions syn region shFunctionOne matchgroup=shFunction start="^\s*\h[-a-zA-Z_0-9]*\s*()\_s*{" end="}" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
ShFoldFunctions syn region shFunctionTwo matchgroup=shFunction start="\<[^d][^o]\&\h[-a-zA-Z_0-9]*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
ShFoldFunctions syn region shFunctionThree matchgroup=shFunction start="^\s*\h[-a-zA-Z_0-9]*\s*()\_s*(" end=")" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
ShFoldFunctions syn region shFunctionFour matchgroup=shFunction start="\<[^d][^o]\&\h[-a-zA-Z_0-9]*\s*\%(()\)\=\_s*)" end=")" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
ShFoldFunctions syn region shFunctionOne matchgroup=shFunction start="^\s*[A-Za-z_0-9:][-a-zA-Z_0-9:]*\s*()\_s*{" end="}" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
ShFoldFunctions syn region shFunctionTwo matchgroup=shFunction start="\%(do\)\@!\&\<[A-Za-z_0-9:][-a-zA-Z_0-9:]*\>\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
ShFoldFunctions syn region shFunctionThree matchgroup=shFunction start="^\s*[A-Za-z_0-9:][-a-zA-Z_0-9:]*\s*()\_s*(" end=")" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
ShFoldFunctions syn region shFunctionFour matchgroup=shFunction start="\%(do\)\@!\&\<[A-Za-z_0-9:][-a-zA-Z_0-9:]*\>\s*\%(()\)\=\_s*)" end=")" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
else
|
||||
ShFoldFunctions syn region shFunctionOne matchgroup=shFunction start="^\s*\h\w*\s*()\_s*{" end="}" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
ShFoldFunctions syn region shFunctionTwo matchgroup=shFunction start="\<[^d][^o]\&\h\w*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
ShFoldFunctions syn region shFunctionThree matchgroup=shFunction start="^\s*\h\w*\s*()\_s*(" end=")" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
ShFoldFunctions syn region shFunctionFour matchgroup=shFunction start="\<[^d][^o]\&\h\w*\s*\%(()\)\=\_s*(" end=")" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
ShFoldFunctions syn region shFunctionOne matchgroup=shFunction start="^\s*\h\w*\s*()\_s*{" end="}" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
ShFoldFunctions syn region shFunctionTwo matchgroup=shFunction start="\%(do\)\@!\&\<\h\w*\>\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
ShFoldFunctions syn region shFunctionThree matchgroup=shFunction start="^\s*\h\w*\s*()\_s*(" end=")" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
ShFoldFunctions syn region shFunctionFour matchgroup=shFunction start="\%(do\)\@!\&\<\h\w*\>\s*\%(()\)\=\_s*(" end=")" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
endif
|
||||
|
||||
" Parameter Dereferencing: {{{1
|
||||
" ========================
|
||||
if !exists("g:sh_no_error")
|
||||
syn match shDerefWordError "[^}$[]" contained
|
||||
syn match shDerefWordError "[^}$[~]" contained
|
||||
endif
|
||||
syn match shDerefSimple "\$\%(\k\+\|\d\)"
|
||||
syn region shDeref matchgroup=PreProc start="\${" end="}" contains=@shDerefList,shDerefVarArray
|
||||
@@ -498,7 +505,7 @@ if exists("b:is_bash")
|
||||
" bash : ${parameter//pattern}
|
||||
syn match shDerefPPS contained '/\{1,2}' nextgroup=shDerefPPSleft
|
||||
syn region shDerefPPSleft contained start='.' skip=@\%(\\\\\)*\\/@ matchgroup=shDerefOp end='/' end='\ze}' nextgroup=shDerefPPSright contains=@shCommandSubList
|
||||
syn region shDerefPPSright contained start='.' skip=@\%(\\\\\)\+@ end='\ze}' contains=@shCommandSubList
|
||||
syn region shDerefPPSright contained start='.' skip=@\%(\\\\\)\+@ end='\ze}' contains=@shPPSRightList
|
||||
|
||||
" bash : ${parameter/#substring/replacement}
|
||||
syn match shDerefPSR contained '/#' nextgroup=shDerefPSRleft
|
||||
@@ -567,6 +574,7 @@ syn sync match shWhileSync grouphere shRepeat "\<while\>"
|
||||
" Default Highlighting: {{{1
|
||||
" =====================
|
||||
hi def link shArithRegion shShellVariables
|
||||
hi def link shAstQuote shDoubleQuote
|
||||
hi def link shAtExpr shSetList
|
||||
hi def link shBeginHere shRedir
|
||||
hi def link shCaseBar shConditional
|
||||
@@ -597,7 +605,6 @@ hi def link shEmbeddedEcho shString
|
||||
hi def link shEscape shCommandSub
|
||||
hi def link shExDoubleQuote shDoubleQuote
|
||||
hi def link shExSingleQuote shSingleQuote
|
||||
hi def link shFunction Function
|
||||
hi def link shHereDoc shString
|
||||
hi def link shHerePayload shHereDoc
|
||||
hi def link shLoop shStatement
|
||||
@@ -628,21 +635,17 @@ if exists("b:is_bash")
|
||||
hi def link bashAdminStatement shStatement
|
||||
hi def link bashSpecialVariables shShellVariables
|
||||
hi def link bashStatement shStatement
|
||||
hi def link shFunctionParen Delimiter
|
||||
hi def link shFunctionDelim Delimiter
|
||||
hi def link shCharClass shSpecial
|
||||
endif
|
||||
if exists("b:is_kornshell")
|
||||
hi def link kshSpecialVariables shShellVariables
|
||||
hi def link kshStatement shStatement
|
||||
hi def link shFunctionParen Delimiter
|
||||
endif
|
||||
|
||||
if !exists("g:sh_no_error")
|
||||
hi def link shCaseError Error
|
||||
hi def link shCondError Error
|
||||
hi def link shCurlyError Error
|
||||
hi def link shDerefError Error
|
||||
hi def link shDerefOpError Error
|
||||
hi def link shDerefWordError Error
|
||||
hi def link shDoError Error
|
||||
@@ -692,12 +695,6 @@ hi def link shHereDoc12 shRedir
|
||||
hi def link shHereDoc13 shRedir
|
||||
hi def link shHereDoc14 shRedir
|
||||
hi def link shHereDoc15 shRedir
|
||||
hi def link shHereDoc16 shRedir
|
||||
hi def link shHereDoc17 shRedir
|
||||
hi def link shHereDoc18 shRedir
|
||||
hi def link shHereDoc19 shRedir
|
||||
hi def link shHereDoc20 shRedir
|
||||
hi def link shHereDoc21 shRedir
|
||||
|
||||
" Delete shell folding commands {{{1
|
||||
" =============================
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Language: SPEC: Build/install scripts for Linux RPM packages
|
||||
" Maintainer: Igor Gnatenko i.gnatenko.brain@gmail.com
|
||||
" Former Maintainer: Donovan Rebbechi elflord@panix.com (until March 2014)
|
||||
" Last Change: Sun Mar 2 10:33 MSK 2014 Igor Gnatenko
|
||||
" Last Change: Sat Apr 9 15:30 2016 Filip Szymański
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
@@ -83,8 +83,8 @@ syn keyword specMacroNameLocal contained _arch _binary_payload _bindir _build _b
|
||||
|
||||
"One line macros - valid in all ScriptAreas
|
||||
"tip: remember do include new items on specScriptArea's skip section
|
||||
syn region specSectionMacroArea oneline matchgroup=specSectionMacro start='^%\(define\|global\|patch\d*\|setup\|configure\|GNUconfigure\|find_lang\|makeinstall\|make_install\|include\)\>' end='$' contains=specCommandOpts,specMacroIdentifier
|
||||
syn region specSectionMacroBracketArea oneline matchgroup=specSectionMacro start='^%{\(configure\|GNUconfigure\|find_lang\|makeinstall\|make_install\)}' end='$' contains=specCommandOpts,specMacroIdentifier
|
||||
syn region specSectionMacroArea oneline matchgroup=specSectionMacro start='^%\(define\|global\|patch\d*\|setup\|autosetup\|autopatch\|configure\|GNUconfigure\|find_lang\|make_build\|makeinstall\|make_install\|include\)\>' end='$' contains=specCommandOpts,specMacroIdentifier
|
||||
syn region specSectionMacroBracketArea oneline matchgroup=specSectionMacro start='^%{\(configure\|GNUconfigure\|find_lang\|make_build\|makeinstall\|make_install\)}' end='$' contains=specCommandOpts,specMacroIdentifier
|
||||
|
||||
"%% Files Section %%
|
||||
"TODO %config valid parameters: missingok\|noreplace
|
||||
@@ -105,7 +105,7 @@ syn case ignore
|
||||
"%% PreAmble Section %%
|
||||
"Copyright and Serial were deprecated by License and Epoch
|
||||
syn region specPreAmbleDeprecated oneline matchgroup=specError start='^\(Copyright\|Serial\)' end='$' contains=specEmail,specURL,specURLMacro,specLicense,specColon,specVariables,specSpecialChar,specMacroIdentifier
|
||||
syn region specPreAmble oneline matchgroup=specCommand start='^\(Prereq\|Summary\|Name\|Version\|Packager\|Requires\|Icon\|URL\|Source\d*\|Patch\d*\|Prefix\|Packager\|Group\|License\|Release\|BuildRoot\|Distribution\|Vendor\|Provides\|ExclusiveArch\|ExcludeArch\|ExclusiveOS\|Obsoletes\|BuildArch\|BuildArchitectures\|BuildRequires\|BuildConflicts\|BuildPreReq\|Conflicts\|AutoRequires\|AutoReq\|AutoReqProv\|AutoProv\|Epoch\)' end='$' contains=specEmail,specURL,specURLMacro,specLicense,specColon,specVariables,specSpecialChar,specMacroIdentifier
|
||||
syn region specPreAmble oneline matchgroup=specCommand start='^\(Prereq\|Summary\|Name\|Version\|Packager\|Requires\|Recommends\|Suggests\|Supplements\|Enhances\|Icon\|URL\|Source\d*\|Patch\d*\|Prefix\|Packager\|Group\|License\|Release\|BuildRoot\|Distribution\|Vendor\|Provides\|ExclusiveArch\|ExcludeArch\|ExclusiveOS\|Obsoletes\|BuildArch\|BuildArchitectures\|BuildRequires\|BuildConflicts\|BuildPreReq\|Conflicts\|AutoRequires\|AutoReq\|AutoReqProv\|AutoProv\|Epoch\)' end='$' contains=specEmail,specURL,specURLMacro,specLicense,specColon,specVariables,specSpecialChar,specMacroIdentifier
|
||||
|
||||
"%% Description Section %%
|
||||
syn region specDescriptionArea matchgroup=specSection start='^%description' end='^%'me=e-1 contains=specDescriptionOpts,specEmail,specURL,specNumber,specMacroIdentifier,specComment
|
||||
@@ -114,7 +114,7 @@ syn region specDescriptionArea matchgroup=specSection start='^%description' end=
|
||||
syn region specPackageArea matchgroup=specSection start='^%package' end='^%'me=e-1 contains=specPackageOpts,specPreAmble,specComment
|
||||
|
||||
"%% Scripts Section %%
|
||||
syn region specScriptArea matchgroup=specSection start='^%\(prep\|build\|install\|clean\|pre\|postun\|preun\|post\|posttrans\)\>' skip='^%{\|^%\(define\|patch\d*\|configure\|GNUconfigure\|setup\|find_lang\|makeinstall\|make_install\)\>' end='^%'me=e-1 contains=specSpecialVariables,specVariables,@specCommands,specVariables,shDo,shFor,shCaseEsac,specNoNumberHilite,specCommandOpts,shComment,shIf,specSpecialChar,specMacroIdentifier,specSectionMacroArea,specSectionMacroBracketArea,shOperator,shQuote1,shQuote2
|
||||
syn region specScriptArea matchgroup=specSection start='^%\(prep\|build\|install\|clean\|pre\|postun\|preun\|post\|posttrans\)\>' skip='^%{\|^%\(define\|patch\d*\|configure\|GNUconfigure\|setup\|autosetup\|autopatch\|find_lang\|make_build\|makeinstall\|make_install\)\>' end='^%'me=e-1 contains=specSpecialVariables,specVariables,@specCommands,specVariables,shDo,shFor,shCaseEsac,specNoNumberHilite,specCommandOpts,shComment,shIf,specSpecialChar,specMacroIdentifier,specSectionMacroArea,specSectionMacroBracketArea,shOperator,shQuote1,shQuote2
|
||||
|
||||
"%% Changelog Section %%
|
||||
syn region specChangelogArea matchgroup=specSection start='^%changelog' end='^%'me=e-1 contains=specEmail,specURL,specWeekday,specMonth,specNumber,specComment,specLicense
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" Vim syntax file
|
||||
" Language: TeX
|
||||
" Maintainer: Charles E. Campbell <NdrchipO@ScampbellPfamily.AbizM>
|
||||
" Last Change: Apr 11, 2016
|
||||
" Version: 94
|
||||
" Last Change: Jun 17, 2016
|
||||
" Version: 97
|
||||
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TEX
|
||||
"
|
||||
" Notes: {{{1
|
||||
@@ -83,12 +83,12 @@ else
|
||||
let s:tex_conceal= g:tex_conceal
|
||||
endif
|
||||
if !exists("g:tex_superscripts")
|
||||
let s:tex_superscripts= "[0-9a-zA-W.,:;+-<>/()=]"
|
||||
let s:tex_superscripts= '[0-9a-zA-W.,:;+-<>/()=]'
|
||||
else
|
||||
let s:tex_superscripts= g:tex_superscripts
|
||||
endif
|
||||
if !exists("g:tex_subscripts")
|
||||
let s:tex_subscripts= "[0-9aehijklmnoprstuvx,+-/().]"
|
||||
let s:tex_subscripts= '[0-9aehijklmnoprstuvx,+-/().]'
|
||||
else
|
||||
let s:tex_subscripts= g:tex_subscripts
|
||||
endif
|
||||
@@ -133,7 +133,7 @@ endif
|
||||
" g:tex_isk
|
||||
if exists("g:tex_isk")
|
||||
exe "setlocal isk=".g:tex_isk
|
||||
elseif !has("patch-7.4.1141")
|
||||
elseif !has("patch-7.4.1142")
|
||||
setl isk=48-57,a-z,A-Z,192-255
|
||||
else
|
||||
syn iskeyword 48-57,a-z,A-Z,192-255
|
||||
@@ -206,16 +206,16 @@ endif
|
||||
" Try to flag {} and () mismatches: {{{1
|
||||
if s:tex_fast =~# 'm'
|
||||
if !s:tex_no_error
|
||||
syn region texMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchGroup,texError
|
||||
syn region texMatcher matchgroup=Delimiter start="\[" end="]" transparent contains=@texMatchGroup,texError,@NoSpell
|
||||
syn region texMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchGroup,texError
|
||||
syn region texMatcher matchgroup=Delimiter start="\[" end="]" transparent contains=@texMatchGroup,texError,@NoSpell
|
||||
else
|
||||
syn region texMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchGroup
|
||||
syn region texMatcher matchgroup=Delimiter start="\[" end="]" transparent contains=@texMatchGroup
|
||||
syn region texMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchGroup
|
||||
syn region texMatcher matchgroup=Delimiter start="\[" end="]" transparent contains=@texMatchGroup
|
||||
endif
|
||||
if !s:tex_nospell
|
||||
syn region texParen start="(" end=")" transparent contains=@texMatchGroup,@Spell
|
||||
syn region texParen start="(" end=")" transparent contains=@texMatchGroup,@Spell
|
||||
else
|
||||
syn region texParen start="(" end=")" transparent contains=@texMatchGroup
|
||||
syn region texParen start="(" end=")" transparent contains=@texMatchGroup
|
||||
endif
|
||||
endif
|
||||
if !s:tex_no_error
|
||||
@@ -266,7 +266,7 @@ syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)$"
|
||||
syn match texBeginEnd "\\begin\>\|\\end\>" nextgroup=texBeginEndName
|
||||
if s:tex_fast =~# 'm'
|
||||
syn region texBeginEndName matchgroup=Delimiter start="{" end="}" contained nextgroup=texBeginEndModifier contains=texComment
|
||||
syn region texBeginEndModifier matchgroup=Delimiter start="\[" end="]" contained contains=texComment,@NoSpell
|
||||
syn region texBeginEndModifier matchgroup=Delimiter start="\[" end="]" contained contains=texComment,@texMathZones,@NoSpell
|
||||
endif
|
||||
|
||||
" \documentclass, \documentstyle, \usepackage: {{{1
|
||||
@@ -1136,9 +1136,21 @@ if has("conceal") && &enc == 'utf-8'
|
||||
call s:SuperSub('texSubscript','_','9','₉')
|
||||
call s:SuperSub('texSubscript','_','a','ₐ')
|
||||
call s:SuperSub('texSubscript','_','e','ₑ')
|
||||
call s:SuperSub('texSubscript','_','h','ₕ')
|
||||
call s:SuperSub('texSubscript','_','i','ᵢ')
|
||||
call s:SuperSub('texSubscript','_','j','ⱼ')
|
||||
call s:SuperSub('texSubscript','_','k','ₖ')
|
||||
call s:SuperSub('texSubscript','_','l','ₗ')
|
||||
call s:SuperSub('texSubscript','_','m','ₘ')
|
||||
call s:SuperSub('texSubscript','_','n','ₙ')
|
||||
call s:SuperSub('texSubscript','_','o','ₒ')
|
||||
call s:SuperSub('texSubscript','_','p','ₚ')
|
||||
call s:SuperSub('texSubscript','_','r','ᵣ')
|
||||
call s:SuperSub('texSubscript','_','s','ₛ')
|
||||
call s:SuperSub('texSubscript','_','t','ₜ')
|
||||
call s:SuperSub('texSubscript','_','u','ᵤ')
|
||||
call s:SuperSub('texSubscript','_','v','ᵥ')
|
||||
call s:SuperSub('texSubscript','_','x','ₓ')
|
||||
call s:SuperSub('texSubscript','_',',','︐')
|
||||
call s:SuperSub('texSubscript','_','+','₊')
|
||||
call s:SuperSub('texSubscript','_','-','₋')
|
||||
@@ -1154,6 +1166,7 @@ if has("conceal") && &enc == 'utf-8'
|
||||
call s:SuperSub('texSubscript','_','\\phi\>' ,'ᵩ')
|
||||
call s:SuperSub('texSubscript','_','\\gamma\>','ᵧ')
|
||||
call s:SuperSub('texSubscript','_','\\chi\>' ,'ᵪ')
|
||||
|
||||
delfun s:SuperSub
|
||||
endif
|
||||
|
||||
|
||||
@@ -1,145 +1,135 @@
|
||||
" Vim syntax file
|
||||
" Language: HMTL Tidy configuration file (/etc/tidyrc ~/.tidyrc)
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2013 June 01
|
||||
" Last Change: 2016 Apr 24
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
setlocal iskeyword=@,48-57,-
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
syn iskeyword @,48-57,-,_
|
||||
|
||||
syn case ignore
|
||||
syn keyword tidyBoolean contained t[rue] f[alse] y[es] n[o] 1 0
|
||||
syn keyword tidyAutoBoolean contained t[rue] f[alse] y[es] n[o] 1 0 auto
|
||||
syn case match
|
||||
syn keyword tidyDoctype contained html5 omit auto strict loose transitional user
|
||||
syn keyword tidyEncoding contained raw ascii latin0 latin1 utf8 iso2022 mac win1252 ibm858 utf16le utf16be utf16 big5 shiftjis
|
||||
syn keyword tidyNewline contained LF CRLF CR
|
||||
syn match tidyNumber contained "\<\d\+\>"
|
||||
syn keyword tidyRepeat contained keep-first keep-last
|
||||
syn keyword tidySorter contained alpha none
|
||||
syn region tidyString contained start=+"+ skip=+\\\\\|\\"+ end=+"+ oneline
|
||||
syn region tidyString contained start=+'+ skip=+\\\\\|\\'+ end=+'+ oneline
|
||||
syn match tidyTags contained "\<\w\+\(\s*,\s*\w\+\)*\>"
|
||||
|
||||
syn keyword tidyBooleanOption add-xml-decl add-xml-pi add-xml-space
|
||||
\ anchor-as-name ascii-chars assume-xml-procins bare break-before-br
|
||||
\ clean coerce-endtags decorate-inferred-ul drop-empty-paras
|
||||
\ drop-empty-elements drop-font-tags drop-proprietary-attributes
|
||||
\ enclose-block-text enclose-text escape-cdata escape-scripts
|
||||
\ fix-backslash fix-bad-comments fix-uri force-output gdoc gnu-emacs
|
||||
\ hide-comments hide-endtags indent-attributes indent-cdata
|
||||
\ indent-with-tabs input-xml join-classes join-styles keep-time
|
||||
\ language literal-attributes logical-emphasis lower-literals markup
|
||||
\ merge-emphasis ncr numeric-entities omit-optional-tags output-html
|
||||
\ output-xhtml output-xml preserve-entities punctuation-wrap quiet
|
||||
\ quote-ampersand quote-marks quote-nbsp raw replace-color show-info
|
||||
\ show-warnings skip-nested split strict-tags-attributes tidy-mark
|
||||
\ uppercase-attributes uppercase-tags word-2000 wrap-asp
|
||||
\ wrap-attributes wrap-jste wrap-php wrap-script-literals
|
||||
\ wrap-sections write-back
|
||||
\ contained nextgroup=tidyBooleanDelimiter
|
||||
|
||||
syn match tidyBooleanDelimiter ":" nextgroup=tidyBoolean contained skipwhite
|
||||
|
||||
syn keyword tidyAutoBooleanOption indent merge-divs merge-spans output-bom show-body-only vertical-space contained nextgroup=tidyAutoBooleanDelimiter
|
||||
syn match tidyAutoBooleanDelimiter ":" nextgroup=tidyAutoBoolean contained skipwhite
|
||||
|
||||
syn keyword tidyCSSSelectorOption css-prefix contained nextgroup=tidyCSSSelectorDelimiter
|
||||
syn match tidyCSSSelectorDelimiter ":" nextgroup=tidyCSSSelector contained skipwhite
|
||||
|
||||
syn keyword tidyDoctypeOption doctype contained nextgroup=tidyDoctypeDelimiter
|
||||
syn match tidyDoctypeDelimiter ":" nextgroup=tidyDoctype contained skipwhite
|
||||
|
||||
syn keyword tidyEncodingOption char-encoding input-encoding output-encoding contained nextgroup=tidyEncodingDelimiter
|
||||
syn match tidyEncodingDelimiter ":" nextgroup=tidyEncoding contained skipwhite
|
||||
|
||||
syn keyword tidyIntegerOption accessibility-check doctype-mode indent-spaces show-errors tab-size wrap contained nextgroup=tidyIntegerDelimiter
|
||||
syn match tidyIntegerDelimiter ":" nextgroup=tidyNumber contained skipwhite
|
||||
|
||||
syn keyword tidyNameOption slide-style contained nextgroup=tidyNameDelimiter
|
||||
syn match tidyNameDelimiter ":" nextgroup=tidyName contained skipwhite
|
||||
|
||||
syn keyword tidyNewlineOption newline contained nextgroup=tidyNewlineDelimiter
|
||||
syn match tidyNewlineDelimiter ":" nextgroup=tidyNewline contained skipwhite
|
||||
|
||||
syn keyword tidyTagsOption new-blocklevel-tags new-empty-tags new-inline-tags new-pre-tags contained nextgroup=tidyTagsDelimiter
|
||||
syn match tidyTagsDelimiter ":" nextgroup=tidyTags contained skipwhite
|
||||
|
||||
syn keyword tidyRepeatOption repeated-attributes contained nextgroup=tidyRepeatDelimiter
|
||||
syn match tidyRepeatDelimiter ":" nextgroup=tidyRepeat contained skipwhite
|
||||
|
||||
syn keyword tidySorterOption sort-attributes contained nextgroup=tidySorterDelimiter
|
||||
syn match tidySorterDelimiter ":" nextgroup=tidySorter contained skipwhite
|
||||
|
||||
syn keyword tidyStringOption alt-text error-file gnu-emacs-file output-file contained nextgroup=tidyStringDelimiter
|
||||
syn match tidyStringDelimiter ":" nextgroup=tidyString contained skipwhite
|
||||
|
||||
syn cluster tidyOptions contains=tidy.*Option
|
||||
|
||||
syn match tidyStart "^" nextgroup=@tidyOptions
|
||||
|
||||
syn match tidyComment "^\s*//.*$" contains=tidyTodo
|
||||
syn match tidyComment "^\s*#.*$" contains=tidyTodo
|
||||
syn keyword tidyTodo TODO NOTE FIXME XXX contained
|
||||
|
||||
syn match tidyAssignment "^[a-z0-9-]\+:\s*.*$" contains=tidyOption,@tidyValue,tidyDelimiter
|
||||
syn match tidyDelimiter ":" contained
|
||||
hi def link tidyAutoBooleanOption Identifier
|
||||
hi def link tidyBooleanOption Identifier
|
||||
hi def link tidyCSSSelectorOption Identifier
|
||||
hi def link tidyDoctypeOption Identifier
|
||||
hi def link tidyEncodingOption Identifier
|
||||
hi def link tidyIntegerOption Identifier
|
||||
hi def link tidyNameOption Identifier
|
||||
hi def link tidyNewlineOption Identifier
|
||||
hi def link tidyTagsOption Identifier
|
||||
hi def link tidyRepeatOption Identifier
|
||||
hi def link tidySorterOption Identifier
|
||||
hi def link tidyStringOption Identifier
|
||||
|
||||
syn match tidyNewTagAssignment "^new-\l\+-tags:\s*.*$" contains=tidyNewTagOption,tidyNewTagDelimiter,tidyNewTagValue,tidyDelimiter
|
||||
syn match tidyNewTagDelimiter "," contained
|
||||
syn match tidyNewTagValue "\<\w\+\>" contained
|
||||
hi def link tidyAutoBooleanDelimiter Special
|
||||
hi def link tidyBooleanDelimiter Special
|
||||
hi def link tidyCSSSelectorDelimiter Special
|
||||
hi def link tidyDoctypeDelimiter Special
|
||||
hi def link tidyEncodingDelimiter Special
|
||||
hi def link tidyIntegerDelimiter Special
|
||||
hi def link tidyNameDelimiter Special
|
||||
hi def link tidyNewlineDelimiter Special
|
||||
hi def link tidyTagsDelimiter Special
|
||||
hi def link tidyRepeatDelimiter Special
|
||||
hi def link tidySorterDelimiter Special
|
||||
hi def link tidyStringDelimiter Special
|
||||
|
||||
syn case ignore
|
||||
syn keyword tidyBoolean t[rue] f[alse] y[es] n[o] contained
|
||||
syn case match
|
||||
syn match tidyDoctype "\<\%(omit\|auto\|strict\|loose\|transitional\|user\)\>" contained
|
||||
" NOTE: use match rather than keyword here so that tidyEncoding 'raw' does not
|
||||
" always have precedence over tidyOption 'raw'
|
||||
syn match tidyEncoding "\<\%(ascii\|latin0\|latin1\|raw\|utf8\|iso2022\|mac\|utf16le\|utf16be\|utf16\|win1252\|ibm858\|big5\|shiftjis\)\>" contained
|
||||
syn match tidyNewline "\<\%(LF\|CRLF\|CR\)\>"
|
||||
syn match tidyNumber "\<\d\+\>" contained
|
||||
syn match tidyRepeat "\<\%(keep-first\|keep-last\)\>" contained
|
||||
syn region tidyString start=+"+ skip=+\\\\\|\\"+ end=+"+ contained oneline
|
||||
syn region tidyString start=+'+ skip=+\\\\\|\\'+ end=+'+ contained oneline
|
||||
syn cluster tidyValue contains=tidyBoolean,tidyDoctype,tidyEncoding,tidyNewline,tidyNumber,tidyRepeat,tidyString
|
||||
hi def link tidyAutoBoolean Boolean
|
||||
hi def link tidyBoolean Boolean
|
||||
hi def link tidyDoctype Constant
|
||||
hi def link tidyEncoding Constant
|
||||
hi def link tidyNewline Constant
|
||||
hi def link tidyTags Constant
|
||||
hi def link tidyNumber Number
|
||||
hi def link tidyRepeat Constant
|
||||
hi def link tidySorter Constant
|
||||
hi def link tidyString String
|
||||
|
||||
syn match tidyOption "^accessibility-check" contained
|
||||
syn match tidyOption "^add-xml-decl" contained
|
||||
syn match tidyOption "^add-xml-pi" contained
|
||||
syn match tidyOption "^add-xml-space" contained
|
||||
syn match tidyOption "^alt-text" contained
|
||||
syn match tidyOption "^anchor-as-name" contained
|
||||
syn match tidyOption "^ascii-chars" contained
|
||||
syn match tidyOption "^assume-xml-procins" contained
|
||||
syn match tidyOption "^bare" contained
|
||||
syn match tidyOption "^break-before-br" contained
|
||||
syn match tidyOption "^char-encoding" contained
|
||||
syn match tidyOption "^clean" contained
|
||||
syn match tidyOption "^css-prefix" contained
|
||||
syn match tidyOption "^decorate-inferred-ul" contained
|
||||
syn match tidyOption "^doctype" contained
|
||||
syn match tidyOption "^doctype-mode" contained
|
||||
syn match tidyOption "^drop-empty-paras" contained
|
||||
syn match tidyOption "^drop-font-tags" contained
|
||||
syn match tidyOption "^drop-proprietary-attributes" contained
|
||||
syn match tidyOption "^enclose-block-text" contained
|
||||
syn match tidyOption "^enclose-text" contained
|
||||
syn match tidyOption "^error-file" contained
|
||||
syn match tidyOption "^escape-cdata" contained
|
||||
syn match tidyOption "^fix-backslash" contained
|
||||
syn match tidyOption "^fix-bad-comments" contained
|
||||
syn match tidyOption "^fix-uri" contained
|
||||
syn match tidyOption "^force-output" contained
|
||||
syn match tidyOption "^gnu-emacs" contained
|
||||
syn match tidyOption "^gnu-emacs-file" contained
|
||||
syn match tidyOption "^hide-comments" contained
|
||||
syn match tidyOption "^hide-endtags" contained
|
||||
syn match tidyOption "^indent" contained
|
||||
syn match tidyOption "^indent-attributes" contained
|
||||
syn match tidyOption "^indent-cdata" contained
|
||||
syn match tidyOption "^indent-spaces" contained
|
||||
syn match tidyOption "^input-encoding" contained
|
||||
syn match tidyOption "^input-xml" contained
|
||||
syn match tidyOption "^join-classes" contained
|
||||
syn match tidyOption "^join-styles" contained
|
||||
syn match tidyOption "^keep-time" contained
|
||||
syn match tidyOption "^language" contained
|
||||
syn match tidyOption "^literal-attributes" contained
|
||||
syn match tidyOption "^logical-emphasis" contained
|
||||
syn match tidyOption "^lower-literals" contained
|
||||
syn match tidyOption "^markup" contained
|
||||
syn match tidyOption "^merge-divs" contained
|
||||
syn match tidyOption "^merge-spans" contained
|
||||
syn match tidyOption "^ncr" contained
|
||||
syn match tidyOption "^newline" contained
|
||||
syn match tidyOption "^numeric-entities" contained
|
||||
syn match tidyOption "^output-bom" contained
|
||||
syn match tidyOption "^output-encoding" contained
|
||||
syn match tidyOption "^output-file" contained
|
||||
syn match tidyOption "^output-html" contained
|
||||
syn match tidyOption "^output-xhtml" contained
|
||||
syn match tidyOption "^output-xml" contained
|
||||
syn match tidyOption "^preserve-entities" contained
|
||||
syn match tidyOption "^punctuation-wrap" contained
|
||||
syn match tidyOption "^quiet" contained
|
||||
syn match tidyOption "^quote-ampersand" contained
|
||||
syn match tidyOption "^quote-marks" contained
|
||||
syn match tidyOption "^quote-nbsp" contained
|
||||
syn match tidyOption "^raw" contained
|
||||
syn match tidyOption "^repeated-attributes" contained
|
||||
syn match tidyOption "^replace-color" contained
|
||||
syn match tidyOption "^show-body-only" contained
|
||||
syn match tidyOption "^show-errors" contained
|
||||
syn match tidyOption "^show-warnings" contained
|
||||
syn match tidyOption "^slide-style" contained
|
||||
syn match tidyOption "^sort-attributes" contained
|
||||
syn match tidyOption "^split" contained
|
||||
syn match tidyOption "^tab-size" contained
|
||||
syn match tidyOption "^tidy-mark" contained
|
||||
syn match tidyOption "^uppercase-attributes" contained
|
||||
syn match tidyOption "^uppercase-tags" contained
|
||||
syn match tidyOption "^word-2000" contained
|
||||
syn match tidyOption "^wrap" contained
|
||||
syn match tidyOption "^wrap-asp" contained
|
||||
syn match tidyOption "^wrap-attributes" contained
|
||||
syn match tidyOption "^wrap-jste" contained
|
||||
syn match tidyOption "^wrap-php" contained
|
||||
syn match tidyOption "^wrap-script-literals" contained
|
||||
syn match tidyOption "^wrap-sections" contained
|
||||
syn match tidyOption "^write-back" contained
|
||||
syn match tidyOption "^vertical-space" contained
|
||||
|
||||
syn match tidyNewTagOption "^new-blocklevel-tags" contained
|
||||
syn match tidyNewTagOption "^new-empty-tags" contained
|
||||
syn match tidyNewTagOption "^new-inline-tags" contained
|
||||
syn match tidyNewTagOption "^new-pre-tags" contained
|
||||
|
||||
hi def link tidyBoolean Boolean
|
||||
hi def link tidyComment Comment
|
||||
hi def link tidyDelimiter Special
|
||||
hi def link tidyDoctype Constant
|
||||
hi def link tidyEncoding Constant
|
||||
hi def link tidyNewline Constant
|
||||
hi def link tidyNewTagDelimiter Special
|
||||
hi def link tidyNewTagOption Identifier
|
||||
hi def link tidyNewTagValue Constant
|
||||
hi def link tidyNumber Number
|
||||
hi def link tidyOption Identifier
|
||||
hi def link tidyRepeat Constant
|
||||
hi def link tidyString String
|
||||
hi def link tidyTodo Todo
|
||||
hi def link tidyComment Comment
|
||||
hi def link tidyTodo Todo
|
||||
|
||||
let b:current_syntax = "tidy"
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: ts=8
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" Vim syntax file
|
||||
" Language: Vim 7.4 script
|
||||
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
|
||||
" Last Change: April 12, 2016
|
||||
" Version: 7.4-47
|
||||
" Last Change: May 02, 2016
|
||||
" Version: 7.4-50
|
||||
" Automatically generated keyword lists: {{{1
|
||||
|
||||
" Quit when a syntax file was already loaded {{{2
|
||||
@@ -18,38 +18,38 @@ syn keyword vimTodo contained COMBAK FIXME TODO XXX
|
||||
syn cluster vimCommentGroup contains=vimTodo,@Spell
|
||||
|
||||
" regular vim commands {{{2
|
||||
syn keyword vimCommand contained a arga[dd] argu[ment] bad[d] bn[ext] breakd[el] bw[ipeout] cadde[xpr] ccl[ose] cfdo chd[ir] cmapc[lear] colo[rscheme] cope[n] cscope debugg[reedy] deletl dep diffpu[t] dl ds[earch] echoe[rr] en[dif] ex filetype fo[ld] fu[nction] gvim helpt[ags] iabc[lear] intro k keepp[atterns] lad[dexpr] later lcs lex[pr] lgetb[uffer] ll lne[xt] loadkeymap lp[revious] lua lw[indow] mat[ch] mks[ession] mz[scheme] nbs[tart] noh[lsearch] o[pen] ownsyntax pc[lose] popu[p] prof[ile] ptN[ext] ptn[ext] pw[d] pyf[ile] r[ead] redraws[tatus] rew[ind] rubyd[o] sIc sIp san[dbox] sbf[irst] sbr[ewind] sci scs setl[ocal] sgc sgp sie sin sm[agic] sn[ext] sor[t] spellr[epall] srI srl star[tinsert] sts[elect] sv[iew] syncbind tab tabf[ind] tabnew tags tf[irst] tn[ext] ts[elect] undol[ist] up[date] vi[sual] vmapc[lear] wa[ll] winp[os] ws[verb] xmapc[lear] xprop
|
||||
syn keyword vimCommand contained ab argd[elete] as[cii] bd[elete] bo[tright] breakl[ist] cN[ext] caddf[ile] cd cfir[st] che[ckpath] cn[ext] com cp[revious] cstag delc[ommand] deletp di[splay] diffs[plit] dli[st] dsp[lit] echom[sg] endf[unction] exi[t] fin[d] foldc[lose] g h[elp] hi if is[earch] kee[pmarks] lN[ext] laddb[uffer] lb[uffer] lcscope lf[ile] lgete[xpr] lla[st] lnew[er] loc[kmarks] lpf[ile] luado m[ove] menut[ranslate] mksp[ell] mzf[ile] new nor ol[dfiles] p[rint] pe[rl] pp[op] profd[el] pta[g] ptp[revious] py3 python3 rec[over] reg[isters] ri[ght] rubyf[ile] sIe sIr sav[eas] sbl[ast] sc scl scscope sf[ind] sge sgr sig sip sm[ap] sno[magic] sp[lit] spellu[ndo] src srn startg[replace] sun[hide] sw[apname] syntime tabN[ext] tabfir[st] tabo[nly] tc[l] th[row] to[pleft] tu[nmenu] unh[ide] v vie[w] vne[w] wh[ile] wn[ext] wundo xme xunme
|
||||
syn keyword vimCommand contained abc[lear] argdo au bel[owright] bp[revious] bro[wse] cNf[ile] cal[l] cdo cg[etfile] checkt[ime] cnew[er] comc[lear] cpf[ile] cuna[bbrev] delel delf[unction] dif[fupdate] difft[his] do e[dit] echon endfo[r] exu[sage] fina[lly] foldd[oopen] go[to] ha[rdcopy] hid[e] ij[ump] isp[lit] keepa lNf[ile] laddf[ile] lc[d] ld[o] lfdo lgr[ep] lli[st] lnf[ile] lockv[ar] lr[ewind] luafile ma[rk] mes mkv[imrc] n[ext] nmapc[lear] nore omapc[lear] pa[ckadd] ped[it] pre[serve] promptf[ind] ptf[irst] ptr[ewind] py3do q[uit] red[o] res[ize] rightb[elow] rundo sIg sN[ext] sbN[ext] sbm[odified] scI scp se[t] sfir[st] sgi sh[ell] sign sir sme snoreme spe[llgood] spellw[rong] sre[wind] srp startr[eplace] sunme sy t tabc[lose] tabl[ast] tabp[revious] tcld[o] tj[ump] tp[revious] u[ndo] unl ve[rsion] vim[grep] vs[plit] win[size] wp[revious] wv[iminfo] xmenu xunmenu
|
||||
syn keyword vimCommand contained abo[veleft] arge[dit] bN[ext] bf[irst] br[ewind] bufdo c[hange] cat[ch] ce[nter] cgetb[uffer] cl[ist] cnf[ile] comp[iler] cq[uit] cw[indow] delep dell diffg[et] dig[raphs] doau ea el[se] endt[ry] f[ile] fini[sh] folddoc[losed] gr[ep] helpc[lose] his[tory] il[ist] iuna[bbrev] keepalt l[ist] lan[guage] lch[dir] le[ft] lfir[st] lgrepa[dd] lmak[e] lo[adview] lol[der] ls lv[imgrep] mak[e] messages mkvie[w] nb[key] noa nos[wapfile] on[ly] packl perld[o] prev[ious] promptr[epl] ptj[ump] pts[elect] py[thon] qa[ll] redi[r] ret[ab] ru[ntime] rv[iminfo] sIl sa[rgument] sb[uffer] sbn[ext] sce scr[iptnames] setf[iletype] sg sgl si sil[ent] sl[eep] smenu snoremenu spelld[ump] spr[evious] srg st[op] stj[ump] sunmenu syn tN[ext] tabd[o] tabm[ove] tabr[ewind] tclf[ile] tl[ast] tr[ewind] una[bbreviate] unlo[ckvar] verb[ose] vimgrepa[dd] wN[ext] winc[md] wq x[it] xnoreme xwininfo
|
||||
syn keyword vimCommand contained al[l] argg[lobal] b[uffer] bl[ast] brea[k] buffers cabc[lear] cb[uffer] cex[pr] cgete[xpr] cla[st] co[py] con[tinue] cr[ewind] d[elete] deletel delm[arks] diffo[ff] dir dp earlier elsei[f] endw[hile] files fir[st] foldo[pen] grepa[dd] helpf[ind] i imapc[lear] j[oin] keepj[umps] la[st] lat lcl[ose] lefta[bove] lg[etfile] lh[elpgrep] lmapc[lear] loadk lop[en] lt[ag] lvimgrepa[dd] marks mk[exrc] mod[e] nbc[lose] noautocmd nu[mber] opt[ions] packloadall po[p] pro ps[earch] ptl[ast] pu[t] pydo quita[ll] redr[aw] retu[rn] rub[y] sI sIn sal[l] sba[ll] sbp[revious] scg scripte[ncoding] setg[lobal] sgI sgn sic sim[alt] sla[st] smile so[urce] spelli[nfo] sr sri sta[g] stopi[nsert] sus[pend] sync ta[g] tabe[dit] tabn[ext] tabs te[aroff] tm[enu] try undoj[oin] uns[ilent] vert[ical] viu[sage] w[rite] windo wqa[ll] xa[ll] xnoremenu y[ank]
|
||||
syn keyword vimCommand contained ar[gs] argl[ocal] ba[ll] bm[odified] breaka[dd] bun[load] cad[dbuffer] cc cf[ile] changes clo[se] col[der] conf[irm] cs debug deletep delp diffp[atch] dj[ump] dr[op] ec em[enu] ene[w] filet fix[del] for gui helpg[rep] ia in ju[mps]
|
||||
syn keyword vimCommand contained a arga[dd] argu[ment] bad[d] bn[ext] breakd[el] bw[ipeout] cadde[xpr] ccl[ose] cfdo chd[ir] cmapc[lear] colo[rscheme] cope[n] cscope debugg[reedy] deletl dep diffpu[t] dl ds[earch] echoe[rr] en[dif] ex filetype fo[ld] fu[nction] gvim helpt[ags] iabc[lear] intro ju[mps] keepj[umps] la[st] lat lcl[ose] lefta[bove] lg[etfile] lh[elpgrep] lmapc[lear] loadk lop[en] lt[ag] lvimgrepa[dd] marks mk[exrc] mod[e] nbc[lose] noautocmd nu[mber] opt[ions] pc[lose] popu[p] prof[ile] ptN[ext] ptn[ext] pw[d] pyf[ile] r[ead] redraws[tatus] rew[ind] rubyd[o] sIc sIp san[dbox] sbf[irst] sbr[ewind] sci scs setl[ocal] sgc sgp sie sin sm[agic] sn[ext] sor[t] spellr[epall] srI srl star[tinsert] sts[elect] sv[iew] syncbind tab tabf[ind] tabnew tags tf[irst] tn[ext] ts[elect] undol[ist] up[date] vi[sual] vmapc[lear] wa[ll] winp[os] ws[verb] xmapc[lear] xprop
|
||||
syn keyword vimCommand contained ab argd[elete] as[cii] bd[elete] bo[tright] breakl[ist] cN[ext] caddf[ile] cd cfir[st] che[ckpath] cn[ext] com cp[revious] cstag delc[ommand] deletp di[splay] diffs[plit] dli[st] dsp[lit] echom[sg] endf[unction] exi[t] fin[d] foldc[lose] g h[elp] hi if is[earch] k keepp[atterns] lad[dexpr] later lcs lex[pr] lgetb[uffer] ll lne[xt] loadkeymap lp[revious] lua lw[indow] mat[ch] mks[ession] mz[scheme] nbs[tart] noh[lsearch] o[pen] ownsyntax pe[rl] pp[op] profd[el] pta[g] ptp[revious] py3 python3 rec[over] reg[isters] ri[ght] rubyf[ile] sIe sIr sav[eas] sbl[ast] sc scl scscope sf[ind] sge sgr sig sip sm[ap] sno[magic] sp[lit] spellu[ndo] src srn startg[replace] sun[hide] sw[apname] syntime tabN[ext] tabfir[st] tabo[nly] tc[l] th[row] to[pleft] tu[nmenu] unh[ide] v vie[w] vne[w] wh[ile] wn[ext] wundo xme xunme
|
||||
syn keyword vimCommand contained abc[lear] argdo au bel[owright] bp[revious] bro[wse] cNf[ile] cal[l] cdo cg[etfile] checkt[ime] cnew[er] comc[lear] cpf[ile] cuna[bbrev] delel delf[unction] dif[fupdate] difft[his] do e[dit] echon endfo[r] exu[sage] fina[lly] foldd[oopen] go[to] ha[rdcopy] hid[e] ij[ump] isp[lit] kee[pmarks] lN[ext] laddb[uffer] lb[uffer] lcscope lf[ile] lgete[xpr] lla[st] lnew[er] loc[kmarks] lpf[ile] luado m[ove] menut[ranslate] mksp[ell] mzf[ile] new nor ol[dfiles] p[rint] ped[it] pre[serve] promptf[ind] ptf[irst] ptr[ewind] py3do q[uit] red[o] res[ize] rightb[elow] rundo sIg sN[ext] sbN[ext] sbm[odified] scI scp se[t] sfir[st] sgi sh[ell] sign sir sme snoreme spe[llgood] spellw[rong] sre[wind] srp startr[eplace] sunme sy t tabc[lose] tabl[ast] tabp[revious] tcld[o] tj[ump] tp[revious] u[ndo] unl ve[rsion] vim[grep] vs[plit] win[size] wp[revious] wv[iminfo] xmenu xunmenu
|
||||
syn keyword vimCommand contained abo[veleft] arge[dit] bN[ext] bf[irst] br[ewind] bufdo c[hange] cat[ch] ce[nter] cgetb[uffer] cl[ist] cnf[ile] comp[iler] cq[uit] cw[indow] delep dell diffg[et] dig[raphs] doau ea el[se] endt[ry] f[ile] fini[sh] folddoc[losed] gr[ep] helpc[lose] his[tory] il[ist] iuna[bbrev] keepa lNf[ile] laddf[ile] lc[d] ld[o] lfdo lgr[ep] lli[st] lnf[ile] lockv[ar] lr[ewind] luafile ma[rk] mes mkv[imrc] n[ext] nmapc[lear] nore omapc[lear] pa[ckadd] perld[o] prev[ious] promptr[epl] ptj[ump] pts[elect] py[thon] qa[ll] redi[r] ret[ab] ru[ntime] rv[iminfo] sIl sa[rgument] sb[uffer] sbn[ext] sce scr[iptnames] setf[iletype] sg sgl si sil[ent] sl[eep] smenu snoremenu spelld[ump] spr[evious] srg st[op] stj[ump] sunmenu syn tN[ext] tabd[o] tabm[ove] tabr[ewind] tclf[ile] tl[ast] tr[ewind] una[bbreviate] unlo[ckvar] verb[ose] vimgrepa[dd] wN[ext] winc[md] wq x[it] xnoreme xwininfo
|
||||
syn keyword vimCommand contained al[l] argg[lobal] b[uffer] bl[ast] brea[k] buffers cabc[lear] cb[uffer] cex[pr] cgete[xpr] cla[st] co[py] con[tinue] cr[ewind] d[elete] deletel delm[arks] diffo[ff] dir dp earlier elsei[f] endw[hile] files fir[st] foldo[pen] grepa[dd] helpf[ind] i imapc[lear] j[oin] keepalt l[ist] lan[guage] lch[dir] le[ft] lfir[st] lgrepa[dd] lmak[e] lo[adview] lol[der] ls lv[imgrep] mak[e] messages mkvie[w] nb[key] noa nos[wapfile] on[ly] packl[oadall] po[p] pro ps[earch] ptl[ast] pu[t] pydo quita[ll] redr[aw] retu[rn] rub[y] sI sIn sal[l] sba[ll] sbp[revious] scg scripte[ncoding] setg[lobal] sgI sgn sic sim[alt] sla[st] smile so[urce] spelli[nfo] sr sri sta[g] stopi[nsert] sus[pend] sync ta[g] tabe[dit] tabn[ext] tabs te[aroff] tm[enu] try undoj[oin] uns[ilent] vert[ical] viu[sage] w[rite] windo wqa[ll] xa[ll] xnoremenu y[ank]
|
||||
syn keyword vimCommand contained ar[gs] argl[ocal] ba[ll] bm[odified] breaka[dd] bun[load] cad[dbuffer] cc cf[ile] changes clo[se] col[der] conf[irm] cs debug deletep delp diffp[atch] dj[ump] dr[op] ec em[enu] ene[w] filet fix[del] for gui helpg[rep] ia in
|
||||
syn match vimCommand contained "\<z[-+^.=]\=\>"
|
||||
syn keyword vimStdPlugin contained DiffOrig Man N[ext] P[rint] S TOhtml XMLent XMLns
|
||||
|
||||
" vimOptions are caught only when contained in a vimSet {{{2
|
||||
syn keyword vimOption contained acd ambw arshape background ballooneval bg bomb bs cb ch cinoptions cms commentstring copyindent cryptmethod cscopeverbose csverb debug dict dir eb emo equalalways eventignore fde fdt fic fillchars fmr foldlevel foldtext fsync gfs gtl guioptions hf hk hlsearch imactivatekey imi include inex isi js kp lcs listchars lsp makeef maxmapdepth mfd mmd modified mousemodel msm numberwidth operatorfunc paste perldll pm previewwindow printmbfont pythondll redrawtime revins ro ruler scb scs sessionoptions shellquote shiftround showfulltag sidescrolloff smarttab sp spf srr startofline suffixes switchbuf ta taglength tbidi termbidi tgst titleold top ttimeoutlen ttyscroll ul ur verbosefile visualbell wcm wi wildmenu winfixwidth wm wrapscan
|
||||
syn keyword vimOption contained ai anti autochdir backspace balloonexpr bh breakat bsdir cc charconvert cinw co compatible cot cscopepathcomp cspc cuc deco dictionary directory ed emoji equalprg ex fdi fen fileencoding fixendofline fo foldlevelstart formatexpr ft gfw gtt guipty hh hkmap ic imaf iminsert includeexpr inf isident key langmap linebreak lm luadll makeprg maxmem mh mmp more mouses mzq nuw opfunc pastetoggle pex pmbcs printdevice printoptions pythonthreedll regexpengine ri rop rulerformat scr sect sft shellredir shiftwidth showmatch siso smc spc spl ss statusline suffixesadd sws tabline tagrelative tbis termencoding thesaurus titlestring tpm ttm ttytype undodir ut vfile vop wd wic wildmode winheight wmh write
|
||||
syn keyword vimOption contained akm antialias autoindent backup bdir bin breakindent bsk ccv ci cinwords cocu complete cp cscopeprg csprg cul def diff display edcompatible enc errorbells expandtab fdl fenc fileencodings fixeol foldclose foldmarker formatlistpat gcr ghr guicursor guitablabel hi hkmapp icon imak ims incsearch infercase isk keymap langmenu lines lmap lw mat maxmempattern mis mmt mouse mouseshape mzquantum odev osfiletype patchexpr pexpr pmbfn printencoding prompt qe relativenumber rightleft rs runtimepath scroll sections sh shellslash shm showmode sj smd spell splitbelow ssl stl sw sxe tabpagemax tags tbs terse tildeop tl tr tty tw undofile vb vi wa weirdinvert wig wildoptions winminheight wmnu writeany
|
||||
syn keyword vimOption contained al ar autoread backupcopy bdlay binary breakindentopt bt cd cin clipboard cole completefunc cpo cscopequickfix csqf cursorbind define diffexpr dy ef encoding errorfile exrc fdls fencs fileformat fk foldcolumn foldmethod formatoptions gd go guifont guitabtooltip hid hkp iconstring imc imsearch inde insertmode iskeyword keymodel langnoremap linespace lnr lz matchpairs maxmemtot mkspellmem mod mousef mouset nf oft pa patchmode pfn popt printexpr pt quoteescape remap rightleftcmd rtp sb scrollbind secure shcf shelltemp shortmess showtabline slm sn spellcapcheck splitright ssop stmp swapfile sxq tabstop tagstack tc textauto timeout tm ts ttybuiltin tx undolevels vbs viewdir wak wfh wildchar wim winminwidth wmw writebackup
|
||||
syn keyword vimOption contained aleph arab autowrite backupdir belloff bk bri bufhidden cdpath cindent cm colorcolumn completeopt cpoptions cscoperelative csre cursorcolumn delcombine diffopt ea efm endofline errorformat fcl fdm fex fileformats fkmap foldenable foldminlines formatprg gdefault gp guifontset helpfile hidden hl ignorecase imcmdline imsf indentexpr is isp keywordprg laststatus lisp loadplugins ma matchtime mco ml modeline mousefocus mousetime nrformats ofu packpath path ph pp printfont pumheight rdt renderoptions rl ru sbo scrolljump sel shell shelltype shortname shq sm so spellfile spr st sts swapsync syn tag tal tcldll textmode timeoutlen to tsl ttyfast uc undoreload vdir viewoptions warn wfw wildcharm winaltkeys winwidth wop writedelay
|
||||
syn keyword vimOption contained allowrevins arabic autowriteall backupext beval bkc briopt buflisted cedit cink cmdheight columns concealcursor cpt cscopetag cst cursorline dex digraph ead ei eol esckeys fcs fdn ff fileignorecase flp foldexpr foldnestmax fp gfm grepformat guifontwide helpheight highlight hlg im imd imstatusfunc indentkeys isf isprint km lazyredraw lispwords lpl macatsui maxcombine mef mls modelines mousehide mp nu omnifunc para pdev pheader preserveindent printheader pvh re report rlc rubydll sbr scrolloff selection shellcmdflag shellxescape showbreak si smartcase softtabstop spelllang sps sta su swb synmaxcol tagbsearch tb tenc textwidth title toolbar tsr ttym udf updatecount ve viminfo wb wh wildignore window wiv wrap ws
|
||||
syn keyword vimOption contained altkeymap arabicshape aw backupskip bex bl brk buftype cf cinkeys cmdwinheight com conceallevel crb cscopetagorder csto cwh dg dip eadirection ek ep et fdc fdo ffs filetype fml foldignore foldopen fs gfn grepprg guiheadroom helplang history hls imactivatefunc imdisable inc indk isfname joinspaces kmp lbr list ls magic maxfuncdepth menuitems mm modifiable mousem mps number opendevice paragraphs penc pi previewheight printmbcharset pvw readonly restorescreen rnu ruf sc scrollopt selectmode shellpipe shellxquote showcmd sidescroll smartindent sol spellsuggest sr stal sua swf syntax tagcase tbi term tf titlelen toolbariconsize ttimeout ttymouse udir updatetime verbose virtualedit wc whichwrap wildignorecase winfixheight wiw wrapmargin ww
|
||||
syn keyword vimOption contained ambiwidth ari awa balloondelay bexpr bo browsedir casemap cfu cino cmp comments confirm
|
||||
syn keyword vimOption contained acd ambw arshape background ballooneval bg bomb bs cb ch cinoptions cms commentstring copyindent cscopepathcomp csprg cul def diff display edcompatible enc errorbells expandtab fdl fenc fileencodings fixeol foldclose foldmarker formatlistpat gcr ghr guicursor guitablabel hi hkmapp icon imak ims incsearch infercase isk keymap langmenu lines lmap lw mat maxmempattern mis mmt mouse mouseshape mzquantum odev osfiletype patchexpr pexpr pmbfn printencoding prompt qe relativenumber rightleft rs runtimepath scroll sections sh shellslash shm showmode sj smd spell splitbelow ssl stl sw sxe tabpagemax tags tbs termguicolors tgst titleold top ttimeoutlen ttyscroll ul ur verbosefile visualbell wcm wi wildmenu winfixwidth wm wrapscan
|
||||
syn keyword vimOption contained ai anti autochdir backspace balloonexpr bh breakat bsdir cc charconvert cinw co compatible cot cscopeprg csqf cursorbind define diffexpr dy ef encoding errorfile exrc fdls fencs fileformat fk foldcolumn foldmethod formatoptions gd go guifont guitabtooltip hid hkp iconstring imc imsearch inde insertmode iskeyword keymodel langnoremap linespace lnr lz matchpairs maxmemtot mkspellmem mod mousef mouset nf oft pa patchmode pfn popt printexpr pt quoteescape remap rightleftcmd rtp sb scrollbind secure shcf shelltemp shortmess showtabline slm sn spellcapcheck splitright ssop stmp swapfile sxq tabstop tagstack tc terse thesaurus titlestring tpm ttm ttytype undodir ut vfile vop wd wic wildmode winheight wmh write
|
||||
syn keyword vimOption contained akm antialias autoindent backup bdir bin breakindent bsk ccv ci cinwords cocu complete cp cscopequickfix csre cursorcolumn delcombine diffopt ea efm endofline errorformat fcl fdm fex fileformats fkmap foldenable foldminlines formatprg gdefault gp guifontset helpfile hidden hl ignorecase imcmdline imsf indentexpr is isp keywordprg laststatus lisp loadplugins ma matchtime mco ml modeline mousefocus mousetime nrformats ofu packpath path ph pp printfont pumheight rdt renderoptions rl ru sbo scrolljump sel shell shelltype shortname shq sm so spellfile spr st sts swapsync syn tag tal tcldll textauto tildeop tl tr tty tw undofile vb vi wa weirdinvert wig wildoptions winminheight wmnu writeany
|
||||
syn keyword vimOption contained al ar autoread backupcopy bdlay binary breakindentopt bt cd cin clipboard cole completefunc cpo cscoperelative cst cursorline dex digraph ead ei eol esckeys fcs fdn ff fileignorecase flp foldexpr foldnestmax fp gfm grepformat guifontwide helpheight highlight hlg im imd imstatusfunc indentkeys isf isprint km lazyredraw lispwords lpl macatsui maxcombine mef mls modelines mousehide mp nu omnifunc para pdev pheader preserveindent printheader pvh re report rlc rubydll sbr scrolloff selection shellcmdflag shellxescape showbreak si smartcase softtabstop spelllang sps sta su swb synmaxcol tagbsearch tb tenc textmode timeout tm ts ttybuiltin tx undolevels vbs viewdir wak wfh wildchar wim winminwidth wmw writebackup
|
||||
syn keyword vimOption contained aleph arab autowrite backupdir belloff bk bri bufhidden cdpath cindent cm colorcolumn completeopt cpoptions cscopetag csto cwh dg dip eadirection ek ep et fdc fdo ffs filetype fml foldignore foldopen fs gfn grepprg guiheadroom helplang history hls imactivatefunc imdisable inc indk isfname joinspaces kmp lbr list ls magic maxfuncdepth menuitems mm modifiable mousem mps number opendevice paragraphs penc pi previewheight printmbcharset pvw readonly restorescreen rnu ruf sc scrollopt selectmode shellpipe shellxquote showcmd sidescroll smartindent sol spellsuggest sr stal sua swf syntax tagcase tbi term textwidth timeoutlen to tsl ttyfast uc undoreload vdir viewoptions warn wfw wildcharm winaltkeys winwidth wop writedelay
|
||||
syn keyword vimOption contained allowrevins arabic autowriteall backupext beval bkc briopt buflisted cedit cink cmdheight columns concealcursor cpt cscopetagorder csverb debug dict dir eb emo equalalways eventignore fde fdt fic fillchars fmr foldlevel foldtext fsync gfs gtl guioptions hf hk hlsearch imactivatekey imi include inex isi js kp lcs listchars lsp makeef maxmapdepth mfd mmd modified mousemodel msm numberwidth operatorfunc paste perldll pm previewwindow printmbfont pythondll redrawtime revins ro ruler scb scs sessionoptions shellquote shiftround showfulltag sidescrolloff smarttab sp spf srr startofline suffixes switchbuf ta taglength tbidi termbidi tf title toolbar tsr ttym udf updatecount ve viminfo wb wh wildignore window wiv wrap ws
|
||||
syn keyword vimOption contained altkeymap arabicshape aw backupskip bex bl brk buftype cf cinkeys cmdwinheight com conceallevel crb cscopeverbose cuc deco dictionary directory ed emoji equalprg ex fdi fen fileencoding fixendofline fo foldlevelstart formatexpr ft gfw gtt guipty hh hkmap ic imaf iminsert includeexpr inf isident key langmap linebreak lm luadll makeprg maxmem mh mmp more mouses mzq nuw opfunc pastetoggle pex pmbcs printdevice printoptions pythonthreedll regexpengine ri rop rulerformat scr sect sft shellredir shiftwidth showmatch siso smc spc spl ss statusline suffixesadd sws tabline tagrelative tbis termencoding tgc titlelen toolbariconsize ttimeout ttymouse udir updatetime verbose virtualedit wc whichwrap wildignorecase winfixheight wiw wrapmargin ww
|
||||
syn keyword vimOption contained ambiwidth ari awa balloondelay bexpr bo browsedir casemap cfu cino cmp comments confirm cryptmethod cspc
|
||||
|
||||
" vimOptions: These are the turn-off setting variants {{{2
|
||||
syn keyword vimOption contained noacd noallowrevins noantialias noarabic noarshape noautoread noaw noballooneval nobinary nobomb nobuflisted nocin noconfirm nocrb nocscopeverbose nocsverb nocursorbind nodeco nodiff noeb noek noequalalways noet noexrc nofileignorecase nofk nofs nogdefault nohidden nohkmapp nohlsearch noignorecase noimcmdline noimdisable noinf noinsertmode nojoinspaces nolangnoremap nolbr nolisp nolnr 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 noundofile novisualbell nowarn noweirdinvert nowfw nowildignorecase nowinfixheight nowiv nowrap nowrite nowritebackup
|
||||
syn keyword vimOption contained noai noaltkeymap noar noarabicshape noautochdir noautowrite noawa nobeval nobk nobreakindent nocf nocindent nocopyindent nocscoperelative nocsre nocuc nocursorcolumn nodelcombine nodigraph noed noendofline noerrorbells noex nofen nofixendofline nofkmap nofsync noguipty nohk nohkp noic noim noimd noincsearch noinfercase nois nojs nolazyredraw nolinebreak nolist 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 noudf novb nowa nowb nowfh nowic nowildmenu nowinfixwidth nowmnu nowrapscan nowriteany nows
|
||||
syn keyword vimOption contained noakm noanti noarab noari noautoindent noautowriteall nobackup nobin nobl nobri noci nocompatible nocp nocscopetag nocst nocul nocursorline nodg noea noedcompatible noeol noesckeys noexpandtab nofic nofixeol nofoldenable nogd nohid nohkmap nohls noicon noimc
|
||||
syn keyword vimOption contained noacd noallowrevins noantialias noarabic noarshape noautoread noaw noballooneval nobinary nobomb nobuflisted nocin noconfirm nocrb nocscopeverbose nocsverb nocursorbind nodeco nodiff noeb noek noendofline noerrorbells noex nofen nofixendofline nofkmap nofsync noguipty nohk nohkp noic noim noimd noinf noinsertmode nojoinspaces nolangnoremap nolbr nolisp nolnr 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 noundofile novisualbell nowarn noweirdinvert nowfw nowildignorecase nowinfixheight nowiv nowrap nowrite nowritebackup
|
||||
syn keyword vimOption contained noai noaltkeymap noar noarabicshape noautochdir noautowrite noawa nobeval nobk nobreakindent nocf nocindent nocopyindent nocscoperelative nocsre nocuc nocursorcolumn nodelcombine nodigraph noed noemo noeol noesckeys noexpandtab nofic nofixeol nofoldenable nogd nohid nohkmap nohls noicon noimc noimdisable noinfercase nois nojs nolazyredraw nolinebreak nolist 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 noudf novb nowa nowb nowfh nowic nowildmenu nowinfixwidth nowmnu nowrapscan nowriteany nows
|
||||
syn keyword vimOption contained noakm noanti noarab noari noautoindent noautowriteall nobackup nobin nobl nobri noci nocompatible nocp nocscopetag nocst nocul nocursorline nodg noea noedcompatible noemoji noequalalways noet noexrc nofileignorecase nofk nofs nogdefault nohidden nohkmapp nohlsearch noignorecase noimcmdline noincsearch
|
||||
|
||||
" vimOptions: These are the invertible variants {{{2
|
||||
syn keyword vimOption contained invacd invallowrevins invantialias invarabic invarshape invautoread invaw invballooneval invbinary invbomb invbuflisted invcin invconfirm invcrb invcscopeverbose invcsverb invcursorbind invdeco invdiff inveb invek invequalalways invet invexrc invfileignorecase invfk invfs invgdefault invhidden invhkmapp invhlsearch invignorecase invimcmdline invimdisable invinf invinsertmode invjoinspaces invlangnoremap invlbr invlisp invlnr 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 invundofile invvisualbell invwarn invweirdinvert invwfw invwildignorecase invwinfixheight invwiv invwrap invwrite invwritebackup
|
||||
syn keyword vimOption contained invai invaltkeymap invar invarabicshape invautochdir invautowrite invawa invbeval invbk invbreakindent invcf invcindent invcopyindent invcscoperelative invcsre invcuc invcursorcolumn invdelcombine invdigraph inved invendofline inverrorbells invex invfen invfixendofline invfkmap invfsync invguipty invhk invhkp invic invim invimd invincsearch invinfercase invis invjs invlazyredraw invlinebreak invlist 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 invudf invvb invwa invwb invwfh invwic invwildmenu invwinfixwidth invwmnu invwrapscan invwriteany invws
|
||||
syn keyword vimOption contained invakm invanti invarab invari invautoindent invautowriteall invbackup invbin invbl invbri invci invcompatible invcp invcscopetag invcst invcul invcursorline invdg invea invedcompatible inveol invesckeys invexpandtab invfic invfixeol invfoldenable invgd invhid invhkmap invhls invicon invimc
|
||||
syn keyword vimOption contained invacd invallowrevins invantialias invarabic invarshape invautoread invaw invballooneval invbinary invbomb invbuflisted invcin invconfirm invcrb invcscopeverbose invcsverb invcursorbind invdeco invdiff inveb invek invendofline inverrorbells invex invfen invfixendofline invfkmap invfsync invguipty invhk invhkp invic invim invimd invinf invinsertmode invjoinspaces invlangnoremap invlbr invlisp invlnr 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 invundofile invvisualbell invwarn invweirdinvert invwfw invwildignorecase invwinfixheight invwiv invwrap invwrite invwritebackup
|
||||
syn keyword vimOption contained invai invaltkeymap invar invarabicshape invautochdir invautowrite invawa invbeval invbk invbreakindent invcf invcindent invcopyindent invcscoperelative invcsre invcuc invcursorcolumn invdelcombine invdigraph inved invemo inveol invesckeys invexpandtab invfic invfixeol invfoldenable invgd invhid invhkmap invhls invicon invimc invimdisable invinfercase invis invjs invlazyredraw invlinebreak invlist 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 invudf invvb invwa invwb invwfh invwic invwildmenu invwinfixwidth invwmnu invwrapscan invwriteany invws
|
||||
syn keyword vimOption contained invakm invanti invarab invari invautoindent invautowriteall invbackup invbin invbl invbri invci invcompatible invcp invcscopetag invcst invcul invcursorline invdg invea invedcompatible invemoji invequalalways invet invexrc invfileignorecase invfk invfs invgdefault invhidden invhkmapp invhlsearch invignorecase invimcmdline invincsearch
|
||||
|
||||
" 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_CV t_db 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_RB t_RI t_RV t_Sb t_se t_Sf t_SI t_so t_sr t_SR t_te t_ti t_ts t_u7 t_ue t_us t_ut t_vb t_ve t_vi t_vs t_WP t_WS t_xn t_xs t_ZH t_ZR
|
||||
syn keyword vimOption contained t_AF t_AL t_cd t_Ce t_cm t_cs t_CS t_da t_dl
|
||||
syn keyword vimOption contained t_8b t_AB t_al t_bc t_ce t_cl t_Co t_Cs t_CV t_db t_DL 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_RB t_RI t_RV t_Sb t_se t_Sf t_SI t_so t_sr t_SR t_te t_ti t_ts t_u7 t_ue t_us t_ut t_vb t_ve t_vi t_vs t_WP t_WS t_xn t_xs t_ZH t_ZR
|
||||
syn keyword vimOption contained t_8f t_AF t_AL t_cd t_Ce t_cm t_cs t_CS t_da t_dl t_EI
|
||||
syn match vimOption contained "t_%1"
|
||||
syn match vimOption contained "t_#2"
|
||||
syn match vimOption contained "t_#4"
|
||||
@@ -76,10 +76,10 @@ syn match vimHLGroup contained "Conceal"
|
||||
syn case match
|
||||
|
||||
" Function Names {{{2
|
||||
syn keyword vimFuncName contained abs and arglistid assert_exception assert_notequal atan2 buflisted bufwinnr call ch_close ch_getjob ch_open ch_sendraw clearmatches complete_check cosh deepcopy diff_hlID eval exists extend filewritable findfile fmod foldclosed foldtext function getbufline getcharmod getcmdpos getcurpos getfperm getftype getmatches getqflist gettabvar getwinposy glob2regpat has_key histadd histnr hostname index inputlist inputsecret isdirectory items job_setoptions job_stop js_encode keys libcallnr lispindent log10 maparg matchadd matchdelete matchstr min mzeval or pow pumvisible range reltimestr remote_peek remove resolve screenattr screenrow searchpair server2client setcharsearch setline setpos settabvar sha256 simplify sort spellsuggest str2float strdisplaywidth string strridx submatch synID synstack tabpagebuflist tagfiles tanh timer_stop tr undofile values wildmenumode win_findbuf winheight winline winrestview wordcount
|
||||
syn keyword vimFuncName contained acos append argv assert_fails assert_notmatch browse bufloaded byte2line ceil ch_evalexpr ch_info ch_read ch_setoptions col confirm count delete disable_char_avail_for_testing eventhandler exp feedkeys filter float2nr fnameescape foldclosedend foldtextresult garbagecollect getbufvar getcharsearch getcmdtype getcwd getfsize getline getpid getreg gettabwinvar getwinvar globpath haslocaldir histdel hlexists iconv input inputrestore insert islocked job_getchannel job_start join json_decode len line localtime luaeval mapcheck matchaddpos matchend matchstrpos mkdir nextnonblank pathshorten prevnonblank py3eval readfile remote_expr remote_read rename reverse screenchar search searchpairpos serverlist setcmdpos setloclist setqflist settabwinvar shellescape sin soundfold split str2nr strftime strlen strtrans substitute synIDattr system tabpagenr taglist tempname tolower trunc undotree virtcol winbufnr win_getid win_id2tabwin winnr winsaveview writefile
|
||||
syn keyword vimFuncName contained add argc asin assert_false assert_true browsedir bufname byteidx changenr ch_evalraw ch_log ch_readraw ch_status complete copy cscope_connection did_filetype empty executable expand filereadable finddir floor fnamemodify foldlevel foreground get getchar getcmdline getcmdwintype getfontname getftime getloclist getpos getregtype getwinposx glob has hasmapto histget hlID indent inputdialog inputsave invert isnan job_info job_status js_decode json_encode libcall line2byte log map match matcharg matchlist max mode nr2char perleval printf pyeval reltime remote_foreground remote_send repeat round screencol searchdecl searchpos setbufvar setfperm setmatches setreg setwinvar shiftwidth sinh spellbadword sqrt strchars stridx strpart strwidth synconcealed synIDtrans systemlist tabpagewinnr tan timer_start toupper type uniq visualmode wincol win_gotoid win_id2win winrestcmd winwidth xor
|
||||
syn keyword vimFuncName contained alloc_fail argidx assert_equal assert_match atan bufexists bufnr byteidxcomp char2nr ch_getbufnr ch_logfile ch_sendexpr cindent complete_add cos cursor diff_filler escape exepath
|
||||
syn keyword vimFuncName contained abs and arglistid assert_exception assert_notequal atan2 buflisted bufwinnr call ch_close ch_getjob ch_open ch_sendraw clearmatches complete_check cosh deepcopy diff_hlID eval exists feedkeys finddir fmod foldclosedend foldtextresult garbagecollect getbufline getcharmod getcmdpos getcurpos getfperm getftype getmatches getqflist gettabvar getwinposy glob2regpat has_key histadd histnr hostname index inputlist inputsecret isdirectory items job_setoptions job_stop js_encode keys libcallnr lispindent log10 maparg matchadd matchdelete matchstr min mzeval or pow pumvisible range reltimefloat remote_foreground remote_send repeat round screencol searchdecl searchpos setbufvar setfperm setmatches setreg setwinvar shiftwidth sinh spellbadword sqrt strcharpart strftime string strridx submatch synID synstack tabpagebuflist tagfiles tanh timer_stop tr undofile values wildmenumode win_findbuf winheight winline winrestview wordcount
|
||||
syn keyword vimFuncName contained acos append argv assert_fails assert_notmatch browse bufloaded byte2line ceil ch_evalexpr ch_info ch_read ch_setoptions col confirm count delete disable_char_avail_for_testing eventhandler exp filereadable findfile fnameescape foldlevel foreground garbagecollect_for_testing getbufvar getcharsearch getcmdtype getcwd getfsize getline getpid getreg gettabwinvar getwinvar globpath haslocaldir histdel hlexists iconv input inputrestore insert islocked job_getchannel job_start join json_decode len line localtime luaeval mapcheck matchaddpos matchend matchstrpos mkdir nextnonblank pathshorten prevnonblank py3eval readfile reltimestr remote_peek remove resolve screenattr screenrow searchpair server2client setcharsearch setline setpos settabvar sha256 simplify sort spellsuggest str2float strchars strgetchar strlen strtrans substitute synIDattr system tabpagenr taglist tempname tolower trunc undotree virtcol winbufnr win_getid win_id2tabwin winnr winsaveview writefile
|
||||
syn keyword vimFuncName contained add argc asin assert_false assert_true browsedir bufname byteidx changenr ch_evalraw ch_log ch_readraw ch_status complete copy cscope_connection did_filetype empty executable expand filewritable float2nr fnamemodify foldtext function get getchar getcmdline getcmdwintype getfontname getftime getloclist getpos getregtype getwinposx glob has hasmapto histget hlID indent inputdialog inputsave invert isnan job_info job_status js_decode json_encode libcall line2byte log map match matcharg matchlist max mode nr2char perleval printf pyeval reltime remote_expr remote_read rename reverse screenchar search searchpairpos serverlist setcmdpos setloclist setqflist settabwinvar shellescape sin soundfold split str2nr strdisplaywidth stridx strpart strwidth synconcealed synIDtrans systemlist tabpagewinnr tan timer_start toupper type uniq visualmode wincol win_gotoid win_id2win winrestcmd winwidth xor
|
||||
syn keyword vimFuncName contained alloc_fail argidx assert_equal assert_match atan bufexists bufnr byteidxcomp char2nr ch_getbufnr ch_logfile ch_sendexpr cindent complete_add cos cursor diff_filler escape exepath extend filter floor foldclosed
|
||||
|
||||
"--- syntax here and above generated by mkvimvim ---
|
||||
" Special Vim Highlighting (not automatic) {{{1
|
||||
@@ -202,7 +202,7 @@ syn cluster vimAugroupList contains=vimAugroup,vimIsCommand,vimCommand,vimUserCm
|
||||
if exists("g:vimsyn_folding") && g:vimsyn_folding =~# 'a'
|
||||
syn region vimAugroup fold matchgroup=vimAugroupKey start="\<aug\%[roup]\>\ze\s\+\K\k*" end="\<aug\%[roup]\>\ze\s\+[eE][nN][dD]\>" contains=vimAutoCmd,@vimAugroupList
|
||||
else
|
||||
syn region vimAugroup matchgroup=vimAugroupKey start="\<aug\%[roup]\>\ze\s\+\K\k*" end="\<aug\%[roup]\>\ze\s\+[eE][nN][dD]\>" contains=vimAutoCmd,@vimAugroupList
|
||||
syn region vimAugroup matchgroup=vimAugroupKey start="\<aug\%[roup]\>\ze\s\+\K\k*" end="\<aug\%[roup]\>\ze\s\+[eE][nN][dD]\>" contains=vimAutoCmd,@vimAugroupList
|
||||
endif
|
||||
syn match vimAugroup "aug\%[roup]!" contains=vimAugroupKey
|
||||
if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_noaugrouperror")
|
||||
@@ -310,10 +310,11 @@ syn match vimStringCont contained +\(\\\\\|.\)\{-}[^\\]"+
|
||||
syn cluster vimSubstList contains=vimPatSep,vimPatRegion,vimPatSepErr,vimSubstTwoBS,vimSubstRange,vimNotation
|
||||
syn cluster vimSubstRepList contains=vimSubstSubstr,vimSubstTwoBS,vimNotation
|
||||
syn cluster vimSubstList add=vimCollection
|
||||
syn match vimSubst "\(:\+\s*\|^\s*\||\s*\)\<\%(s\%[ubstitute]\|sm\%[agic]\|sno\%[magic]\)[:[:alpha:]]\@!" nextgroup=vimSubstPat
|
||||
syn match vimSubst "\%(^\|[^\\]\)s\%[ubstitute][:#[:alpha:]]\@!" nextgroup=vimSubstPat contained
|
||||
syn match vimSubst "/\zss\%[ubstitute]\ze/" nextgroup=vimSubstPat
|
||||
syn match vimSubst1 contained "s\%[ubstitute]\>" nextgroup=vimSubstPat
|
||||
syn match vimSubst "\(:\+\s*\|^\s*\||\s*\)\<\%(\<s\%[ubstitute]\>\|\<sm\%[agic]\>\|\<sno\%[magic]\>\)[:#[:alpha:]]\@!" nextgroup=vimSubstPat
|
||||
syn match vimSubst "\%(^\|[^\\]\)\<s\%[ubstitute]\>[:#[:alpha:]]\@!" nextgroup=vimSubstPat contained
|
||||
syn match vimSubst "/\zs\<s\%[ubstitute]\>\ze/" nextgroup=vimSubstPat
|
||||
syn match vimSubst "\(:\+\s*\|^\s*\)s\ze#.\{-}#.\{-}#" nextgroup=vimSubstPat
|
||||
syn match vimSubst1 contained "\<s\%[ubstitute]\>" nextgroup=vimSubstPat
|
||||
syn region vimSubstPat contained matchgroup=vimSubstDelim start="\z([^a-zA-Z( \t[\]&]\)"rs=s+1 skip="\\\\\|\\\z1" end="\z1"re=e-1,me=e-1 contains=@vimSubstList nextgroup=vimSubstRep4 oneline
|
||||
syn region vimSubstRep4 contained matchgroup=vimSubstDelim start="\z(.\)" skip="\\\\\|\\\z1" end="\z1" matchgroup=vimNotation end="<[cC][rR]>" contains=@vimSubstRepList nextgroup=vimSubstFlagErr oneline
|
||||
syn region vimCollection contained transparent start="\\\@<!\[" skip="\\\[" end="\]" contains=vimCollClass
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: Vim .viminfo file
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2012 Feb 03
|
||||
" Last Change: 2016 Jun 05
|
||||
|
||||
" Quit when a (custom) syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
@@ -30,11 +30,15 @@ syn match viminfoOptionName "\*\a*"ms=s+1 contained
|
||||
" Comments
|
||||
syn match viminfoComment "^#.*"
|
||||
|
||||
" New style lines. TODO: highlight numbers and strings.
|
||||
syn match viminfoNew "^|.*"
|
||||
|
||||
" Define the default highlighting.
|
||||
" Only used when an item doesn't have highlighting yet
|
||||
hi def link viminfoComment Comment
|
||||
hi def link viminfoError Error
|
||||
hi def link viminfoStatement Statement
|
||||
hi def link viminfoNew String
|
||||
|
||||
let b:current_syntax = "viminfo"
|
||||
|
||||
|
||||
@@ -6,9 +6,10 @@
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
|
||||
int
|
||||
main()
|
||||
main(void)
|
||||
{
|
||||
while (1)
|
||||
{
|
||||
|
||||
@@ -309,7 +309,7 @@ int main( int argc, char *argv[] )
|
||||
ok = sscanf( p, "make[%*d]: Entering directory `%[^']",
|
||||
BasePath );
|
||||
if (verbose)
|
||||
printf( "[%u]?%s\n", ok, Line );
|
||||
printf( "[%u]?%s\n", (unsigned)ok, Line );
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -160,7 +160,7 @@ RIMARKO: Trairante la instruilon, ne provu memori, lernu per la uzo.
|
||||
|
||||
4. Konservu la dosieron kun <20>an<61>oj kaj eliru el Vim per: :wq <Enenklavo>
|
||||
|
||||
5. Se vi eliris la instruilon vimtutor en pa<70>o 1, restartigu la intruilon
|
||||
5. Se vi eliris el la instruilo vimtutor en pa<70>o 1, restartigu la instruilon
|
||||
vimtutor kaj movi<76>u suben al la sekvanta resumo.
|
||||
|
||||
6. Post kiam vi legis la suprajn pa<70>ojn, kaj komprenis ilin: faru ilin.
|
||||
@@ -229,7 +229,7 @@ Nun da
|
||||
|
||||
3. Movu la kursoron <20>e la fino de la <20>usta linio (POST la unua . ).
|
||||
|
||||
4. Tajpu d$ por foriv<69>i <20>is la fino de la linio.
|
||||
4. Tajpu d$ por forivi<EFBFBD>i <20>is la fino de la linio.
|
||||
|
||||
---> Iu tajpis la finon de <20>i tiu linio dufoje. fino de <20>i tiu linio dufoje.
|
||||
|
||||
@@ -670,7 +670,7 @@ RIMARKO: Se vi volus eliri el Vim kaj restartigi
|
||||
3. Premu la : signon. <20>e la fino de la ekrano :'<,'> aperos.
|
||||
|
||||
4. Tajpu w TESTO , kie TESTO estas dosiernomo, kiu ankora<72> ne ekzistas.
|
||||
Kontrolu, ke vi vidas :'<,'>w TESTO anta<74> premi <Enenklavo>.
|
||||
Kontrolu, ke vi vidas :'<,'>w TESTO anta<74> ol premi <Enenklavo>.
|
||||
|
||||
5. Vim konservos la apartigitajn liniojn al la dosiero TESTO. Uzu :dir
|
||||
a<> :!ls por vidigi <20>in. Ne forvi<76>u <20>in. Ni uzos <20>in en la sekvanta
|
||||
@@ -688,7 +688,7 @@ RIMARKO: Premo de v komencas Viduman apartigon. Vi povas movi la kursoron
|
||||
|
||||
** Por enmeti la enhavon de dosiero, tajpu :r DOSIERNOMON **
|
||||
|
||||
1. Movu la kursoron <EFBFBD>us super <20>i tiu linio.
|
||||
1. Movu la kursoron tuj super <20>i tiu linio.
|
||||
|
||||
RIMARKO: Post plenumo de pa<70>o 2, vi vidos tekston el la leciono 5.3. Tiam
|
||||
movi<76>u SUBEN por vidi tiun lecionon denove.
|
||||
@@ -741,7 +741,7 @@ RIMARKO: Vi nun povas legi la eliron de ekstera komando. Ekzemple,
|
||||
2. Tajpu la minusklan literon o por malfermi linion SUB la kursoro kaj
|
||||
eniri la Enmetan re<72>imon.
|
||||
|
||||
3. Nun tajpu tekston kaj premu <ESK> por eliri la Enmetan re<72>imon.
|
||||
3. Nun tajpu tekston kaj premu <ESK> por eliri el la Enmeta re<72>imo.
|
||||
|
||||
---> Post tajpo de o la kursoro movi<76>as al la malfermata linio en
|
||||
Enmeta re<72>imo.
|
||||
@@ -765,7 +765,7 @@ RIMARKO: Vi nun povas legi la eliron de ekstera komando. Ekzemple,
|
||||
3. Tajpu a (minuskle) por aldoni tekston POST la kursoro.
|
||||
|
||||
4. Kompletigu la vorton same kiel la linio sub <20>i. Premu <ESK> por
|
||||
eliri la Enmetan re<72>imon.
|
||||
eliri el la Enmeta re<72>imo.
|
||||
|
||||
5. Uzu e por movi<76>i al la sekvanta nekompleta vorto kaj ripetu
|
||||
pa<70>ojn 3 kaj 4.
|
||||
@@ -789,7 +789,7 @@ RIMARKO:
|
||||
2. Nun premu R kaj tajpu la nombron sub <20>i en la dua linio, por ke <20>i
|
||||
anstata<74>igu la xxx .
|
||||
|
||||
3. Premu <ESK> por foriri la Anstata<74>igan re<72>imon. Rimarku, ke la cetera
|
||||
3. Premu <ESK> por foriri el la Anstata<74>iga re<72>imo. Rimarku, ke la cetera
|
||||
parto de la linio restas ne<6E>an<61>ata.
|
||||
|
||||
4. Ripetu la pa<70>ojn por anstata<74>igi la restantajn xxx.
|
||||
@@ -810,7 +810,7 @@ RIMARKO: Anstata
|
||||
|
||||
1. Iru al la linio markita per ---> sube kaj poziciu la kursoron post "a)".
|
||||
|
||||
2. Komencu la Viduman re<72>imon per v kaj movu la kursoron <EFBFBD>us anta<74> "unua".
|
||||
2. Komencu la Viduman re<72>imon per v kaj movu la kursoron tuj anta<74> "unua".
|
||||
|
||||
3. Tajpu y por kopii la emfazitan tekston.
|
||||
|
||||
@@ -986,6 +986,6 @@ RIMARKO: Kompletigo funkcias por multaj komandoj. Nur provu premi CTRL-D kaj
|
||||
|
||||
Esperantigita fare de Dominique Pell<6C>, 2008-04-01
|
||||
Retpo<70>to: dominique.pelle@gmail.com
|
||||
Lasta <20>an<61>o: 2011-11-27
|
||||
Lasta <20>an<61>o: 2016-07-02
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
@@ -160,7 +160,7 @@ RIMARKO: Trairante la instruilon, ne provu memori, lernu per la uzo.
|
||||
|
||||
4. Konservu la dosieron kun ŝanĝoj kaj eliru el Vim per: :wq <Enenklavo>
|
||||
|
||||
5. Se vi eliris la instruilon vimtutor en paŝo 1, restartigu la intruilon
|
||||
5. Se vi eliris el la instruilo vimtutor en paŝo 1, restartigu la instruilon
|
||||
vimtutor kaj moviĝu suben al la sekvanta resumo.
|
||||
|
||||
6. Post kiam vi legis la suprajn paŝojn, kaj komprenis ilin: faru ilin.
|
||||
@@ -229,7 +229,7 @@ Nun daŭrigu al la leciono 2.
|
||||
|
||||
3. Movu la kursoron ĉe la fino de la ĝusta linio (POST la unua . ).
|
||||
|
||||
4. Tajpu d$ por forivŝi ĝis la fino de la linio.
|
||||
4. Tajpu d$ por foriviŝi ĝis la fino de la linio.
|
||||
|
||||
---> Iu tajpis la finon de ĉi tiu linio dufoje. fino de ĉi tiu linio dufoje.
|
||||
|
||||
@@ -670,7 +670,7 @@ RIMARKO: Se vi volus eliri el Vim kaj restartigi ĝin denove per vim TESTO,
|
||||
3. Premu la : signon. Ĉe la fino de la ekrano :'<,'> aperos.
|
||||
|
||||
4. Tajpu w TESTO , kie TESTO estas dosiernomo, kiu ankoraŭ ne ekzistas.
|
||||
Kontrolu, ke vi vidas :'<,'>w TESTO antaŭ premi <Enenklavo>.
|
||||
Kontrolu, ke vi vidas :'<,'>w TESTO antaŭ ol premi <Enenklavo>.
|
||||
|
||||
5. Vim konservos la apartigitajn liniojn al la dosiero TESTO. Uzu :dir
|
||||
aŭ :!ls por vidigi ĝin. Ne forviŝu ĝin. Ni uzos ĝin en la sekvanta
|
||||
@@ -688,7 +688,7 @@ RIMARKO: Premo de v komencas Viduman apartigon. Vi povas movi la kursoron
|
||||
|
||||
** Por enmeti la enhavon de dosiero, tajpu :r DOSIERNOMON **
|
||||
|
||||
1. Movu la kursoron ĵus super ĉi tiu linio.
|
||||
1. Movu la kursoron tuj super ĉi tiu linio.
|
||||
|
||||
RIMARKO: Post plenumo de paŝo 2, vi vidos tekston el la leciono 5.3. Tiam
|
||||
moviĝu SUBEN por vidi tiun lecionon denove.
|
||||
@@ -741,7 +741,7 @@ RIMARKO: Vi nun povas legi la eliron de ekstera komando. Ekzemple,
|
||||
2. Tajpu la minusklan literon o por malfermi linion SUB la kursoro kaj
|
||||
eniri la Enmetan reĝimon.
|
||||
|
||||
3. Nun tajpu tekston kaj premu <ESK> por eliri la Enmetan reĝimon.
|
||||
3. Nun tajpu tekston kaj premu <ESK> por eliri el la Enmeta reĝimo.
|
||||
|
||||
---> Post tajpo de o la kursoro moviĝas al la malfermata linio en
|
||||
Enmeta reĝimo.
|
||||
@@ -765,7 +765,7 @@ RIMARKO: Vi nun povas legi la eliron de ekstera komando. Ekzemple,
|
||||
3. Tajpu a (minuskle) por aldoni tekston POST la kursoro.
|
||||
|
||||
4. Kompletigu la vorton same kiel la linio sub ĝi. Premu <ESK> por
|
||||
eliri la Enmetan reĝimon.
|
||||
eliri el la Enmeta reĝimo.
|
||||
|
||||
5. Uzu e por moviĝi al la sekvanta nekompleta vorto kaj ripetu
|
||||
paŝojn 3 kaj 4.
|
||||
@@ -789,7 +789,7 @@ RIMARKO: Ĉiu a, i kaj A iras al la sama Enmeta reĝimo, la nura malsamo
|
||||
2. Nun premu R kaj tajpu la nombron sub ĝi en la dua linio, por ke ĝi
|
||||
anstataŭigu la xxx .
|
||||
|
||||
3. Premu <ESK> por foriri la Anstataŭigan reĝimon. Rimarku, ke la cetera
|
||||
3. Premu <ESK> por foriri el la Anstataŭiga reĝimo. Rimarku, ke la cetera
|
||||
parto de la linio restas neŝanĝata.
|
||||
|
||||
4. Ripetu la paŝojn por anstataŭigi la restantajn xxx.
|
||||
@@ -810,7 +810,7 @@ RIMARKO: Anstataŭiga reĝimo estas same kiel Enmeta reĝimo, sed ĉiu signo
|
||||
|
||||
1. Iru al la linio markita per ---> sube kaj poziciu la kursoron post "a)".
|
||||
|
||||
2. Komencu la Viduman reĝimon per v kaj movu la kursoron ĵus antaŭ "unua".
|
||||
2. Komencu la Viduman reĝimon per v kaj movu la kursoron tuj antaŭ "unua".
|
||||
|
||||
3. Tajpu y por kopii la emfazitan tekston.
|
||||
|
||||
@@ -986,6 +986,6 @@ RIMARKO: Kompletigo funkcias por multaj komandoj. Nur provu premi CTRL-D kaj
|
||||
|
||||
Esperantigita fare de Dominique Pellé, 2008-04-01
|
||||
Retpoŝto: dominique.pelle@gmail.com
|
||||
Lasta ŝanĝo: 2011-11-27
|
||||
Lasta ŝanĝo: 2016-07-02
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
@@ -190,7 +190,7 @@ NOTE : En avan
|
||||
|
||||
5. Pour ins<6E>rer ou ajouter du texte tapez :
|
||||
i tapez le texte <20> ins<6E>rer avant le curseur <<3C>chap>
|
||||
A tapez le texte <20> ajouter apr<EFBFBD>s le curseur <<3C>chap>
|
||||
A tapez le texte <20> ajouter en fin de ligne <<3C>chap>
|
||||
|
||||
NOTE : Appuyer <<3C>chap> vous place en mode Normal ou annule une commande
|
||||
partiellement tap<61>e dont vous ne voulez plus.
|
||||
@@ -1034,5 +1034,5 @@ NOTE : Le compl
|
||||
Derni<6E>res mises <20> jour par Dominique Pell<6C>.
|
||||
|
||||
E-mail : dominique.pelle@gmail.com
|
||||
Last Change : 2014 Aug 18
|
||||
Last Change : 2016 Jul 02
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
@@ -190,7 +190,7 @@ NOTE : En avançant dans ce cours, n'essayez pas de mémoriser, apprenez par
|
||||
|
||||
5. Pour insérer ou ajouter du texte tapez :
|
||||
i tapez le texte à insérer avant le curseur <Échap>
|
||||
A tapez le texte à ajouter après le curseur <Échap>
|
||||
A tapez le texte à ajouter en fin de ligne <Échap>
|
||||
|
||||
NOTE : Appuyer <Échap> vous place en mode Normal ou annule une commande
|
||||
partiellement tapée dont vous ne voulez plus.
|
||||
@@ -1034,5 +1034,5 @@ NOTE : Le complètement fonctionne pour de nombreuses commandes. Essayez
|
||||
Dernières mises à jour par Dominique Pellé.
|
||||
|
||||
E-mail : dominique.pelle@gmail.com
|
||||
Last Change : 2014 Aug 18
|
||||
Last Change : 2016 Jul 02
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" An example for a vimrc file.
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last change: 2016 Apr 05
|
||||
" Last change: 2016 Jun 21
|
||||
"
|
||||
" To use it, copy it to
|
||||
" for Unix and OS/2: ~/.vimrc
|
||||
@@ -111,4 +111,6 @@ endif
|
||||
"
|
||||
" The matchit plugin makes the % command work better, but it is not backwards
|
||||
" compatible.
|
||||
packadd matchit
|
||||
if has('syntax') && has('eval')
|
||||
packadd matchit
|
||||
endif
|
||||
|
||||
@@ -11,7 +11,7 @@ Contents:
|
||||
|
||||
See INSTALLami.txt for Amiga
|
||||
See INSTALLmac.txt for Macintosh
|
||||
See INSTALLpc.txt for PC (MS-DOS, Windows 95/98/NT/XP)
|
||||
See INSTALLpc.txt for PC (Windows 95/98/NT/XP/Vista/7/8/10)
|
||||
See INSTALLvms.txt for VMS
|
||||
See INSTALLx.txt for cross-compiling on Unix
|
||||
See ../README_390.txt for OS/390 Unix
|
||||
|
||||
@@ -537,6 +537,7 @@ vimwinmain = \
|
||||
!endif
|
||||
|
||||
vimobj = \
|
||||
$(OBJDIR)\arabic.obj \
|
||||
$(OBJDIR)\blowfish.obj \
|
||||
$(OBJDIR)\buffer.obj \
|
||||
$(OBJDIR)\charset.obj \
|
||||
@@ -551,6 +552,7 @@ vimobj = \
|
||||
$(OBJDIR)\ex_docmd.obj \
|
||||
$(OBJDIR)\ex_eval.obj \
|
||||
$(OBJDIR)\ex_getln.obj \
|
||||
$(OBJDIR)\farsi.obj \
|
||||
$(OBJDIR)\fileio.obj \
|
||||
$(OBJDIR)\fold.obj \
|
||||
$(OBJDIR)\getchar.obj \
|
||||
|
||||
@@ -67,7 +67,11 @@ CSCOPE=yes
|
||||
# Set to yes to enable Netbeans support (requires CHANNEL).
|
||||
NETBEANS=$(GUI)
|
||||
# Set to yes to enable inter process communication.
|
||||
ifeq (HUGE, $(FEATURES))
|
||||
CHANNEL=yes
|
||||
else
|
||||
CHANNEL=$(GUI)
|
||||
endif
|
||||
|
||||
|
||||
# Link against the shared version of libstdc++ by default. Set
|
||||
@@ -375,7 +379,7 @@ endif # RUBY
|
||||
# Any other defines can be included here.
|
||||
DEF_GUI=-DFEAT_GUI_W32 -DFEAT_CLIPBOARD
|
||||
DEFINES=-DWIN32 -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) \
|
||||
-DHAVE_PATHDEF -DFEAT_$(FEATURES)
|
||||
-DHAVE_PATHDEF -DFEAT_$(FEATURES) -DHAVE_STDINT_H
|
||||
ifeq ($(ARCH),x86-64)
|
||||
DEFINES+=-DMS_WIN64
|
||||
endif
|
||||
@@ -588,7 +592,9 @@ endif
|
||||
|
||||
LIB = -lkernel32 -luser32 -lgdi32 -ladvapi32 -lcomdlg32 -lcomctl32 -lversion
|
||||
GUIOBJ = $(OUTDIR)/gui.o $(OUTDIR)/gui_w32.o $(OUTDIR)/gui_beval.o $(OUTDIR)/os_w32exe.o
|
||||
CUIOBJ = $(OUTDIR)/iscygpty.o
|
||||
OBJ = \
|
||||
$(OUTDIR)/arabic.o \
|
||||
$(OUTDIR)/blowfish.o \
|
||||
$(OUTDIR)/buffer.o \
|
||||
$(OUTDIR)/charset.o \
|
||||
@@ -603,6 +609,7 @@ OBJ = \
|
||||
$(OUTDIR)/ex_docmd.o \
|
||||
$(OUTDIR)/ex_eval.o \
|
||||
$(OUTDIR)/ex_getln.o \
|
||||
$(OUTDIR)/farsi.o \
|
||||
$(OUTDIR)/fileio.o \
|
||||
$(OUTDIR)/fold.o \
|
||||
$(OUTDIR)/getchar.o \
|
||||
@@ -723,6 +730,7 @@ OBJ += $(GUIOBJ)
|
||||
LFLAGS += -mwindows
|
||||
OUTDIR = gobj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX)$(ARCH)
|
||||
else
|
||||
OBJ += $(CUIOBJ)
|
||||
TARGET := vim$(DEBUG_SUFFIX).exe
|
||||
OUTDIR = obj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX)$(ARCH)
|
||||
endif
|
||||
@@ -838,6 +846,7 @@ endif
|
||||
INCL = vim.h feature.h os_win32.h os_dos.h ascii.h keymap.h term.h macros.h \
|
||||
structs.h regexp.h option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
gui.h
|
||||
CUI_INCL = iscygpty.h
|
||||
|
||||
$(OUTDIR)/if_python.o : if_python.c if_py_both.h $(INCL)
|
||||
$(CC) -c $(CFLAGS) $(PYTHONINC) $(PYTHON_HOME_DEF) $< -o $@
|
||||
@@ -883,6 +892,12 @@ if_perl.c: if_perl.xs typemap
|
||||
$(XSUBPP) -prototypes -typemap \
|
||||
$(PERLTYPEMAP) if_perl.xs > $@
|
||||
|
||||
$(OUTDIR)/iscygpty.o: iscygpty.c $(CUI_INCL)
|
||||
$(CC) -c $(CFLAGS) iscygpty.c -o $(OUTDIR)/iscygpty.o -D_WIN32_WINNT=0x0600 -DUSE_DYNFILEID -DENABLE_STUB_IMPL
|
||||
|
||||
$(OUTDIR)/main.o: main.c $(INCL) $(CUI_INCL)
|
||||
$(CC) -c $(CFLAGS) main.c -o $(OUTDIR)/main.o
|
||||
|
||||
$(OUTDIR)/netbeans.o: netbeans.c $(INCL) $(NBDEBUG_INCL) $(NBDEBUG_SRC)
|
||||
$(CC) -c $(CFLAGS) netbeans.c -o $(OUTDIR)/netbeans.o
|
||||
|
||||
|
||||
@@ -26,6 +26,7 @@ LD = dcc
|
||||
${CC} ${PRE} ${CFLAGS} $< -o $@
|
||||
|
||||
SRC = \
|
||||
arabic.c \
|
||||
blowfish.c \
|
||||
buffer.c \
|
||||
charset.c \
|
||||
@@ -40,6 +41,7 @@ SRC = \
|
||||
ex_docmd.c \
|
||||
ex_eval.c \
|
||||
ex_getln.c \
|
||||
farsi.c \
|
||||
fileio.c \
|
||||
fold.c \
|
||||
getchar.c \
|
||||
@@ -75,7 +77,8 @@ SRC = \
|
||||
window.c \
|
||||
version.c
|
||||
|
||||
OBJ = o/blowfish.o \
|
||||
OBJ = o/arabic.o \
|
||||
o/blowfish.o \
|
||||
o/buffer.o \
|
||||
o/charset.o \
|
||||
o/crypt.o \
|
||||
@@ -89,6 +92,7 @@ OBJ = o/blowfish.o \
|
||||
o/ex_docmd.o \
|
||||
o/ex_eval.o \
|
||||
o/ex_getln.o \
|
||||
o/farsi.o \
|
||||
o/fileio.o \
|
||||
o/fold.o \
|
||||
o/getchar.o \
|
||||
@@ -143,6 +147,8 @@ $(SYMS) : vim.h globals.h keymap.h macros.h ascii.h term.h os_amiga.h structs.h
|
||||
|
||||
###########################################################################
|
||||
|
||||
o/arabic.o: arabic.c $(SYMS)
|
||||
|
||||
o/blowfish.o: blowfish.c $(SYMS)
|
||||
|
||||
o/buffer.o: buffer.c $(SYMS)
|
||||
@@ -171,6 +177,8 @@ o/ex_eval.o: ex_eval.c $(SYMS) ex_cmds.h
|
||||
|
||||
o/ex_getln.o: ex_getln.c $(SYMS)
|
||||
|
||||
o/farsi.o: farsi.c $(SYMS)
|
||||
|
||||
o/fileio.o: fileio.c $(SYMS)
|
||||
|
||||
o/fold.o: fold.c $(SYMS)
|
||||
|
||||
@@ -210,6 +210,7 @@ ALL : .\$(VIM).exe vimrun.exe install.exe uninstal.exe xxd/xxd.exe GvimExt/gvime
|
||||
|
||||
LINK32_OBJS= \
|
||||
$(EXTRAS) \
|
||||
"$(INTDIR)/arabic.obj" \
|
||||
"$(INTDIR)/blowfish.obj" \
|
||||
"$(INTDIR)/buffer.obj" \
|
||||
"$(INTDIR)/charset.obj" \
|
||||
@@ -224,6 +225,7 @@ LINK32_OBJS= \
|
||||
"$(INTDIR)/ex_docmd.obj" \
|
||||
"$(INTDIR)/ex_eval.obj" \
|
||||
"$(INTDIR)/ex_getln.obj" \
|
||||
"$(INTDIR)/farsi.obj" \
|
||||
"$(INTDIR)/fileio.obj" \
|
||||
"$(INTDIR)/fold.obj" \
|
||||
"$(INTDIR)/getchar.obj" \
|
||||
@@ -330,6 +332,10 @@ GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
|
||||
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\arabic.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\blowfish.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
@@ -386,6 +392,10 @@ SOURCE=.\ex_getln.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\farsi.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\fileio.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
@@ -36,7 +36,8 @@ SHELL = csh
|
||||
REN = $(SHELL) -c mv -f
|
||||
DEL = $(SHELL) -c rm -f
|
||||
|
||||
SRC = blowfish.c \
|
||||
SRC = arabic.c \
|
||||
blowfish.c \
|
||||
buffer.c \
|
||||
charset.c \
|
||||
crypt.c \
|
||||
@@ -50,6 +51,7 @@ SRC = blowfish.c \
|
||||
ex_docmd.c \
|
||||
ex_eval.c \
|
||||
ex_getln.c \
|
||||
farsi.c \
|
||||
fileio.c \
|
||||
fold.c \
|
||||
getchar.c \
|
||||
@@ -87,7 +89,8 @@ SRC = blowfish.c \
|
||||
|
||||
INCL = vim.h feature.h keymap.h macros.h ascii.h term.h structs.h os_amiga.h
|
||||
|
||||
OBJ = obj/blowfish.o \
|
||||
OBJ = obj/arabic.o \
|
||||
obj/blowfish.o \
|
||||
obj/buffer.o \
|
||||
obj/charset.o \
|
||||
obj/crypt.o \
|
||||
@@ -101,6 +104,7 @@ OBJ = obj/blowfish.o \
|
||||
obj/ex_docmd.o \
|
||||
obj/ex_eval.o \
|
||||
obj/ex_getln.o \
|
||||
obj/farsi.o \
|
||||
obj/fileio.o \
|
||||
obj/fold.o \
|
||||
obj/getchar.o \
|
||||
@@ -136,7 +140,8 @@ OBJ = obj/blowfish.o \
|
||||
obj/window.o \
|
||||
$(TERMLIB)
|
||||
|
||||
PRO = proto/blowfish.pro \
|
||||
PRO = proto/arabic.pro \
|
||||
proto/blowfish.pro \
|
||||
proto/buffer.pro \
|
||||
proto/charset.pro \
|
||||
proto/crypt.pro \
|
||||
@@ -150,6 +155,7 @@ PRO = proto/blowfish.pro \
|
||||
proto/ex_docmd.pro \
|
||||
proto/ex_eval.pro \
|
||||
proto/ex_getln.pro \
|
||||
proto/farsi.pro \
|
||||
proto/fileio.pro \
|
||||
proto/fold.pro \
|
||||
proto/getchar.pro \
|
||||
@@ -229,6 +235,9 @@ CCNOSYM = $(CC) $(CFLAGS) -o
|
||||
|
||||
$(OBJ): $(SYMS)
|
||||
|
||||
obj/arabic.o: arabic.c
|
||||
$(CCSYM) $@ arabic.c
|
||||
|
||||
obj/blowfish.o: blowfish.c
|
||||
$(CCSYM) $@ blowfish.c
|
||||
|
||||
@@ -272,6 +281,9 @@ obj/ex_eval.o: ex_eval.c ex_cmds.h
|
||||
obj/ex_getln.o: ex_getln.c
|
||||
$(CCSYM) $@ ex_getln.c
|
||||
|
||||
obj/farsi.o: farsi.c
|
||||
$(CCSYM) $@ farsi.c
|
||||
|
||||
obj/fileio.o: fileio.c
|
||||
$(CCSYM) $@ fileio.c
|
||||
|
||||
|
||||
@@ -24,7 +24,8 @@ RM = rm
|
||||
.c.o:
|
||||
${CC} ${CFLAGS} $< -o $@
|
||||
|
||||
SRC = blowfish.c \
|
||||
SRC = arabic.c \
|
||||
blowfish.c \
|
||||
buffer.c \
|
||||
charset.c \
|
||||
crypt.c \
|
||||
@@ -38,6 +39,7 @@ SRC = blowfish.c \
|
||||
ex_docmd.c \
|
||||
ex_eval.c \
|
||||
ex_getln.c \
|
||||
farsi.c \
|
||||
fileio.c \
|
||||
fold.c \
|
||||
getchar.c \
|
||||
|
||||
130
src/Make_mvc.mak
130
src/Make_mvc.mak
@@ -255,6 +255,45 @@ MAKEFLAGS_GVIMEXT = DEBUG=yes
|
||||
!endif
|
||||
|
||||
|
||||
# Check VC version.
|
||||
!if [echo MSVCVER=_MSC_VER> msvcver.c && $(CC) /EP msvcver.c > msvcver.~ 2> nul]
|
||||
!message *** ERROR
|
||||
!message Cannot run Visual C to determine its version. Make sure cl.exe is in your PATH.
|
||||
!message This can usually be done by running "vcvarsall.bat", located in the bin directory where Visual Studio was installed.
|
||||
!error Make aborted.
|
||||
!else
|
||||
!include msvcver.~
|
||||
!if [del msvcver.c msvcver.~]
|
||||
!endif
|
||||
!endif
|
||||
|
||||
!if $(MSVCVER) < 1900
|
||||
MSVC_MAJOR = ($(MSVCVER) / 100 - 6)
|
||||
MSVCRT_VER = ($(MSVCVER) / 10 - 60)
|
||||
!else
|
||||
MSVC_MAJOR = ($(MSVCVER) / 100 - 5)
|
||||
MSVCRT_VER = ($(MSVCVER) / 10 - 50)
|
||||
!endif
|
||||
|
||||
# Calculate MSVCRT_VER
|
||||
!if [(set /a MSVCRT_VER="$(MSVCRT_VER)" > nul) && set MSVCRT_VER > msvcrtver.~] == 0
|
||||
!include msvcrtver.~
|
||||
!if [del msvcrtver.~]
|
||||
!endif
|
||||
!endif
|
||||
|
||||
# Base name of the msvcrXX.dll
|
||||
!if $(MSVCRT_VER) <= 60
|
||||
MSVCRT_NAME = msvcrt
|
||||
!else
|
||||
MSVCRT_NAME = msvcr$(MSVCRT_VER)
|
||||
!endif
|
||||
|
||||
!if $(MSVC_MAJOR) == 6
|
||||
CPU = ix86
|
||||
!endif
|
||||
|
||||
|
||||
# Flag to turn on Win64 compatibility warnings for VC7.x and VC8.
|
||||
WP64CHECK = /Wp64
|
||||
|
||||
@@ -263,6 +302,10 @@ WP64CHECK = /Wp64
|
||||
# INCLUDE = c:\msvc20\include
|
||||
# LIB = c:\msvc20\lib
|
||||
|
||||
!if "$(FEATURES)"==""
|
||||
FEATURES = HUGE
|
||||
!endif
|
||||
|
||||
!ifndef CTAGS
|
||||
CTAGS = ctags
|
||||
!endif
|
||||
@@ -283,11 +326,16 @@ NETBEANS = $(GUI)
|
||||
!endif
|
||||
|
||||
!ifndef CHANNEL
|
||||
!if "$(FEATURES)"=="HUGE"
|
||||
CHANNEL = yes
|
||||
!else
|
||||
CHANNEL = $(GUI)
|
||||
!endif
|
||||
!endif
|
||||
|
||||
# Only allow NETBEANS and XPM for a GUI build and CHANNEL.
|
||||
# GUI sepcific features.
|
||||
!if "$(GUI)" == "yes"
|
||||
# Only allow NETBEANS for a GUI build and CHANNEL.
|
||||
!if "$(NETBEANS)" == "yes" && "$(CHANNEL)" == "yes"
|
||||
# NETBEANS - Include support for Netbeans integration
|
||||
NETBEANS_PRO = proto/netbeans.pro
|
||||
@@ -309,8 +357,11 @@ DIRECTX_INCL = gui_dwrite.h
|
||||
DIRECTX_OBJ = $(OUTDIR)\gui_dwrite.obj
|
||||
!endif
|
||||
|
||||
# Only allow XPM for a GUI build.
|
||||
!ifndef XPM
|
||||
# XPM is not set, use the included xpm files, depending on the architecture.
|
||||
!ifndef USE_MSVCRT
|
||||
# Both XPM and USE_MSVCRT are not set, use the included xpm files, depending
|
||||
# on the architecture.
|
||||
!if "$(CPU)" == "AMD64"
|
||||
XPM = xpm\x64
|
||||
!elseif "$(CPU)" == "i386"
|
||||
@@ -318,13 +369,22 @@ XPM = xpm\x86
|
||||
!else
|
||||
XPM = no
|
||||
!endif
|
||||
!endif
|
||||
!else # USE_MSVCRT
|
||||
XPM = no
|
||||
!endif # USE_MSVCRT
|
||||
!endif # XPM
|
||||
!if "$(XPM)" != "no"
|
||||
# XPM - Include support for XPM signs
|
||||
# See the xpm directory for more information.
|
||||
XPM_OBJ = $(OBJDIR)/xpm_w32.obj
|
||||
XPM_DEFS = -DFEAT_XPM_W32
|
||||
!if $(MSVC_MAJOR) >= 14
|
||||
# VC14 cannot use a library built by VC12 or eariler, because VC14 uses
|
||||
# Universal CRT.
|
||||
XPM_LIB = $(XPM)\lib-vc14\libXpm.lib
|
||||
!else
|
||||
XPM_LIB = $(XPM)\lib\libXpm.lib
|
||||
!endif
|
||||
XPM_INC = -I $(XPM)\include -I $(XPM)\..\include
|
||||
!endif
|
||||
!endif
|
||||
@@ -387,43 +447,6 @@ DEL_TREE = deltree /y
|
||||
INTDIR=$(OBJDIR)
|
||||
OUTDIR=$(OBJDIR)
|
||||
|
||||
!if [echo MSVCVER=_MSC_VER> msvcver.c && $(CC) /EP msvcver.c > msvcver.~ 2> nul]
|
||||
!message *** ERROR
|
||||
!message Cannot run Visual C to determine its version. Make sure cl.exe is in your PATH.
|
||||
!message This can usually be done by running "vcvarsall.bat", located in the bin directory where Visual Studio was installed.
|
||||
!error Make aborted.
|
||||
!else
|
||||
!include msvcver.~
|
||||
!if [del msvcver.c msvcver.~]
|
||||
!endif
|
||||
!endif
|
||||
|
||||
!if $(MSVCVER) < 1900
|
||||
MSVC_MAJOR = ($(MSVCVER) / 100 - 6)
|
||||
MSVCRT_VER = ($(MSVCVER) / 10 - 60)
|
||||
!else
|
||||
MSVC_MAJOR = ($(MSVCVER) / 100 - 5)
|
||||
MSVCRT_VER = ($(MSVCVER) / 10 - 50)
|
||||
!endif
|
||||
|
||||
# Calculate MSVCRT_VER
|
||||
!if [(set /a MSVCRT_VER="$(MSVCRT_VER)" > nul) && set MSVCRT_VER > msvcrtver.~] == 0
|
||||
!include msvcrtver.~
|
||||
!if [del msvcrtver.~]
|
||||
!endif
|
||||
!endif
|
||||
|
||||
# Base name of the msvcrXX.dll
|
||||
!if $(MSVCRT_VER) <= 60
|
||||
MSVCRT_NAME = msvcrt
|
||||
!else
|
||||
MSVCRT_NAME = msvcr$(MSVCRT_VER)
|
||||
!endif
|
||||
|
||||
!if $(MSVC_MAJOR) == 6
|
||||
CPU = ix86
|
||||
!endif
|
||||
|
||||
# Convert processor ID to MVC-compatible number
|
||||
!if $(MSVC_MAJOR) < 8
|
||||
!if "$(CPUNR)" == "i386"
|
||||
@@ -478,6 +501,11 @@ OPTFLAG = $(OPTFLAG) /GL
|
||||
CFLAGS=$(CFLAGS) $(WP64CHECK)
|
||||
!endif
|
||||
|
||||
# VC10 or later has stdint.h.
|
||||
!if $(MSVC_MAJOR) >= 10
|
||||
CFLAGS = $(CFLAGS) -DHAVE_STDINT_H
|
||||
!endif
|
||||
|
||||
# Static code analysis generally available starting with VS2012 (VC11) or
|
||||
# Windows SDK 7.1 (VC10)
|
||||
!if ("$(ANALYZE)" == "yes") && ($(MSVC_MAJOR) >= 10)
|
||||
@@ -520,6 +548,7 @@ INCL = vim.h os_win32.h ascii.h feature.h globals.h keymap.h macros.h \
|
||||
$(NBDEBUG_INCL)
|
||||
|
||||
OBJ = \
|
||||
$(OUTDIR)\arabic.obj \
|
||||
$(OUTDIR)\blowfish.obj \
|
||||
$(OUTDIR)\buffer.obj \
|
||||
$(OUTDIR)\charset.obj \
|
||||
@@ -534,6 +563,7 @@ OBJ = \
|
||||
$(OUTDIR)\ex_docmd.obj \
|
||||
$(OUTDIR)\ex_eval.obj \
|
||||
$(OUTDIR)\ex_getln.obj \
|
||||
$(OUTDIR)\farsi.obj \
|
||||
$(OUTDIR)\fileio.obj \
|
||||
$(OUTDIR)\fold.obj \
|
||||
$(OUTDIR)\getchar.obj \
|
||||
@@ -632,6 +662,8 @@ GUI_LIB = \
|
||||
/machine:$(CPU)
|
||||
!else
|
||||
SUBSYSTEM = console
|
||||
CUI_INCL = iscygpty.h
|
||||
CUI_OBJ = $(OUTDIR)\iscygpty.obj
|
||||
!endif
|
||||
|
||||
!if "$(SUBSYSTEM_VER)" != ""
|
||||
@@ -953,9 +985,6 @@ CFLAGS = $(CFLAGS) -DMSWINPS
|
||||
#
|
||||
# FEATURES: TINY, SMALL, NORMAL, BIG or HUGE
|
||||
#
|
||||
!if "$(FEATURES)"==""
|
||||
FEATURES = HUGE
|
||||
!endif
|
||||
CFLAGS = $(CFLAGS) -DFEAT_$(FEATURES)
|
||||
|
||||
#
|
||||
@@ -1006,12 +1035,12 @@ all: $(VIM).exe \
|
||||
tee/tee.exe \
|
||||
GvimExt/gvimext.dll
|
||||
|
||||
$(VIM).exe: $(OUTDIR) $(OBJ) $(GUI_OBJ) $(OLE_OBJ) $(OLE_IDL) $(MZSCHEME_OBJ) \
|
||||
$(VIM).exe: $(OUTDIR) $(OBJ) $(GUI_OBJ) $(CUI_OBJ) $(OLE_OBJ) $(OLE_IDL) $(MZSCHEME_OBJ) \
|
||||
$(LUA_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) $(PYTHON3_OBJ) $(RUBY_OBJ) $(TCL_OBJ) \
|
||||
$(CSCOPE_OBJ) $(NETBEANS_OBJ) $(CHANNEL_OBJ) $(XPM_OBJ) \
|
||||
version.c version.h
|
||||
$(CC) $(CFLAGS) version.c
|
||||
$(link) $(LINKARGS1) -out:$(VIM).exe $(OBJ) $(GUI_OBJ) $(OLE_OBJ) \
|
||||
$(link) $(LINKARGS1) -out:$(VIM).exe $(OBJ) $(GUI_OBJ) $(CUI_OBJ) $(OLE_OBJ) \
|
||||
$(LUA_OBJ) $(MZSCHEME_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) $(PYTHON3_OBJ) $(RUBY_OBJ) \
|
||||
$(TCL_OBJ) $(CSCOPE_OBJ) $(NETBEANS_OBJ) $(CHANNEL_OBJ) \
|
||||
$(XPM_OBJ) $(OUTDIR)\version.obj $(LINKARGS2)
|
||||
@@ -1121,6 +1150,8 @@ testclean:
|
||||
!ENDIF
|
||||
$(CC) $(CFLAGS) $<
|
||||
|
||||
$(OUTDIR)/arabic.obj: $(OUTDIR) arabic.c $(INCL)
|
||||
|
||||
$(OUTDIR)/blowfish.obj: $(OUTDIR) blowfish.c $(INCL)
|
||||
|
||||
$(OUTDIR)/buffer.obj: $(OUTDIR) buffer.c $(INCL)
|
||||
@@ -1149,6 +1180,8 @@ $(OUTDIR)/ex_eval.obj: $(OUTDIR) ex_eval.c $(INCL) ex_cmds.h
|
||||
|
||||
$(OUTDIR)/ex_getln.obj: $(OUTDIR) ex_getln.c $(INCL)
|
||||
|
||||
$(OUTDIR)/farsi.obj: $(OUTDIR) farsi.c $(INCL)
|
||||
|
||||
$(OUTDIR)/fileio.obj: $(OUTDIR) fileio.c $(INCL)
|
||||
|
||||
$(OUTDIR)/fold.obj: $(OUTDIR) fold.c $(INCL)
|
||||
@@ -1203,9 +1236,12 @@ $(OUTDIR)/if_ruby.obj: $(OUTDIR) if_ruby.c $(INCL)
|
||||
$(OUTDIR)/if_tcl.obj: $(OUTDIR) if_tcl.c $(INCL)
|
||||
$(CC) $(CFLAGS) $(TCL_INC) if_tcl.c
|
||||
|
||||
$(OUTDIR)/iscygpty.obj: $(OUTDIR) iscygpty.c $(CUI_INCL)
|
||||
$(CC) $(CFLAGS) iscygpty.c -D_WIN32_WINNT=0x0600 -DUSE_DYNFILEID -DENABLE_STUB_IMPL
|
||||
|
||||
$(OUTDIR)/json.obj: $(OUTDIR) json.c $(INCL)
|
||||
|
||||
$(OUTDIR)/main.obj: $(OUTDIR) main.c $(INCL)
|
||||
$(OUTDIR)/main.obj: $(OUTDIR) main.c $(INCL) $(CUI_INCL)
|
||||
|
||||
$(OUTDIR)/mark.obj: $(OUTDIR) mark.c $(INCL)
|
||||
|
||||
@@ -1316,6 +1352,7 @@ auto:
|
||||
|
||||
# End Custom Build
|
||||
proto.h: \
|
||||
proto/arabic.pro \
|
||||
proto/blowfish.pro \
|
||||
proto/buffer.pro \
|
||||
proto/charset.pro \
|
||||
@@ -1330,6 +1367,7 @@ proto.h: \
|
||||
proto/ex_docmd.pro \
|
||||
proto/ex_eval.pro \
|
||||
proto/ex_getln.pro \
|
||||
proto/farsi.pro \
|
||||
proto/fileio.pro \
|
||||
proto/getchar.pro \
|
||||
proto/hardcopy.pro \
|
||||
|
||||
@@ -89,6 +89,7 @@ CFLAGS4 = $(DEFINES) DATAMEMORY=$(MEMORYTYPE)
|
||||
PROPT = DEF=PROTO GPROTO GPPARM MAXIMUMERRORS=999 GENPROTOSTATICS GENPROTOPARAMETERS
|
||||
|
||||
SRC = \
|
||||
arabic.c \
|
||||
blowfish.c \
|
||||
buffer.c \
|
||||
charset.c \
|
||||
@@ -103,6 +104,7 @@ SRC = \
|
||||
ex_docmd.c \
|
||||
ex_eval.c \
|
||||
ex_getln.c \
|
||||
farsi.c \
|
||||
fileio.c \
|
||||
fold.c \
|
||||
getchar.c \
|
||||
@@ -139,6 +141,7 @@ SRC = \
|
||||
version.c
|
||||
|
||||
OBJ = \
|
||||
arabic.o \
|
||||
blowfish.o \
|
||||
buffer.o \
|
||||
charset.o \
|
||||
@@ -153,6 +156,7 @@ OBJ = \
|
||||
ex_docmd.o \
|
||||
ex_eval.o \
|
||||
ex_getln.o \
|
||||
farsi.o \
|
||||
fileio.o \
|
||||
fold.o \
|
||||
getchar.o \
|
||||
@@ -189,6 +193,7 @@ OBJ = \
|
||||
$(TERMLIB)
|
||||
|
||||
PRO = \
|
||||
proto/arabic.pro \
|
||||
proto/blowfish.pro \
|
||||
proto/buffer.pro \
|
||||
proto/charset.pro \
|
||||
@@ -203,6 +208,7 @@ PRO = \
|
||||
proto/ex_docmd.pro \
|
||||
proto/ex_eval.pro \
|
||||
proto/ex_getln.pro \
|
||||
proto/farsi.pro \
|
||||
proto/fileio.pro \
|
||||
proto/fold.pro \
|
||||
proto/getchar.pro \
|
||||
@@ -293,6 +299,8 @@ $(PRO): $(GST) vim.h
|
||||
$(CC) $(CFLAGS) GPFILE=proto/$*.pro $(PROPT) $*.c
|
||||
|
||||
# dependencies
|
||||
arabic.o: arabic.c
|
||||
proto/arabic.pro: arabic.c
|
||||
blowfish.o: blowfish.c
|
||||
proto/blowfish.pro: blowfish.c
|
||||
buffer.o: buffer.c
|
||||
@@ -321,6 +329,8 @@ ex_eval.o: ex_eval.c ex_cmds.h
|
||||
proto/ex_eval.pro: ex_eval.c ex_cmds.h
|
||||
ex_getln.o: ex_getln.c
|
||||
proto/ex_getln.pro: ex_getln.c
|
||||
farsi.o: farsi.c
|
||||
proto/farsi.pro: farsi.c
|
||||
fileio.o: fileio.c
|
||||
proto/fileio.pro: fileio.c
|
||||
fold.o: fold.c
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# Makefile for Vim on OpenVMS
|
||||
#
|
||||
# Maintainer: Zoltan Arpadffy <arpadffy@polarhome.com>
|
||||
# Last change: 2016 Feb 27
|
||||
# Last change: 2016 Jul 02
|
||||
#
|
||||
# This has script been tested on VMS 6.2 to 8.2 on DEC Alpha, VAX and IA64
|
||||
# with MMS and MMK
|
||||
@@ -299,8 +299,8 @@ ALL_CFLAGS_VER = /def=($(MODEL_DEF)$(DEFS)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) -
|
||||
ALL_LIBS = $(LIBS) $(GUI_LIB_DIR) $(GUI_LIB) \
|
||||
$(PERL_LIB) $(PYTHON_LIB) $(TCL_LIB) $(RUBY_LIB)
|
||||
|
||||
SRC = blowfish.c buffer.c charset.c crypt.c, crypt_zip.c diff.c digraph.c edit.c eval.c ex_cmds.c ex_cmds2.c \
|
||||
ex_docmd.c ex_eval.c ex_getln.c if_xcmdsrv.c fileio.c fold.c getchar.c \
|
||||
SRC = arabic.c blowfish.c buffer.c charset.c crypt.c, crypt_zip.c diff.c digraph.c edit.c eval.c ex_cmds.c ex_cmds2.c \
|
||||
ex_docmd.c ex_eval.c ex_getln.c if_xcmdsrv.c farsi.c fileio.c fold.c getchar.c \
|
||||
hardcopy.c hashtab.c json.c main.c mark.c menu.c mbyte.c memfile.c memline.c message.c misc1.c \
|
||||
misc2.c move.c normal.c ops.c option.c popupmnu.c quickfix.c regexp.c search.c sha256.c\
|
||||
spell.c syntax.c tag.c term.c termlib.c ui.c undo.c version.c screen.c \
|
||||
@@ -308,9 +308,9 @@ SRC = blowfish.c buffer.c charset.c crypt.c, crypt_zip.c diff.c digraph.c edit.c
|
||||
$(GUI_SRC) $(PERL_SRC) $(PYTHON_SRC) $(TCL_SRC) \
|
||||
$(RUBY_SRC) $(HANGULIN_SRC) $(MZSCH_SRC)
|
||||
|
||||
OBJ = blowfish.obj buffer.obj charset.obj crypt.obj, crypt_zip.obj diff.obj digraph.obj edit.obj eval.obj \
|
||||
OBJ = arabic.obj blowfish.obj buffer.obj charset.obj crypt.obj, crypt_zip.obj diff.obj digraph.obj edit.obj eval.obj \
|
||||
ex_cmds.obj ex_cmds2.obj ex_docmd.obj ex_eval.obj ex_getln.obj \
|
||||
if_xcmdsrv.obj fileio.obj fold.obj getchar.obj hardcopy.obj hashtab.obj json.obj main.obj mark.obj \
|
||||
if_xcmdsrv.obj farsi.obj fileio.obj fold.obj getchar.obj hardcopy.obj hashtab.obj json.obj main.obj mark.obj \
|
||||
menu.obj memfile.obj memline.obj message.obj misc1.obj misc2.obj \
|
||||
move.obj mbyte.obj normal.obj ops.obj option.obj popupmnu.obj quickfix.obj \
|
||||
regexp.obj search.obj sha256.obj spell.obj syntax.obj tag.obj term.obj termlib.obj \
|
||||
@@ -486,6 +486,8 @@ ruby_env :
|
||||
-@ !
|
||||
.ENDIF
|
||||
|
||||
arabic.obj : arabic.c vim.h
|
||||
blowfish.obj : blowfish.c vim.h
|
||||
buffer.obj : buffer.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
@@ -530,6 +532,7 @@ ex_getln.obj : ex_getln.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
farsi.obj : farsi.c vim.h
|
||||
fileio.obj : fileio.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
|
||||
59
src/Makefile
59
src/Makefile
@@ -582,7 +582,7 @@ CClink = $(CC)
|
||||
#CFLAGS = -g -O2 '-DSTARTUPTIME="vimstartup"' -fno-strength-reduce -Wall -Wmissing-prototypes
|
||||
|
||||
# Use this with GCC to check for mistakes, unused arguments, etc.
|
||||
#CFLAGS = -g -Wall -Wextra -Wmissing-prototypes -Wunreachable-code -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
|
||||
#CFLAGS = -g -Wall -Wextra -Wshadow -Wmissing-prototypes -Wunreachable-code -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
|
||||
#CFLAGS = -g -O2 -Wall -Wextra -Wmissing-prototypes -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -DU_DEBUG
|
||||
#PYTHON_CFLAGS_EXTRA = -Wno-missing-field-initializers
|
||||
#MZSCHEME_CFLAGS_EXTRA = -Wno-unreachable-code -Wno-unused-parameter
|
||||
@@ -1478,6 +1478,7 @@ DEST_MAN_RU_U = $(DEST_MAN_TOP)/ru.UTF-8$(MAN1DIR)
|
||||
TAGS_INCL = *.h
|
||||
|
||||
BASIC_SRC = \
|
||||
arabic.c \
|
||||
blowfish.c \
|
||||
buffer.c \
|
||||
charset.c \
|
||||
@@ -1492,6 +1493,7 @@ BASIC_SRC = \
|
||||
ex_docmd.c \
|
||||
ex_eval.c \
|
||||
ex_getln.c \
|
||||
farsi.c \
|
||||
fileio.c \
|
||||
fold.c \
|
||||
getchar.c \
|
||||
@@ -1575,6 +1577,7 @@ LINT_SRC = $(BASIC_SRC) $(GUI_SRC) $(HANGULIN_SRC) \
|
||||
#LINT_SRC = $(BASIC_SRC)
|
||||
|
||||
OBJ_COMMON = \
|
||||
objects/arabic.o \
|
||||
objects/buffer.o \
|
||||
objects/blowfish.o \
|
||||
objects/charset.o \
|
||||
@@ -1589,6 +1592,7 @@ OBJ_COMMON = \
|
||||
objects/ex_docmd.o \
|
||||
objects/ex_eval.o \
|
||||
objects/ex_getln.o \
|
||||
objects/farsi.o \
|
||||
objects/fileio.o \
|
||||
objects/fold.o \
|
||||
objects/getchar.o \
|
||||
@@ -1652,6 +1656,7 @@ MEMFILE_TEST_OBJ = $(OBJ_COMMON) \
|
||||
objects/memfile_test.o
|
||||
|
||||
PRO_AUTO = \
|
||||
arabic.pro \
|
||||
blowfish.pro \
|
||||
buffer.pro \
|
||||
charset.pro \
|
||||
@@ -1666,6 +1671,7 @@ PRO_AUTO = \
|
||||
ex_docmd.pro \
|
||||
ex_eval.pro \
|
||||
ex_getln.pro \
|
||||
farsi.pro \
|
||||
fileio.pro \
|
||||
fold.pro \
|
||||
getchar.pro \
|
||||
@@ -1943,6 +1949,10 @@ test check:
|
||||
cd testdir; $(MAKE) -f Makefile $(GUI_TESTTARGET) VIMPROG=../$(VIMTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
|
||||
$(MAKE) -f Makefile unittest
|
||||
|
||||
# Run the tests with the GUI. Assumes vim/gvim was already built
|
||||
testgui:
|
||||
cd testdir; $(MAKE) -f Makefile $(GUI_TESTTARGET) VIMPROG=../$(VIMTARGET) GUI_FLAG=-g $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
|
||||
|
||||
benchmark:
|
||||
cd testdir; $(MAKE) -f Makefile benchmark VIMPROG=../$(VIMTARGET) SCRIPTSOURCE=../$(SCRIPTSOURCE)
|
||||
|
||||
@@ -1982,7 +1992,6 @@ test1 \
|
||||
test_marks \
|
||||
test_nested_function \
|
||||
test_options \
|
||||
test_ruby \
|
||||
test_search_mbyte \
|
||||
test_signs \
|
||||
test_tagcase \
|
||||
@@ -1993,7 +2002,7 @@ test1 \
|
||||
test2 test3 test4 test5 test6 test7 test8 test9 \
|
||||
test11 test12 test13 test14 test15 test16 test17 test18 test19 \
|
||||
test20 test21 test22 test23 test24 test25 test26 test27 test28 test29 \
|
||||
test30 test31 test32 test33 test34 test35 test36 test37 test38 test39 \
|
||||
test30 test31 test32 test33 test34 test36 test37 test38 test39 \
|
||||
test40 test41 test42 test43 test44 test45 test46 test47 test48 test49 \
|
||||
test50 test51 test52 test53 test54 test55 test56 test57 test58 test59 \
|
||||
test60 test61 test62 test63 test64 test65 test66 test67 test68 test69 \
|
||||
@@ -2011,15 +2020,19 @@ test_arglist \
|
||||
test_backspace_opt \
|
||||
test_cdo \
|
||||
test_channel \
|
||||
test_cmdline \
|
||||
test_cursor_func \
|
||||
test_delete \
|
||||
test_evalcmd \
|
||||
test_ex_undo \
|
||||
test_expand \
|
||||
test_expand_dllpath \
|
||||
test_expr \
|
||||
test_expr_utf8 \
|
||||
test_farsi \
|
||||
test_feedkeys \
|
||||
test_file_perm \
|
||||
test_filter_map \
|
||||
test_fnamemodify \
|
||||
test_glob2regpat \
|
||||
test_goto \
|
||||
@@ -2027,10 +2040,14 @@ test_arglist \
|
||||
test_help_tagjump \
|
||||
test_history \
|
||||
test_increment \
|
||||
test_increment_dbcs \
|
||||
test_join \
|
||||
test_json \
|
||||
test_jumps \
|
||||
test_langmap \
|
||||
test_largefile \
|
||||
test_lispwords \
|
||||
test_man \
|
||||
test_matchadd_conceal \
|
||||
test_matchadd_conceal_utf8 \
|
||||
test_matchstrpos \
|
||||
@@ -2039,24 +2056,30 @@ test_arglist \
|
||||
test_packadd \
|
||||
test_partial \
|
||||
test_perl \
|
||||
test_popup \
|
||||
test_quickfix \
|
||||
test_regexp_latin \
|
||||
test_regexp_utf8 \
|
||||
test_reltime \
|
||||
test_ruby \
|
||||
test_searchpos \
|
||||
test_set \
|
||||
test_sort \
|
||||
test_stat \
|
||||
test_statusline \
|
||||
test_syn_attr \
|
||||
test_syntax \
|
||||
test_tabline \
|
||||
test_tagjump \
|
||||
test_timers \
|
||||
test_true_false \
|
||||
test_undolevels \
|
||||
test_usercommands \
|
||||
test_unlet \
|
||||
test_viminfo \
|
||||
test_viml \
|
||||
test_visual \
|
||||
test_window_cmd \
|
||||
test_window_id \
|
||||
test_alot_latin \
|
||||
test_alot_utf8 \
|
||||
@@ -2535,6 +2558,7 @@ uninstall_runtime:
|
||||
-rm -f $(DEST_MAN_RU)/xxd.1 $(DEST_MAN_RU_U)/xxd.1
|
||||
-rm -f $(DEST_HELP)/*.txt $(DEST_HELP)/tags $(DEST_HELP)/*.pl
|
||||
-rm -f $(DEST_HELP)/*.??x $(DEST_HELP)/tags-??
|
||||
-rm -f $(SYS_RGB_FILE)
|
||||
-rm -f $(SYS_MENU_FILE) $(SYS_SYNMENU_FILE) $(SYS_DELMENU_FILE)
|
||||
-rm -f $(SYS_BUGR_FILE) $(EVIM_FILE) $(MSWIN_FILE)
|
||||
-rm -f $(DEST_SCRIPT)/gvimrc_example.vim $(DEST_SCRIPT)/vimrc_example.vim
|
||||
@@ -2607,6 +2631,7 @@ shadow: runtime pixmaps
|
||||
../../testdir/*.py \
|
||||
../../testdir/python* \
|
||||
../../testdir/sautest \
|
||||
../../testdir/samples \
|
||||
../../testdir/test83-tags? \
|
||||
../../testdir/*.ok .
|
||||
|
||||
@@ -2733,6 +2758,9 @@ auto/gui_gtk_gresources.h: gui_gtk_res.xml $(GUI_GTK_RES_INPUTS)
|
||||
objects:
|
||||
mkdir objects
|
||||
|
||||
objects/arabic.o: arabic.c
|
||||
$(CCC) -o $@ arabic.c
|
||||
|
||||
objects/blowfish.o: blowfish.c
|
||||
$(CCC) -o $@ blowfish.c
|
||||
|
||||
@@ -2775,6 +2803,9 @@ objects/ex_eval.o: ex_eval.c
|
||||
objects/ex_getln.o: ex_getln.c
|
||||
$(CCC) -o $@ ex_getln.c
|
||||
|
||||
objects/farsi.o: farsi.c
|
||||
$(CCC) -o $@ farsi.c
|
||||
|
||||
objects/fileio.o: fileio.c
|
||||
$(CCC) -o $@ fileio.c
|
||||
|
||||
@@ -3094,6 +3125,10 @@ $(APPDIR)/Contents:
|
||||
###############################################################################
|
||||
### (automatically generated by 'make depend')
|
||||
### Dependencies:
|
||||
objects/arabic.o: arabic.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
objects/blowfish.o: blowfish.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
@@ -3150,6 +3185,10 @@ objects/ex_getln.o: ex_getln.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
objects/farsi.o: farsi.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
objects/fileio.o: fileio.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
@@ -3185,7 +3224,7 @@ objects/json.o: json.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
objects/main.o: main.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h farsi.c arabic.c
|
||||
farsi.h arabic.h
|
||||
objects/mark.o: mark.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
@@ -3298,10 +3337,10 @@ objects/window.o: window.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h
|
||||
objects/gui.o: gui.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \
|
||||
keymap.h term.h macros.h option.h structs.h regexp.h gui.h gui_beval.h \
|
||||
proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h farsi.h arabic.h
|
||||
objects/gui_gtk.o: gui_gtk.c gui_gtk_f.h vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
objects/gui_gtk.o: gui_gtk.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h gui_gtk_f.h
|
||||
objects/gui_gtk_f.o: gui_gtk_f.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
@@ -3378,11 +3417,11 @@ objects/pty.o: pty.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.
|
||||
objects/json_test.o: json_test.c main.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h farsi.c arabic.c json.c
|
||||
globals.h farsi.h arabic.h json.c
|
||||
objects/memfile_test.o: memfile_test.c main.c vim.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h \
|
||||
structs.h regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h \
|
||||
ex_cmds.h proto.h globals.h farsi.h arabic.h farsi.c arabic.c memfile.c
|
||||
ex_cmds.h proto.h globals.h farsi.h arabic.h memfile.c
|
||||
objects/hangulin.o: hangulin.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
|
||||
@@ -575,7 +575,7 @@ static BOOL VimOpenFile(BSTR& FileName, long LineNr)
|
||||
if (LineNr > 0)
|
||||
{
|
||||
// Goto line
|
||||
sprintf(VimCmd, ":%d\n", LineNr);
|
||||
sprintf(VimCmd, ":%ld\n", LineNr);
|
||||
if (! VimOle.Method(DispatchId, "s", TO_OLE_STR_BUF(VimCmd, Buf)))
|
||||
goto OleError;
|
||||
}
|
||||
|
||||
11
src/arabic.c
11
src/arabic.c
@@ -10,14 +10,13 @@
|
||||
/*
|
||||
* arabic.c: functions for Arabic language
|
||||
*
|
||||
* Included by main.c, when FEAT_ARABIC & FEAT_GUI is defined.
|
||||
*
|
||||
* --
|
||||
*
|
||||
* Author: Nadim Shaikli & Isam Bayazidi
|
||||
*
|
||||
*/
|
||||
|
||||
#include "vim.h"
|
||||
|
||||
#if defined(FEAT_ARABIC) || defined(PROTO)
|
||||
|
||||
static int A_is_a(int cur_c);
|
||||
static int A_is_s(int cur_c);
|
||||
static int A_is_f(int cur_c);
|
||||
@@ -1148,3 +1147,5 @@ A_is_special(int c)
|
||||
{
|
||||
return (c == a_HAMZA || c == a_s_HAMZA);
|
||||
}
|
||||
|
||||
#endif /* FEAT_ARABIC */
|
||||
|
||||
18
src/auto/configure
vendored
18
src/auto/configure
vendored
@@ -810,7 +810,6 @@ with_tclsh
|
||||
enable_rubyinterp
|
||||
with_ruby_command
|
||||
enable_cscope
|
||||
enable_termtruecolor
|
||||
enable_workshop
|
||||
enable_netbeans
|
||||
enable_channel
|
||||
@@ -1477,7 +1476,6 @@ Optional Features:
|
||||
--enable-tclinterp=OPTS Include Tcl interpreter. default=no OPTS=no/yes/dynamic
|
||||
--enable-rubyinterp=OPTS Include Ruby interpreter. default=no OPTS=no/yes/dynamic
|
||||
--enable-cscope Include cscope interface.
|
||||
--enable-termtruecolor Include support for 24-bit colors in ISO-8613-3 compatible terminals
|
||||
--enable-workshop Include Sun Visual Workshop support.
|
||||
--disable-netbeans Disable NetBeans integration support.
|
||||
--disable-channel Disable process communication support.
|
||||
@@ -7218,22 +7216,6 @@ if test "$enable_cscope" = "yes"; then
|
||||
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --enable-termtruecolor argument" >&5
|
||||
$as_echo_n "checking --enable-termtruecolor argument... " >&6; }
|
||||
# Check whether --enable-termtruecolor was given.
|
||||
if test "${enable_termtruecolor+set}" = set; then :
|
||||
enableval=$enable_termtruecolor;
|
||||
else
|
||||
enable_termtruecolor="no"
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_termtruecolor" >&5
|
||||
$as_echo "$enable_termtruecolor" >&6; }
|
||||
if test "$enable_termtruecolor" = "yes"; then
|
||||
$as_echo "#define FEAT_TERMTRUECOLOR 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --enable-workshop argument" >&5
|
||||
$as_echo_n "checking --enable-workshop argument... " >&6; }
|
||||
# Check whether --enable-workshop was given.
|
||||
|
||||
71
src/buffer.c
71
src/buffer.c
@@ -35,9 +35,9 @@ static char_u *fname_match(regmatch_T *rmp, char_u *name, int ignore_case);
|
||||
static void buflist_setfpos(buf_T *buf, win_T *win, linenr_T lnum, colnr_T col, int copy_options);
|
||||
static wininfo_T *find_wininfo(buf_T *buf, int skip_diff_buffer);
|
||||
#ifdef UNIX
|
||||
static buf_T *buflist_findname_stat(char_u *ffname, struct stat *st);
|
||||
static int otherfile_buf(buf_T *buf, char_u *ffname, struct stat *stp);
|
||||
static int buf_same_ino(buf_T *buf, struct stat *stp);
|
||||
static buf_T *buflist_findname_stat(char_u *ffname, stat_T *st);
|
||||
static int otherfile_buf(buf_T *buf, char_u *ffname, stat_T *stp);
|
||||
static int buf_same_ino(buf_T *buf, stat_T *stp);
|
||||
#else
|
||||
static int otherfile_buf(buf_T *buf, char_u *ffname);
|
||||
#endif
|
||||
@@ -459,14 +459,6 @@ aucmd_abort:
|
||||
#endif
|
||||
|
||||
buf_freeall(buf, (del_buf ? BFA_DEL : 0) + (wipe_buf ? BFA_WIPE : 0));
|
||||
if (
|
||||
#ifdef FEAT_WINDOWS
|
||||
win_valid(win) &&
|
||||
#else
|
||||
win != NULL &&
|
||||
#endif
|
||||
win->w_buffer == buf)
|
||||
win->w_buffer = NULL; /* make sure we don't use the buffer now */
|
||||
|
||||
#ifdef FEAT_AUTOCMD
|
||||
/* Autocommands may have deleted the buffer. */
|
||||
@@ -477,11 +469,6 @@ aucmd_abort:
|
||||
return;
|
||||
# endif
|
||||
|
||||
/* Autocommands may have opened or closed windows for this buffer.
|
||||
* Decrement the count for the close we do here. */
|
||||
if (buf->b_nwindows > 0)
|
||||
--buf->b_nwindows;
|
||||
|
||||
/*
|
||||
* It's possible that autocommands change curbuf to the one being deleted.
|
||||
* This might cause the previous curbuf to be deleted unexpectedly. But
|
||||
@@ -491,6 +478,20 @@ aucmd_abort:
|
||||
*/
|
||||
if (buf == curbuf && !is_curbuf)
|
||||
return;
|
||||
|
||||
if (
|
||||
#ifdef FEAT_WINDOWS
|
||||
win_valid(win) &&
|
||||
#else
|
||||
win != NULL &&
|
||||
#endif
|
||||
win->w_buffer == buf)
|
||||
win->w_buffer = NULL; /* make sure we don't use the buffer now */
|
||||
|
||||
/* Autocommands may have opened or closed windows for this buffer.
|
||||
* Decrement the count for the close we do here. */
|
||||
if (buf->b_nwindows > 0)
|
||||
--buf->b_nwindows;
|
||||
#endif
|
||||
|
||||
/* Change directories when the 'acd' option is set. */
|
||||
@@ -574,9 +575,12 @@ buf_freeall(buf_T *buf, int flags)
|
||||
int is_curbuf = (buf == curbuf);
|
||||
|
||||
buf->b_closing = TRUE;
|
||||
apply_autocmds(EVENT_BUFUNLOAD, buf->b_fname, buf->b_fname, FALSE, buf);
|
||||
if (!buf_valid(buf)) /* autocommands may delete the buffer */
|
||||
return;
|
||||
if (buf->b_ml.ml_mfp != NULL)
|
||||
{
|
||||
apply_autocmds(EVENT_BUFUNLOAD, buf->b_fname, buf->b_fname, FALSE, buf);
|
||||
if (!buf_valid(buf)) /* autocommands may delete the buffer */
|
||||
return;
|
||||
}
|
||||
if ((flags & BFA_DEL) && buf->b_p_bl)
|
||||
{
|
||||
apply_autocmds(EVENT_BUFDELETE, buf->b_fname, buf->b_fname, FALSE, buf);
|
||||
@@ -676,6 +680,9 @@ free_buffer(buf_T *buf)
|
||||
#ifdef FEAT_RUBY
|
||||
ruby_buffer_free(buf);
|
||||
#endif
|
||||
#ifdef FEAT_JOB_CHANNEL
|
||||
channel_buffer_free(buf);
|
||||
#endif
|
||||
#ifdef FEAT_AUTOCMD
|
||||
aubuflocal_remove(buf);
|
||||
if (autocmd_busy)
|
||||
@@ -1613,6 +1620,9 @@ enter_buffer(buf_T *buf)
|
||||
if (!curbuf->b_help && curwin->w_p_spell && *curwin->w_s->b_p_spl != NUL)
|
||||
(void)did_set_spelllang(curwin);
|
||||
#endif
|
||||
#ifdef FEAT_VIMINFO
|
||||
curbuf->b_last_used = vim_time();
|
||||
#endif
|
||||
|
||||
redraw_later(NOT_VALID);
|
||||
}
|
||||
@@ -1643,6 +1653,7 @@ do_autochdir(void)
|
||||
* If (flags & BLN_CURBUF) is TRUE, may use current buffer.
|
||||
* If (flags & BLN_LISTED) is TRUE, add new buffer to buffer list.
|
||||
* If (flags & BLN_DUMMY) is TRUE, don't count it as a real buffer.
|
||||
* If (flags & BLN_NEW) is TRUE, don't use an existing buffer.
|
||||
* This is the ONLY way to create a new buffer.
|
||||
*/
|
||||
static int top_file_num = 1; /* highest file number */
|
||||
@@ -1656,7 +1667,7 @@ buflist_new(
|
||||
{
|
||||
buf_T *buf;
|
||||
#ifdef UNIX
|
||||
struct stat st;
|
||||
stat_T st;
|
||||
#endif
|
||||
|
||||
fname_expand(curbuf, &ffname, &sfname); /* will allocate ffname */
|
||||
@@ -1670,7 +1681,7 @@ buflist_new(
|
||||
if (sfname == NULL || mch_stat((char *)sfname, &st) < 0)
|
||||
st.st_dev = (dev_T)-1;
|
||||
#endif
|
||||
if (ffname != NULL && !(flags & BLN_DUMMY) && (buf =
|
||||
if (ffname != NULL && !(flags & (BLN_DUMMY | BLN_NEW)) && (buf =
|
||||
#ifdef UNIX
|
||||
buflist_findname_stat(ffname, &st)
|
||||
#else
|
||||
@@ -2176,7 +2187,7 @@ buflist_findname_exp(char_u *fname)
|
||||
buflist_findname(char_u *ffname)
|
||||
{
|
||||
#ifdef UNIX
|
||||
struct stat st;
|
||||
stat_T st;
|
||||
|
||||
if (mch_stat((char *)ffname, &st) < 0)
|
||||
st.st_dev = (dev_T)-1;
|
||||
@@ -2191,7 +2202,7 @@ buflist_findname(char_u *ffname)
|
||||
static buf_T *
|
||||
buflist_findname_stat(
|
||||
char_u *ffname,
|
||||
struct stat *stp)
|
||||
stat_T *stp)
|
||||
{
|
||||
#endif
|
||||
buf_T *buf;
|
||||
@@ -2509,7 +2520,7 @@ buflist_findnr(int nr)
|
||||
nr = curwin->w_alt_fnum;
|
||||
for (buf = firstbuf; buf != NULL; buf = buf->b_next)
|
||||
if (buf->b_fnum == nr)
|
||||
return (buf);
|
||||
return buf;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -2840,7 +2851,7 @@ setfname(
|
||||
{
|
||||
buf_T *obuf = NULL;
|
||||
#ifdef UNIX
|
||||
struct stat st;
|
||||
stat_T st;
|
||||
#endif
|
||||
|
||||
if (ffname == NULL || *ffname == NUL)
|
||||
@@ -3077,7 +3088,7 @@ otherfile_buf(
|
||||
buf_T *buf,
|
||||
char_u *ffname
|
||||
#ifdef UNIX
|
||||
, struct stat *stp
|
||||
, stat_T *stp
|
||||
#endif
|
||||
)
|
||||
{
|
||||
@@ -3088,9 +3099,9 @@ otherfile_buf(
|
||||
return FALSE;
|
||||
#ifdef UNIX
|
||||
{
|
||||
struct stat st;
|
||||
stat_T st;
|
||||
|
||||
/* If no struct stat given, get it now */
|
||||
/* If no stat_T given, get it now */
|
||||
if (stp == NULL)
|
||||
{
|
||||
if (!buf->b_dev_valid || mch_stat((char *)ffname, &st) < 0)
|
||||
@@ -3125,7 +3136,7 @@ otherfile_buf(
|
||||
void
|
||||
buf_setino(buf_T *buf)
|
||||
{
|
||||
struct stat st;
|
||||
stat_T st;
|
||||
|
||||
if (buf->b_fname != NULL && mch_stat((char *)buf->b_fname, &st) >= 0)
|
||||
{
|
||||
@@ -3143,7 +3154,7 @@ buf_setino(buf_T *buf)
|
||||
static int
|
||||
buf_same_ino(
|
||||
buf_T *buf,
|
||||
struct stat *stp)
|
||||
stat_T *stp)
|
||||
{
|
||||
return (buf->b_dev_valid
|
||||
&& stp->st_dev == buf->b_dev
|
||||
|
||||
875
src/channel.c
875
src/channel.c
File diff suppressed because it is too large
Load Diff
@@ -571,7 +571,7 @@ transchar(int c)
|
||||
(c >= ' ' && c <= '~')
|
||||
#endif
|
||||
#ifdef FEAT_FKMAP
|
||||
|| F_ischar(c)
|
||||
|| (p_altkeymap && F_ischar(c))
|
||||
#endif
|
||||
)) || (c < 256 && vim_isprintc_strict(c)))
|
||||
{
|
||||
@@ -1836,14 +1836,14 @@ vim_str2nr(
|
||||
is bin */
|
||||
int *len, /* return: detected length of number */
|
||||
int what, /* what numbers to recognize */
|
||||
long *nptr, /* return: signed result */
|
||||
unsigned long *unptr, /* return: unsigned result */
|
||||
varnumber_T *nptr, /* return: signed result */
|
||||
uvarnumber_T *unptr, /* return: unsigned result */
|
||||
int maxlen) /* max length of string to check */
|
||||
{
|
||||
char_u *ptr = start;
|
||||
int pre = 0; /* default is decimal */
|
||||
int negative = FALSE;
|
||||
unsigned long un = 0;
|
||||
uvarnumber_T un = 0;
|
||||
int n;
|
||||
|
||||
if (ptr[0] == '-')
|
||||
@@ -1912,7 +1912,7 @@ vim_str2nr(
|
||||
/* octal */
|
||||
while ('0' <= *ptr && *ptr <= '7')
|
||||
{
|
||||
un = 8 * un + (unsigned long)(*ptr - '0');
|
||||
un = 8 * un + (uvarnumber_T)(*ptr - '0');
|
||||
++ptr;
|
||||
if (n++ == maxlen)
|
||||
break;
|
||||
@@ -1925,7 +1925,7 @@ vim_str2nr(
|
||||
n += 2; /* skip over "0x" */
|
||||
while (vim_isxdigit(*ptr))
|
||||
{
|
||||
un = 16 * un + (unsigned long)hex2nr(*ptr);
|
||||
un = 16 * un + (uvarnumber_T)hex2nr(*ptr);
|
||||
++ptr;
|
||||
if (n++ == maxlen)
|
||||
break;
|
||||
@@ -1936,7 +1936,7 @@ vim_str2nr(
|
||||
/* decimal */
|
||||
while (VIM_ISDIGIT(*ptr))
|
||||
{
|
||||
un = 10 * un + (unsigned long)(*ptr - '0');
|
||||
un = 10 * un + (uvarnumber_T)(*ptr - '0');
|
||||
++ptr;
|
||||
if (n++ == maxlen)
|
||||
break;
|
||||
@@ -1950,9 +1950,9 @@ vim_str2nr(
|
||||
if (nptr != NULL)
|
||||
{
|
||||
if (negative) /* account for leading '-' for decimal numbers */
|
||||
*nptr = -(long)un;
|
||||
*nptr = -(varnumber_T)un;
|
||||
else
|
||||
*nptr = (long)un;
|
||||
*nptr = (varnumber_T)un;
|
||||
}
|
||||
if (unptr != NULL)
|
||||
*unptr = un;
|
||||
|
||||
@@ -75,9 +75,6 @@ RUBY_PRO = @RUBY_PRO@
|
||||
RUBY_CFLAGS = @RUBY_CFLAGS@
|
||||
RUBY_LIBS = @RUBY_LIBS@
|
||||
|
||||
SNIFF_SRC = @SNIFF_SRC@
|
||||
SNIFF_OBJ = @SNIFF_OBJ@
|
||||
|
||||
AWK = @AWK@
|
||||
|
||||
STRIP = @STRIP@
|
||||
|
||||
@@ -362,9 +362,6 @@
|
||||
/* Define for linking via dlopen() or LoadLibrary() */
|
||||
#undef DYNAMIC_TCL
|
||||
|
||||
/* Define if you want 24-bit colors in ISO-8613-3 compatible terminals. */
|
||||
#undef FEAT_TERMTRUECOLOR
|
||||
|
||||
/* Define if you want to add support for ACL */
|
||||
#undef HAVE_POSIX_ACL
|
||||
#undef HAVE_SOLARIS_ZFS_ACL
|
||||
|
||||
@@ -1926,15 +1926,6 @@ if test "$enable_cscope" = "yes"; then
|
||||
AC_DEFINE(FEAT_CSCOPE)
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING(--enable-termtruecolor argument)
|
||||
AC_ARG_ENABLE(termtruecolor,
|
||||
[ --enable-termtruecolor Include support for 24-bit colors in ISO-8613-3 compatible terminals], ,
|
||||
[enable_termtruecolor="no"])
|
||||
AC_MSG_RESULT($enable_termtruecolor)
|
||||
if test "$enable_termtruecolor" = "yes"; then
|
||||
AC_DEFINE(FEAT_TERMTRUECOLOR)
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING(--enable-workshop argument)
|
||||
AC_ARG_ENABLE(workshop,
|
||||
[ --enable-workshop Include Sun Visual Workshop support.], ,
|
||||
|
||||
@@ -888,7 +888,7 @@ ex_diffpatch(exarg_T *eap)
|
||||
char_u *browseFile = NULL;
|
||||
int browse_flag = cmdmod.browse;
|
||||
#endif
|
||||
struct stat st;
|
||||
stat_T st;
|
||||
|
||||
#ifdef FEAT_BROWSE
|
||||
if (cmdmod.browse)
|
||||
|
||||
@@ -1313,14 +1313,14 @@ init_vimrc_choices(void)
|
||||
/* Whether to remap keys */
|
||||
alloc_text(choice_count, remap_text , remap_choices[remap_choice]);
|
||||
choices[choice_count].changefunc = change_remap_choice;
|
||||
choices[choice_count].installfunc = NULL;;
|
||||
choices[choice_count].installfunc = NULL;
|
||||
choices[choice_count].active = (*oldvimrc == NUL);
|
||||
++choice_count;
|
||||
|
||||
/* default way to use the mouse */
|
||||
alloc_text(choice_count, mouse_text, mouse_choices[mouse_choice]);
|
||||
choices[choice_count].changefunc = change_mouse_choice;
|
||||
choices[choice_count].installfunc = NULL;;
|
||||
choices[choice_count].installfunc = NULL;
|
||||
choices[choice_count].active = (*oldvimrc == NUL);
|
||||
++choice_count;
|
||||
}
|
||||
|
||||
@@ -649,7 +649,11 @@ edit(
|
||||
if (update_Insstart_orig)
|
||||
Insstart_orig = Insstart;
|
||||
|
||||
if (stop_insert_mode)
|
||||
if (stop_insert_mode
|
||||
#ifdef FEAT_INS_EXPAND
|
||||
&& !pum_visible()
|
||||
#endif
|
||||
)
|
||||
{
|
||||
/* ":stopinsert" used or 'insertmode' reset */
|
||||
count = 0;
|
||||
@@ -2770,7 +2774,7 @@ ins_compl_make_cyclic(void)
|
||||
* 'completeopt' value.
|
||||
*/
|
||||
void
|
||||
completeopt_was_set()
|
||||
completeopt_was_set(void)
|
||||
{
|
||||
compl_no_insert = FALSE;
|
||||
compl_no_select = FALSE;
|
||||
|
||||
1079
src/eval.c
1079
src/eval.c
File diff suppressed because it is too large
Load Diff
465
src/ex_cmds.c
465
src/ex_cmds.c
@@ -289,10 +289,10 @@ typedef struct
|
||||
union {
|
||||
struct
|
||||
{
|
||||
long start_col_nr; /* starting column number */
|
||||
long end_col_nr; /* ending column number */
|
||||
varnumber_T start_col_nr; /* starting column number */
|
||||
varnumber_T end_col_nr; /* ending column number */
|
||||
} line;
|
||||
long value; /* value if sorting by integer */
|
||||
varnumber_T value; /* value if sorting by integer */
|
||||
#ifdef FEAT_FLOAT
|
||||
float_T value_flt; /* value if sorting by float */
|
||||
#endif
|
||||
@@ -1750,6 +1750,8 @@ append_redir(
|
||||
#if defined(FEAT_VIMINFO) || defined(PROTO)
|
||||
|
||||
static int no_viminfo(void);
|
||||
static int read_viminfo_barline(vir_T *virp, int got_encoding, int force, int writing);
|
||||
static void write_viminfo_version(FILE *fp_out);
|
||||
static void write_viminfo_barlines(vir_T *virp, FILE *fp_out);
|
||||
static int viminfo_errcnt;
|
||||
|
||||
@@ -1838,14 +1840,14 @@ write_viminfo(char_u *file, int forceit)
|
||||
FILE *fp_in = NULL; /* input viminfo file, if any */
|
||||
FILE *fp_out = NULL; /* output viminfo file */
|
||||
char_u *tempname = NULL; /* name of temp viminfo file */
|
||||
struct stat st_new; /* mch_stat() of potential new file */
|
||||
stat_T st_new; /* mch_stat() of potential new file */
|
||||
char_u *wp;
|
||||
#if defined(UNIX) || defined(VMS)
|
||||
mode_t umask_save;
|
||||
#endif
|
||||
#ifdef UNIX
|
||||
int shortname = FALSE; /* use 8.3 file name */
|
||||
struct stat st_old; /* mch_stat() of existing viminfo file */
|
||||
stat_T st_old; /* mch_stat() of existing viminfo file */
|
||||
#endif
|
||||
#ifdef WIN3264
|
||||
int hidden = FALSE;
|
||||
@@ -1981,6 +1983,8 @@ write_viminfo(char_u *file, int forceit)
|
||||
*/
|
||||
if (*wp == 'a')
|
||||
{
|
||||
EMSG2(_("E929: Too many viminfo temp files, like %s!"),
|
||||
tempname);
|
||||
vim_free(tempname);
|
||||
tempname = NULL;
|
||||
break;
|
||||
@@ -2144,10 +2148,11 @@ viminfo_filename(char_u *file)
|
||||
static void
|
||||
do_viminfo(FILE *fp_in, FILE *fp_out, int flags)
|
||||
{
|
||||
int count = 0;
|
||||
int eof = FALSE;
|
||||
vir_T vir;
|
||||
int merge = FALSE;
|
||||
int do_copy_marks = FALSE;
|
||||
garray_T buflist;
|
||||
|
||||
if ((vir.vir_line = alloc(LSIZE)) == NULL)
|
||||
return;
|
||||
@@ -2156,11 +2161,20 @@ do_viminfo(FILE *fp_in, FILE *fp_out, int flags)
|
||||
vir.vir_conv.vc_type = CONV_NONE;
|
||||
#endif
|
||||
ga_init2(&vir.vir_barlines, (int)sizeof(char_u *), 100);
|
||||
vir.vir_version = -1;
|
||||
|
||||
if (fp_in != NULL)
|
||||
{
|
||||
if (flags & VIF_WANT_INFO)
|
||||
{
|
||||
if (fp_out != NULL)
|
||||
{
|
||||
/* Registers and marks are read and kept separate from what
|
||||
* this Vim is using. They are merged when writing. */
|
||||
prepare_viminfo_registers();
|
||||
prepare_viminfo_marks();
|
||||
}
|
||||
|
||||
eof = read_viminfo_up_to_marks(&vir,
|
||||
flags & VIF_FORCEIT, fp_out != NULL);
|
||||
merge = TRUE;
|
||||
@@ -2170,13 +2184,18 @@ do_viminfo(FILE *fp_in, FILE *fp_out, int flags)
|
||||
while (!(eof = viminfo_readline(&vir))
|
||||
&& vir.vir_line[0] != '>')
|
||||
;
|
||||
|
||||
do_copy_marks = (flags &
|
||||
(VIF_WANT_MARKS | VIF_GET_OLDFILES | VIF_FORCEIT));
|
||||
}
|
||||
|
||||
if (fp_out != NULL)
|
||||
{
|
||||
/* Write the info: */
|
||||
fprintf(fp_out, _("# This viminfo file was generated by Vim %s.\n"),
|
||||
VIM_VERSION_MEDIUM);
|
||||
fputs(_("# You may edit it if you're careful!\n\n"), fp_out);
|
||||
write_viminfo_version(fp_out);
|
||||
#ifdef FEAT_MBYTE
|
||||
fputs(_("# Value of 'encoding' when this file was written\n"), fp_out);
|
||||
fprintf(fp_out, "*encoding=%s\n\n", p_enc);
|
||||
@@ -2187,17 +2206,26 @@ do_viminfo(FILE *fp_in, FILE *fp_out, int flags)
|
||||
write_viminfo_history(fp_out, merge);
|
||||
#endif
|
||||
write_viminfo_registers(fp_out);
|
||||
finish_viminfo_registers();
|
||||
#ifdef FEAT_EVAL
|
||||
write_viminfo_varlist(fp_out);
|
||||
#endif
|
||||
write_viminfo_filemarks(fp_out);
|
||||
finish_viminfo_marks();
|
||||
write_viminfo_bufferlist(fp_out);
|
||||
write_viminfo_barlines(&vir, fp_out);
|
||||
count = write_viminfo_marks(fp_out);
|
||||
|
||||
if (do_copy_marks)
|
||||
ga_init2(&buflist, sizeof(buf_T *), 50);
|
||||
write_viminfo_marks(fp_out, do_copy_marks ? &buflist : NULL);
|
||||
}
|
||||
|
||||
if (do_copy_marks)
|
||||
{
|
||||
copy_viminfo_marks(&vir, fp_out, &buflist, eof, flags);
|
||||
if (fp_out != NULL)
|
||||
ga_clear(&buflist);
|
||||
}
|
||||
if (fp_in != NULL
|
||||
&& (flags & (VIF_WANT_MARKS | VIF_GET_OLDFILES | VIF_FORCEIT)))
|
||||
copy_viminfo_marks(&vir, fp_out, count, eof, flags);
|
||||
|
||||
vim_free(vir.vir_line);
|
||||
#ifdef FEAT_MBYTE
|
||||
@@ -2220,10 +2248,12 @@ read_viminfo_up_to_marks(
|
||||
{
|
||||
int eof;
|
||||
buf_T *buf;
|
||||
int got_encoding = FALSE;
|
||||
|
||||
#ifdef FEAT_CMDHIST
|
||||
prepare_viminfo_history(forceit ? 9999 : 0, writing);
|
||||
#endif
|
||||
|
||||
eof = viminfo_readline(virp);
|
||||
while (!eof && virp->vir_line[0] != '>')
|
||||
{
|
||||
@@ -2240,12 +2270,12 @@ read_viminfo_up_to_marks(
|
||||
case '#':
|
||||
eof = viminfo_readline(virp);
|
||||
break;
|
||||
case '|': /* copy line (for future use) */
|
||||
if (writing)
|
||||
ga_add_string(&virp->vir_barlines, virp->vir_line);
|
||||
eof = viminfo_readline(virp);
|
||||
case '|':
|
||||
eof = read_viminfo_barline(virp, got_encoding,
|
||||
forceit, writing);
|
||||
break;
|
||||
case '*': /* "*encoding=value" */
|
||||
got_encoding = TRUE;
|
||||
eof = viminfo_encoding(virp);
|
||||
break;
|
||||
case '!': /* global variable */
|
||||
@@ -2259,7 +2289,15 @@ read_viminfo_up_to_marks(
|
||||
eof = read_viminfo_bufferlist(virp, writing);
|
||||
break;
|
||||
case '"':
|
||||
eof = read_viminfo_register(virp, forceit);
|
||||
/* When registers are in bar lines skip the old style register
|
||||
* lines. */
|
||||
if (virp->vir_version < VIMINFO_VERSION_WITH_REGISTERS)
|
||||
eof = read_viminfo_register(virp, forceit);
|
||||
else
|
||||
do {
|
||||
eof = viminfo_readline(virp);
|
||||
} while (!eof && (virp->vir_line[0] == TAB
|
||||
|| virp->vir_line[0] == '<'));
|
||||
break;
|
||||
case '/': /* Search string */
|
||||
case '&': /* Substitute search string */
|
||||
@@ -2274,14 +2312,21 @@ read_viminfo_up_to_marks(
|
||||
case '=':
|
||||
case '@':
|
||||
#ifdef FEAT_CMDHIST
|
||||
eof = read_viminfo_history(virp, writing);
|
||||
#else
|
||||
eof = viminfo_readline(virp);
|
||||
/* When history is in bar lines skip the old style history
|
||||
* lines. */
|
||||
if (virp->vir_version < VIMINFO_VERSION_WITH_HISTORY)
|
||||
eof = read_viminfo_history(virp, writing);
|
||||
else
|
||||
#endif
|
||||
eof = viminfo_readline(virp);
|
||||
break;
|
||||
case '-':
|
||||
case '\'':
|
||||
eof = read_viminfo_filemark(virp, forceit);
|
||||
/* When file marks are in bar lines skip the old style lines. */
|
||||
if (virp->vir_version < VIMINFO_VERSION_WITH_MARKS)
|
||||
eof = read_viminfo_filemark(virp, forceit);
|
||||
else
|
||||
eof = viminfo_readline(virp);
|
||||
break;
|
||||
default:
|
||||
if (viminfo_error("E575: ", _("Illegal starting char"),
|
||||
@@ -2296,7 +2341,7 @@ read_viminfo_up_to_marks(
|
||||
#ifdef FEAT_CMDHIST
|
||||
/* Finish reading history items. */
|
||||
if (!writing)
|
||||
finish_viminfo_history();
|
||||
finish_viminfo_history(virp);
|
||||
#endif
|
||||
|
||||
/* Change file names to buffer numbers for fmarks. */
|
||||
@@ -2347,8 +2392,8 @@ viminfo_readline(vir_T *virp)
|
||||
}
|
||||
|
||||
/*
|
||||
* check string read from viminfo file
|
||||
* remove '\n' at the end of the line
|
||||
* Check string read from viminfo file.
|
||||
* Remove '\n' at the end of the line.
|
||||
* - replace CTRL-V CTRL-V with CTRL-V
|
||||
* - replace CTRL-V 'n' with '\n'
|
||||
*
|
||||
@@ -2463,22 +2508,381 @@ viminfo_writestring(FILE *fd, char_u *p)
|
||||
putc('\n', fd);
|
||||
}
|
||||
|
||||
/*
|
||||
* Write a string in quotes that barline_parse() can read back.
|
||||
* Breaks the line in less than LSIZE pieces when needed.
|
||||
* Returns remaining characters in the line.
|
||||
*/
|
||||
int
|
||||
barline_writestring(FILE *fd, char_u *s, int remaining_start)
|
||||
{
|
||||
char_u *p;
|
||||
int remaining = remaining_start;
|
||||
int len = 2;
|
||||
|
||||
/* Count the number of characters produced, including quotes. */
|
||||
for (p = s; *p != NUL; ++p)
|
||||
{
|
||||
if (*p == NL)
|
||||
len += 2;
|
||||
else if (*p == '"' || *p == '\\')
|
||||
len += 2;
|
||||
else
|
||||
++len;
|
||||
}
|
||||
if (len > remaining)
|
||||
{
|
||||
fprintf(fd, ">%d\n|<", len);
|
||||
remaining = LSIZE - 20;
|
||||
}
|
||||
|
||||
putc('"', fd);
|
||||
for (p = s; *p != NUL; ++p)
|
||||
{
|
||||
if (*p == NL)
|
||||
{
|
||||
putc('\\', fd);
|
||||
putc('n', fd);
|
||||
--remaining;
|
||||
}
|
||||
else if (*p == '"' || *p == '\\')
|
||||
{
|
||||
putc('\\', fd);
|
||||
putc(*p, fd);
|
||||
--remaining;
|
||||
}
|
||||
else
|
||||
putc(*p, fd);
|
||||
--remaining;
|
||||
|
||||
if (remaining < 3)
|
||||
{
|
||||
putc('\n', fd);
|
||||
putc('|', fd);
|
||||
putc('<', fd);
|
||||
/* Leave enough space for another continuation. */
|
||||
remaining = LSIZE - 20;
|
||||
}
|
||||
}
|
||||
putc('"', fd);
|
||||
return remaining - 2;
|
||||
}
|
||||
|
||||
/*
|
||||
* Parse a viminfo line starting with '|'.
|
||||
* Add each decoded value to "values".
|
||||
* Returns TRUE if the next line is to be read after using the parsed values.
|
||||
*/
|
||||
static int
|
||||
barline_parse(vir_T *virp, char_u *text, garray_T *values)
|
||||
{
|
||||
char_u *p = text;
|
||||
char_u *nextp = NULL;
|
||||
char_u *buf = NULL;
|
||||
bval_T *value;
|
||||
int i;
|
||||
int allocated = FALSE;
|
||||
int eof;
|
||||
#ifdef FEAT_MBYTE
|
||||
char_u *sconv;
|
||||
int converted;
|
||||
#endif
|
||||
|
||||
while (*p == ',')
|
||||
{
|
||||
++p;
|
||||
if (ga_grow(values, 1) == FAIL)
|
||||
break;
|
||||
value = (bval_T *)(values->ga_data) + values->ga_len;
|
||||
|
||||
if (*p == '>')
|
||||
{
|
||||
/* Need to read a continuation line. Put strings in allocated
|
||||
* memory, because virp->vir_line is overwritten. */
|
||||
if (!allocated)
|
||||
{
|
||||
for (i = 0; i < values->ga_len; ++i)
|
||||
{
|
||||
bval_T *vp = (bval_T *)(values->ga_data) + i;
|
||||
|
||||
if (vp->bv_type == BVAL_STRING && !vp->bv_allocated)
|
||||
{
|
||||
vp->bv_string = vim_strnsave(vp->bv_string, vp->bv_len);
|
||||
vp->bv_allocated = TRUE;
|
||||
}
|
||||
}
|
||||
allocated = TRUE;
|
||||
}
|
||||
|
||||
if (vim_isdigit(p[1]))
|
||||
{
|
||||
size_t len;
|
||||
size_t todo;
|
||||
size_t n;
|
||||
|
||||
/* String value was split into lines that are each shorter
|
||||
* than LSIZE:
|
||||
* |{bartype},>{length of "{text}{text2}"}
|
||||
* |<"{text1}
|
||||
* |<{text2}",{value}
|
||||
* Length includes the quotes.
|
||||
*/
|
||||
++p;
|
||||
len = getdigits(&p);
|
||||
buf = alloc((int)(len + 1));
|
||||
if (buf == NULL)
|
||||
return TRUE;
|
||||
p = buf;
|
||||
for (todo = len; todo > 0; todo -= n)
|
||||
{
|
||||
eof = viminfo_readline(virp);
|
||||
if (eof || virp->vir_line[0] != '|'
|
||||
|| virp->vir_line[1] != '<')
|
||||
{
|
||||
/* File was truncated or garbled. Read another line if
|
||||
* this one starts with '|'. */
|
||||
vim_free(buf);
|
||||
return eof || virp->vir_line[0] == '|';
|
||||
}
|
||||
/* Get length of text, excluding |< and NL chars. */
|
||||
n = STRLEN(virp->vir_line);
|
||||
while (n > 0 && (virp->vir_line[n - 1] == NL
|
||||
|| virp->vir_line[n - 1] == CAR))
|
||||
--n;
|
||||
n -= 2;
|
||||
if (n > todo)
|
||||
{
|
||||
/* more values follow after the string */
|
||||
nextp = virp->vir_line + 2 + todo;
|
||||
n = todo;
|
||||
}
|
||||
mch_memmove(p, virp->vir_line + 2, n);
|
||||
p += n;
|
||||
}
|
||||
*p = NUL;
|
||||
p = buf;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Line ending in ">" continues in the next line:
|
||||
* |{bartype},{lots of values},>
|
||||
* |<{value},{value}
|
||||
*/
|
||||
eof = viminfo_readline(virp);
|
||||
if (eof || virp->vir_line[0] != '|'
|
||||
|| virp->vir_line[1] != '<')
|
||||
/* File was truncated or garbled. Read another line if
|
||||
* this one starts with '|'. */
|
||||
return eof || virp->vir_line[0] == '|';
|
||||
p = virp->vir_line + 2;
|
||||
}
|
||||
}
|
||||
|
||||
if (isdigit(*p))
|
||||
{
|
||||
value->bv_type = BVAL_NR;
|
||||
value->bv_nr = getdigits(&p);
|
||||
++values->ga_len;
|
||||
}
|
||||
else if (*p == '"')
|
||||
{
|
||||
int len = 0;
|
||||
char_u *s = p;
|
||||
|
||||
/* Unescape special characters in-place. */
|
||||
++p;
|
||||
while (*p != '"')
|
||||
{
|
||||
if (*p == NL || *p == NUL)
|
||||
return TRUE; /* syntax error, drop the value */
|
||||
if (*p == '\\')
|
||||
{
|
||||
++p;
|
||||
if (*p == 'n')
|
||||
s[len++] = '\n';
|
||||
else
|
||||
s[len++] = *p;
|
||||
++p;
|
||||
}
|
||||
else
|
||||
s[len++] = *p++;
|
||||
}
|
||||
++p;
|
||||
s[len] = NUL;
|
||||
|
||||
#ifdef FEAT_MBYTE
|
||||
converted = FALSE;
|
||||
if (virp->vir_conv.vc_type != CONV_NONE && *s != NUL)
|
||||
{
|
||||
sconv = string_convert(&virp->vir_conv, s, NULL);
|
||||
if (sconv != NULL)
|
||||
{
|
||||
if (s == buf)
|
||||
vim_free(s);
|
||||
s = sconv;
|
||||
buf = s;
|
||||
converted = TRUE;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
/* Need to copy in allocated memory if the string wasn't allocated
|
||||
* above and we did allocate before, thus vir_line may change. */
|
||||
if (s != buf && allocated)
|
||||
s = vim_strsave(s);
|
||||
value->bv_string = s;
|
||||
value->bv_type = BVAL_STRING;
|
||||
value->bv_len = len;
|
||||
value->bv_allocated = allocated
|
||||
#ifdef FEAT_MBYTE
|
||||
|| converted
|
||||
#endif
|
||||
;
|
||||
++values->ga_len;
|
||||
if (nextp != NULL)
|
||||
{
|
||||
/* values following a long string */
|
||||
p = nextp;
|
||||
nextp = NULL;
|
||||
}
|
||||
}
|
||||
else if (*p == ',')
|
||||
{
|
||||
value->bv_type = BVAL_EMPTY;
|
||||
++values->ga_len;
|
||||
}
|
||||
else
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int
|
||||
read_viminfo_barline(vir_T *virp, int got_encoding, int force, int writing)
|
||||
{
|
||||
char_u *p = virp->vir_line + 1;
|
||||
int bartype;
|
||||
garray_T values;
|
||||
bval_T *vp;
|
||||
int i;
|
||||
int read_next = TRUE;
|
||||
|
||||
/* The format is: |{bartype},{value},...
|
||||
* For a very long string:
|
||||
* |{bartype},>{length of "{text}{text2}"}
|
||||
* |<{text1}
|
||||
* |<{text2},{value}
|
||||
* For a long line not using a string
|
||||
* |{bartype},{lots of values},>
|
||||
* |<{value},{value}
|
||||
*/
|
||||
if (*p == '<')
|
||||
{
|
||||
/* Continuation line of an unrecognized item. */
|
||||
if (writing)
|
||||
ga_add_string(&virp->vir_barlines, virp->vir_line);
|
||||
}
|
||||
else
|
||||
{
|
||||
ga_init2(&values, sizeof(bval_T), 20);
|
||||
bartype = getdigits(&p);
|
||||
switch (bartype)
|
||||
{
|
||||
case BARTYPE_VERSION:
|
||||
/* Only use the version when it comes before the encoding.
|
||||
* If it comes later it was copied by a Vim version that
|
||||
* doesn't understand the version. */
|
||||
if (!got_encoding)
|
||||
{
|
||||
read_next = barline_parse(virp, p, &values);
|
||||
vp = (bval_T *)values.ga_data;
|
||||
if (values.ga_len > 0 && vp->bv_type == BVAL_NR)
|
||||
virp->vir_version = vp->bv_nr;
|
||||
}
|
||||
break;
|
||||
|
||||
case BARTYPE_HISTORY:
|
||||
read_next = barline_parse(virp, p, &values);
|
||||
handle_viminfo_history(&values, writing);
|
||||
break;
|
||||
|
||||
case BARTYPE_REGISTER:
|
||||
read_next = barline_parse(virp, p, &values);
|
||||
handle_viminfo_register(&values, force);
|
||||
break;
|
||||
|
||||
case BARTYPE_MARK:
|
||||
read_next = barline_parse(virp, p, &values);
|
||||
handle_viminfo_mark(&values, force);
|
||||
break;
|
||||
|
||||
default:
|
||||
/* copy unrecognized line (for future use) */
|
||||
if (writing)
|
||||
ga_add_string(&virp->vir_barlines, virp->vir_line);
|
||||
}
|
||||
for (i = 0; i < values.ga_len; ++i)
|
||||
{
|
||||
vp = (bval_T *)values.ga_data + i;
|
||||
if (vp->bv_type == BVAL_STRING && vp->bv_allocated)
|
||||
vim_free(vp->bv_string);
|
||||
}
|
||||
ga_clear(&values);
|
||||
}
|
||||
|
||||
if (read_next)
|
||||
return viminfo_readline(virp);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void
|
||||
write_viminfo_version(FILE *fp_out)
|
||||
{
|
||||
fprintf(fp_out, "# Viminfo version\n|%d,%d\n\n",
|
||||
BARTYPE_VERSION, VIMINFO_VERSION);
|
||||
}
|
||||
|
||||
static void
|
||||
write_viminfo_barlines(vir_T *virp, FILE *fp_out)
|
||||
{
|
||||
int i;
|
||||
garray_T *gap = &virp->vir_barlines;
|
||||
int seen_useful = FALSE;
|
||||
char *line;
|
||||
|
||||
if (gap->ga_len > 0)
|
||||
{
|
||||
fputs(_("\n# Bar lines, copied verbatim:\n"), fp_out);
|
||||
|
||||
/* Skip over continuation lines until seeing a useful line. */
|
||||
for (i = 0; i < gap->ga_len; ++i)
|
||||
fputs(((char **)(gap->ga_data))[i], fp_out);
|
||||
{
|
||||
line = ((char **)(gap->ga_data))[i];
|
||||
if (seen_useful || line[1] != '<')
|
||||
{
|
||||
fputs(line, fp_out);
|
||||
seen_useful = TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif /* FEAT_VIMINFO */
|
||||
|
||||
#if defined(FEAT_CMDHIST) || defined(FEAT_VIMINFO) || defined(PROTO)
|
||||
/*
|
||||
* Return the current time in seconds. Calls time(), unless test_settime()
|
||||
* was used.
|
||||
*/
|
||||
time_T
|
||||
vim_time(void)
|
||||
{
|
||||
# ifdef FEAT_EVAL
|
||||
return time_for_testing == 0 ? time(NULL) : time_for_testing;
|
||||
# else
|
||||
return time(NULL);
|
||||
# endif
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Implementation of ":fixdel", also used by get_stty().
|
||||
* <BS> resulting <Del>
|
||||
@@ -2812,7 +3216,7 @@ do_write(exarg_T *eap)
|
||||
{
|
||||
if (au_has_group((char_u *)"filetypedetect"))
|
||||
(void)do_doautocmd((char_u *)"filetypedetect BufRead",
|
||||
TRUE);
|
||||
TRUE, NULL);
|
||||
do_modelines(0);
|
||||
}
|
||||
|
||||
@@ -3075,7 +3479,7 @@ not_writing(void)
|
||||
static int
|
||||
check_readonly(int *forceit, buf_T *buf)
|
||||
{
|
||||
struct stat st;
|
||||
stat_T st;
|
||||
|
||||
/* Handle a file being readonly when the 'readonly' option is set or when
|
||||
* the file exists and permissions are read-only.
|
||||
@@ -3895,6 +4299,10 @@ do_ecmd(
|
||||
msg_scrolled_ign = FALSE;
|
||||
}
|
||||
|
||||
#ifdef FEAT_VIMINFO
|
||||
curbuf->b_last_used = vim_time();
|
||||
#endif
|
||||
|
||||
if (command != NULL)
|
||||
do_cmdline(command, NULL, NULL, DOCMD_VERBOSE);
|
||||
|
||||
@@ -3990,7 +4398,7 @@ ex_append(exarg_T *eap)
|
||||
if (eap->cmdidx != CMD_append)
|
||||
--lnum;
|
||||
|
||||
/* when the buffer is empty append to line 0 and delete the dummy line */
|
||||
/* when the buffer is empty need to delete the dummy line */
|
||||
if (empty && lnum == 1)
|
||||
lnum = 0;
|
||||
|
||||
@@ -4074,7 +4482,7 @@ ex_append(exarg_T *eap)
|
||||
|
||||
did_undo = TRUE;
|
||||
ml_append(lnum, theline, (colnr_T)0, FALSE);
|
||||
appended_lines_mark(lnum, 1L);
|
||||
appended_lines_mark(lnum + (empty ? 1 : 0), 1L);
|
||||
|
||||
vim_free(theline);
|
||||
++lnum;
|
||||
@@ -6216,6 +6624,9 @@ find_help_tags(
|
||||
*/
|
||||
if (*s == '\'' && s > arg && *arg == '\'')
|
||||
break;
|
||||
/* Also '{' and '}'. */
|
||||
if (*s == '}' && s > arg && *arg == '{')
|
||||
break;
|
||||
}
|
||||
*d = NUL;
|
||||
|
||||
|
||||
@@ -259,6 +259,9 @@ EX(CMD_catch, "catch", ex_catch,
|
||||
EX(CMD_cbuffer, "cbuffer", ex_cbuffer,
|
||||
BANG|RANGE|NOTADR|WORD1|TRLBAR,
|
||||
ADDR_LINES),
|
||||
EX(CMD_cbottom, "cbottom", ex_cbottom,
|
||||
TRLBAR,
|
||||
ADDR_LINES),
|
||||
EX(CMD_cc, "cc", ex_cc,
|
||||
RANGE|NOTADR|COUNT|TRLBAR|BANG,
|
||||
ADDR_LINES),
|
||||
@@ -316,6 +319,9 @@ EX(CMD_clast, "clast", ex_cc,
|
||||
EX(CMD_close, "close", ex_close,
|
||||
BANG|RANGE|NOTADR|COUNT|TRLBAR|CMDWIN,
|
||||
ADDR_WINDOWS),
|
||||
EX(CMD_clearjumps, "clearjumps", ex_clearjumps,
|
||||
TRLBAR|CMDWIN,
|
||||
ADDR_LINES),
|
||||
EX(CMD_cmap, "cmap", ex_map,
|
||||
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
|
||||
ADDR_LINES),
|
||||
|
||||
@@ -164,6 +164,7 @@ do_debug(char_u *cmd)
|
||||
ignore_script = TRUE;
|
||||
}
|
||||
|
||||
vim_free(cmdline);
|
||||
cmdline = getcmdline_prompt('>', NULL, 0, EXPAND_NOTHING, NULL);
|
||||
|
||||
if (typeahead_saved)
|
||||
@@ -306,8 +307,6 @@ do_debug(char_u *cmd)
|
||||
(void)do_cmdline(cmdline, getexline, NULL,
|
||||
DOCMD_VERBOSE|DOCMD_EXCRESET);
|
||||
debug_break_level = n;
|
||||
|
||||
vim_free(cmdline);
|
||||
}
|
||||
lines_left = Rows - 1;
|
||||
}
|
||||
@@ -335,9 +334,8 @@ do_debug(char_u *cmd)
|
||||
get_maxbacktrace_level(void)
|
||||
{
|
||||
char *p, *q;
|
||||
int maxbacktrace = 1;
|
||||
int maxbacktrace = 0;
|
||||
|
||||
maxbacktrace = 0;
|
||||
if (sourcing_name != NULL)
|
||||
{
|
||||
p = (char *)sourcing_name;
|
||||
@@ -1103,6 +1101,7 @@ insert_timer(timer_T *timer)
|
||||
if (first_timer != NULL)
|
||||
first_timer->tr_prev = timer;
|
||||
first_timer = timer;
|
||||
did_add_timer = TRUE;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1175,7 +1174,7 @@ timer_callback(timer_T *timer)
|
||||
* Return the time in msec until the next timer is due.
|
||||
*/
|
||||
long
|
||||
check_due_timer()
|
||||
check_due_timer(void)
|
||||
{
|
||||
timer_T *timer;
|
||||
long this_due;
|
||||
@@ -1254,6 +1253,25 @@ stop_timer(timer_T *timer)
|
||||
remove_timer(timer);
|
||||
free_timer(timer);
|
||||
}
|
||||
|
||||
/*
|
||||
* Mark references in partials of timers.
|
||||
*/
|
||||
int
|
||||
set_ref_in_timer(int copyID)
|
||||
{
|
||||
int abort = FALSE;
|
||||
timer_T *timer;
|
||||
typval_T tv;
|
||||
|
||||
for (timer = first_timer; timer != NULL; timer = timer->tr_next)
|
||||
{
|
||||
tv.v_type = VAR_PARTIAL;
|
||||
tv.vval.v_partial = timer->tr_partial;
|
||||
abort = abort || set_ref_in_item(&tv, copyID, NULL, NULL);
|
||||
}
|
||||
return abort;
|
||||
}
|
||||
# endif
|
||||
|
||||
#if defined(FEAT_SYN_HL) && defined(FEAT_RELTIME) && defined(FEAT_FLOAT)
|
||||
@@ -3326,15 +3344,18 @@ add_pack_plugin(char_u *fname, void *cookie)
|
||||
int c;
|
||||
char_u *new_rtp;
|
||||
int keep;
|
||||
int oldlen;
|
||||
int addlen;
|
||||
size_t oldlen;
|
||||
size_t addlen;
|
||||
char_u *afterdir;
|
||||
size_t afterlen = 0;
|
||||
char_u *ffname = fix_fname(fname);
|
||||
size_t fname_len;
|
||||
|
||||
if (ffname == NULL)
|
||||
return;
|
||||
if (cookie != &APP_LOAD && strstr((char *)p_rtp, (char *)ffname) == NULL)
|
||||
{
|
||||
/* directory not in 'runtimepath', add it */
|
||||
/* directory is not yet in 'runtimepath', add it */
|
||||
p4 = p3 = p2 = p1 = get_past_head(ffname);
|
||||
for (p = p1; *p; mb_ptr_adv(p))
|
||||
if (vim_ispathsep_nocolon(*p))
|
||||
@@ -3349,7 +3370,20 @@ add_pack_plugin(char_u *fname, void *cookie)
|
||||
* find the part up to "pack" in 'runtimepath' */
|
||||
c = *p4;
|
||||
*p4 = NUL;
|
||||
insp = (char_u *)strstr((char *)p_rtp, (char *)ffname);
|
||||
|
||||
/* Find "ffname" in "p_rtp", ignoring '/' vs '\' differences. */
|
||||
fname_len = STRLEN(ffname);
|
||||
insp = p_rtp;
|
||||
for (;;)
|
||||
{
|
||||
if (vim_fnamencmp(insp, ffname, fname_len) == 0)
|
||||
break;
|
||||
insp = vim_strchr(insp, ',');
|
||||
if (insp == NULL)
|
||||
break;
|
||||
++insp;
|
||||
}
|
||||
|
||||
if (insp == NULL)
|
||||
/* not found, append at the end */
|
||||
insp = p_rtp + STRLEN(p_rtp);
|
||||
@@ -3362,20 +3396,31 @@ add_pack_plugin(char_u *fname, void *cookie)
|
||||
}
|
||||
*p4 = c;
|
||||
|
||||
oldlen = (int)STRLEN(p_rtp);
|
||||
addlen = (int)STRLEN(ffname);
|
||||
new_rtp = alloc(oldlen + addlen + 2);
|
||||
/* check if rtp/pack/name/start/name/after exists */
|
||||
afterdir = concat_fnames(ffname, (char_u *)"after", TRUE);
|
||||
if (afterdir != NULL && mch_isdir(afterdir))
|
||||
afterlen = STRLEN(afterdir) + 1; /* add one for comma */
|
||||
|
||||
oldlen = STRLEN(p_rtp);
|
||||
addlen = STRLEN(ffname) + 1; /* add one for comma */
|
||||
new_rtp = alloc((int)(oldlen + addlen + afterlen + 1)); /* add one for NUL */
|
||||
if (new_rtp == NULL)
|
||||
goto theend;
|
||||
keep = (int)(insp - p_rtp);
|
||||
mch_memmove(new_rtp, p_rtp, keep);
|
||||
new_rtp[keep] = ',';
|
||||
mch_memmove(new_rtp + keep + 1, ffname, addlen + 1);
|
||||
mch_memmove(new_rtp + keep + 1, ffname, addlen);
|
||||
if (p_rtp[keep] != NUL)
|
||||
mch_memmove(new_rtp + keep + 1 + addlen, p_rtp + keep,
|
||||
mch_memmove(new_rtp + keep + addlen, p_rtp + keep,
|
||||
oldlen - keep + 1);
|
||||
if (afterlen > 0)
|
||||
{
|
||||
STRCAT(new_rtp, ",");
|
||||
STRCAT(new_rtp, afterdir);
|
||||
}
|
||||
set_option_value((char_u *)"rtp", 0L, new_rtp, 0);
|
||||
vim_free(new_rtp);
|
||||
vim_free(afterdir);
|
||||
}
|
||||
|
||||
if (cookie != &APP_ADD_DIR)
|
||||
@@ -3640,7 +3685,7 @@ do_source(
|
||||
int save_debug_break_level = debug_break_level;
|
||||
scriptitem_T *si = NULL;
|
||||
# ifdef UNIX
|
||||
struct stat st;
|
||||
stat_T st;
|
||||
int stat_ok;
|
||||
# endif
|
||||
#endif
|
||||
|
||||
131
src/ex_docmd.c
131
src/ex_docmd.c
@@ -129,6 +129,7 @@ static int getargopt(exarg_T *eap);
|
||||
# define ex_cclose ex_ni
|
||||
# define ex_copen ex_ni
|
||||
# define ex_cwindow ex_ni
|
||||
# define ex_cbottom ex_ni
|
||||
#endif
|
||||
#if !defined(FEAT_QUICKFIX) || !defined(FEAT_EVAL)
|
||||
# define ex_cexpr ex_ni
|
||||
@@ -474,6 +475,7 @@ static void ex_folddo(exarg_T *eap);
|
||||
#endif
|
||||
#ifndef FEAT_JUMPLIST
|
||||
# define ex_jumps ex_ni
|
||||
# define ex_clearjumps ex_ni
|
||||
# define ex_changes ex_ni
|
||||
#endif
|
||||
|
||||
@@ -2139,7 +2141,8 @@ do_one_cmd(
|
||||
#endif
|
||||
}
|
||||
ea.cmd = skipwhite(ea.cmd);
|
||||
lnum = get_address(&ea, &ea.cmd, ea.addr_type, ea.skip, ea.addr_count == 0);
|
||||
lnum = get_address(&ea, &ea.cmd, ea.addr_type, ea.skip,
|
||||
ea.addr_count == 0);
|
||||
if (ea.cmd == NULL) /* error detected */
|
||||
goto doend;
|
||||
if (lnum == MAXLNUM)
|
||||
@@ -5448,9 +5451,11 @@ ex_doautocmd(exarg_T *eap)
|
||||
{
|
||||
char_u *arg = eap->arg;
|
||||
int call_do_modelines = check_nomodeline(&arg);
|
||||
int did_aucmd;
|
||||
|
||||
(void)do_doautocmd(arg, TRUE);
|
||||
if (call_do_modelines) /* Only when there is no <nomodeline>. */
|
||||
(void)do_doautocmd(arg, TRUE, &did_aucmd);
|
||||
/* Only when there is no <nomodeline>. */
|
||||
if (call_do_modelines && did_aucmd)
|
||||
do_modelines(0);
|
||||
}
|
||||
#endif
|
||||
@@ -6412,6 +6417,26 @@ uc_split_args(char_u *arg, size_t *lenp)
|
||||
return buf;
|
||||
}
|
||||
|
||||
static size_t
|
||||
add_cmd_modifier(char_u *buf, char *mod_str, int *multi_mods)
|
||||
{
|
||||
size_t result;
|
||||
|
||||
result = STRLEN(mod_str);
|
||||
if (*multi_mods)
|
||||
result += 1;
|
||||
if (buf != NULL)
|
||||
{
|
||||
if (*multi_mods)
|
||||
STRCAT(buf, " ");
|
||||
STRCAT(buf, mod_str);
|
||||
}
|
||||
|
||||
*multi_mods = 1;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/*
|
||||
* Check for a <> code in a user command.
|
||||
* "code" points to the '<'. "len" the length of the <> (inclusive).
|
||||
@@ -6435,8 +6460,8 @@ uc_check_code(
|
||||
char_u *p = code + 1;
|
||||
size_t l = len - 2;
|
||||
int quote = 0;
|
||||
enum { ct_ARGS, ct_BANG, ct_COUNT, ct_LINE1, ct_LINE2, ct_REGISTER,
|
||||
ct_LT, ct_NONE } type = ct_NONE;
|
||||
enum { ct_ARGS, ct_BANG, ct_COUNT, ct_LINE1, ct_LINE2, ct_MODS,
|
||||
ct_REGISTER, ct_LT, ct_NONE } type = ct_NONE;
|
||||
|
||||
if ((vim_strchr((char_u *)"qQfF", *p) != NULL) && p[1] == '-')
|
||||
{
|
||||
@@ -6462,6 +6487,8 @@ uc_check_code(
|
||||
type = ct_LT;
|
||||
else if (STRNICMP(p, "reg>", l) == 0 || STRNICMP(p, "register>", l) == 0)
|
||||
type = ct_REGISTER;
|
||||
else if (STRNICMP(p, "mods>", l) == 0)
|
||||
type = ct_MODS;
|
||||
|
||||
switch (type)
|
||||
{
|
||||
@@ -6585,6 +6612,90 @@ uc_check_code(
|
||||
break;
|
||||
}
|
||||
|
||||
case ct_MODS:
|
||||
{
|
||||
int multi_mods = 0;
|
||||
typedef struct {
|
||||
int *varp;
|
||||
char *name;
|
||||
} mod_entry_T;
|
||||
static mod_entry_T mod_entries[] = {
|
||||
#ifdef FEAT_BROWSE_CMD
|
||||
{&cmdmod.browse, "browse"},
|
||||
#endif
|
||||
#if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
|
||||
{&cmdmod.confirm, "confirm"},
|
||||
#endif
|
||||
{&cmdmod.hide, "hide"},
|
||||
{&cmdmod.keepalt, "keepalt"},
|
||||
{&cmdmod.keepjumps, "keepjumps"},
|
||||
{&cmdmod.keepmarks, "keepmarks"},
|
||||
{&cmdmod.keeppatterns, "keeppatterns"},
|
||||
{&cmdmod.lockmarks, "lockmarks"},
|
||||
{&cmdmod.noswapfile, "noswapfile"},
|
||||
{NULL, NULL}
|
||||
};
|
||||
int i;
|
||||
|
||||
result = quote ? 2 : 0;
|
||||
if (buf != NULL)
|
||||
{
|
||||
if (quote)
|
||||
*buf++ = '"';
|
||||
*buf = '\0';
|
||||
}
|
||||
|
||||
#ifdef FEAT_WINDOWS
|
||||
/* :aboveleft and :leftabove */
|
||||
if (cmdmod.split & WSP_ABOVE)
|
||||
result += add_cmd_modifier(buf, "aboveleft", &multi_mods);
|
||||
/* :belowright and :rightbelow */
|
||||
if (cmdmod.split & WSP_BELOW)
|
||||
result += add_cmd_modifier(buf, "belowright", &multi_mods);
|
||||
/* :botright */
|
||||
if (cmdmod.split & WSP_BOT)
|
||||
result += add_cmd_modifier(buf, "botright", &multi_mods);
|
||||
#endif
|
||||
|
||||
/* the modifiers that are simple flags */
|
||||
for (i = 0; mod_entries[i].varp != NULL; ++i)
|
||||
if (*mod_entries[i].varp)
|
||||
result += add_cmd_modifier(buf, mod_entries[i].name,
|
||||
&multi_mods);
|
||||
|
||||
/* TODO: How to support :noautocmd? */
|
||||
#ifdef HAVE_SANDBOX
|
||||
/* TODO: How to support :sandbox?*/
|
||||
#endif
|
||||
/* :silent */
|
||||
if (msg_silent > 0)
|
||||
result += add_cmd_modifier(buf,
|
||||
emsg_silent > 0 ? "silent!" : "silent", &multi_mods);
|
||||
#ifdef FEAT_WINDOWS
|
||||
/* :tab */
|
||||
if (cmdmod.tab > 0)
|
||||
result += add_cmd_modifier(buf, "tab", &multi_mods);
|
||||
/* :topleft */
|
||||
if (cmdmod.split & WSP_TOP)
|
||||
result += add_cmd_modifier(buf, "topleft", &multi_mods);
|
||||
#endif
|
||||
/* TODO: How to support :unsilent?*/
|
||||
/* :verbose */
|
||||
if (p_verbose > 0)
|
||||
result += add_cmd_modifier(buf, "verbose", &multi_mods);
|
||||
#ifdef FEAT_WINDOWS
|
||||
/* :vertical */
|
||||
if (cmdmod.split & WSP_VERT)
|
||||
result += add_cmd_modifier(buf, "vertical", &multi_mods);
|
||||
#endif
|
||||
if (quote && buf != NULL)
|
||||
{
|
||||
buf += result - 2;
|
||||
*buf = '"';
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case ct_REGISTER:
|
||||
result = eap->regname ? 1 : 0;
|
||||
if (quote)
|
||||
@@ -9344,6 +9455,14 @@ ex_redir(exarg_T *eap)
|
||||
char_u *fname;
|
||||
char_u *arg = eap->arg;
|
||||
|
||||
#ifdef FEAT_EVAL
|
||||
if (redir_evalcmd)
|
||||
{
|
||||
EMSG(_("E930: Cannot use :redir inside evalcmd()"));
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (STRICMP(eap->arg, "END") == 0)
|
||||
close_redir();
|
||||
else
|
||||
@@ -11789,7 +11908,7 @@ ex_filetype(exarg_T *eap)
|
||||
}
|
||||
if (*arg == 'd')
|
||||
{
|
||||
(void)do_doautocmd((char_u *)"filetypedetect BufRead", TRUE);
|
||||
(void)do_doautocmd((char_u *)"filetypedetect BufRead", TRUE, NULL);
|
||||
do_modelines(0);
|
||||
}
|
||||
}
|
||||
|
||||
353
src/ex_getln.c
353
src/ex_getln.c
@@ -58,6 +58,7 @@ typedef struct hist_entry
|
||||
int hisnum; /* identifying number */
|
||||
int viminfo; /* when TRUE hisstr comes from viminfo */
|
||||
char_u *hisstr; /* actual entry, separator char after the NUL */
|
||||
time_t time_set; /* when it was typed, zero if unknown */
|
||||
} histentry_T;
|
||||
|
||||
static histentry_T *(history[HIST_COUNT]) = {NULL, NULL, NULL, NULL, NULL};
|
||||
@@ -3189,8 +3190,9 @@ cmdline_del(int from)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* this function is called when the screen size changes and with incremental
|
||||
* search
|
||||
* This function is called when the screen size changes and with incremental
|
||||
* search and in other situations where the command line may have been
|
||||
* overwritten.
|
||||
*/
|
||||
void
|
||||
redrawcmdline(void)
|
||||
@@ -4505,7 +4507,7 @@ cleanup_help_tags(int num_file, char_u **file)
|
||||
char_u buf[4];
|
||||
char_u *p = buf;
|
||||
|
||||
if (p_hlg[0] != NUL)
|
||||
if (p_hlg[0] != NUL && (p_hlg[0] != 'e' || p_hlg[1] != 'n'))
|
||||
{
|
||||
*p++ = '@';
|
||||
*p++ = p_hlg[0];
|
||||
@@ -4518,27 +4520,32 @@ cleanup_help_tags(int num_file, char_u **file)
|
||||
len = (int)STRLEN(file[i]) - 3;
|
||||
if (len <= 0)
|
||||
continue;
|
||||
if (i == 0 && STRCMP(file[i] + len, buf) == 0)
|
||||
{
|
||||
file[i][len] = NUL;
|
||||
break;
|
||||
}
|
||||
else if (STRCMP(file[i] + len, "@en") == 0)
|
||||
if (STRCMP(file[i] + len, "@en") == 0)
|
||||
{
|
||||
/* Sorting on priority means the same item in another language may
|
||||
* be anywhere. Search all items for a match up to the "@en". */
|
||||
for (j = 0; j < num_file; ++j)
|
||||
if (j != i
|
||||
&& (int)STRLEN(file[j]) == len + 3
|
||||
&& STRNCMP(file[i], file[j], len + 1) == 0)
|
||||
if (j != i && (int)STRLEN(file[j]) == len + 3
|
||||
&& STRNCMP(file[i], file[j], len + 1) == 0)
|
||||
break;
|
||||
if (j == num_file)
|
||||
{
|
||||
/* item only exists with @en, remove it */
|
||||
file[i][len] = NUL;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (*buf != NUL)
|
||||
for (i = 0; i < num_file; ++i)
|
||||
{
|
||||
len = (int)STRLEN(file[i]) - 3;
|
||||
if (len <= 0)
|
||||
continue;
|
||||
if (STRCMP(file[i] + len, buf) == 0)
|
||||
{
|
||||
/* remove the default language */
|
||||
file[i][len] = NUL;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -5515,6 +5522,7 @@ clear_hist_entry(histentry_T *hisptr)
|
||||
hisptr->hisnum = 0;
|
||||
hisptr->viminfo = FALSE;
|
||||
hisptr->hisstr = NULL;
|
||||
hisptr->time_set = 0;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -5570,6 +5578,7 @@ in_history(
|
||||
history[type][i].hisnum = ++hisnum[type];
|
||||
history[type][i].viminfo = FALSE;
|
||||
history[type][i].hisstr = str;
|
||||
history[type][i].time_set = vim_time();
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
@@ -5657,6 +5666,7 @@ add_to_history(
|
||||
|
||||
hisptr->hisnum = ++hisnum[histype];
|
||||
hisptr->viminfo = FALSE;
|
||||
hisptr->time_set = vim_time();
|
||||
if (histype == HIST_SEARCH && in_map)
|
||||
last_maptick = maptick;
|
||||
}
|
||||
@@ -5995,7 +6005,7 @@ get_list_range(char_u **str, int *num1, int *num2)
|
||||
{
|
||||
int len;
|
||||
int first = FALSE;
|
||||
long num;
|
||||
varnumber_T num;
|
||||
|
||||
*str = skipwhite(*str);
|
||||
if (**str == '-' || vim_isdigit(**str)) /* parse "from" part of range */
|
||||
@@ -6125,9 +6135,10 @@ ex_history(exarg_T *eap)
|
||||
/*
|
||||
* Buffers for history read from a viminfo file. Only valid while reading.
|
||||
*/
|
||||
static char_u **viminfo_history[HIST_COUNT] = {NULL, NULL, NULL, NULL};
|
||||
static int viminfo_hisidx[HIST_COUNT] = {0, 0, 0, 0};
|
||||
static int viminfo_hislen[HIST_COUNT] = {0, 0, 0, 0};
|
||||
static histentry_T *viminfo_history[HIST_COUNT] =
|
||||
{NULL, NULL, NULL, NULL, NULL};
|
||||
static int viminfo_hisidx[HIST_COUNT] = {0, 0, 0, 0, 0};
|
||||
static int viminfo_hislen[HIST_COUNT] = {0, 0, 0, 0, 0};
|
||||
static int viminfo_add_at_front = FALSE;
|
||||
|
||||
static int hist_type2char(int type, int use_question);
|
||||
@@ -6185,8 +6196,8 @@ prepare_viminfo_history(int asklen, int writing)
|
||||
if (len <= 0)
|
||||
viminfo_history[type] = NULL;
|
||||
else
|
||||
viminfo_history[type] =
|
||||
(char_u **)lalloc((long_u)(len * sizeof(char_u *)), FALSE);
|
||||
viminfo_history[type] = (histentry_T *)lalloc(
|
||||
(long_u)(len * sizeof(histentry_T)), FALSE);
|
||||
if (viminfo_history[type] == NULL)
|
||||
len = 0;
|
||||
viminfo_hislen[type] = len;
|
||||
@@ -6236,7 +6247,11 @@ read_viminfo_history(vir_T *virp, int writing)
|
||||
mch_memmove(p, val, (size_t)len + 1);
|
||||
p[len + 1] = NUL;
|
||||
}
|
||||
viminfo_history[type][viminfo_hisidx[type]++] = p;
|
||||
viminfo_history[type][viminfo_hisidx[type]].hisstr = p;
|
||||
viminfo_history[type][viminfo_hisidx[type]].time_set = 0;
|
||||
viminfo_history[type][viminfo_hisidx[type]].viminfo = TRUE;
|
||||
viminfo_history[type][viminfo_hisidx[type]].hisnum = 0;
|
||||
viminfo_hisidx[type]++;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -6246,56 +6261,226 @@ read_viminfo_history(vir_T *virp, int writing)
|
||||
}
|
||||
|
||||
/*
|
||||
* Finish reading history lines from viminfo. Not used when writing viminfo.
|
||||
* Accept a new style history line from the viminfo, store it in the history
|
||||
* array when it's new.
|
||||
*/
|
||||
void
|
||||
finish_viminfo_history(void)
|
||||
handle_viminfo_history(
|
||||
garray_T *values,
|
||||
int writing)
|
||||
{
|
||||
int type;
|
||||
long_u len;
|
||||
char_u *val;
|
||||
char_u *p;
|
||||
bval_T *vp = (bval_T *)values->ga_data;
|
||||
|
||||
/* Check the format:
|
||||
* |{bartype},{histtype},{timestamp},{separator},"text" */
|
||||
if (values->ga_len < 4
|
||||
|| vp[0].bv_type != BVAL_NR
|
||||
|| vp[1].bv_type != BVAL_NR
|
||||
|| (vp[2].bv_type != BVAL_NR && vp[2].bv_type != BVAL_EMPTY)
|
||||
|| vp[3].bv_type != BVAL_STRING)
|
||||
return;
|
||||
|
||||
type = vp[0].bv_nr;
|
||||
if (type >= HIST_COUNT)
|
||||
return;
|
||||
if (viminfo_hisidx[type] < viminfo_hislen[type])
|
||||
{
|
||||
val = vp[3].bv_string;
|
||||
if (val != NULL && *val != NUL)
|
||||
{
|
||||
int sep = type == HIST_SEARCH && vp[2].bv_type == BVAL_NR
|
||||
? vp[2].bv_nr : NUL;
|
||||
int idx;
|
||||
int overwrite = FALSE;
|
||||
|
||||
if (!in_history(type, val, viminfo_add_at_front, sep, writing))
|
||||
{
|
||||
/* If lines were written by an older Vim we need to avoid
|
||||
* getting duplicates. See if the entry already exists. */
|
||||
for (idx = 0; idx < viminfo_hisidx[type]; ++idx)
|
||||
{
|
||||
p = viminfo_history[type][idx].hisstr;
|
||||
if (STRCMP(val, p) == 0
|
||||
&& (type != HIST_SEARCH || sep == p[STRLEN(p) + 1]))
|
||||
{
|
||||
overwrite = TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!overwrite)
|
||||
{
|
||||
/* Need to re-allocate to append the separator byte. */
|
||||
len = vp[3].bv_len;
|
||||
p = lalloc(len + 2, TRUE);
|
||||
}
|
||||
else
|
||||
len = 0; /* for picky compilers */
|
||||
if (p != NULL)
|
||||
{
|
||||
viminfo_history[type][idx].time_set = vp[1].bv_nr;
|
||||
if (!overwrite)
|
||||
{
|
||||
mch_memmove(p, val, (size_t)len + 1);
|
||||
/* Put the separator after the NUL. */
|
||||
p[len + 1] = sep;
|
||||
viminfo_history[type][idx].hisstr = p;
|
||||
viminfo_history[type][idx].hisnum = 0;
|
||||
viminfo_history[type][idx].viminfo = TRUE;
|
||||
viminfo_hisidx[type]++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Concatenate history lines from viminfo after the lines typed in this Vim.
|
||||
*/
|
||||
static void
|
||||
concat_history(int type)
|
||||
{
|
||||
int idx;
|
||||
int i;
|
||||
|
||||
idx = hisidx[type] + viminfo_hisidx[type];
|
||||
if (idx >= hislen)
|
||||
idx -= hislen;
|
||||
else if (idx < 0)
|
||||
idx = hislen - 1;
|
||||
if (viminfo_add_at_front)
|
||||
hisidx[type] = idx;
|
||||
else
|
||||
{
|
||||
if (hisidx[type] == -1)
|
||||
hisidx[type] = hislen - 1;
|
||||
do
|
||||
{
|
||||
if (history[type][idx].hisstr != NULL
|
||||
|| history[type][idx].viminfo)
|
||||
break;
|
||||
if (++idx == hislen)
|
||||
idx = 0;
|
||||
} while (idx != hisidx[type]);
|
||||
if (idx != hisidx[type] && --idx < 0)
|
||||
idx = hislen - 1;
|
||||
}
|
||||
for (i = 0; i < viminfo_hisidx[type]; i++)
|
||||
{
|
||||
vim_free(history[type][idx].hisstr);
|
||||
history[type][idx].hisstr = viminfo_history[type][i].hisstr;
|
||||
history[type][idx].viminfo = TRUE;
|
||||
history[type][idx].time_set = viminfo_history[type][i].time_set;
|
||||
if (--idx < 0)
|
||||
idx = hislen - 1;
|
||||
}
|
||||
idx += 1;
|
||||
idx %= hislen;
|
||||
for (i = 0; i < viminfo_hisidx[type]; i++)
|
||||
{
|
||||
history[type][idx++].hisnum = ++hisnum[type];
|
||||
idx %= hislen;
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(FEAT_CMDL_COMPL) || defined(PROTO)
|
||||
static int
|
||||
#ifdef __BORLANDC__
|
||||
_RTLENTRYF
|
||||
#endif
|
||||
sort_hist(const void *s1, const void *s2)
|
||||
{
|
||||
histentry_T *p1 = *(histentry_T **)s1;
|
||||
histentry_T *p2 = *(histentry_T **)s2;
|
||||
|
||||
if (p1->time_set < p2->time_set) return -1;
|
||||
if (p1->time_set > p2->time_set) return 1;
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Merge history lines from viminfo and lines typed in this Vim based on the
|
||||
* timestamp;
|
||||
*/
|
||||
static void
|
||||
merge_history(int type)
|
||||
{
|
||||
int max_len;
|
||||
histentry_T **tot_hist;
|
||||
histentry_T *new_hist;
|
||||
int i;
|
||||
int len;
|
||||
|
||||
/* Make one long list with all entries. */
|
||||
max_len = hislen + viminfo_hisidx[type];
|
||||
tot_hist = (histentry_T **)alloc(max_len * (int)sizeof(histentry_T *));
|
||||
new_hist = (histentry_T *)alloc(hislen * (int)sizeof(histentry_T));
|
||||
if (tot_hist == NULL || new_hist == NULL)
|
||||
{
|
||||
vim_free(tot_hist);
|
||||
vim_free(new_hist);
|
||||
return;
|
||||
}
|
||||
for (i = 0; i < viminfo_hisidx[type]; i++)
|
||||
tot_hist[i] = &viminfo_history[type][i];
|
||||
len = i;
|
||||
for (i = 0; i < hislen; i++)
|
||||
if (history[type][i].hisstr != NULL)
|
||||
tot_hist[len++] = &history[type][i];
|
||||
|
||||
/* Sort the list on timestamp. */
|
||||
qsort((void *)tot_hist, (size_t)len, sizeof(histentry_T *), sort_hist);
|
||||
|
||||
/* Keep the newest ones. */
|
||||
for (i = 0; i < hislen; i++)
|
||||
{
|
||||
if (i < len)
|
||||
{
|
||||
new_hist[i] = *tot_hist[i];
|
||||
tot_hist[i]->hisstr = NULL;
|
||||
if (new_hist[i].hisnum == 0)
|
||||
new_hist[i].hisnum = ++hisnum[type];
|
||||
}
|
||||
else
|
||||
clear_hist_entry(&new_hist[i]);
|
||||
}
|
||||
hisidx[type] = (i < len ? i : len) - 1;
|
||||
|
||||
/* Free what is not kept. */
|
||||
for (i = 0; i < viminfo_hisidx[type]; i++)
|
||||
vim_free(viminfo_history[type][i].hisstr);
|
||||
for (i = 0; i < hislen; i++)
|
||||
vim_free(history[type][i].hisstr);
|
||||
vim_free(history[type]);
|
||||
history[type] = new_hist;
|
||||
vim_free(tot_hist);
|
||||
}
|
||||
|
||||
/*
|
||||
* Finish reading history lines from viminfo. Not used when writing viminfo.
|
||||
*/
|
||||
void
|
||||
finish_viminfo_history(vir_T *virp)
|
||||
{
|
||||
int type;
|
||||
int merge = virp->vir_version >= VIMINFO_VERSION_WITH_HISTORY;
|
||||
|
||||
for (type = 0; type < HIST_COUNT; ++type)
|
||||
{
|
||||
if (history[type] == NULL)
|
||||
continue;
|
||||
idx = hisidx[type] + viminfo_hisidx[type];
|
||||
if (idx >= hislen)
|
||||
idx -= hislen;
|
||||
else if (idx < 0)
|
||||
idx = hislen - 1;
|
||||
if (viminfo_add_at_front)
|
||||
hisidx[type] = idx;
|
||||
|
||||
if (merge)
|
||||
merge_history(type);
|
||||
else
|
||||
{
|
||||
if (hisidx[type] == -1)
|
||||
hisidx[type] = hislen - 1;
|
||||
do
|
||||
{
|
||||
if (history[type][idx].hisstr != NULL
|
||||
|| history[type][idx].viminfo)
|
||||
break;
|
||||
if (++idx == hislen)
|
||||
idx = 0;
|
||||
} while (idx != hisidx[type]);
|
||||
if (idx != hisidx[type] && --idx < 0)
|
||||
idx = hislen - 1;
|
||||
}
|
||||
for (i = 0; i < viminfo_hisidx[type]; i++)
|
||||
{
|
||||
vim_free(history[type][idx].hisstr);
|
||||
history[type][idx].hisstr = viminfo_history[type][i];
|
||||
history[type][idx].viminfo = TRUE;
|
||||
if (--idx < 0)
|
||||
idx = hislen - 1;
|
||||
}
|
||||
idx += 1;
|
||||
idx %= hislen;
|
||||
for (i = 0; i < viminfo_hisidx[type]; i++)
|
||||
{
|
||||
history[type][idx++].hisnum = ++hisnum[type];
|
||||
idx %= hislen;
|
||||
}
|
||||
concat_history(type);
|
||||
|
||||
vim_free(viminfo_history[type]);
|
||||
viminfo_history[type] = NULL;
|
||||
viminfo_hisidx[type] = 0;
|
||||
@@ -6309,15 +6494,11 @@ finish_viminfo_history(void)
|
||||
* When "merge" is FALSE just write all history lines. Used for ":wviminfo!".
|
||||
*/
|
||||
void
|
||||
write_viminfo_history(
|
||||
FILE *fp,
|
||||
int merge)
|
||||
write_viminfo_history(FILE *fp, int merge)
|
||||
{
|
||||
int i;
|
||||
int type;
|
||||
int num_saved;
|
||||
char_u *p;
|
||||
int c;
|
||||
int round;
|
||||
|
||||
init_history();
|
||||
@@ -6333,8 +6514,9 @@ write_viminfo_history(
|
||||
fprintf(fp, _("\n# %s History (newest to oldest):\n"),
|
||||
type == HIST_CMD ? _("Command Line") :
|
||||
type == HIST_SEARCH ? _("Search String") :
|
||||
type == HIST_EXPR ? _("Expression") :
|
||||
_("Input Line"));
|
||||
type == HIST_EXPR ? _("Expression") :
|
||||
type == HIST_INPUT ? _("Input Line") :
|
||||
_("Debug Line"));
|
||||
if (num_saved > hislen)
|
||||
num_saved = hislen;
|
||||
|
||||
@@ -6358,9 +6540,23 @@ write_viminfo_history(
|
||||
while (num_saved > 0
|
||||
&& !(round == 2 && i >= viminfo_hisidx[type]))
|
||||
{
|
||||
p = round == 1 ? history[type][i].hisstr
|
||||
: viminfo_history[type] == NULL ? NULL
|
||||
: viminfo_history[type][i];
|
||||
char_u *p;
|
||||
time_t timestamp;
|
||||
int c = NUL;
|
||||
|
||||
if (round == 1)
|
||||
{
|
||||
p = history[type][i].hisstr;
|
||||
timestamp = history[type][i].time_set;
|
||||
}
|
||||
else
|
||||
{
|
||||
p = viminfo_history[type] == NULL ? NULL
|
||||
: viminfo_history[type][i].hisstr;
|
||||
timestamp = viminfo_history[type] == NULL ? 0
|
||||
: viminfo_history[type][i].time_set;
|
||||
}
|
||||
|
||||
if (p != NULL && (round == 2
|
||||
|| !merge
|
||||
|| !history[type][i].viminfo))
|
||||
@@ -6375,6 +6571,21 @@ write_viminfo_history(
|
||||
putc(c == NUL ? ' ' : c, fp);
|
||||
}
|
||||
viminfo_writestring(fp, p);
|
||||
|
||||
{
|
||||
char cbuf[NUMBUFLEN];
|
||||
|
||||
/* New style history with a bar line. Format:
|
||||
* |{bartype},{histtype},{timestamp},{separator},"text" */
|
||||
if (c == NUL)
|
||||
cbuf[0] = NUL;
|
||||
else
|
||||
sprintf(cbuf, "%d", c);
|
||||
fprintf(fp, "|%d,%d,%ld,%s,", BARTYPE_HISTORY,
|
||||
type, (long)timestamp, cbuf);
|
||||
barline_writestring(fp, p, LSIZE - 20);
|
||||
putc('\n', fp);
|
||||
}
|
||||
}
|
||||
if (round == 1)
|
||||
{
|
||||
@@ -6394,7 +6605,7 @@ write_viminfo_history(
|
||||
}
|
||||
for (i = 0; i < viminfo_hisidx[type]; ++i)
|
||||
if (viminfo_history[type] != NULL)
|
||||
vim_free(viminfo_history[type][i]);
|
||||
vim_free(viminfo_history[type][i].hisstr);
|
||||
vim_free(viminfo_history[type]);
|
||||
viminfo_history[type] = NULL;
|
||||
viminfo_hisidx[type] = 0;
|
||||
|
||||
477
src/farsi.c
477
src/farsi.c
@@ -9,10 +9,12 @@
|
||||
|
||||
/*
|
||||
* farsi.c: functions for Farsi language
|
||||
*
|
||||
* Included by main.c, when FEAT_FKMAP is defined.
|
||||
*/
|
||||
|
||||
#include "vim.h"
|
||||
|
||||
#if defined(FEAT_FKMAP) || defined(PROTO)
|
||||
|
||||
static int toF_Xor_X_(int c);
|
||||
static int F_is_TyE(int c);
|
||||
static int F_is_TyC_TyD(int c);
|
||||
@@ -35,7 +37,7 @@ static int toF_ending(int c);
|
||||
static void lrswapbuf(char_u *buf, int len);
|
||||
|
||||
/*
|
||||
** Convert the given Farsi character into a _X or _X_ type
|
||||
* Convert the given Farsi character into a _X or _X_ type
|
||||
*/
|
||||
static int
|
||||
toF_Xor_X_(int c)
|
||||
@@ -44,61 +46,35 @@ toF_Xor_X_(int c)
|
||||
|
||||
switch (c)
|
||||
{
|
||||
case BE:
|
||||
return _BE;
|
||||
case PE:
|
||||
return _PE;
|
||||
case TE:
|
||||
return _TE;
|
||||
case SE:
|
||||
return _SE;
|
||||
case JIM:
|
||||
return _JIM;
|
||||
case CHE:
|
||||
return _CHE;
|
||||
case HE_J:
|
||||
return _HE_J;
|
||||
case XE:
|
||||
return _XE;
|
||||
case SIN:
|
||||
return _SIN;
|
||||
case SHIN:
|
||||
return _SHIN;
|
||||
case SAD:
|
||||
return _SAD;
|
||||
case ZAD:
|
||||
return _ZAD;
|
||||
case AYN:
|
||||
return _AYN;
|
||||
case AYN_:
|
||||
return _AYN_;
|
||||
case GHAYN:
|
||||
return _GHAYN;
|
||||
case GHAYN_:
|
||||
return _GHAYN_;
|
||||
case FE:
|
||||
return _FE;
|
||||
case GHAF:
|
||||
return _GHAF;
|
||||
case KAF:
|
||||
return _KAF;
|
||||
case GAF:
|
||||
return _GAF;
|
||||
case LAM:
|
||||
return _LAM;
|
||||
case MIM:
|
||||
return _MIM;
|
||||
case NOON:
|
||||
return _NOON;
|
||||
case BE: return _BE;
|
||||
case PE: return _PE;
|
||||
case TE: return _TE;
|
||||
case SE: return _SE;
|
||||
case JIM: return _JIM;
|
||||
case CHE: return _CHE;
|
||||
case HE_J: return _HE_J;
|
||||
case XE: return _XE;
|
||||
case SIN: return _SIN;
|
||||
case SHIN: return _SHIN;
|
||||
case SAD: return _SAD;
|
||||
case ZAD: return _ZAD;
|
||||
case AYN: return _AYN;
|
||||
case AYN_: return _AYN_;
|
||||
case GHAYN: return _GHAYN;
|
||||
case GHAYN_: return _GHAYN_;
|
||||
case FE: return _FE;
|
||||
case GHAF: return _GHAF;
|
||||
case KAF: return _KAF;
|
||||
case GAF: return _GAF;
|
||||
case LAM: return _LAM;
|
||||
case MIM: return _MIM;
|
||||
case NOON: return _NOON;
|
||||
case YE:
|
||||
case YE_:
|
||||
return _YE;
|
||||
case YE_: return _YE;
|
||||
case YEE:
|
||||
case YEE_:
|
||||
return _YEE;
|
||||
case YEE_: return _YEE;
|
||||
case IE:
|
||||
case IE_:
|
||||
return _IE;
|
||||
case IE_: return _IE;
|
||||
case F_HE:
|
||||
tempc = _HE;
|
||||
|
||||
@@ -128,86 +104,58 @@ toF_Xor_X_(int c)
|
||||
}
|
||||
|
||||
/*
|
||||
** Convert the given Farsi character into Farsi capital character .
|
||||
* Convert the given Farsi character into Farsi capital character.
|
||||
*/
|
||||
int
|
||||
toF_TyA(int c )
|
||||
static int
|
||||
toF_TyA(int c)
|
||||
{
|
||||
switch (c)
|
||||
{
|
||||
case ALEF_:
|
||||
return ALEF;
|
||||
case ALEF_U_H_:
|
||||
return ALEF_U_H;
|
||||
case _BE:
|
||||
return BE;
|
||||
case _PE:
|
||||
return PE;
|
||||
case _TE:
|
||||
return TE;
|
||||
case _SE:
|
||||
return SE;
|
||||
case _JIM:
|
||||
return JIM;
|
||||
case _CHE:
|
||||
return CHE;
|
||||
case _HE_J:
|
||||
return HE_J;
|
||||
case _XE:
|
||||
return XE;
|
||||
case _SIN:
|
||||
return SIN;
|
||||
case _SHIN:
|
||||
return SHIN;
|
||||
case _SAD:
|
||||
return SAD;
|
||||
case _ZAD:
|
||||
return ZAD;
|
||||
case ALEF_: return ALEF;
|
||||
case ALEF_U_H_: return ALEF_U_H;
|
||||
case _BE: return BE;
|
||||
case _PE: return PE;
|
||||
case _TE: return TE;
|
||||
case _SE: return SE;
|
||||
case _JIM: return JIM;
|
||||
case _CHE: return CHE;
|
||||
case _HE_J: return HE_J;
|
||||
case _XE: return XE;
|
||||
case _SIN: return SIN;
|
||||
case _SHIN: return SHIN;
|
||||
case _SAD: return SAD;
|
||||
case _ZAD: return ZAD;
|
||||
case _AYN:
|
||||
case AYN_:
|
||||
case _AYN_:
|
||||
return AYN;
|
||||
case _AYN_: return AYN;
|
||||
case _GHAYN:
|
||||
case GHAYN_:
|
||||
case _GHAYN_:
|
||||
return GHAYN;
|
||||
case _FE:
|
||||
return FE;
|
||||
case _GHAF:
|
||||
return GHAF;
|
||||
/* I am not sure what it is !!! case _KAF_H: */
|
||||
case _KAF:
|
||||
return KAF;
|
||||
case _GAF:
|
||||
return GAF;
|
||||
case _LAM:
|
||||
return LAM;
|
||||
case _MIM:
|
||||
return MIM;
|
||||
case _NOON:
|
||||
return NOON;
|
||||
case _GHAYN_: return GHAYN;
|
||||
case _FE: return FE;
|
||||
case _GHAF: return GHAF;
|
||||
/* I am not sure what it is !!! case _KAF_H: */
|
||||
case _KAF: return KAF;
|
||||
case _GAF: return GAF;
|
||||
case _LAM: return LAM;
|
||||
case _MIM: return MIM;
|
||||
case _NOON: return NOON;
|
||||
case _YE:
|
||||
case YE_:
|
||||
return YE;
|
||||
case YE_: return YE;
|
||||
case _YEE:
|
||||
case YEE_:
|
||||
return YEE;
|
||||
case TEE_:
|
||||
return TEE;
|
||||
case YEE_: return YEE;
|
||||
case TEE_: return TEE;
|
||||
case _IE:
|
||||
case IE_:
|
||||
return IE;
|
||||
case IE_: return IE;
|
||||
case _HE:
|
||||
case _HE_:
|
||||
return F_HE;
|
||||
case _HE_: return F_HE;
|
||||
}
|
||||
return c;
|
||||
}
|
||||
|
||||
/*
|
||||
** Is the character under the cursor+offset in the given buffer a join type.
|
||||
** That is a character that is combined with the others.
|
||||
** Note: the offset is used only for command line buffer.
|
||||
* Is the character under the cursor+offset in the given buffer a join type.
|
||||
* That is a character that is combined with the others.
|
||||
* Note: the offset is used only for command line buffer.
|
||||
*/
|
||||
static int
|
||||
F_is_TyB_TyC_TyD(int src, int offset)
|
||||
@@ -258,7 +206,7 @@ F_is_TyB_TyC_TyD(int src, int offset)
|
||||
}
|
||||
|
||||
/*
|
||||
** Is the Farsi character one of the terminating only type.
|
||||
* Is the Farsi character one of the terminating only type.
|
||||
*/
|
||||
static int
|
||||
F_is_TyE(int c)
|
||||
@@ -281,7 +229,7 @@ F_is_TyE(int c)
|
||||
}
|
||||
|
||||
/*
|
||||
** Is the Farsi character one of the none leading type.
|
||||
* Is the Farsi character one of the none leading type.
|
||||
*/
|
||||
static int
|
||||
F_is_TyC_TyD(int c)
|
||||
@@ -305,7 +253,7 @@ F_is_TyC_TyD(int c)
|
||||
}
|
||||
|
||||
/*
|
||||
** Convert a none leading Farsi char into a leading type.
|
||||
* Convert a none leading Farsi char into a leading type.
|
||||
*/
|
||||
static int
|
||||
toF_TyB(int c)
|
||||
@@ -313,7 +261,7 @@ toF_TyB(int c)
|
||||
switch (c)
|
||||
{
|
||||
case ALEF_: return ALEF;
|
||||
case ALEF_U_H_: return ALEF_U_H;
|
||||
case ALEF_U_H_: return ALEF_U_H;
|
||||
case _AYN_: return _AYN;
|
||||
case AYN_: return AYN; /* exception - there are many of them */
|
||||
case _GHAYN_: return _GHAYN;
|
||||
@@ -328,7 +276,7 @@ toF_TyB(int c)
|
||||
}
|
||||
|
||||
/*
|
||||
** Overwrite the current redo and cursor characters + left adjust
|
||||
* Overwrite the current redo and cursor characters + left adjust.
|
||||
*/
|
||||
static void
|
||||
put_curr_and_l_to_X(int c)
|
||||
@@ -373,7 +321,7 @@ put_and_redo(int c)
|
||||
}
|
||||
|
||||
/*
|
||||
** Change the char. under the cursor to a X_ or X type
|
||||
* Change the char. under the cursor to a X_ or X type
|
||||
*/
|
||||
static void
|
||||
chg_c_toX_orX(void)
|
||||
@@ -497,7 +445,7 @@ chg_c_toX_orX(void)
|
||||
}
|
||||
|
||||
/*
|
||||
** Change the char. under the cursor to a _X_ or X_ type
|
||||
* Change the char. under the cursor to a _X_ or X_ type
|
||||
*/
|
||||
|
||||
static void
|
||||
@@ -549,7 +497,7 @@ chg_c_to_X_orX_(void)
|
||||
}
|
||||
|
||||
/*
|
||||
** Change the char. under the cursor to a _X_ or _X type
|
||||
* Change the char. under the cursor to a _X_ or _X type
|
||||
*/
|
||||
static void
|
||||
chg_c_to_X_or_X (void)
|
||||
@@ -580,10 +528,10 @@ chg_c_to_X_or_X (void)
|
||||
}
|
||||
|
||||
/*
|
||||
** Change the character left to the cursor to a _X_ or X_ type
|
||||
* Change the character left to the cursor to a _X_ or X_ type
|
||||
*/
|
||||
static void
|
||||
chg_l_to_X_orX_ (void)
|
||||
chg_l_to_X_orX_(void)
|
||||
{
|
||||
int tempc;
|
||||
|
||||
@@ -648,7 +596,7 @@ chg_l_to_X_orX_ (void)
|
||||
}
|
||||
|
||||
/*
|
||||
** Change the character left to the cursor to a X or _X type
|
||||
* Change the character left to the cursor to a X or _X type
|
||||
*/
|
||||
|
||||
static void
|
||||
@@ -717,7 +665,7 @@ chg_l_toXor_X (void)
|
||||
}
|
||||
|
||||
/*
|
||||
** Change the character right to the cursor to a _X or _X_ type
|
||||
* Change the character right to the cursor to a _X or _X_ type
|
||||
*/
|
||||
|
||||
static void
|
||||
@@ -742,7 +690,7 @@ chg_r_to_Xor_X_(void)
|
||||
}
|
||||
|
||||
/*
|
||||
** Map Farsi keyboard when in fkmap mode.
|
||||
* Map Farsi keyboard when in fkmap mode.
|
||||
*/
|
||||
|
||||
int
|
||||
@@ -899,8 +847,8 @@ fkmap(int c)
|
||||
if (p_ri && c == NL && curwin->w_cursor.col)
|
||||
{
|
||||
/*
|
||||
** If the char before the cursor is _X_ or X_ do not change
|
||||
** the one under the cursor with X type.
|
||||
* If the char before the cursor is _X_ or X_ do not change
|
||||
* the one under the cursor with X type.
|
||||
*/
|
||||
|
||||
dec_cursor();
|
||||
@@ -914,8 +862,7 @@ fkmap(int c)
|
||||
inc_cursor();
|
||||
}
|
||||
|
||||
if (!p_ri)
|
||||
if (!curwin->w_cursor.col)
|
||||
if (!p_ri && !curwin->w_cursor.col)
|
||||
{
|
||||
switch (c)
|
||||
{
|
||||
@@ -1154,43 +1101,42 @@ fkmap(int c)
|
||||
|
||||
case 'a':
|
||||
tempc = _SHIN;
|
||||
break;
|
||||
break;
|
||||
case 'A':
|
||||
tempc = WAW_H;
|
||||
break;
|
||||
break;
|
||||
case 'b':
|
||||
tempc = ZAL;
|
||||
break;
|
||||
break;
|
||||
case 'c':
|
||||
tempc = ZE;
|
||||
break;
|
||||
break;
|
||||
case 'C':
|
||||
tempc = JE;
|
||||
break;
|
||||
break;
|
||||
case 'd':
|
||||
tempc = _YE;
|
||||
break;
|
||||
break;
|
||||
case 'D':
|
||||
tempc = _YEE;
|
||||
break;
|
||||
break;
|
||||
case 'e':
|
||||
tempc = _SE;
|
||||
break;
|
||||
break;
|
||||
case 'f':
|
||||
tempc = _BE;
|
||||
break;
|
||||
break;
|
||||
case 'g':
|
||||
tempc = _LAM;
|
||||
break;
|
||||
break;
|
||||
case 'G':
|
||||
if (!curwin->w_cursor.col && STRLEN(ml_get_curline()))
|
||||
{
|
||||
{
|
||||
|
||||
if (gchar_cursor() == _LAM)
|
||||
chg_c_toX_orX ();
|
||||
else
|
||||
if (p_ri)
|
||||
chg_c_to_X_or_X ();
|
||||
else if (p_ri)
|
||||
chg_c_to_X_or_X ();
|
||||
}
|
||||
|
||||
if (!p_ri)
|
||||
@@ -1204,16 +1150,15 @@ fkmap(int c)
|
||||
{
|
||||
chg_c_toX_orX ();
|
||||
chg_l_toXor_X ();
|
||||
tempc = ALEF_U_H;
|
||||
tempc = ALEF_U_H;
|
||||
}
|
||||
else if (F_is_TyB_TyC_TyD(SRC_EDT, AT_CURSOR))
|
||||
{
|
||||
tempc = ALEF_U_H_;
|
||||
chg_l_toXor_X ();
|
||||
}
|
||||
else
|
||||
if (F_is_TyB_TyC_TyD(SRC_EDT, AT_CURSOR))
|
||||
{
|
||||
tempc = ALEF_U_H_;
|
||||
chg_l_toXor_X ();
|
||||
}
|
||||
else
|
||||
tempc = ALEF_U_H;
|
||||
tempc = ALEF_U_H;
|
||||
|
||||
if (!p_ri)
|
||||
inc_cursor();
|
||||
@@ -1249,11 +1194,11 @@ fkmap(int c)
|
||||
{
|
||||
if (F_is_TyB_TyC_TyD(SRC_EDT, AT_CURSOR))
|
||||
{
|
||||
tempc = ALEF_;
|
||||
tempc = ALEF_;
|
||||
chg_l_toXor_X ();
|
||||
}
|
||||
else
|
||||
tempc = ALEF;
|
||||
tempc = ALEF;
|
||||
}
|
||||
|
||||
if (!p_ri)
|
||||
@@ -1261,8 +1206,8 @@ fkmap(int c)
|
||||
|
||||
return tempc;
|
||||
case 'i':
|
||||
if (!curwin->w_cursor.col && STRLEN(ml_get_curline()))
|
||||
{
|
||||
if (!curwin->w_cursor.col && STRLEN(ml_get_curline()))
|
||||
{
|
||||
if (!p_ri && !F_is_TyE(tempc))
|
||||
chg_c_to_X_orX_ ();
|
||||
if (p_ri)
|
||||
@@ -1277,9 +1222,9 @@ fkmap(int c)
|
||||
dec_cursor();
|
||||
|
||||
if (F_is_TyB_TyC_TyD(SRC_EDT, AT_CURSOR))
|
||||
tempc = _HE_;
|
||||
tempc = _HE_;
|
||||
else
|
||||
tempc = _HE;
|
||||
tempc = _HE;
|
||||
|
||||
if (!p_ri)
|
||||
inc_cursor();
|
||||
@@ -1289,7 +1234,7 @@ fkmap(int c)
|
||||
break;
|
||||
case 'J':
|
||||
if (!curwin->w_cursor.col && STRLEN(ml_get_curline()))
|
||||
{
|
||||
{
|
||||
if (p_ri)
|
||||
chg_c_to_X_or_X ();
|
||||
|
||||
@@ -1304,11 +1249,11 @@ fkmap(int c)
|
||||
|
||||
if (F_is_TyB_TyC_TyD(SRC_EDT, AT_CURSOR))
|
||||
{
|
||||
tempc = TEE_;
|
||||
tempc = TEE_;
|
||||
chg_l_toXor_X ();
|
||||
}
|
||||
else
|
||||
tempc = TEE;
|
||||
tempc = TEE;
|
||||
|
||||
if (!p_ri)
|
||||
inc_cursor();
|
||||
@@ -1385,7 +1330,7 @@ fkmap(int c)
|
||||
break;
|
||||
case 'y':
|
||||
if (!curwin->w_cursor.col && STRLEN(ml_get_curline()))
|
||||
{
|
||||
{
|
||||
if (!p_ri && !F_is_TyE(tempc))
|
||||
chg_c_to_X_orX_ ();
|
||||
if (p_ri)
|
||||
@@ -1434,7 +1379,7 @@ fkmap(int c)
|
||||
if ((F_isalpha(tempc) || F_isdigit(tempc)))
|
||||
{
|
||||
if (!curwin->w_cursor.col && STRLEN(ml_get_curline()))
|
||||
{
|
||||
{
|
||||
if (!p_ri && !F_is_TyE(tempc))
|
||||
chg_c_to_X_orX_ ();
|
||||
if (p_ri)
|
||||
@@ -1461,7 +1406,7 @@ fkmap(int c)
|
||||
}
|
||||
|
||||
/*
|
||||
** Convert a none leading Farsi char into a leading type.
|
||||
* Convert a none leading Farsi char into a leading type.
|
||||
*/
|
||||
static int
|
||||
toF_leading(int c)
|
||||
@@ -1515,7 +1460,7 @@ toF_leading(int c)
|
||||
}
|
||||
|
||||
/*
|
||||
** Convert a given Farsi char into right joining type.
|
||||
* Convert a given Farsi char into right joining type.
|
||||
*/
|
||||
static int
|
||||
toF_Rjoin(int c)
|
||||
@@ -1571,7 +1516,7 @@ toF_Rjoin(int c)
|
||||
}
|
||||
|
||||
/*
|
||||
** Can a given Farsi character join via its left edj.
|
||||
* Can a given Farsi character join via its left edj.
|
||||
*/
|
||||
static int
|
||||
canF_Ljoin(int c)
|
||||
@@ -1645,7 +1590,7 @@ canF_Ljoin(int c)
|
||||
}
|
||||
|
||||
/*
|
||||
** Can a given Farsi character join via its right edj.
|
||||
* Can a given Farsi character join via its right edj.
|
||||
*/
|
||||
static int
|
||||
canF_Rjoin(int c)
|
||||
@@ -1673,7 +1618,7 @@ canF_Rjoin(int c)
|
||||
}
|
||||
|
||||
/*
|
||||
** is a given Farsi character a terminating type.
|
||||
* is a given Farsi character a terminating type.
|
||||
*/
|
||||
static int
|
||||
F_isterm(int c)
|
||||
@@ -1700,86 +1645,54 @@ F_isterm(int c)
|
||||
}
|
||||
|
||||
/*
|
||||
** Convert the given Farsi character into a ending type .
|
||||
* Convert the given Farsi character into a ending type .
|
||||
*/
|
||||
static int
|
||||
toF_ending(int c)
|
||||
{
|
||||
|
||||
switch (c)
|
||||
{
|
||||
case _BE:
|
||||
return BE;
|
||||
case _PE:
|
||||
return PE;
|
||||
case _TE:
|
||||
return TE;
|
||||
case _SE:
|
||||
return SE;
|
||||
case _JIM:
|
||||
return JIM;
|
||||
case _CHE:
|
||||
return CHE;
|
||||
case _HE_J:
|
||||
return HE_J;
|
||||
case _XE:
|
||||
return XE;
|
||||
case _SIN:
|
||||
return SIN;
|
||||
case _SHIN:
|
||||
return SHIN;
|
||||
case _SAD:
|
||||
return SAD;
|
||||
case _ZAD:
|
||||
return ZAD;
|
||||
case _AYN:
|
||||
return AYN;
|
||||
case _AYN_:
|
||||
return AYN_;
|
||||
case _GHAYN:
|
||||
return GHAYN;
|
||||
case _GHAYN_:
|
||||
return GHAYN_;
|
||||
case _FE:
|
||||
return FE;
|
||||
case _GHAF:
|
||||
return GHAF;
|
||||
case _BE: return BE;
|
||||
case _PE: return PE;
|
||||
case _TE: return TE;
|
||||
case _SE: return SE;
|
||||
case _JIM: return JIM;
|
||||
case _CHE: return CHE;
|
||||
case _HE_J: return HE_J;
|
||||
case _XE: return XE;
|
||||
case _SIN: return SIN;
|
||||
case _SHIN: return SHIN;
|
||||
case _SAD: return SAD;
|
||||
case _ZAD: return ZAD;
|
||||
case _AYN: return AYN;
|
||||
case _AYN_: return AYN_;
|
||||
case _GHAYN: return GHAYN;
|
||||
case _GHAYN_: return GHAYN_;
|
||||
case _FE: return FE;
|
||||
case _GHAF: return GHAF;
|
||||
case _KAF_H:
|
||||
case _KAF:
|
||||
return KAF;
|
||||
case _GAF:
|
||||
return GAF;
|
||||
case _LAM:
|
||||
return LAM;
|
||||
case _MIM:
|
||||
return MIM;
|
||||
case _NOON:
|
||||
return NOON;
|
||||
case _YE:
|
||||
return YE_;
|
||||
case YE_:
|
||||
return YE;
|
||||
case _YEE:
|
||||
return YEE_;
|
||||
case YEE_:
|
||||
return YEE;
|
||||
case TEE:
|
||||
return TEE_;
|
||||
case _IE:
|
||||
return IE_;
|
||||
case IE_:
|
||||
return IE;
|
||||
case _KAF: return KAF;
|
||||
case _GAF: return GAF;
|
||||
case _LAM: return LAM;
|
||||
case _MIM: return MIM;
|
||||
case _NOON: return NOON;
|
||||
case _YE: return YE_;
|
||||
case YE_: return YE;
|
||||
case _YEE: return YEE_;
|
||||
case YEE_: return YEE;
|
||||
case TEE: return TEE_;
|
||||
case _IE: return IE_;
|
||||
case IE_: return IE;
|
||||
case _HE:
|
||||
case _HE_:
|
||||
return F_HE;
|
||||
case _HE_: return F_HE;
|
||||
}
|
||||
return c;
|
||||
}
|
||||
|
||||
/*
|
||||
** Convert the Farsi 3342 standard into Farsi VIM.
|
||||
* Convert the Farsi 3342 standard into Farsi VIM.
|
||||
*/
|
||||
void
|
||||
static void
|
||||
conv_to_pvim(void)
|
||||
{
|
||||
char_u *ptr;
|
||||
@@ -1791,7 +1704,7 @@ conv_to_pvim(void)
|
||||
|
||||
llen = (int)STRLEN(ptr);
|
||||
|
||||
for ( i = 0; i < llen-1; i++)
|
||||
for (i = 0; i < llen-1; i++)
|
||||
{
|
||||
if (canF_Ljoin(ptr[i]) && canF_Rjoin(ptr[i+1]))
|
||||
{
|
||||
@@ -1817,8 +1730,8 @@ conv_to_pvim(void)
|
||||
* Following lines contains Farsi encoded character.
|
||||
*/
|
||||
|
||||
do_cmdline_cmd((char_u *)"%s/\202\231/\232/g");
|
||||
do_cmdline_cmd((char_u *)"%s/\201\231/\370\334/g");
|
||||
do_cmdline_cmd((char_u *)"%s/\202\231/\232/ge");
|
||||
do_cmdline_cmd((char_u *)"%s/\201\231/\370\334/ge");
|
||||
|
||||
/* Assume the screen has been messed up: clear it and redraw. */
|
||||
redraw_later(CLEAR);
|
||||
@@ -1828,7 +1741,7 @@ conv_to_pvim(void)
|
||||
/*
|
||||
* Convert the Farsi VIM into Farsi 3342 standard.
|
||||
*/
|
||||
void
|
||||
static void
|
||||
conv_to_pstd(void)
|
||||
{
|
||||
char_u *ptr;
|
||||
@@ -1837,20 +1750,15 @@ conv_to_pstd(void)
|
||||
/*
|
||||
* Following line contains Farsi encoded character.
|
||||
*/
|
||||
|
||||
do_cmdline_cmd((char_u *)"%s/\232/\202\231/g");
|
||||
do_cmdline_cmd((char_u *)"%s/\232/\202\231/ge");
|
||||
|
||||
for (lnum = 1; lnum <= curbuf->b_ml.ml_line_count; ++lnum)
|
||||
{
|
||||
ptr = ml_get((linenr_T)lnum);
|
||||
|
||||
llen = (int)STRLEN(ptr);
|
||||
|
||||
for ( i = 0; i < llen; i++)
|
||||
{
|
||||
for (i = 0; i < llen; i++)
|
||||
ptr[i] = toF_TyA(ptr[i]);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/* Assume the screen has been messed up: clear it and redraw. */
|
||||
@@ -2148,7 +2056,7 @@ cmdl_fkmap(int c)
|
||||
case 'f': return _BE;
|
||||
case 'g': return _LAM;
|
||||
case 'G':
|
||||
if (cmd_gchar(AT_CURSOR) == _LAM )
|
||||
if (cmd_gchar(AT_CURSOR) == _LAM)
|
||||
{
|
||||
cmd_pchar(LAM, AT_CURSOR);
|
||||
return ALEF_U_H;
|
||||
@@ -2159,7 +2067,7 @@ cmdl_fkmap(int c)
|
||||
else
|
||||
return ALEF_U_H;
|
||||
case 'h':
|
||||
if (cmd_gchar(AT_CURSOR) == _LAM )
|
||||
if (cmd_gchar(AT_CURSOR) == _LAM)
|
||||
{
|
||||
cmd_pchar(LA, AT_CURSOR);
|
||||
redrawcmdline();
|
||||
@@ -2215,9 +2123,9 @@ cmdl_fkmap(int c)
|
||||
case ',': return WAW;
|
||||
case '[': return _JIM;
|
||||
case ']': return _CHE;
|
||||
}
|
||||
}
|
||||
|
||||
return c;
|
||||
return c;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -2226,7 +2134,7 @@ cmdl_fkmap(int c)
|
||||
int
|
||||
F_isalpha(int c)
|
||||
{
|
||||
return (( c >= TEE_ && c <= _YE)
|
||||
return ((c >= TEE_ && c <= _YE)
|
||||
|| (c >= ALEF_A && c <= YE)
|
||||
|| (c >= _IE && c <= YE_));
|
||||
}
|
||||
@@ -2246,45 +2154,42 @@ F_isdigit(int c)
|
||||
int
|
||||
F_ischar(int c)
|
||||
{
|
||||
return (c >= TEE_ && c <= YE_);
|
||||
return (c >= TEE_ && c <= YE_);
|
||||
}
|
||||
|
||||
void
|
||||
farsi_fkey(
|
||||
cmdarg_T *cap)
|
||||
farsi_f8(cmdarg_T *cap UNUSED)
|
||||
{
|
||||
int c = cap->cmdchar;
|
||||
|
||||
if (c == K_F8)
|
||||
if (p_altkeymap)
|
||||
{
|
||||
if (p_altkeymap)
|
||||
if (curwin->w_farsi & W_R_L)
|
||||
{
|
||||
if (curwin->w_farsi & W_R_L)
|
||||
{
|
||||
p_fkmap = 0;
|
||||
do_cmdline_cmd((char_u *)"set norl");
|
||||
MSG("");
|
||||
}
|
||||
else
|
||||
{
|
||||
p_fkmap = 1;
|
||||
do_cmdline_cmd((char_u *)"set rl");
|
||||
MSG("");
|
||||
}
|
||||
|
||||
curwin->w_farsi = curwin->w_farsi ^ W_R_L;
|
||||
p_fkmap = 0;
|
||||
do_cmdline_cmd((char_u *)"set norl");
|
||||
MSG("");
|
||||
}
|
||||
}
|
||||
|
||||
if (c == K_F9)
|
||||
{
|
||||
if (p_altkeymap && curwin->w_p_rl)
|
||||
else
|
||||
{
|
||||
curwin->w_farsi = curwin->w_farsi ^ W_CONV;
|
||||
if (curwin->w_farsi & W_CONV)
|
||||
conv_to_pvim();
|
||||
else
|
||||
conv_to_pstd();
|
||||
p_fkmap = 1;
|
||||
do_cmdline_cmd((char_u *)"set rl");
|
||||
MSG("");
|
||||
}
|
||||
|
||||
curwin->w_farsi = curwin->w_farsi ^ W_R_L;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
farsi_f9(cmdarg_T *cap UNUSED)
|
||||
{
|
||||
if (p_altkeymap && curwin->w_p_rl)
|
||||
{
|
||||
curwin->w_farsi = curwin->w_farsi ^ W_CONV;
|
||||
if (curwin->w_farsi & W_CONV)
|
||||
conv_to_pvim();
|
||||
else
|
||||
conv_to_pstd();
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* FEAT_FKMAP */
|
||||
|
||||
@@ -362,12 +362,16 @@
|
||||
* +eval Built-in script language and expression evaluation,
|
||||
* ":let", ":if", etc.
|
||||
* +float Floating point variables.
|
||||
* +num64 64-bit Number.
|
||||
*/
|
||||
#ifdef FEAT_NORMAL
|
||||
# define FEAT_EVAL
|
||||
# if defined(HAVE_FLOAT_FUNCS) || defined(WIN3264) || defined(MACOS)
|
||||
# define FEAT_FLOAT
|
||||
# endif
|
||||
# if defined(HAVE_STDINT_H) || defined(WIN3264) || (VIM_SIZEOF_LONG >= 8)
|
||||
# define FEAT_NUM64
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
@@ -814,6 +818,13 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* +termguicolors 'termguicolors' option.
|
||||
*/
|
||||
#if (defined(FEAT_BIG) && defined(FEAT_SYN_HL)) && !defined(ALWAYS_USE_GUI)
|
||||
# define FEAT_TERMGUICOLORS
|
||||
#endif
|
||||
|
||||
/* Mac specific thing: Codewarrior interface. */
|
||||
#ifdef FEAT_GUI_MAC
|
||||
# define FEAT_CW_EDITOR
|
||||
|
||||
106
src/fileio.c
106
src/fileio.c
@@ -41,7 +41,7 @@ static char_u *readfile_charconvert(char_u *fname, char_u *fenc, int *fdp);
|
||||
static void check_marks_read(void);
|
||||
#endif
|
||||
#ifdef FEAT_CRYPT
|
||||
static char_u *check_for_cryptkey(char_u *cryptkey, char_u *ptr, long *sizep, off_t *filesizep, int newfile, char_u *fname, int *did_ask);
|
||||
static char_u *check_for_cryptkey(char_u *cryptkey, char_u *ptr, long *sizep, off_T *filesizep, int newfile, char_u *fname, int *did_ask);
|
||||
#endif
|
||||
#ifdef UNIX
|
||||
static void set_file_time(char_u *fname, time_t atime, time_t mtime);
|
||||
@@ -49,7 +49,7 @@ static void set_file_time(char_u *fname, time_t atime, time_t mtime);
|
||||
static int set_rw_fname(char_u *fname, char_u *sfname);
|
||||
static int msg_add_fileformat(int eol_type);
|
||||
static void msg_add_eol(void);
|
||||
static int check_mtime(buf_T *buf, struct stat *s);
|
||||
static int check_mtime(buf_T *buf, stat_T *s);
|
||||
static int time_differs(long t1, long t2);
|
||||
#ifdef FEAT_AUTOCMD
|
||||
static int apply_autocmds_exarg(event_T event, char_u *fname, char_u *fname_io, int force, buf_T *buf, exarg_T *eap);
|
||||
@@ -245,7 +245,7 @@ readfile(
|
||||
colnr_T len;
|
||||
long size = 0;
|
||||
char_u *p;
|
||||
off_t filesize = 0;
|
||||
off_T filesize = 0;
|
||||
int skip_read = FALSE;
|
||||
#ifdef FEAT_CRYPT
|
||||
char_u *cryptkey = NULL;
|
||||
@@ -269,7 +269,7 @@ readfile(
|
||||
#endif
|
||||
int fileformat = 0; /* end-of-line format */
|
||||
int keep_fileformat = FALSE;
|
||||
struct stat st;
|
||||
stat_T st;
|
||||
int file_readonly;
|
||||
linenr_T skip_count = 0;
|
||||
linenr_T read_count = 0;
|
||||
@@ -885,7 +885,7 @@ readfile(
|
||||
/* Read the first line (and a bit more). Immediately rewind to
|
||||
* the start of the file. If the read() fails "len" is -1. */
|
||||
len = read_eintr(fd, firstline, 80);
|
||||
lseek(fd, (off_t)0L, SEEK_SET);
|
||||
vim_lseek(fd, (off_T)0L, SEEK_SET);
|
||||
for (p = firstline; p < firstline + len; ++p)
|
||||
if (*p >= 0x80)
|
||||
{
|
||||
@@ -949,7 +949,7 @@ retry:
|
||||
read_buf_lnum = 1;
|
||||
read_buf_col = 0;
|
||||
}
|
||||
else if (read_stdin || lseek(fd, (off_t)0L, SEEK_SET) != 0)
|
||||
else if (read_stdin || vim_lseek(fd, (off_T)0L, SEEK_SET) != 0)
|
||||
{
|
||||
/* Can't rewind the file, give up. */
|
||||
error = TRUE;
|
||||
@@ -2253,7 +2253,8 @@ rewind_retry:
|
||||
if ( try_unix
|
||||
&& !read_stdin
|
||||
&& (read_buffer
|
||||
|| lseek(fd, (off_t)0L, SEEK_SET) == 0))
|
||||
|| vim_lseek(fd, (off_T)0L, SEEK_SET)
|
||||
== 0))
|
||||
{
|
||||
fileformat = EOL_UNIX;
|
||||
if (set_options)
|
||||
@@ -2958,7 +2959,7 @@ check_for_cryptkey(
|
||||
char_u *cryptkey, /* previous encryption key or NULL */
|
||||
char_u *ptr, /* pointer to read bytes */
|
||||
long *sizep, /* length of read bytes */
|
||||
off_t *filesizep, /* nr of bytes used from file */
|
||||
off_T *filesizep, /* nr of bytes used from file */
|
||||
int newfile, /* editing a new buffer */
|
||||
char_u *fname, /* file name to display */
|
||||
int *did_ask) /* flag: whether already asked for key */
|
||||
@@ -3145,7 +3146,7 @@ buf_write(
|
||||
int overwriting; /* TRUE if writing over original */
|
||||
int no_eol = FALSE; /* no end-of-line written */
|
||||
int device = FALSE; /* writing to a device */
|
||||
struct stat st_old;
|
||||
stat_T st_old;
|
||||
int prev_got_int = got_int;
|
||||
int file_readonly = FALSE; /* overwritten file is read-only */
|
||||
static char *err_readonly = "is read-only (cannot override: \"W\" in 'cpoptions')";
|
||||
@@ -3674,7 +3675,7 @@ buf_write(
|
||||
if (!(append && *p_pm == NUL) && !filtering && perm >= 0 && dobackup)
|
||||
{
|
||||
#if defined(UNIX) || defined(WIN32)
|
||||
struct stat st;
|
||||
stat_T st;
|
||||
#endif
|
||||
|
||||
if ((bkc & BKC_YES) || append) /* "yes" */
|
||||
@@ -3813,7 +3814,7 @@ buf_write(
|
||||
int bfd;
|
||||
char_u *copybuf, *wp;
|
||||
int some_error = FALSE;
|
||||
struct stat st_new;
|
||||
stat_T st_new;
|
||||
char_u *dirp;
|
||||
char_u *rootname;
|
||||
#if defined(UNIX)
|
||||
@@ -4343,7 +4344,7 @@ buf_write(
|
||||
if (errmsg == NULL)
|
||||
{
|
||||
#ifdef UNIX
|
||||
struct stat st;
|
||||
stat_T st;
|
||||
|
||||
/* Don't delete the file when it's a hard or symbolic link. */
|
||||
if ((!newfile && st_old.st_nlink > 1)
|
||||
@@ -4376,7 +4377,7 @@ buf_write(
|
||||
|
||||
restore_backup:
|
||||
{
|
||||
struct stat st;
|
||||
stat_T st;
|
||||
|
||||
/*
|
||||
* If we failed to open the file, we don't need a backup. Throw it
|
||||
@@ -4673,7 +4674,7 @@ restore_backup:
|
||||
if (backup != NULL && !backup_copy)
|
||||
{
|
||||
# ifdef HAVE_FCHOWN
|
||||
struct stat st;
|
||||
stat_T st;
|
||||
|
||||
/* don't change the owner when it's already OK, some systems remove
|
||||
* permission or ACL stuff */
|
||||
@@ -4929,7 +4930,7 @@ restore_backup:
|
||||
|
||||
if (backup != NULL)
|
||||
{
|
||||
struct stat st;
|
||||
stat_T st;
|
||||
|
||||
/*
|
||||
* If the original file does not exist yet
|
||||
@@ -5162,7 +5163,7 @@ set_rw_fname(char_u *fname, char_u *sfname)
|
||||
if (*curbuf->b_p_ft == NUL)
|
||||
{
|
||||
if (au_has_group((char_u *)"filetypedetect"))
|
||||
(void)do_doautocmd((char_u *)"filetypedetect BufRead", FALSE);
|
||||
(void)do_doautocmd((char_u *)"filetypedetect BufRead", FALSE, NULL);
|
||||
do_modelines(0);
|
||||
}
|
||||
#endif
|
||||
@@ -5221,7 +5222,7 @@ msg_add_fileformat(int eol_type)
|
||||
msg_add_lines(
|
||||
int insert_space,
|
||||
long lnum,
|
||||
off_t nchars)
|
||||
off_T nchars)
|
||||
{
|
||||
char_u *p;
|
||||
|
||||
@@ -5230,14 +5231,8 @@ msg_add_lines(
|
||||
if (insert_space)
|
||||
*p++ = ' ';
|
||||
if (shortmess(SHM_LINES))
|
||||
sprintf((char *)p,
|
||||
#ifdef LONG_LONG_OFF_T
|
||||
"%ldL, %lldC", lnum, (long long)nchars
|
||||
#else
|
||||
/* Explicit typecast avoids warning on Mac OS X 10.6 */
|
||||
"%ldL, %ldC", lnum, (long)nchars
|
||||
#endif
|
||||
);
|
||||
vim_snprintf((char *)p, IOSIZE - (p - IObuff),
|
||||
"%ldL, %lldC", lnum, (varnumber_T)nchars);
|
||||
else
|
||||
{
|
||||
if (lnum == 1)
|
||||
@@ -5248,14 +5243,8 @@ msg_add_lines(
|
||||
if (nchars == 1)
|
||||
STRCPY(p, _("1 character"));
|
||||
else
|
||||
sprintf((char *)p,
|
||||
#ifdef LONG_LONG_OFF_T
|
||||
_("%lld characters"), (long long)nchars
|
||||
#else
|
||||
/* Explicit typecast avoids warning on Mac OS X 10.6 */
|
||||
_("%ld characters"), (long)nchars
|
||||
#endif
|
||||
);
|
||||
vim_snprintf((char *)p, IOSIZE - (p - IObuff),
|
||||
_("%lld characters"), (varnumber_T)nchars);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5274,7 +5263,7 @@ msg_add_eol(void)
|
||||
* using the same timestamp but can't set the size.
|
||||
*/
|
||||
static int
|
||||
check_mtime(buf_T *buf, struct stat *st)
|
||||
check_mtime(buf_T *buf, stat_T *st)
|
||||
{
|
||||
if (buf->b_mtime_read != 0
|
||||
&& time_differs((long)st->st_mtime, buf->b_mtime_read))
|
||||
@@ -6441,7 +6430,7 @@ vim_rename(char_u *from, char_u *to)
|
||||
#ifdef AMIGA
|
||||
BPTR flock;
|
||||
#endif
|
||||
struct stat st;
|
||||
stat_T st;
|
||||
long perm;
|
||||
#ifdef HAVE_ACL
|
||||
vim_acl_T acl; /* ACL from original file */
|
||||
@@ -6469,7 +6458,7 @@ vim_rename(char_u *from, char_u *to)
|
||||
|
||||
#ifdef UNIX
|
||||
{
|
||||
struct stat st_to;
|
||||
stat_T st_to;
|
||||
|
||||
/* It's possible for the source and destination to be the same file.
|
||||
* This happens when "from" and "to" differ in case and are on a FAT32
|
||||
@@ -6768,7 +6757,7 @@ buf_check_timestamp(
|
||||
buf_T *buf,
|
||||
int focus UNUSED) /* called for GUI focus event */
|
||||
{
|
||||
struct stat st;
|
||||
stat_T st;
|
||||
int stat_res;
|
||||
int retval = 0;
|
||||
char_u *path;
|
||||
@@ -6780,7 +6769,7 @@ buf_check_timestamp(
|
||||
#if defined(FEAT_CON_DIALOG) || defined(FEAT_GUI_DIALOG)
|
||||
int can_reload = FALSE;
|
||||
#endif
|
||||
off_t orig_size = buf->b_orig_size;
|
||||
off_T orig_size = buf->b_orig_size;
|
||||
int orig_mode = buf->b_orig_mode;
|
||||
#ifdef FEAT_GUI
|
||||
int save_mouse_correct = need_mouse_correct;
|
||||
@@ -7209,7 +7198,7 @@ buf_reload(buf_T *buf, int orig_mode)
|
||||
}
|
||||
|
||||
void
|
||||
buf_store_time(buf_T *buf, struct stat *st, char_u *fname UNUSED)
|
||||
buf_store_time(buf_T *buf, stat_T *st, char_u *fname UNUSED)
|
||||
{
|
||||
buf->b_mtime = (long)st->st_mtime;
|
||||
buf->b_orig_size = st->st_size;
|
||||
@@ -7328,8 +7317,8 @@ vim_settempdir(char_u *tempdir)
|
||||
/*
|
||||
* vim_tempname(): Return a unique name that can be used for a temp file.
|
||||
*
|
||||
* The temp file is NOT garanteed to be created. If "keep" is FALSE it is
|
||||
* garanteed to NOT be created.
|
||||
* The temp file is NOT guaranteed to be created. If "keep" is FALSE it is
|
||||
* guaranteed to NOT be created.
|
||||
*
|
||||
* The returned pointer is to allocated memory.
|
||||
* The returned pointer is NULL if no valid name was found.
|
||||
@@ -7349,7 +7338,7 @@ vim_tempname(
|
||||
static char *(tempdirs[]) = {TEMPDIRNAMES};
|
||||
int i;
|
||||
# ifndef EEXIST
|
||||
struct stat st;
|
||||
stat_T st;
|
||||
# endif
|
||||
|
||||
/*
|
||||
@@ -7389,10 +7378,20 @@ vim_tempname(
|
||||
add_pathsep(itmp);
|
||||
|
||||
# ifdef HAVE_MKDTEMP
|
||||
/* Leave room for filename */
|
||||
STRCAT(itmp, "vXXXXXX");
|
||||
if (mkdtemp((char *)itmp) != NULL)
|
||||
vim_settempdir(itmp);
|
||||
{
|
||||
# if defined(UNIX) || defined(VMS)
|
||||
/* Make sure the umask doesn't remove the executable bit.
|
||||
* "repl" has been reported to use "177". */
|
||||
mode_t umask_save = umask(077);
|
||||
# endif
|
||||
/* Leave room for filename */
|
||||
STRCAT(itmp, "vXXXXXX");
|
||||
if (mkdtemp((char *)itmp) != NULL)
|
||||
vim_settempdir(itmp);
|
||||
# if defined(UNIX) || defined(VMS)
|
||||
(void)umask(umask_save);
|
||||
# endif
|
||||
}
|
||||
# else
|
||||
/* Get an arbitrary number of up to 6 digits. When it's
|
||||
* unlikely that it already exists it will be faster,
|
||||
@@ -8678,12 +8677,16 @@ do_autocmd_event(
|
||||
int
|
||||
do_doautocmd(
|
||||
char_u *arg,
|
||||
int do_msg) /* give message for no matching autocmds? */
|
||||
int do_msg, /* give message for no matching autocmds? */
|
||||
int *did_something)
|
||||
{
|
||||
char_u *fname;
|
||||
int nothing_done = TRUE;
|
||||
int group;
|
||||
|
||||
if (did_something != NULL)
|
||||
*did_something = FALSE;
|
||||
|
||||
/*
|
||||
* Check for a legal group name. If not, use AUGROUP_ALL.
|
||||
*/
|
||||
@@ -8717,6 +8720,8 @@ do_doautocmd(
|
||||
|
||||
if (nothing_done && do_msg)
|
||||
MSG(_("No matching autocommands"));
|
||||
if (did_something != NULL)
|
||||
*did_something = !nothing_done;
|
||||
|
||||
#ifdef FEAT_EVAL
|
||||
return aborting() ? FAIL : OK;
|
||||
@@ -8736,6 +8741,7 @@ ex_doautoall(exarg_T *eap)
|
||||
buf_T *buf;
|
||||
char_u *arg = eap->arg;
|
||||
int call_do_modelines = check_nomodeline(&arg);
|
||||
int did_aucmd;
|
||||
|
||||
/*
|
||||
* This is a bit tricky: For some commands curwin->w_buffer needs to be
|
||||
@@ -8752,9 +8758,9 @@ ex_doautoall(exarg_T *eap)
|
||||
aucmd_prepbuf(&aco, buf);
|
||||
|
||||
/* execute the autocommands for this buffer */
|
||||
retval = do_doautocmd(arg, FALSE);
|
||||
retval = do_doautocmd(arg, FALSE, &did_aucmd);
|
||||
|
||||
if (call_do_modelines)
|
||||
if (call_do_modelines && did_aucmd)
|
||||
{
|
||||
/* Execute the modeline settings, but don't set window-local
|
||||
* options if we are using the current window for another
|
||||
@@ -9457,7 +9463,7 @@ apply_autocmds_group(
|
||||
|
||||
#ifdef FEAT_EVAL
|
||||
/* set v:cmdarg (only when there is a matching pattern) */
|
||||
save_cmdbang = get_vim_var_nr(VV_CMDBANG);
|
||||
save_cmdbang = (long)get_vim_var_nr(VV_CMDBANG);
|
||||
if (eap != NULL)
|
||||
{
|
||||
save_cmdarg = set_cmdarg(eap, NULL);
|
||||
|
||||
@@ -153,7 +153,7 @@ hasFoldingWin(
|
||||
int use_level = FALSE;
|
||||
int maybe_small = FALSE;
|
||||
garray_T *gap;
|
||||
int low_level = 0;;
|
||||
int low_level = 0;
|
||||
|
||||
checkupdate(win);
|
||||
/*
|
||||
@@ -3032,7 +3032,7 @@ foldlevelExpr(fline_T *flp)
|
||||
/* KeyTyped may be reset to 0 when calling a function which invokes
|
||||
* do_cmdline(). To make 'foldopen' work correctly restore KeyTyped. */
|
||||
save_keytyped = KeyTyped;
|
||||
n = eval_foldexpr(flp->wp->w_p_fde, &c);
|
||||
n = (int)eval_foldexpr(flp->wp->w_p_fde, &c);
|
||||
KeyTyped = save_keytyped;
|
||||
|
||||
switch (c)
|
||||
|
||||
@@ -79,7 +79,7 @@ static mapblock_T *first_abbr = NULL; /* first entry in abbrlist */
|
||||
static int KeyNoremap = 0; /* remapping flags */
|
||||
|
||||
/*
|
||||
* variables used by vgetorpeek() and flush_buffers()
|
||||
* Variables used by vgetorpeek() and flush_buffers().
|
||||
*
|
||||
* typebuf.tb_buf[] contains all characters that are not consumed yet.
|
||||
* typebuf.tb_buf[typebuf.tb_off] is the first valid character.
|
||||
@@ -129,6 +129,7 @@ static int vgetorpeek(int);
|
||||
static void map_free(mapblock_T **);
|
||||
static void validate_maphash(void);
|
||||
static void showmap(mapblock_T *mp, int local);
|
||||
static int inchar(char_u *buf, int maxlen, long wait_time, int tb_change_cnt);
|
||||
#ifdef FEAT_EVAL
|
||||
static char_u *eval_map_expr(char_u *str, int c);
|
||||
#endif
|
||||
@@ -1880,7 +1881,7 @@ char_avail(void)
|
||||
int retval;
|
||||
|
||||
#ifdef FEAT_EVAL
|
||||
/* When disable_char_avail_for_testing(1) was called pretend there is no
|
||||
/* When test_disable_char_avail(1) was called pretend there is no
|
||||
* typeahead. */
|
||||
if (disable_char_avail_for_testing)
|
||||
return FALSE;
|
||||
@@ -2941,7 +2942,7 @@ vgetorpeek(int advance)
|
||||
* Return the number of obtained characters.
|
||||
* Return -1 when end of input script reached.
|
||||
*/
|
||||
int
|
||||
static int
|
||||
inchar(
|
||||
char_u *buf,
|
||||
int maxlen,
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user