Update runtime files.
This commit is contained in:
@ -1,4 +1,4 @@
|
|||||||
*channel.txt* For Vim version 7.4. Last change: 2016 Jan 31
|
*channel.txt* For Vim version 7.4. Last change: 2016 Feb 04
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -11,7 +11,7 @@ DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT
|
|||||||
Vim uses channels to communicate with other processes.
|
Vim uses channels to communicate with other processes.
|
||||||
A channel uses a socket. *socket-interface*
|
A channel uses a socket. *socket-interface*
|
||||||
|
|
||||||
Vim current supports up to 10 simultanious channels.
|
Vim current supports up to 10 simultaneous channels.
|
||||||
The Netbeans interface also uses a channel. |netbeans|
|
The Netbeans interface also uses a channel. |netbeans|
|
||||||
|
|
||||||
1. Demo |channel-demo|
|
1. Demo |channel-demo|
|
||||||
@ -32,13 +32,13 @@ $VIMRUNTIME/tools/demoserver.py
|
|||||||
Run it in one terminal. We will call this T1.
|
Run it in one terminal. We will call this T1.
|
||||||
|
|
||||||
Run Vim in another terminal. Connect to the demo server with: >
|
Run Vim in another terminal. Connect to the demo server with: >
|
||||||
let handle = connect('localhost:8765', 'json')
|
let handle = ch_open('localhost:8765', 'json')
|
||||||
|
|
||||||
In T1 you should see:
|
In T1 you should see:
|
||||||
=== socket opened === ~
|
=== socket opened === ~
|
||||||
|
|
||||||
You can now send a message to the server: >
|
You can now send a message to the server: >
|
||||||
echo sendexpr(handle, 'hello!')
|
echo ch_sendexpr(handle, 'hello!')
|
||||||
|
|
||||||
The message is received in T1 and a response is sent back to Vim.
|
The message is received in T1 and a response is sent back to Vim.
|
||||||
You can see the raw messages in T1. What Vim sends is:
|
You can see the raw messages in T1. What Vim sends is:
|
||||||
@ -57,19 +57,19 @@ To handle asynchronous communication a callback needs to be used: >
|
|||||||
func MyHandler(handle, msg)
|
func MyHandler(handle, msg)
|
||||||
echo "from the handler: " . a:msg
|
echo "from the handler: " . a:msg
|
||||||
endfunc
|
endfunc
|
||||||
call sendexpr(handle, 'hello!', "MyHandler")
|
call ch_sendexpr(handle, 'hello!', "MyHandler")
|
||||||
|
|
||||||
Instead of giving a callback with every send call, it can also be specified
|
Instead of giving a callback with every send call, it can also be specified
|
||||||
when opening the channel: >
|
when opening the channel: >
|
||||||
call disconnect(handle)
|
call ch_close(handle)
|
||||||
let handle = connect('localhost:8765', 'json', "MyHandler")
|
let handle = ch_open('localhost:8765', 'json', "MyHandler")
|
||||||
call sendexpr(handle, 'hello!', 0)
|
call ch_sendexpr(handle, 'hello!', 0)
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
2. Opening a channel *channel-open*
|
2. Opening a channel *channel-open*
|
||||||
|
|
||||||
To open a channel:
|
To open a channel: >
|
||||||
let handle = connect({address}, {mode}, {callback})
|
let handle = ch_open({address}, {mode}, {callback})
|
||||||
|
|
||||||
{address} has the form "hostname:port". E.g., "localhost:8765".
|
{address} has the form "hostname:port". E.g., "localhost:8765".
|
||||||
|
|
||||||
@ -84,7 +84,7 @@ message. Example: >
|
|||||||
func Handle(handle, msg)
|
func Handle(handle, msg)
|
||||||
echo 'Received: ' . a:msg
|
echo 'Received: ' . a:msg
|
||||||
endfunc
|
endfunc
|
||||||
let handle = connect("localhost:8765", 'json', "Handle")
|
let handle = ch_open("localhost:8765", 'json', "Handle")
|
||||||
|
|
||||||
When {mode} is "json" the "msg" argument is the body of the received message,
|
When {mode} is "json" the "msg" argument is the body of the received message,
|
||||||
converted to Vim types.
|
converted to Vim types.
|
||||||
@ -94,11 +94,11 @@ When {mode} is "json" the {callback} is optional. When omitted it is only
|
|||||||
possible to receive a message after sending one.
|
possible to receive a message after sending one.
|
||||||
|
|
||||||
The handler can be added or changed later: >
|
The handler can be added or changed later: >
|
||||||
call sethandler(handle, {callback})
|
call ch_setcallback(handle, {callback})
|
||||||
When {callback} is empty (zero or an empty string) the handler is removed.
|
When {callback} is empty (zero or an empty string) the handler is removed.
|
||||||
|
|
||||||
Once done with the channel, disconnect it like this: >
|
Once done with the channel, disconnect it like this: >
|
||||||
call disconnect(handle)
|
call ch_close(handle)
|
||||||
|
|
||||||
Currently up to 10 channels can be in use at the same time. *E897*
|
Currently up to 10 channels can be in use at the same time. *E897*
|
||||||
|
|
||||||
@ -112,15 +112,15 @@ If there is an error reading or writing a channel it will be closed.
|
|||||||
3. Using a JSON channel *channel-use*
|
3. Using a JSON channel *channel-use*
|
||||||
|
|
||||||
If {mode} is "json" then a message can be sent synchronously like this: >
|
If {mode} is "json" then a message can be sent synchronously like this: >
|
||||||
let response = sendexpr(handle, {expr})
|
let response = ch_sendexpr(handle, {expr})
|
||||||
This awaits a response from the other side.
|
This awaits a response from the other side.
|
||||||
|
|
||||||
To send a message, without handling a response: >
|
To send a message, without handling a response: >
|
||||||
call sendexpr(handle, {expr}, 0)
|
call ch_sendexpr(handle, {expr}, 0)
|
||||||
|
|
||||||
To send a message and letting the response handled by a specific function,
|
To send a message and letting the response handled by a specific function,
|
||||||
asynchronously: >
|
asynchronously: >
|
||||||
call sendexpr(handle, {expr}, {callback})
|
call ch_sendexpr(handle, {expr}, {callback})
|
||||||
|
|
||||||
The {expr} is converted to JSON and wrapped in an array. An example of the
|
The {expr} is converted to JSON and wrapped in an array. An example of the
|
||||||
message that the receiver will get when {expr} is the string "hello":
|
message that the receiver will get when {expr} is the string "hello":
|
||||||
@ -148,7 +148,7 @@ message, it must use the number zero:
|
|||||||
Then channel handler will then get {response} converted to Vim types. If the
|
Then channel handler will then get {response} converted to Vim types. If the
|
||||||
channel does not have a handler the message is dropped.
|
channel does not have a handler the message is dropped.
|
||||||
|
|
||||||
On read error or disconnect() the string "DETACH" is sent, if still possible.
|
On read error or ch_close() the string "DETACH" is sent, if still possible.
|
||||||
The channel will then be inactive.
|
The channel will then be inactive.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
@ -200,7 +200,7 @@ You can also use "call |feedkeys()|" to insert any key sequence.
|
|||||||
|
|
||||||
Command "normal" ~
|
Command "normal" ~
|
||||||
|
|
||||||
The "normal" command is executed like with |:normal!|, commands are not
|
The "normal" command is executed like with ":normal!", commands are not
|
||||||
mapped. Example to open the folds under the cursor:
|
mapped. Example to open the folds under the cursor:
|
||||||
["normal" "zO"]
|
["normal" "zO"]
|
||||||
|
|
||||||
@ -230,19 +230,19 @@ Example:
|
|||||||
5. Using a raw channel *channel-raw*
|
5. Using a raw channel *channel-raw*
|
||||||
|
|
||||||
If {mode} is "raw" then a message can be send like this: >
|
If {mode} is "raw" then a message can be send like this: >
|
||||||
let response = sendraw(handle, {string})
|
let response = ch_sendraw(handle, {string})
|
||||||
The {string} is sent as-is. The response will be what can be read from the
|
The {string} is sent as-is. The response will be what can be read from the
|
||||||
channel right away. Since Vim doesn't know how to recognize the end of the
|
channel right away. Since Vim doesn't know how to recognize the end of the
|
||||||
message you need to take care of it yourself.
|
message you need to take care of it yourself.
|
||||||
|
|
||||||
To send a message, without expecting a response: >
|
To send a message, without expecting a response: >
|
||||||
call sendraw(handle, {string}, 0)
|
call ch_sendraw(handle, {string}, 0)
|
||||||
The process can send back a response, the channel handler will be called with
|
The process can send back a response, the channel handler will be called with
|
||||||
it.
|
it.
|
||||||
|
|
||||||
To send a message and letting the response handled by a specific function,
|
To send a message and letting the response handled by a specific function,
|
||||||
asynchronously: >
|
asynchronously: >
|
||||||
call sendraw(handle, {string}, {callback})
|
call ch_sendraw(handle, {string}, {callback})
|
||||||
|
|
||||||
This {string} can also be JSON, use |jsonencode()| to create it and
|
This {string} can also be JSON, use |jsonencode()| to create it and
|
||||||
|jsondecode()| to handle a received JSON message.
|
|jsondecode()| to handle a received JSON message.
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
*eval.txt* For Vim version 7.4. Last change: 2016 Feb 02
|
*eval.txt* For Vim version 7.4. Last change: 2016 Feb 04
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -2684,7 +2684,7 @@ ch_open({address}, {mode} [, {callback}]) *ch_open()*
|
|||||||
{callback} is a function that handles received messages on the
|
{callback} is a function that handles received messages on the
|
||||||
channel. See |channel-callback|.
|
channel. See |channel-callback|.
|
||||||
|
|
||||||
ch_sendexpr({handle}, {expr} [, {callback}]) ch_*sendexpr()*
|
ch_sendexpr({handle}, {expr} [, {callback}]) *ch_sendexpr()*
|
||||||
Send {expr} over JSON channel {handle}. See |channel-use|.
|
Send {expr} over JSON channel {handle}. See |channel-use|.
|
||||||
|
|
||||||
When {callback} is given returns immediately. Without
|
When {callback} is given returns immediately. Without
|
||||||
|
|||||||
@ -5156,6 +5156,10 @@ catch-text eval.txt /*catch-text*
|
|||||||
cc change.txt /*cc*
|
cc change.txt /*cc*
|
||||||
ceil() eval.txt /*ceil()*
|
ceil() eval.txt /*ceil()*
|
||||||
ch.vim syntax.txt /*ch.vim*
|
ch.vim syntax.txt /*ch.vim*
|
||||||
|
ch_close() eval.txt /*ch_close()*
|
||||||
|
ch_open() eval.txt /*ch_open()*
|
||||||
|
ch_sendexpr() eval.txt /*ch_sendexpr()*
|
||||||
|
ch_sendraw() eval.txt /*ch_sendraw()*
|
||||||
change-list-jumps motion.txt /*change-list-jumps*
|
change-list-jumps motion.txt /*change-list-jumps*
|
||||||
change-name tips.txt /*change-name*
|
change-name tips.txt /*change-name*
|
||||||
change-tabs change.txt /*change-tabs*
|
change-tabs change.txt /*change-tabs*
|
||||||
@ -5321,7 +5325,6 @@ complex-repeat repeat.txt /*complex-repeat*
|
|||||||
compress pi_gzip.txt /*compress*
|
compress pi_gzip.txt /*compress*
|
||||||
conceal syntax.txt /*conceal*
|
conceal syntax.txt /*conceal*
|
||||||
confirm() eval.txt /*confirm()*
|
confirm() eval.txt /*confirm()*
|
||||||
connect() eval.txt /*connect()*
|
|
||||||
connection-refused message.txt /*connection-refused*
|
connection-refused message.txt /*connection-refused*
|
||||||
console-menus gui.txt /*console-menus*
|
console-menus gui.txt /*console-menus*
|
||||||
control intro.txt /*control*
|
control intro.txt /*control*
|
||||||
@ -7917,8 +7920,6 @@ sed.vim syntax.txt /*sed.vim*
|
|||||||
self eval.txt /*self*
|
self eval.txt /*self*
|
||||||
send-money sponsor.txt /*send-money*
|
send-money sponsor.txt /*send-money*
|
||||||
send-to-menu gui_w32.txt /*send-to-menu*
|
send-to-menu gui_w32.txt /*send-to-menu*
|
||||||
sendexpr() eval.txt /*sendexpr()*
|
|
||||||
sendraw() eval.txt /*sendraw()*
|
|
||||||
sendto gui_w32.txt /*sendto*
|
sendto gui_w32.txt /*sendto*
|
||||||
sentence motion.txt /*sentence*
|
sentence motion.txt /*sentence*
|
||||||
server-functions usr_41.txt /*server-functions*
|
server-functions usr_41.txt /*server-functions*
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
*todo.txt* For Vim version 7.4. Last change: 2016 Feb 01
|
*todo.txt* For Vim version 7.4. Last change: 2016 Feb 04
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -81,19 +81,36 @@ Regexp problems:
|
|||||||
Patch by Christian, 2016 Jan 29.
|
Patch by Christian, 2016 Jan 29.
|
||||||
|
|
||||||
+channel:
|
+channel:
|
||||||
- implement wait for receiving end of Json.
|
- use a timeout for connect()
|
||||||
- implement only reading up to end of Json.
|
Patch from Yasuhiro Matsumoto, Feb 2
|
||||||
|
Change connect() second argument to a dict with items:
|
||||||
|
mode
|
||||||
|
timeout
|
||||||
|
callback
|
||||||
|
- When receiving malformed json starting with a quote it doesn't get
|
||||||
|
discarded.
|
||||||
|
- add ch_setcallback()
|
||||||
|
- add ch_settimeout()
|
||||||
- cleanup on exit? in mch_getout() and getout().
|
- cleanup on exit? in mch_getout() and getout().
|
||||||
- Add more contents to channel.txt
|
- Add more contents to channel.txt
|
||||||
- implement debug log
|
- implement debug log
|
||||||
- implement job control
|
- implement job control:
|
||||||
|
let job = job_start('command', {options})
|
||||||
|
call job_stop(job)
|
||||||
|
let job = job_maystart('command', {address}, {options})
|
||||||
|
options:
|
||||||
|
- keep running when Vim exits
|
||||||
|
- add remark undo sync, is there a way to force it?
|
||||||
- Add a test with a server that can send canned responses.
|
- Add a test with a server that can send canned responses.
|
||||||
|
- Add more testing in json_test.c
|
||||||
- make sure errors lead to a useful error msg. ["ex","foobar"]
|
- make sure errors lead to a useful error msg. ["ex","foobar"]
|
||||||
- use a timeout for connect() Patch from Yasuhiro Matsumoto, Feb 1
|
|
||||||
- set timeout for channel.
|
- set timeout for channel.
|
||||||
- implement check for ID in response.
|
- implement check for ID in response.
|
||||||
- json: implement UTF-16 surrogate pair.
|
- json: implement UTF-16 surrogate pair.
|
||||||
|
|
||||||
|
Patch on #608: (Ken Takata)
|
||||||
|
https://bitbucket.org/k_takata/vim-ktakata-mq/src/479934b94fd56b064c9e4bd8737585c5df69d56a/fix-gvimext-loadlibrary.patch?fileviewer=file-view-default
|
||||||
|
|
||||||
This difference is unexpected:
|
This difference is unexpected:
|
||||||
echo v:true == 1
|
echo v:true == 1
|
||||||
1
|
1
|
||||||
@ -109,6 +126,14 @@ Patch to put undo options together in undo window.
|
|||||||
Patch for clearing history. (Yegappan Lakshmanan, 2016 Jan 31, second message
|
Patch for clearing history. (Yegappan Lakshmanan, 2016 Jan 31, second message
|
||||||
has tests)
|
has tests)
|
||||||
|
|
||||||
|
Patch to update the GTK icon cache when installing. (Kazunobu Kuriyama, 2016
|
||||||
|
Feb 3)
|
||||||
|
|
||||||
|
Patch for test86 and test87. (Roland Puntaier, #622)
|
||||||
|
|
||||||
|
Patch for Python: #622. (Roland Puntaier, 2016 Feb 2)
|
||||||
|
What does it change?
|
||||||
|
|
||||||
Need to try out instructions in INSSTALLpc.txt about how to install all
|
Need to try out instructions in INSSTALLpc.txt about how to install all
|
||||||
interfaces and how to build Vim with them.
|
interfaces and how to build Vim with them.
|
||||||
Appveyor build with self-installing executable, includes getting most
|
Appveyor build with self-installing executable, includes getting most
|
||||||
@ -132,6 +157,8 @@ What if there is an invalid character?
|
|||||||
Should jsonencode()/jsondecode() restrict recursiveness?
|
Should jsonencode()/jsondecode() restrict recursiveness?
|
||||||
Or avoid recursiveness.
|
Or avoid recursiveness.
|
||||||
|
|
||||||
|
Patch to fix bug in statusline highlighting. (Christian Brabandt, 2016 Feb 2)
|
||||||
|
|
||||||
Use vim.vim syntax highlighting for help file examples, but without ":" in
|
Use vim.vim syntax highlighting for help file examples, but without ":" in
|
||||||
'iskeyword' for syntax.
|
'iskeyword' for syntax.
|
||||||
|
|
||||||
@ -161,15 +188,16 @@ Patch to avoid redrawing tabline when the popup menu is visible.
|
|||||||
|
|
||||||
Win32: patch to use 64 bit stat() if possible. (Ken Takata, 2014 May 12)
|
Win32: patch to use 64 bit stat() if possible. (Ken Takata, 2014 May 12)
|
||||||
More tests May 14. Update May 29. Update Aug 10.
|
More tests May 14. Update May 29. Update Aug 10.
|
||||||
Now part of large file patches. (Ken Takata, 2016 Jan 19, second one)
|
Now part of large file patches. (Ken Takata, 2016 Feb 1)
|
||||||
Updated patches with ordering: Jan 20.
|
Two patches now?
|
||||||
And another update: Jan 24, then Jan 29, 30, Feb 1.
|
|
||||||
|
Patch to support 64 bit ints for Number. (Ken Takata, 2016 Jan 21)
|
||||||
|
|
||||||
7 Add a watchpoint in the debug mode: An expression that breaks execution
|
7 Add a watchpoint in the debug mode: An expression that breaks execution
|
||||||
when evaluating to non-zero. Add the "watchadd expr" command, stop when
|
when evaluating to non-zero. Add the "watchadd expr" command, stop when
|
||||||
the value of the expression changes. ":watchdel" deletes an item,
|
the value of the expression changes. ":watchdel" deletes an item,
|
||||||
":watchlist" lists the items. (Charles Campbell)
|
":watchlist" lists the items. (Charles Campbell)
|
||||||
Patch by Christian Brabandt, 2016 Jan 27.
|
Patch by Christian Brabandt, 2016 Feb 1.
|
||||||
|
|
||||||
Patch to be able to use hex numbers with :digraph. (Lcd, 2015 Sep 6)
|
Patch to be able to use hex numbers with :digraph. (Lcd, 2015 Sep 6)
|
||||||
Update Sep 7. Update by Christian Brabandt, 2015 Sep 8, 2016 Feb 1.
|
Update Sep 7. Update by Christian Brabandt, 2015 Sep 8, 2016 Feb 1.
|
||||||
@ -182,6 +210,9 @@ Patch to add <restore> to :windo, :bufdo, etc. (Christian Brabandt, 2015 Jan
|
|||||||
6, 2nd message)
|
6, 2nd message)
|
||||||
Alternative: ":keeppos" command modifier: ":keeppos windo {cmd}".
|
Alternative: ":keeppos" command modifier: ":keeppos windo {cmd}".
|
||||||
|
|
||||||
|
Patch to fix that executable() may fail on very long filename in MS-Windows.
|
||||||
|
(Ken Takata, 2016 Feb 1)
|
||||||
|
|
||||||
Patch to fix display of listchars on the cursorline. (Nayuri Aohime, 2013)
|
Patch to fix display of listchars on the cursorline. (Nayuri Aohime, 2013)
|
||||||
Update suggested by Yasuhiro Matsumoto, 2014 Nov 25:
|
Update suggested by Yasuhiro Matsumoto, 2014 Nov 25:
|
||||||
https://gist.github.com/presuku/d3d6b230b9b6dcfc0477
|
https://gist.github.com/presuku/d3d6b230b9b6dcfc0477
|
||||||
@ -193,8 +224,6 @@ Gvim: when both Tab and CTRL-I are mapped, use CTRL-I not for Tab.
|
|||||||
Unexpected delay when using CTRL-O u. It's not timeoutlen.
|
Unexpected delay when using CTRL-O u. It's not timeoutlen.
|
||||||
(Gary Johnson, 2015 Aug 28)
|
(Gary Johnson, 2015 Aug 28)
|
||||||
|
|
||||||
Patch to support 64 bit ints for Number. (Ken Takata, 2016 Jan 21)
|
|
||||||
|
|
||||||
Instead of separately uploading patches to the ftp site, we can get them from
|
Instead of separately uploading patches to the ftp site, we can get them from
|
||||||
github with a URL like this:
|
github with a URL like this:
|
||||||
https://github.com/vim/vim/compare/v7.4.920%5E...v7.4.920.diff
|
https://github.com/vim/vim/compare/v7.4.920%5E...v7.4.920.diff
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
*usr_41.txt* For Vim version 7.4. Last change: 2016 Jan 28
|
*usr_41.txt* For Vim version 7.4. Last change: 2016 Feb 02
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@ -894,10 +894,10 @@ Testing: *test-functions*
|
|||||||
assert_true() assert that an expression is true
|
assert_true() assert that an expression is true
|
||||||
|
|
||||||
Inter-process communication:
|
Inter-process communication:
|
||||||
connect() open a channel
|
ch_open() open a channel
|
||||||
disconnect() close a channel
|
ch_close() close a channel
|
||||||
sendexpr() send a JSON message over a channel
|
ch_sendexpr() send a JSON message over a channel
|
||||||
sendraw() send a raw message over a channel
|
ch_sendraw() send a raw message over a channel
|
||||||
jsonencode() encode an expression to a JSON string
|
jsonencode() encode an expression to a JSON string
|
||||||
jsondecode() decode a JSON string to Vim types
|
jsondecode() decode a JSON string to Vim types
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
*windows.txt* For Vim version 7.4. Last change: 2015 Nov 14
|
*windows.txt* For Vim version 7.4. Last change: 2016 Feb 01
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -721,7 +721,7 @@ can also get to them with the buffer list commands, like ":bnext".
|
|||||||
*:bufdo*
|
*:bufdo*
|
||||||
:[range]bufdo[!] {cmd} Execute {cmd} in each buffer in the buffer list or if
|
:[range]bufdo[!] {cmd} Execute {cmd} in each buffer in the buffer list or if
|
||||||
[range] is given only for buffers for which their
|
[range] is given only for buffers for which their
|
||||||
buffer numer is in the [range]. It works like doing
|
buffer number is in the [range]. It works like doing
|
||||||
this: >
|
this: >
|
||||||
:bfirst
|
:bfirst
|
||||||
:{cmd}
|
:{cmd}
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||||
" Previous Maintainer: Peter Aronoff <telemachus@arpinum.org>
|
" Previous Maintainer: Peter Aronoff <telemachus@arpinum.org>
|
||||||
" Original Author: Nikolai Weibull <now@bitwi.se>
|
" Original Author: Nikolai Weibull <now@bitwi.se>
|
||||||
" Latest Revision: 2015-12-15
|
" Latest Revision: 2016-01-15
|
||||||
" License: Vim (see :h license)
|
" License: Vim (see :h license)
|
||||||
" Repository: https://github.com/chrisbra/vim-sh-indent
|
" Repository: https://github.com/chrisbra/vim-sh-indent
|
||||||
|
|
||||||
@ -28,7 +28,7 @@ let s:cpo_save = &cpo
|
|||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
function s:buffer_shiftwidth()
|
function s:buffer_shiftwidth()
|
||||||
return &shiftwidth
|
return shiftwidth()
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
let s:sh_indent_defaults = {
|
let s:sh_indent_defaults = {
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
" Vim syntax file for the D programming language (version 1.076 and 2.063).
|
" Vim syntax file for the D programming language (version 1.076 and 2.069).
|
||||||
"
|
"
|
||||||
" Language: D
|
" Language: D
|
||||||
" Maintainer: Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
|
" Maintainer: Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
|
||||||
" Last Change: 2013 October 5
|
" Last Change: 2016 Feb 2
|
||||||
" Version: 0.26
|
" Version: 0.28
|
||||||
"
|
"
|
||||||
" Contributors:
|
" Contributors:
|
||||||
" - Jason Mills: original Maintainer
|
" - Jason Mills: original Maintainer
|
||||||
@ -15,6 +15,7 @@
|
|||||||
" - Steven N. Oliver
|
" - Steven N. Oliver
|
||||||
" - Sohgo Takeuchi
|
" - Sohgo Takeuchi
|
||||||
" - Robert Clipsham
|
" - Robert Clipsham
|
||||||
|
" - Petar Kirov
|
||||||
"
|
"
|
||||||
" Please submit bugs/comments/suggestions to the github repo:
|
" Please submit bugs/comments/suggestions to the github repo:
|
||||||
" https://github.com/JesseKPhillips/d.vim
|
" https://github.com/JesseKPhillips/d.vim
|
||||||
@ -114,17 +115,19 @@ syn keyword dTraitsIdentifier contained isIntegral isScalar isStaticArray
|
|||||||
syn keyword dTraitsIdentifier contained isUnsigned isVirtualFunction
|
syn keyword dTraitsIdentifier contained isUnsigned isVirtualFunction
|
||||||
syn keyword dTraitsIdentifier contained isVirtualMethod isAbstractFunction
|
syn keyword dTraitsIdentifier contained isVirtualMethod isAbstractFunction
|
||||||
syn keyword dTraitsIdentifier contained isFinalFunction isStaticFunction
|
syn keyword dTraitsIdentifier contained isFinalFunction isStaticFunction
|
||||||
|
syn keyword dTraitsIdentifier contained isOverrideFunction isTemplate
|
||||||
syn keyword dTraitsIdentifier contained isRef isOut isLazy hasMember
|
syn keyword dTraitsIdentifier contained isRef isOut isLazy hasMember
|
||||||
syn keyword dTraitsIdentifier contained identifier getAttributes getMember
|
syn keyword dTraitsIdentifier contained identifier getAliasThis
|
||||||
syn keyword dTraitsIdentifier contained getOverloads getProtection
|
syn keyword dTraitsIdentifier contained getAttributes getFunctionAttributes getMember
|
||||||
syn keyword dTraitsIdentifier contained getVirtualFunctions
|
syn keyword dTraitsIdentifier contained getOverloads getPointerBitmap getProtection
|
||||||
syn keyword dTraitsIdentifier contained getVirtualMethods parent
|
syn keyword dTraitsIdentifier contained getVirtualFunctions getVirtualIndex
|
||||||
syn keyword dTraitsIdentifier contained classInstanceSize allMembers
|
syn keyword dTraitsIdentifier contained getVirtualMethods getUnitTests
|
||||||
|
syn keyword dTraitsIdentifier contained parent classInstanceSize allMembers
|
||||||
syn keyword dTraitsIdentifier contained derivedMembers isSame compiles
|
syn keyword dTraitsIdentifier contained derivedMembers isSame compiles
|
||||||
syn keyword dPragmaIdentifier contained lib msg startaddress GNU_asm
|
syn keyword dPragmaIdentifier contained inline lib mangle msg startaddress GNU_asm
|
||||||
syn keyword dExternIdentifier contained Windows Pascal Java System D
|
syn keyword dExternIdentifier contained C C++ D Windows Pascal System Objective-C
|
||||||
syn keyword dAttribute contained safe trusted system
|
syn keyword dAttribute contained safe trusted system
|
||||||
syn keyword dAttribute contained property disable
|
syn keyword dAttribute contained property disable nogc
|
||||||
syn keyword dVersionIdentifier contained DigitalMars GNU LDC SDC D_NET
|
syn keyword dVersionIdentifier contained DigitalMars GNU LDC SDC D_NET
|
||||||
syn keyword dVersionIdentifier contained X86 X86_64 ARM PPC PPC64 IA64 MIPS MIPS64 Alpha
|
syn keyword dVersionIdentifier contained X86 X86_64 ARM PPC PPC64 IA64 MIPS MIPS64 Alpha
|
||||||
syn keyword dVersionIdentifier contained SPARC SPARC64 S390 S390X HPPA HPPA64 SH SH64
|
syn keyword dVersionIdentifier contained SPARC SPARC64 S390 S390X HPPA HPPA64 SH SH64
|
||||||
@ -134,7 +137,7 @@ syn keyword dVersionIdentifier contained Cygwin MinGW
|
|||||||
syn keyword dVersionIdentifier contained LittleEndian BigEndian
|
syn keyword dVersionIdentifier contained LittleEndian BigEndian
|
||||||
syn keyword dVersionIdentifier contained D_InlineAsm_X86 D_InlineAsm_X86_64
|
syn keyword dVersionIdentifier contained D_InlineAsm_X86 D_InlineAsm_X86_64
|
||||||
syn keyword dVersionIdentifier contained D_Version2 D_Coverage D_Ddoc D_LP64 D_PIC
|
syn keyword dVersionIdentifier contained D_Version2 D_Coverage D_Ddoc D_LP64 D_PIC
|
||||||
syn keyword dVersionIdentifier contained unittest none all
|
syn keyword dVersionIdentifier contained unittest assert none all
|
||||||
|
|
||||||
syn cluster dComment contains=dNestedComment,dBlockComment,dLineComment
|
syn cluster dComment contains=dNestedComment,dBlockComment,dLineComment
|
||||||
|
|
||||||
@ -168,10 +171,10 @@ syn match dExternal "\<extern\>"
|
|||||||
syn match dExtern "\<extern\s*([_a-zA-Z][_a-zA-Z0-9\+]*\>"he=s+6 contains=dExternIdentifier
|
syn match dExtern "\<extern\s*([_a-zA-Z][_a-zA-Z0-9\+]*\>"he=s+6 contains=dExternIdentifier
|
||||||
|
|
||||||
" Make import a region to prevent highlighting keywords
|
" Make import a region to prevent highlighting keywords
|
||||||
syn region dImport start="import\_s" end=";" contains=dExternal,@dComment
|
syn region dImport start="\<import\_s" end=";" contains=dExternal,@dComment
|
||||||
|
|
||||||
" Make module a region to prevent highlighting keywords
|
" Make module a region to prevent highlighting keywords
|
||||||
syn region dImport start="module\_s" end=";" contains=dExternal,@dComment
|
syn region dImport start="\<module\_s" end=";" contains=dExternal,@dComment
|
||||||
|
|
||||||
" dTokens is used by the token string highlighting
|
" dTokens is used by the token string highlighting
|
||||||
syn cluster dTokens contains=dExternal,dConditional,dBranch,dRepeat,dBoolean
|
syn cluster dTokens contains=dExternal,dConditional,dBranch,dRepeat,dBoolean
|
||||||
@ -246,13 +249,17 @@ syn match dUnicode "\\u\d\{4\}"
|
|||||||
|
|
||||||
" String.
|
" String.
|
||||||
"
|
"
|
||||||
syn region dString start=+"+ end=+"[cwd]\=+ skip=+\\\\\|\\"+ contains=dEscSequence,@Spell
|
syn match dFormat display "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlL]\|ll\)\=\([bdiuoxXDOUfeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained
|
||||||
|
syn match dFormat display "%%" contained
|
||||||
|
|
||||||
|
syn region dString start=+"+ end=+"[cwd]\=+ skip=+\\\\\|\\"+ contains=dFormat,dEscSequence,@Spell
|
||||||
syn region dRawString start=+`+ end=+`[cwd]\=+ contains=@Spell
|
syn region dRawString start=+`+ end=+`[cwd]\=+ contains=@Spell
|
||||||
syn region dRawString start=+r"+ end=+"[cwd]\=+ contains=@Spell
|
syn region dRawString start=+r"+ end=+"[cwd]\=+ contains=@Spell
|
||||||
syn region dHexString start=+x"+ end=+"[cwd]\=+ contains=@Spell
|
syn region dHexString start=+x"+ end=+"[cwd]\=+ contains=@Spell
|
||||||
syn region dDelimString start=+q"\z(.\)+ end=+\z1"+ contains=@Spell
|
syn region dDelimString start=+q"\z(.\)+ end=+\z1"+ contains=@Spell
|
||||||
syn region dHereString start=+q"\z(\I\i*\)\n+ end=+^\z1"+ contains=@Spell
|
syn region dHereString start=+q"\z(\I\i*\)\n+ end=+^\z1"+ contains=@Spell
|
||||||
|
|
||||||
|
|
||||||
" Nesting delimited string contents
|
" Nesting delimited string contents
|
||||||
"
|
"
|
||||||
syn region dNestParenString start=+(+ end=+)+ contained transparent contains=dNestParenString,@Spell
|
syn region dNestParenString start=+(+ end=+)+ contained transparent contains=dNestParenString,@Spell
|
||||||
@ -276,8 +283,8 @@ syn cluster dTokens add=dString,dRawString,dHexString,dDelimString,dNestString
|
|||||||
|
|
||||||
" Token strings
|
" Token strings
|
||||||
"
|
"
|
||||||
syn region dNestTokenString start=+{+ end=+}+ contained contains=dNestTokenString,@dTokens
|
syn region dNestTokenString start=+{+ end=+}+ contained contains=dNestTokenString,@dTokens,dFormat
|
||||||
syn region dTokenString matchgroup=dTokenStringBrack transparent start=+q{+ end=+}+ contains=dNestTokenString,@dTokens
|
syn region dTokenString matchgroup=dTokenStringBrack transparent start=+q{+ end=+}+ contains=dNestTokenString,@dTokens,dFormat
|
||||||
|
|
||||||
syn cluster dTokens add=dTokenString
|
syn cluster dTokens add=dTokenString
|
||||||
|
|
||||||
@ -357,6 +364,7 @@ hi def link dString String
|
|||||||
hi def link dHexString String
|
hi def link dHexString String
|
||||||
hi def link dCharacter Character
|
hi def link dCharacter Character
|
||||||
hi def link dEscSequence SpecialChar
|
hi def link dEscSequence SpecialChar
|
||||||
|
hi def link dFormat SpecialChar
|
||||||
hi def link dSpecialCharError Error
|
hi def link dSpecialCharError Error
|
||||||
hi def link dOctalError Error
|
hi def link dOctalError Error
|
||||||
hi def link dOperator Operator
|
hi def link dOperator Operator
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
" Language: Zsh shell script
|
" Language: Zsh shell script
|
||||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||||
" Latest Revision: 2015-12-25
|
" Latest Revision: 2016-01-25
|
||||||
" License: Vim (see :h license)
|
" License: Vim (see :h license)
|
||||||
" Repository: https://github.com/chrisbra/vim-zsh
|
" Repository: https://github.com/chrisbra/vim-zsh
|
||||||
|
|
||||||
@ -14,6 +14,7 @@ let s:cpo_save = &cpo
|
|||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
setlocal iskeyword+=-
|
setlocal iskeyword+=-
|
||||||
|
setlocal foldmethod=syntax
|
||||||
|
|
||||||
syn keyword zshTodo contained TODO FIXME XXX NOTE
|
syn keyword zshTodo contained TODO FIXME XXX NOTE
|
||||||
|
|
||||||
@ -307,19 +308,19 @@ syn match zshNumber '[+-]\=\d\+\.\d\+\>'
|
|||||||
" TODO: $[...] is the same as $((...)), so add that as well.
|
" TODO: $[...] is the same as $((...)), so add that as well.
|
||||||
syn cluster zshSubst contains=zshSubst,zshOldSubst,zshMathSubst
|
syn cluster zshSubst contains=zshSubst,zshOldSubst,zshMathSubst
|
||||||
syn region zshSubst matchgroup=zshSubstDelim transparent
|
syn region zshSubst matchgroup=zshSubstDelim transparent
|
||||||
\ start='\$(' skip='\\)' end=')' contains=TOP
|
\ start='\$(' skip='\\)' end=')' contains=TOP fold
|
||||||
syn region zshParentheses transparent start='(' skip='\\)' end=')'
|
syn region zshParentheses transparent start='(' skip='\\)' end=')' fold
|
||||||
syn region zshMathSubst matchgroup=zshSubstDelim transparent
|
syn region zshMathSubst matchgroup=zshSubstDelim transparent
|
||||||
\ start='\$((' skip='\\)'
|
\ start='\$((' skip='\\)'
|
||||||
\ matchgroup=zshSubstDelim end='))'
|
\ matchgroup=zshSubstDelim end='))'
|
||||||
\ contains=zshParentheses,@zshSubst,zshNumber,
|
\ contains=zshParentheses,@zshSubst,zshNumber,
|
||||||
\ @zshDerefs,zshString keepend
|
\ @zshDerefs,zshString keepend fold
|
||||||
syn region zshBrackets contained transparent start='{' skip='\\}'
|
syn region zshBrackets contained transparent start='{' skip='\\}'
|
||||||
\ end='}'
|
\ end='}' fold
|
||||||
syn region zshSubst matchgroup=zshSubstDelim start='\${' skip='\\}'
|
syn region zshSubst matchgroup=zshSubstDelim start='\${' skip='\\}'
|
||||||
\ end='}' contains=@zshSubst,zshBrackets,zshQuoted,zshString
|
\ end='}' contains=@zshSubst,zshBrackets,zshQuoted,zshString fold
|
||||||
syn region zshOldSubst matchgroup=zshSubstDelim start=+`+ skip=+\\`+
|
syn region zshOldSubst matchgroup=zshSubstDelim start=+`+ skip=+\\`+
|
||||||
\ end=+`+ contains=TOP,zshOldSubst
|
\ end=+`+ contains=TOP,zshOldSubst fold
|
||||||
|
|
||||||
syn sync minlines=50 maxlines=90
|
syn sync minlines=50 maxlines=90
|
||||||
syn sync match zshHereDocSync grouphere NONE '<<-\=\s*\%(\\\=\S\+\|\(["']\)\S\+\1\)'
|
syn sync match zshHereDocSync grouphere NONE '<<-\=\s*\%(\\\=\S\+\|\(["']\)\S\+\1\)'
|
||||||
|
|||||||
Reference in New Issue
Block a user