mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
Updte runtime files
This commit is contained in:
parent
56ebbabea1
commit
589edb3404
@ -1,4 +1,4 @@
|
|||||||
*autocmd.txt* For Vim version 8.1. Last change: 2019 Jun 26
|
*autocmd.txt* For Vim version 8.1. Last change: 2019 Sep 16
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -581,7 +581,7 @@ ColorScheme After loading a color scheme. |:colorscheme|
|
|||||||
ColorSchemePre Before loading a color scheme. |:colorscheme|
|
ColorSchemePre Before loading a color scheme. |:colorscheme|
|
||||||
Useful to setup removing things added by a
|
Useful to setup removing things added by a
|
||||||
color scheme, before another one is loaded.
|
color scheme, before another one is loaded.
|
||||||
CompleteChanged *CompleteChanged*
|
CompleteChanged *CompleteChanged*
|
||||||
After each time the Insert mode completion
|
After each time the Insert mode completion
|
||||||
menu changed. Not fired on popup menu hide,
|
menu changed. Not fired on popup menu hide,
|
||||||
use |CompleteDone| for that. Never triggered
|
use |CompleteDone| for that. Never triggered
|
||||||
@ -1117,8 +1117,8 @@ TextYankPost After text has been yanked or deleted in the
|
|||||||
current buffer. The following values of
|
current buffer. The following values of
|
||||||
|v:event| can be used to determine the operation
|
|v:event| can be used to determine the operation
|
||||||
that triggered this autocmd:
|
that triggered this autocmd:
|
||||||
operator The operation performed.
|
operator The operation performed.
|
||||||
regcontents Text that was stored in the
|
regcontents Text that was stored in the
|
||||||
register, as a list of lines,
|
register, as a list of lines,
|
||||||
like with: >
|
like with: >
|
||||||
getreg(r, 1, 1)
|
getreg(r, 1, 1)
|
||||||
@ -1154,7 +1154,7 @@ VimEnter After doing all the startup stuff, including
|
|||||||
if v:vim_did_enter
|
if v:vim_did_enter
|
||||||
call s:init()
|
call s:init()
|
||||||
else
|
else
|
||||||
au VimEnter * call s:init()
|
au VimEnter * call s:init()
|
||||||
endif
|
endif
|
||||||
< *VimLeave*
|
< *VimLeave*
|
||||||
VimLeave Before exiting Vim, just after writing the
|
VimLeave Before exiting Vim, just after writing the
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*eval.txt* For Vim version 8.1. Last change: 2019 Sep 15
|
*eval.txt* For Vim version 8.1. Last change: 2019 Sep 19
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -2595,7 +2595,7 @@ or({expr}, {expr}) Number bitwise OR
|
|||||||
pathshorten({expr}) String shorten directory names in a path
|
pathshorten({expr}) String shorten directory names in a path
|
||||||
perleval({expr}) any evaluate |Perl| expression
|
perleval({expr}) any evaluate |Perl| expression
|
||||||
popup_atcursor({what}, {options}) Number create popup window near the cursor
|
popup_atcursor({what}, {options}) Number create popup window near the cursor
|
||||||
popup_beval({what}, {options}) Number create popup window for 'ballooneval'
|
popup_beval({what}, {options}) Number create popup window for 'ballooneval'
|
||||||
popup_clear() none close all popup windows
|
popup_clear() none close all popup windows
|
||||||
popup_close({id} [, {result}]) none close popup window {id}
|
popup_close({id} [, {result}]) none close popup window {id}
|
||||||
popup_create({what}, {options}) Number create a popup window
|
popup_create({what}, {options}) Number create a popup window
|
||||||
@ -9048,31 +9048,36 @@ state([{what}]) *state()*
|
|||||||
current state. Mostly useful in callbacks that want to do
|
current state. Mostly useful in callbacks that want to do
|
||||||
work that may not always be safe. Roughly this works like:
|
work that may not always be safe. Roughly this works like:
|
||||||
- callback uses state() to check if work is safe to do.
|
- callback uses state() to check if work is safe to do.
|
||||||
If yes, then do it right away.
|
Yes: then do it right away.
|
||||||
Otherwise add to work queue and add SafeState and/or
|
No: add to work queue and add a |SafeState| and/or
|
||||||
SafeStateAgain autocommand.
|
|SafeStateAgain| autocommand (|SafeState| triggers at
|
||||||
- When SafeState or SafeStateAgain is triggered, check with
|
toplevel, |SafeStateAgain| triggers after handling
|
||||||
state() if the work can be done now, and if yes remove it
|
messages and callbacks).
|
||||||
from the queue and execute.
|
- When SafeState or SafeStateAgain is triggered and executes
|
||||||
|
your autocommand, check with `state()` if the work can be
|
||||||
|
done now, and if yes remove it from the queue and execute.
|
||||||
|
Remove the autocommand if the queue is now empty.
|
||||||
Also see |mode()|.
|
Also see |mode()|.
|
||||||
|
|
||||||
When {what} is given only characters in this string will be
|
When {what} is given only characters in this string will be
|
||||||
added. E.g, this checks if the screen has scrolled: >
|
added. E.g, this checks if the screen has scrolled: >
|
||||||
if state('s') != ''
|
if state('s') == ''
|
||||||
|
" screen has not scrolled
|
||||||
<
|
<
|
||||||
These characters indicate the state, generally indicating that
|
These characters indicate the state, generally indicating that
|
||||||
something is busy:
|
something is busy:
|
||||||
m halfway a mapping, :normal command, feedkeys() or
|
m halfway a mapping, :normal command, feedkeys() or
|
||||||
stuffed command
|
stuffed command
|
||||||
o operator pending or waiting for a command argument
|
o operator pending or waiting for a command argument,
|
||||||
a Insert mode autocomplete active
|
e.g. after |f|
|
||||||
x executing an autocommand
|
a Insert mode autocomplete active
|
||||||
w blocked on waiting, e.g. ch_evalexpr() and
|
x executing an autocommand
|
||||||
ch_read(), ch_readraw() when reading json.
|
w blocked on waiting, e.g. ch_evalexpr() and
|
||||||
S not triggering SafeState or SafeStateAgain
|
ch_read(), ch_readraw() when reading json.
|
||||||
c callback invoked, including timer (repeats for
|
S not triggering SafeState or SafeStateAgain
|
||||||
recursiveness up to "ccc")
|
c callback invoked, including timer (repeats for
|
||||||
s screen has scrolled for messages
|
recursiveness up to "ccc")
|
||||||
|
s screen has scrolled for messages
|
||||||
|
|
||||||
str2float({expr}) *str2float()*
|
str2float({expr}) *str2float()*
|
||||||
Convert String {expr} to a Float. This mostly works the same
|
Convert String {expr} to a Float. This mostly works the same
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*options.txt* For Vim version 8.1. Last change: 2019 Sep 09
|
*options.txt* For Vim version 8.1. Last change: 2019 Sep 18
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -8565,8 +8565,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
":map <BS> X" to make backspace delete the character in front of the
|
":map <BS> X" to make backspace delete the character in front of the
|
||||||
cursor.
|
cursor.
|
||||||
When 'l' is included and it is used after an operator at the end of a
|
When 'l' is included and it is used after an operator at the end of a
|
||||||
line then it will not move to the next line. This makes "dl", "cl",
|
line (not an empty line) then it will not move to the next line. This
|
||||||
"yl" etc. work normally.
|
makes "dl", "cl", "yl" etc. work normally.
|
||||||
NOTE: This option is set to the Vi default value when 'compatible' is
|
NOTE: This option is set to the Vi default value when 'compatible' is
|
||||||
set and to the Vim default value when 'compatible' is reset.
|
set and to the Vim default value when 'compatible' is reset.
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*repeat.txt* For Vim version 8.1. Last change: 2019 Jun 14
|
*repeat.txt* For Vim version 8.1. Last change: 2019 Sep 20
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -219,10 +219,10 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
|||||||
|
|
||||||
When {file} contains wildcards it is expanded to all
|
When {file} contains wildcards it is expanded to all
|
||||||
matching files. Example: >
|
matching files. Example: >
|
||||||
:runtime! plugin/*.vim
|
:runtime! plugin/**/*.vim
|
||||||
< This is what Vim uses to load the plugin files when
|
< This is what Vim uses to load the plugin files when
|
||||||
starting up. This similar command: >
|
starting up. This similar command: >
|
||||||
:runtime plugin/*.vim
|
:runtime plugin/**/*.vim
|
||||||
< would source the first file only.
|
< would source the first file only.
|
||||||
|
|
||||||
When 'verbose' is one or higher, there is a message
|
When 'verbose' is one or higher, there is a message
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*syntax.txt* For Vim version 8.1. Last change: 2019 Jul 15
|
*syntax.txt* For Vim version 8.1. Last change: 2019 Sep 19
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -1923,6 +1923,16 @@ displayed line. The default value is 10. The disadvantage of using a larger
|
|||||||
number is that redrawing can become slow.
|
number is that redrawing can become slow.
|
||||||
|
|
||||||
|
|
||||||
|
JSON *json.vim* *ft-json-syntax*
|
||||||
|
|
||||||
|
The json syntax file provides syntax highlighting with conceal support by
|
||||||
|
default. To disable concealment: >
|
||||||
|
let g:vim_json_conceal = 0
|
||||||
|
|
||||||
|
To disable syntax highlighting of errors: >
|
||||||
|
let g:vim_json_warnings = 0
|
||||||
|
|
||||||
|
|
||||||
LACE *lace.vim* *ft-lace-syntax*
|
LACE *lace.vim* *ft-lace-syntax*
|
||||||
|
|
||||||
Lace (Language for Assembly of Classes in Eiffel) is case insensitive, but the
|
Lace (Language for Assembly of Classes in Eiffel) is case insensitive, but the
|
||||||
|
@ -312,6 +312,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
'go-a' options.txt /*'go-a'*
|
'go-a' options.txt /*'go-a'*
|
||||||
'go-b' options.txt /*'go-b'*
|
'go-b' options.txt /*'go-b'*
|
||||||
'go-c' options.txt /*'go-c'*
|
'go-c' options.txt /*'go-c'*
|
||||||
|
'go-d' options.txt /*'go-d'*
|
||||||
'go-e' options.txt /*'go-e'*
|
'go-e' options.txt /*'go-e'*
|
||||||
'go-f' options.txt /*'go-f'*
|
'go-f' options.txt /*'go-f'*
|
||||||
'go-g' options.txt /*'go-g'*
|
'go-g' options.txt /*'go-g'*
|
||||||
@ -5003,6 +5004,8 @@ S change.txt /*S*
|
|||||||
SHELL starting.txt /*SHELL*
|
SHELL starting.txt /*SHELL*
|
||||||
SQLGetType ft_sql.txt /*SQLGetType*
|
SQLGetType ft_sql.txt /*SQLGetType*
|
||||||
SQLSetType ft_sql.txt /*SQLSetType*
|
SQLSetType ft_sql.txt /*SQLSetType*
|
||||||
|
SafeState autocmd.txt /*SafeState*
|
||||||
|
SafeStateAgain autocmd.txt /*SafeStateAgain*
|
||||||
Select visual.txt /*Select*
|
Select visual.txt /*Select*
|
||||||
Select-mode visual.txt /*Select-mode*
|
Select-mode visual.txt /*Select-mode*
|
||||||
Select-mode-mapping visual.txt /*Select-mode-mapping*
|
Select-mode-mapping visual.txt /*Select-mode-mapping*
|
||||||
@ -6425,6 +6428,7 @@ ft-ia64-syntax syntax.txt /*ft-ia64-syntax*
|
|||||||
ft-inform-syntax syntax.txt /*ft-inform-syntax*
|
ft-inform-syntax syntax.txt /*ft-inform-syntax*
|
||||||
ft-java-syntax syntax.txt /*ft-java-syntax*
|
ft-java-syntax syntax.txt /*ft-java-syntax*
|
||||||
ft-javascript-omni insert.txt /*ft-javascript-omni*
|
ft-javascript-omni insert.txt /*ft-javascript-omni*
|
||||||
|
ft-json-syntax syntax.txt /*ft-json-syntax*
|
||||||
ft-ksh-syntax syntax.txt /*ft-ksh-syntax*
|
ft-ksh-syntax syntax.txt /*ft-ksh-syntax*
|
||||||
ft-lace-syntax syntax.txt /*ft-lace-syntax*
|
ft-lace-syntax syntax.txt /*ft-lace-syntax*
|
||||||
ft-lex-syntax syntax.txt /*ft-lex-syntax*
|
ft-lex-syntax syntax.txt /*ft-lex-syntax*
|
||||||
@ -7411,6 +7415,7 @@ join() eval.txt /*join()*
|
|||||||
js_decode() eval.txt /*js_decode()*
|
js_decode() eval.txt /*js_decode()*
|
||||||
js_encode() eval.txt /*js_encode()*
|
js_encode() eval.txt /*js_encode()*
|
||||||
jsbterm-mouse options.txt /*jsbterm-mouse*
|
jsbterm-mouse options.txt /*jsbterm-mouse*
|
||||||
|
json.vim syntax.txt /*json.vim*
|
||||||
json_decode() eval.txt /*json_decode()*
|
json_decode() eval.txt /*json_decode()*
|
||||||
json_encode() eval.txt /*json_encode()*
|
json_encode() eval.txt /*json_encode()*
|
||||||
jtags tagsrch.txt /*jtags*
|
jtags tagsrch.txt /*jtags*
|
||||||
@ -8646,6 +8651,7 @@ scriptversion eval.txt /*scriptversion*
|
|||||||
scriptversion-1 eval.txt /*scriptversion-1*
|
scriptversion-1 eval.txt /*scriptversion-1*
|
||||||
scriptversion-2 eval.txt /*scriptversion-2*
|
scriptversion-2 eval.txt /*scriptversion-2*
|
||||||
scriptversion-3 eval.txt /*scriptversion-3*
|
scriptversion-3 eval.txt /*scriptversion-3*
|
||||||
|
scriptversion-4 eval.txt /*scriptversion-4*
|
||||||
scroll-binding scroll.txt /*scroll-binding*
|
scroll-binding scroll.txt /*scroll-binding*
|
||||||
scroll-cursor scroll.txt /*scroll-cursor*
|
scroll-cursor scroll.txt /*scroll-cursor*
|
||||||
scroll-down scroll.txt /*scroll-down*
|
scroll-down scroll.txt /*scroll-down*
|
||||||
@ -8925,6 +8931,7 @@ starting.txt starting.txt /*starting.txt*
|
|||||||
startup starting.txt /*startup*
|
startup starting.txt /*startup*
|
||||||
startup-options starting.txt /*startup-options*
|
startup-options starting.txt /*startup-options*
|
||||||
startup-terminal term.txt /*startup-terminal*
|
startup-terminal term.txt /*startup-terminal*
|
||||||
|
state() eval.txt /*state()*
|
||||||
static-tag tagsrch.txt /*static-tag*
|
static-tag tagsrch.txt /*static-tag*
|
||||||
status-line windows.txt /*status-line*
|
status-line windows.txt /*status-line*
|
||||||
statusmsg-variable eval.txt /*statusmsg-variable*
|
statusmsg-variable eval.txt /*statusmsg-variable*
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*terminal.txt* For Vim version 8.1. Last change: 2019 Sep 08
|
*terminal.txt* For Vim version 8.1. Last change: 2019 Sep 20
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -1225,8 +1225,10 @@ gdb:
|
|||||||
`:Run` [args] run the program with [args] or the previous arguments
|
`:Run` [args] run the program with [args] or the previous arguments
|
||||||
`:Arguments` {args} set arguments for the next `:Run`
|
`:Arguments` {args} set arguments for the next `:Run`
|
||||||
|
|
||||||
*:Break* set a breakpoint at the current line; a sign will be displayed
|
*:Break* set a breakpoint at the cursor position
|
||||||
*:Clear* delete the breakpoint at the current line
|
:Break {position}
|
||||||
|
set a breakpoint at the specified position
|
||||||
|
*:Clear* delete the breakpoint at the cursor position
|
||||||
|
|
||||||
*:Step* execute the gdb "step" command
|
*:Step* execute the gdb "step" command
|
||||||
*:Over* execute the gdb "next" command (`:Next` is a Vim command)
|
*:Over* execute the gdb "next" command (`:Next` is a Vim command)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*todo.txt* For Vim version 8.1. Last change: 2019 Sep 10
|
*todo.txt* For Vim version 8.1. Last change: 2019 Sep 19
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -38,9 +38,21 @@ browser use: https://github.com/vim/vim/issues/1234
|
|||||||
*known-bugs*
|
*known-bugs*
|
||||||
-------------------- Known bugs and current work -----------------------
|
-------------------- Known bugs and current work -----------------------
|
||||||
|
|
||||||
Split off part of option.c: #4918
|
Add test for state().
|
||||||
|
Add test for using SafeState and SafeStateAgain autocommand.
|
||||||
|
Then plugin can:
|
||||||
|
- When callback is invoked and state() returns non-empty, add to work queue
|
||||||
|
- When SafeState autocommand event triggers, process work queue
|
||||||
|
|
||||||
|
Fix for "x" should be done by fixing "dl" ? 8.1.2052
|
||||||
|
|
||||||
|
'completeopt' "popup" variant that uses a callback after the popup has been
|
||||||
|
created, so the contents can be changed. Make it hidden, callback
|
||||||
|
or later has to make it visible. #4924 Setting the buffer contents later
|
||||||
|
doesn't work well.
|
||||||
|
|
||||||
Popup windows:
|
Popup windows:
|
||||||
|
- Use popup (or popup menu) for command line completion
|
||||||
- Implement flip option
|
- Implement flip option
|
||||||
- Why does 'nrformats' leak from the popup window buffer???
|
- Why does 'nrformats' leak from the popup window buffer???
|
||||||
Happens in Test_simple_popup() at the second screendump.
|
Happens in Test_simple_popup() at the second screendump.
|
||||||
@ -130,6 +142,11 @@ E278, E279, E290, E292, E362, E366, E450, E451, E452,
|
|||||||
E453, E454, E460, E489, E491, E565, E578, E610, E611, E653,
|
E453, E454, E460, E489, E491, E565, E578, E610, E611, E653,
|
||||||
E654, E856, E857, E860, E861, E863, E889, E900
|
E654, E856, E857, E860, E861, E863, E889, E900
|
||||||
|
|
||||||
|
Improve running tests on MS-Windows: #4922
|
||||||
|
|
||||||
|
Patch to properly break CJK lines: #3875
|
||||||
|
Ready to include now?
|
||||||
|
|
||||||
Remove check for cmd_silent when calling search_stat()? (Gary Johnson)
|
Remove check for cmd_silent when calling search_stat()? (Gary Johnson)
|
||||||
|
|
||||||
undo result wrong: Masato Nishihata, #4798
|
undo result wrong: Masato Nishihata, #4798
|
||||||
@ -510,9 +527,6 @@ Further xdiff changes:
|
|||||||
|
|
||||||
Difference between two regexp engines: #3373
|
Difference between two regexp engines: #3373
|
||||||
|
|
||||||
Patch to properly break CJK lines: #3875
|
|
||||||
Requires more tests. dbcs_ functions are not implemented.
|
|
||||||
|
|
||||||
Patch to add ch_listen() (Yasuhiro Matsumoto, 2018 Nov 26, #3639)
|
Patch to add ch_listen() (Yasuhiro Matsumoto, 2018 Nov 26, #3639)
|
||||||
What is the practical use for this?
|
What is the practical use for this?
|
||||||
|
|
||||||
@ -783,7 +797,7 @@ Problem with 'delcombine'. (agguser, 2017 Nov 10, #2313)
|
|||||||
MS-Windows: buffer completion doesn't work when using backslash (or slash)
|
MS-Windows: buffer completion doesn't work when using backslash (or slash)
|
||||||
for a path separator. (xtal8, #2201)
|
for a path separator. (xtal8, #2201)
|
||||||
|
|
||||||
Would be nice for insert mode completion to highlight the text that was added
|
Would be nice for Insert mode completion to highlight the text that was added
|
||||||
(and may change when picking another completion).
|
(and may change when picking another completion).
|
||||||
|
|
||||||
Test runtime files.
|
Test runtime files.
|
||||||
@ -1894,9 +1908,6 @@ Syntax region with 'concealends' and a 'cchar' value, 'conceallevel' set to 2,
|
|||||||
only one of the two ends gets the cchar displayed. (Brett Stahlman, 2010 Aug
|
only one of the two ends gets the cchar displayed. (Brett Stahlman, 2010 Aug
|
||||||
21, Ben Fritz, 2010 Sep 14)
|
21, Ben Fritz, 2010 Sep 14)
|
||||||
|
|
||||||
'cursorline' works on a text line only. Add 'cursorscreenline' for
|
|
||||||
highlighting the screen line. (Christian Brabandt, 2012 Mar 31)
|
|
||||||
|
|
||||||
Win32: Patch to use task dialogs when available. (Sergiu Dotenco, 2011 Sep 17)
|
Win32: Patch to use task dialogs when available. (Sergiu Dotenco, 2011 Sep 17)
|
||||||
New feature, requires testing. Made some remarks.
|
New feature, requires testing. Made some remarks.
|
||||||
|
|
||||||
|
145
runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
vendored
145
runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
vendored
@ -156,9 +156,9 @@ endfunc
|
|||||||
func s:StartDebug_term(dict)
|
func s:StartDebug_term(dict)
|
||||||
" Open a terminal window without a job, to run the debugged program in.
|
" Open a terminal window without a job, to run the debugged program in.
|
||||||
let s:ptybuf = term_start('NONE', {
|
let s:ptybuf = term_start('NONE', {
|
||||||
\ 'term_name': 'debugged program',
|
\ 'term_name': 'debugged program',
|
||||||
\ 'vertical': s:vertical,
|
\ 'vertical': s:vertical,
|
||||||
\ })
|
\ })
|
||||||
if s:ptybuf == 0
|
if s:ptybuf == 0
|
||||||
echoerr 'Failed to open the program terminal window'
|
echoerr 'Failed to open the program terminal window'
|
||||||
return
|
return
|
||||||
@ -177,10 +177,10 @@ func s:StartDebug_term(dict)
|
|||||||
|
|
||||||
" Create a hidden terminal window to communicate with gdb
|
" Create a hidden terminal window to communicate with gdb
|
||||||
let s:commbuf = term_start('NONE', {
|
let s:commbuf = term_start('NONE', {
|
||||||
\ 'term_name': 'gdb communication',
|
\ 'term_name': 'gdb communication',
|
||||||
\ 'out_cb': function('s:CommOutput'),
|
\ 'out_cb': function('s:CommOutput'),
|
||||||
\ 'hidden': 1,
|
\ 'hidden': 1,
|
||||||
\ })
|
\ })
|
||||||
if s:commbuf == 0
|
if s:commbuf == 0
|
||||||
echoerr 'Failed to open the communication terminal window'
|
echoerr 'Failed to open the communication terminal window'
|
||||||
exe 'bwipe! ' . s:ptybuf
|
exe 'bwipe! ' . s:ptybuf
|
||||||
@ -196,8 +196,8 @@ func s:StartDebug_term(dict)
|
|||||||
let cmd = [g:termdebugger, '-quiet', '-tty', pty] + gdb_args
|
let cmd = [g:termdebugger, '-quiet', '-tty', pty] + gdb_args
|
||||||
call ch_log('executing "' . join(cmd) . '"')
|
call ch_log('executing "' . join(cmd) . '"')
|
||||||
let s:gdbbuf = term_start(cmd, {
|
let s:gdbbuf = term_start(cmd, {
|
||||||
\ 'term_finish': 'close',
|
\ 'term_finish': 'close',
|
||||||
\ })
|
\ })
|
||||||
if s:gdbbuf == 0
|
if s:gdbbuf == 0
|
||||||
echoerr 'Failed to open the gdb terminal window'
|
echoerr 'Failed to open the gdb terminal window'
|
||||||
call s:CloseBuffers()
|
call s:CloseBuffers()
|
||||||
@ -229,17 +229,17 @@ func s:StartDebug_term(dict)
|
|||||||
let line1 = term_getline(s:gdbbuf, lnum)
|
let line1 = term_getline(s:gdbbuf, lnum)
|
||||||
let line2 = term_getline(s:gdbbuf, lnum + 1)
|
let line2 = term_getline(s:gdbbuf, lnum + 1)
|
||||||
if line1 =~ 'new-ui mi '
|
if line1 =~ 'new-ui mi '
|
||||||
" response can be in the same line or the next line
|
" response can be in the same line or the next line
|
||||||
let response = line1 . line2
|
let response = line1 . line2
|
||||||
if response =~ 'Undefined command'
|
if response =~ 'Undefined command'
|
||||||
echoerr 'Sorry, your gdb is too old, gdb 7.12 is required'
|
echoerr 'Sorry, your gdb is too old, gdb 7.12 is required'
|
||||||
call s:CloseBuffers()
|
call s:CloseBuffers()
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
if response =~ 'New UI allocated'
|
if response =~ 'New UI allocated'
|
||||||
" Success!
|
" Success!
|
||||||
break
|
break
|
||||||
endif
|
endif
|
||||||
elseif line1 =~ 'Reading symbols from' && line2 !~ 'new-ui mi '
|
elseif line1 =~ 'Reading symbols from' && line2 !~ 'new-ui mi '
|
||||||
" Reading symbols might take a while, try more times
|
" Reading symbols might take a while, try more times
|
||||||
let try_count -= 1
|
let try_count -= 1
|
||||||
@ -300,9 +300,9 @@ func s:StartDebug_prompt(dict)
|
|||||||
call ch_log('executing "' . join(cmd) . '"')
|
call ch_log('executing "' . join(cmd) . '"')
|
||||||
|
|
||||||
let s:gdbjob = job_start(cmd, {
|
let s:gdbjob = job_start(cmd, {
|
||||||
\ 'exit_cb': function('s:EndPromptDebug'),
|
\ 'exit_cb': function('s:EndPromptDebug'),
|
||||||
\ 'out_cb': function('s:GdbOutCallback'),
|
\ 'out_cb': function('s:GdbOutCallback'),
|
||||||
\ })
|
\ })
|
||||||
if job_status(s:gdbjob) != "run"
|
if job_status(s:gdbjob) != "run"
|
||||||
echoerr 'Failed to start gdb'
|
echoerr 'Failed to start gdb'
|
||||||
exe 'bwipe! ' . s:promptbuf
|
exe 'bwipe! ' . s:promptbuf
|
||||||
@ -327,8 +327,8 @@ func s:StartDebug_prompt(dict)
|
|||||||
" Unix: Run the debugged program in a terminal window. Open it below the
|
" Unix: Run the debugged program in a terminal window. Open it below the
|
||||||
" gdb window.
|
" gdb window.
|
||||||
belowright let s:ptybuf = term_start('NONE', {
|
belowright let s:ptybuf = term_start('NONE', {
|
||||||
\ 'term_name': 'debugged program',
|
\ 'term_name': 'debugged program',
|
||||||
\ })
|
\ })
|
||||||
if s:ptybuf == 0
|
if s:ptybuf == 0
|
||||||
echoerr 'Failed to open the program terminal window'
|
echoerr 'Failed to open the program terminal window'
|
||||||
call job_stop(s:gdbjob)
|
call job_stop(s:gdbjob)
|
||||||
@ -508,9 +508,14 @@ func s:DecodeMessage(quotedText)
|
|||||||
if a:quotedText[i] == '\'
|
if a:quotedText[i] == '\'
|
||||||
let i += 1
|
let i += 1
|
||||||
if a:quotedText[i] == 'n'
|
if a:quotedText[i] == 'n'
|
||||||
" drop \n
|
" drop \n
|
||||||
let i += 1
|
let i += 1
|
||||||
continue
|
continue
|
||||||
|
elseif a:quotedText[i] == 't'
|
||||||
|
" append \t
|
||||||
|
let i += 1
|
||||||
|
let result .= "\t"
|
||||||
|
continue
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
let result .= a:quotedText[i]
|
let result .= a:quotedText[i]
|
||||||
@ -594,28 +599,38 @@ func s:CommOutput(chan, msg)
|
|||||||
endif
|
endif
|
||||||
if msg != ''
|
if msg != ''
|
||||||
if msg =~ '^\(\*stopped\|\*running\|=thread-selected\)'
|
if msg =~ '^\(\*stopped\|\*running\|=thread-selected\)'
|
||||||
call s:HandleCursor(msg)
|
call s:HandleCursor(msg)
|
||||||
elseif msg =~ '^\^done,bkpt=' || msg =~ '^=breakpoint-created,'
|
elseif msg =~ '^\^done,bkpt=' || msg =~ '^=breakpoint-created,'
|
||||||
call s:HandleNewBreakpoint(msg)
|
call s:HandleNewBreakpoint(msg)
|
||||||
elseif msg =~ '^=breakpoint-deleted,'
|
elseif msg =~ '^=breakpoint-deleted,'
|
||||||
call s:HandleBreakpointDelete(msg)
|
call s:HandleBreakpointDelete(msg)
|
||||||
elseif msg =~ '^=thread-group-started'
|
elseif msg =~ '^=thread-group-started'
|
||||||
call s:HandleProgramRun(msg)
|
call s:HandleProgramRun(msg)
|
||||||
elseif msg =~ '^\^done,value='
|
elseif msg =~ '^\^done,value='
|
||||||
call s:HandleEvaluate(msg)
|
call s:HandleEvaluate(msg)
|
||||||
elseif msg =~ '^\^error,msg='
|
elseif msg =~ '^\^error,msg='
|
||||||
call s:HandleError(msg)
|
call s:HandleError(msg)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endfor
|
endfor
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
func s:GotoProgram()
|
||||||
|
if has('win32')
|
||||||
|
if executable('powershell')
|
||||||
|
call system(printf('powershell -Command "add-type -AssemblyName microsoft.VisualBasic;[Microsoft.VisualBasic.Interaction]::AppActivate(%d);"', s:pid))
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
win_gotoid(s:ptywin)
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
" Install commands in the current window to control the debugger.
|
" Install commands in the current window to control the debugger.
|
||||||
func s:InstallCommands()
|
func s:InstallCommands()
|
||||||
let save_cpo = &cpo
|
let save_cpo = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
command Break call s:SetBreakpoint()
|
command -nargs=? Break call s:SetBreakpoint(<q-args>)
|
||||||
command Clear call s:ClearBreakpoint()
|
command Clear call s:ClearBreakpoint()
|
||||||
command Step call s:SendCommand('-exec-step')
|
command Step call s:SendCommand('-exec-step')
|
||||||
command Over call s:SendCommand('-exec-next')
|
command Over call s:SendCommand('-exec-next')
|
||||||
@ -633,7 +648,7 @@ func s:InstallCommands()
|
|||||||
|
|
||||||
command -range -nargs=* Evaluate call s:Evaluate(<range>, <q-args>)
|
command -range -nargs=* Evaluate call s:Evaluate(<range>, <q-args>)
|
||||||
command Gdb call win_gotoid(s:gdbwin)
|
command Gdb call win_gotoid(s:gdbwin)
|
||||||
command Program call win_gotoid(s:ptywin)
|
command Program call s:GotoProgram()
|
||||||
command Source call s:GotoSourcewinOrCreateIt()
|
command Source call s:GotoSourcewinOrCreateIt()
|
||||||
command Winbar call s:InstallWinbar()
|
command Winbar call s:InstallWinbar()
|
||||||
|
|
||||||
@ -695,12 +710,12 @@ func s:DeleteCommands()
|
|||||||
let curwinid = win_getid(winnr())
|
let curwinid = win_getid(winnr())
|
||||||
for winid in s:winbar_winids
|
for winid in s:winbar_winids
|
||||||
if win_gotoid(winid)
|
if win_gotoid(winid)
|
||||||
aunmenu WinBar.Step
|
aunmenu WinBar.Step
|
||||||
aunmenu WinBar.Next
|
aunmenu WinBar.Next
|
||||||
aunmenu WinBar.Finish
|
aunmenu WinBar.Finish
|
||||||
aunmenu WinBar.Cont
|
aunmenu WinBar.Cont
|
||||||
aunmenu WinBar.Stop
|
aunmenu WinBar.Stop
|
||||||
aunmenu WinBar.Eval
|
aunmenu WinBar.Eval
|
||||||
endif
|
endif
|
||||||
endfor
|
endfor
|
||||||
call win_gotoid(curwinid)
|
call win_gotoid(curwinid)
|
||||||
@ -733,7 +748,7 @@ func s:DeleteCommands()
|
|||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
" :Break - Set a breakpoint at the cursor position.
|
" :Break - Set a breakpoint at the cursor position.
|
||||||
func s:SetBreakpoint()
|
func s:SetBreakpoint(at)
|
||||||
" Setting a breakpoint may not work while the program is running.
|
" Setting a breakpoint may not work while the program is running.
|
||||||
" Interrupt to make it work.
|
" Interrupt to make it work.
|
||||||
let do_continue = 0
|
let do_continue = 0
|
||||||
@ -746,9 +761,11 @@ func s:SetBreakpoint()
|
|||||||
endif
|
endif
|
||||||
sleep 10m
|
sleep 10m
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Use the fname:lnum format, older gdb can't handle --source.
|
" Use the fname:lnum format, older gdb can't handle --source.
|
||||||
call s:SendCommand('-break-insert '
|
let at = empty(a:at) ?
|
||||||
\ . fnameescape(expand('%:p')) . ':' . line('.'))
|
\ fnameescape(expand('%:p')) . ':' . line('.') : a:at
|
||||||
|
call s:SendCommand('-break-insert ' . at)
|
||||||
if do_continue
|
if do_continue
|
||||||
call s:SendCommand('-exec-continue')
|
call s:SendCommand('-exec-continue')
|
||||||
endif
|
endif
|
||||||
@ -763,14 +780,14 @@ func s:ClearBreakpoint()
|
|||||||
let idx = 0
|
let idx = 0
|
||||||
for id in s:breakpoint_locations[bploc]
|
for id in s:breakpoint_locations[bploc]
|
||||||
if has_key(s:breakpoints, id)
|
if has_key(s:breakpoints, id)
|
||||||
" Assume this always works, the reply is simply "^done".
|
" Assume this always works, the reply is simply "^done".
|
||||||
call s:SendCommand('-break-delete ' . id)
|
call s:SendCommand('-break-delete ' . id)
|
||||||
for subid in keys(s:breakpoints[id])
|
for subid in keys(s:breakpoints[id])
|
||||||
exe 'sign unplace ' . s:Breakpoint2SignNumber(id, subid)
|
exe 'sign unplace ' . s:Breakpoint2SignNumber(id, subid)
|
||||||
endfor
|
endfor
|
||||||
unlet s:breakpoints[id]
|
unlet s:breakpoints[id]
|
||||||
unlet s:breakpoint_locations[bploc][idx]
|
unlet s:breakpoint_locations[bploc][idx]
|
||||||
break
|
break
|
||||||
else
|
else
|
||||||
let idx += 1
|
let idx += 1
|
||||||
endif
|
endif
|
||||||
@ -899,14 +916,14 @@ func s:HandleCursor(msg)
|
|||||||
if lnum =~ '^[0-9]*$'
|
if lnum =~ '^[0-9]*$'
|
||||||
call s:GotoSourcewinOrCreateIt()
|
call s:GotoSourcewinOrCreateIt()
|
||||||
if expand('%:p') != fnamemodify(fname, ':p')
|
if expand('%:p') != fnamemodify(fname, ':p')
|
||||||
if &modified
|
if &modified
|
||||||
" TODO: find existing window
|
" TODO: find existing window
|
||||||
exe 'split ' . fnameescape(fname)
|
exe 'split ' . fnameescape(fname)
|
||||||
let s:sourcewin = win_getid(winnr())
|
let s:sourcewin = win_getid(winnr())
|
||||||
call s:InstallWinbar()
|
call s:InstallWinbar()
|
||||||
else
|
else
|
||||||
exe 'edit ' . fnameescape(fname)
|
exe 'edit ' . fnameescape(fname)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
exe lnum
|
exe lnum
|
||||||
exe 'sign unplace ' . s:pc_id
|
exe 'sign unplace ' . s:pc_id
|
||||||
@ -1001,8 +1018,8 @@ func s:HandleBreakpointDelete(msg)
|
|||||||
if has_key(s:breakpoints, id)
|
if has_key(s:breakpoints, id)
|
||||||
for [subid, entry] in items(s:breakpoints[id])
|
for [subid, entry] in items(s:breakpoints[id])
|
||||||
if has_key(entry, 'placed')
|
if has_key(entry, 'placed')
|
||||||
exe 'sign unplace ' . s:Breakpoint2SignNumber(id, subid)
|
exe 'sign unplace ' . s:Breakpoint2SignNumber(id, subid)
|
||||||
unlet entry['placed']
|
unlet entry['placed']
|
||||||
endif
|
endif
|
||||||
endfor
|
endfor
|
||||||
unlet s:breakpoints[id]
|
unlet s:breakpoints[id]
|
||||||
@ -1026,7 +1043,7 @@ func s:BufRead()
|
|||||||
for [id, entries] in items(s:breakpoints)
|
for [id, entries] in items(s:breakpoints)
|
||||||
for [subid, entry] in items(entries)
|
for [subid, entry] in items(entries)
|
||||||
if entry['fname'] == fname
|
if entry['fname'] == fname
|
||||||
call s:PlaceSign(id, subid, entry)
|
call s:PlaceSign(id, subid, entry)
|
||||||
endif
|
endif
|
||||||
endfor
|
endfor
|
||||||
endfor
|
endfor
|
||||||
@ -1038,7 +1055,7 @@ func s:BufUnloaded()
|
|||||||
for [id, entries] in items(s:breakpoints)
|
for [id, entries] in items(s:breakpoints)
|
||||||
for [subid, entry] in items(entries)
|
for [subid, entry] in items(entries)
|
||||||
if entry['fname'] == fname
|
if entry['fname'] == fname
|
||||||
let entry['placed'] = 0
|
let entry['placed'] = 0
|
||||||
endif
|
endif
|
||||||
endfor
|
endfor
|
||||||
endfor
|
endfor
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
" netrwPlugin.vim: Handles file transfer and remote directory listing across a network
|
" netrwPlugin.vim: Handles file transfer and remote directory listing across a network
|
||||||
" PLUGIN SECTION
|
" PLUGIN SECTION
|
||||||
" Date: Feb 08, 2016
|
" Date: Feb 08, 2016 (update for gx 2019 Sep 20)
|
||||||
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
||||||
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
|
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
|
||||||
" Copyright: Copyright (C) 1999-2013 Charles E. Campbell {{{1
|
" Copyright: Copyright (C) 1999-2013 Charles E. Campbell {{{1
|
||||||
@ -47,9 +47,9 @@ augroup Network
|
|||||||
au FileReadCmd ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "sil doau FileReadPost ".fnameescape(expand("<amatch>"))
|
au FileReadCmd ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "sil doau FileReadPost ".fnameescape(expand("<amatch>"))
|
||||||
au BufWriteCmd ftp://*,rcp://*,scp://*,http://*,file://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau BufWritePost ".fnameescape(expand("<amatch>"))
|
au BufWriteCmd ftp://*,rcp://*,scp://*,http://*,file://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau BufWritePost ".fnameescape(expand("<amatch>"))
|
||||||
au FileWriteCmd ftp://*,rcp://*,scp://*,http://*,file://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileWritePre ".fnameescape(expand("<amatch>"))|exe "'[,']".'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau FileWritePost ".fnameescape(expand("<amatch>"))
|
au FileWriteCmd ftp://*,rcp://*,scp://*,http://*,file://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileWritePre ".fnameescape(expand("<amatch>"))|exe "'[,']".'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau FileWritePost ".fnameescape(expand("<amatch>"))
|
||||||
try
|
try
|
||||||
au SourceCmd ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe 'Nsource '.fnameescape(expand("<amatch>"))
|
au SourceCmd ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe 'Nsource '.fnameescape(expand("<amatch>"))
|
||||||
catch /^Vim\%((\a\+)\)\=:E216/
|
catch /^Vim\%((\a\+)\)\=:E216/
|
||||||
au SourcePre ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe 'Nsource '.fnameescape(expand("<amatch>"))
|
au SourcePre ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe 'Nsource '.fnameescape(expand("<amatch>"))
|
||||||
endtry
|
endtry
|
||||||
augroup END
|
augroup END
|
||||||
@ -81,7 +81,7 @@ if !exists("g:netrw_nogx")
|
|||||||
if !hasmapto('<Plug>NetrwBrowseX')
|
if !hasmapto('<Plug>NetrwBrowseX')
|
||||||
nmap <unique> gx <Plug>NetrwBrowseX
|
nmap <unique> gx <Plug>NetrwBrowseX
|
||||||
endif
|
endif
|
||||||
nno <silent> <Plug>NetrwBrowseX :call netrw#BrowseX(netrw#GX(),netrw#CheckIfRemote(netrw#GX()))<cr>
|
nno <silent> <Plug>NetrwBrowseX :call netrw#BrowseX(expand((exists("g:netrw_gx")? g:netrw_gx : '<cfile>')),netrw#CheckIfRemote())<cr>
|
||||||
endif
|
endif
|
||||||
if maparg('gx','v') == ""
|
if maparg('gx','v') == ""
|
||||||
if !hasmapto('<Plug>NetrwBrowseXVis')
|
if !hasmapto('<Plug>NetrwBrowseXVis')
|
||||||
@ -103,7 +103,7 @@ fun! s:LocalBrowse(dirname)
|
|||||||
" Unfortunate interaction -- only DechoMsg debugging calls can be safely used here.
|
" Unfortunate interaction -- only DechoMsg debugging calls can be safely used here.
|
||||||
" Otherwise, the BufEnter event gets triggered when attempts to write to
|
" Otherwise, the BufEnter event gets triggered when attempts to write to
|
||||||
" the DBG buffer are made.
|
" the DBG buffer are made.
|
||||||
|
|
||||||
if !exists("s:vimentered")
|
if !exists("s:vimentered")
|
||||||
" If s:vimentered doesn't exist, then the VimEnter event hasn't fired. It will,
|
" If s:vimentered doesn't exist, then the VimEnter event hasn't fired. It will,
|
||||||
" and so s:VimEnter() will then be calling this routine, but this time with s:vimentered defined.
|
" and so s:VimEnter() will then be calling this routine, but this time with s:vimentered defined.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
" Language: JSON
|
" Language: JSON
|
||||||
" Maintainer: vacancy
|
" Maintainer: vacancy
|
||||||
" Previous Maintainer: Eli Parra <eli@elzr.com>
|
" Previous Maintainer: Eli Parra <eli@elzr.com>
|
||||||
" Last Change: 2019 Jul 08
|
" Last Change: 2019 Sep 17
|
||||||
" Version: 0.12
|
" Version: 0.12
|
||||||
|
|
||||||
if !exists("main_syntax")
|
if !exists("main_syntax")
|
||||||
@ -20,7 +20,7 @@ syntax match jsonNoise /\%(:\|,\)/
|
|||||||
" Syntax: JSON Keywords
|
" Syntax: JSON Keywords
|
||||||
" Separated into a match and region because a region by itself is always greedy
|
" Separated into a match and region because a region by itself is always greedy
|
||||||
syn match jsonKeywordMatch /"\([^"]\|\\\"\)\+"[[:blank:]\r\n]*\:/ contains=jsonKeyword
|
syn match jsonKeywordMatch /"\([^"]\|\\\"\)\+"[[:blank:]\r\n]*\:/ contains=jsonKeyword
|
||||||
if has('conceal')
|
if has('conceal') && (!exists("g:vim_json_conceal") || g:vim_json_conceal==1)
|
||||||
syn region jsonKeyword matchgroup=jsonQuote start=/"/ end=/"\ze[[:blank:]\r\n]*\:/ concealends contained
|
syn region jsonKeyword matchgroup=jsonQuote start=/"/ end=/"\ze[[:blank:]\r\n]*\:/ concealends contained
|
||||||
else
|
else
|
||||||
syn region jsonKeyword matchgroup=jsonQuote start=/"/ end=/"\ze[[:blank:]\r\n]*\:/ contained
|
syn region jsonKeyword matchgroup=jsonQuote start=/"/ end=/"\ze[[:blank:]\r\n]*\:/ contained
|
||||||
@ -31,7 +31,7 @@ endif
|
|||||||
" Needs to come after keywords or else a json encoded string will break the
|
" Needs to come after keywords or else a json encoded string will break the
|
||||||
" syntax
|
" syntax
|
||||||
syn match jsonStringMatch /"\([^"]\|\\\"\)\+"\ze[[:blank:]\r\n]*[,}\]]/ contains=jsonString
|
syn match jsonStringMatch /"\([^"]\|\\\"\)\+"\ze[[:blank:]\r\n]*[,}\]]/ contains=jsonString
|
||||||
if has('conceal')
|
if has('conceal') && (!exists("g:vim_json_conceal") || g:vim_json_conceal==1)
|
||||||
syn region jsonString oneline matchgroup=jsonQuote start=/"/ skip=/\\\\\|\\"/ end=/"/ concealends contains=jsonEscape contained
|
syn region jsonString oneline matchgroup=jsonQuote start=/"/ skip=/\\\\\|\\"/ end=/"/ concealends contains=jsonEscape contained
|
||||||
else
|
else
|
||||||
syn region jsonString oneline matchgroup=jsonQuote start=/"/ skip=/\\\\\|\\"/ end=/"/ contains=jsonEscape contained
|
syn region jsonString oneline matchgroup=jsonQuote start=/"/ skip=/\\\\\|\\"/ end=/"/ contains=jsonEscape contained
|
||||||
|
Loading…
x
Reference in New Issue
Block a user