forked from aniani/vim
Update runtime files.
This commit is contained in:
@@ -1,7 +1,8 @@
|
|||||||
" Vim compiler file
|
" Vim compiler file
|
||||||
" Compiler: reStructuredText Documentation Format
|
" Compiler: sphinx >= 1.0.8, http://www.sphinx-doc.org
|
||||||
|
" Description: reStructuredText Documentation Format
|
||||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||||
" Latest Revision: 2006-04-19
|
" Latest Revision: 2017-03-31
|
||||||
|
|
||||||
if exists("current_compiler")
|
if exists("current_compiler")
|
||||||
finish
|
finish
|
||||||
@@ -11,12 +12,18 @@ let current_compiler = "rst"
|
|||||||
let s:cpo_save = &cpo
|
let s:cpo_save = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
setlocal errorformat=
|
if exists(":CompilerSet") != 2
|
||||||
\%f:%l:\ (%tEBUG/0)\ %m,
|
command -nargs=* CompilerSet setlocal <args>
|
||||||
\%f:%l:\ (%tNFO/1)\ %m,
|
endif
|
||||||
\%f:%l:\ (%tARNING/2)\ %m,
|
|
||||||
\%f:%l:\ (%tRROR/3)\ %m,
|
CompilerSet errorformat=
|
||||||
\%f:%l:\ (%tEVERE/3)\ %m,
|
\%f\\:%l:\ %tEBUG:\ %m,
|
||||||
|
\%f\\:%l:\ %tNFO:\ %m,
|
||||||
|
\%f\\:%l:\ %tARNING:\ %m,
|
||||||
|
\%f\\:%l:\ %tRROR:\ %m,
|
||||||
|
\%f\\:%l:\ %tEVERE:\ %m,
|
||||||
|
\%f\\:%s:\ %tARNING:\ %m,
|
||||||
|
\%f\\:%s:\ %tRROR:\ %m,
|
||||||
\%D%*\\a[%*\\d]:\ Entering\ directory\ `%f',
|
\%D%*\\a[%*\\d]:\ Entering\ directory\ `%f',
|
||||||
\%X%*\\a[%*\\d]:\ Leaving\ directory\ `%f',
|
\%X%*\\a[%*\\d]:\ Leaving\ directory\ `%f',
|
||||||
\%DMaking\ %*\\a\ in\ %f
|
\%DMaking\ %*\\a\ in\ %f
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*autocmd.txt* For Vim version 8.0. Last change: 2017 Jan 14
|
*autocmd.txt* For Vim version 8.0. Last change: 2017 Apr 07
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -621,7 +621,7 @@ FileChangedShell When Vim notices that the modification time of
|
|||||||
to tell Vim what to do next.
|
to tell Vim what to do next.
|
||||||
NOTE: When this autocommand is executed, the
|
NOTE: When this autocommand is executed, the
|
||||||
current buffer "%" may be different from the
|
current buffer "%" may be different from the
|
||||||
buffer that was changed "<afile>".
|
buffer that was changed, which is in "<afile>".
|
||||||
NOTE: The commands must not change the current
|
NOTE: The commands must not change the current
|
||||||
buffer, jump to another buffer or delete a
|
buffer, jump to another buffer or delete a
|
||||||
buffer. *E246* *E811*
|
buffer. *E246* *E811*
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*eval.txt* For Vim version 8.0. Last change: 2017 Mar 27
|
*eval.txt* For Vim version 8.0. Last change: 2017 Apr 09
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -4379,12 +4379,14 @@ getcurpos() Get the position of the cursor. This is like getpos('.'), but
|
|||||||
includes an extra item in the list:
|
includes an extra item in the list:
|
||||||
[bufnum, lnum, col, off, curswant] ~
|
[bufnum, lnum, col, off, curswant] ~
|
||||||
The "curswant" number is the preferred column when moving the
|
The "curswant" number is the preferred column when moving the
|
||||||
cursor vertically.
|
cursor vertically. Also see |getpos()|.
|
||||||
|
|
||||||
This can be used to save and restore the cursor position: >
|
This can be used to save and restore the cursor position: >
|
||||||
let save_cursor = getcurpos()
|
let save_cursor = getcurpos()
|
||||||
MoveTheCursorAround
|
MoveTheCursorAround
|
||||||
call setpos('.', save_cursor)
|
call setpos('.', save_cursor)
|
||||||
<
|
< Note that this only works within the window. See
|
||||||
|
|winrestview()| for restoring more state.
|
||||||
*getcwd()*
|
*getcwd()*
|
||||||
getcwd([{winnr} [, {tabnr}]])
|
getcwd([{winnr} [, {tabnr}]])
|
||||||
The result is a String, which is the name of the current
|
The result is a String, which is the name of the current
|
||||||
@@ -4682,13 +4684,16 @@ gettabwinvar({tabnr}, {winnr}, {varname} [, {def}]) *gettabwinvar()*
|
|||||||
<
|
<
|
||||||
*getwinposx()*
|
*getwinposx()*
|
||||||
getwinposx() The result is a Number, which is the X coordinate in pixels of
|
getwinposx() The result is a Number, which is the X coordinate in pixels of
|
||||||
the left hand side of the GUI Vim window. The result will be
|
the left hand side of the GUI Vim window. Also works for an
|
||||||
-1 if the information is not available.
|
xterm.
|
||||||
|
The result will be -1 if the information is not available.
|
||||||
|
The value can be used with `:winpos`.
|
||||||
|
|
||||||
*getwinposy()*
|
*getwinposy()*
|
||||||
getwinposy() The result is a Number, which is the Y coordinate in pixels of
|
getwinposy() The result is a Number, which is the Y coordinate in pixels of
|
||||||
the top of the GUI Vim window. The result will be -1 if the
|
the top of the GUI Vim window. Also works for an xterm.
|
||||||
information is not available.
|
The result will be -1 if the information is not available.
|
||||||
|
The value can be used with `:winpos`.
|
||||||
|
|
||||||
getwininfo([{winid}]) *getwininfo()*
|
getwininfo([{winid}]) *getwininfo()*
|
||||||
Returns information about windows as a List with Dictionaries.
|
Returns information about windows as a List with Dictionaries.
|
||||||
@@ -5304,13 +5309,29 @@ json_decode({string}) *json_decode()*
|
|||||||
in Vim values. See |json_encode()| for the relation between
|
in Vim values. See |json_encode()| for the relation between
|
||||||
JSON and Vim values.
|
JSON and Vim values.
|
||||||
The decoding is permissive:
|
The decoding is permissive:
|
||||||
- A trailing comma in an array and object is ignored.
|
- A trailing comma in an array and object is ignored, e.g.
|
||||||
|
"[1, 2, ]" is the same as "[1, 2]".
|
||||||
- More floating point numbers are recognized, e.g. "1." for
|
- More floating point numbers are recognized, e.g. "1." for
|
||||||
"1.0".
|
"1.0", or "001.2" for "1.2". Special floating point values
|
||||||
However, a duplicate key in an object is not allowed. *E938*
|
"Infinity" and "NaN" (capitalization ignored) are accepted.
|
||||||
The result must be a valid Vim type:
|
- Leading zeroes in integer numbers are ignored, e.g. "012"
|
||||||
- An empty object member name is not allowed.
|
for "12" or "-012" for "-12".
|
||||||
- Duplicate object member names are not allowed.
|
- Capitalization is ignored in literal names null, true or
|
||||||
|
false, e.g. "NULL" for "null", "True" for "true".
|
||||||
|
- Control characters U+0000 through U+001F which are not
|
||||||
|
escaped in strings are accepted, e.g. " " (tab
|
||||||
|
character in string) for "\t".
|
||||||
|
- Backslash in an invalid 2-character sequence escape is
|
||||||
|
ignored, e.g. "\a" is decoded as "a".
|
||||||
|
- A correct surrogate pair in JSON strings should normally be
|
||||||
|
a 12 character sequence such as "\uD834\uDD1E", but
|
||||||
|
json_decode() silently accepts truncated surrogate pairs
|
||||||
|
such as "\uD834" or "\uD834\u"
|
||||||
|
*E938*
|
||||||
|
A duplicate key in an object, valid in rfc7159, is not
|
||||||
|
accepted by json_decode() as the result must be a valid Vim
|
||||||
|
type, e.g. this fails: {"a":"b", "a":"c"}
|
||||||
|
|
||||||
|
|
||||||
json_encode({expr}) *json_encode()*
|
json_encode({expr}) *json_encode()*
|
||||||
Encode {expr} as JSON and return this as a string.
|
Encode {expr} as JSON and return this as a string.
|
||||||
@@ -7879,7 +7900,6 @@ test_override({name}, {val}) *test_override()*
|
|||||||
|
|
||||||
name effect when {val} is non-zero ~
|
name effect when {val} is non-zero ~
|
||||||
redraw disable the redrawing() function
|
redraw disable the redrawing() function
|
||||||
silent_mode enable silent mode (like using |-s| after |-e|)
|
|
||||||
char_avail disable the char_avail() function
|
char_avail disable the char_avail() function
|
||||||
ALL clear all overrides ({val} is not used)
|
ALL clear all overrides ({val} is not used)
|
||||||
|
|
||||||
@@ -8473,7 +8493,7 @@ listcmds Compiled with commands for the buffer list |:files|
|
|||||||
and the argument list |arglist|.
|
and the argument list |arglist|.
|
||||||
localmap Compiled with local mappings and abbr. |:map-local|
|
localmap Compiled with local mappings and abbr. |:map-local|
|
||||||
lua Compiled with Lua interface |Lua|.
|
lua Compiled with Lua interface |Lua|.
|
||||||
mac Any Macintosh version of Vim.
|
mac Any Macintosh version of Vim, but not all OS X.
|
||||||
macunix Compiled for OS X, with darwin
|
macunix Compiled for OS X, with darwin
|
||||||
osx Compiled for OS X, with or without darwin
|
osx Compiled for OS X, with or without darwin
|
||||||
menu Compiled with support for |:menu|.
|
menu Compiled with support for |:menu|.
|
||||||
@@ -10650,6 +10670,22 @@ missing: >
|
|||||||
: echo "You will _never_ see this message"
|
: echo "You will _never_ see this message"
|
||||||
:endif
|
:endif
|
||||||
|
|
||||||
|
To execute a command only when the |+eval| feature is disabled requires a trick,
|
||||||
|
as this example shows: >
|
||||||
|
if 1
|
||||||
|
nnoremap : :"
|
||||||
|
endif
|
||||||
|
normal :set history=111<CR>
|
||||||
|
if 1
|
||||||
|
nunmap :
|
||||||
|
endif
|
||||||
|
|
||||||
|
The "<CR>" here is a real CR character, type CTRL-V Enter to get it.
|
||||||
|
|
||||||
|
When the |+eval| feature is available the ":" is remapped to add a double
|
||||||
|
quote, which has the effect of commenging-out the command. without the
|
||||||
|
|+eval| feature the nnoremap command is skipped and the command is executed.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
11. The sandbox *eval-sandbox* *sandbox* *E48*
|
11. The sandbox *eval-sandbox* *sandbox* *E48*
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*insert.txt* For Vim version 8.0. Last change: 2016 Jan 31
|
*insert.txt* For Vim version 8.0. Last change: 2017 Apr 07
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -159,7 +159,8 @@ CTRL-R CTRL-R {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-R*
|
|||||||
CTRL-R CTRL-O {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-O*
|
CTRL-R CTRL-O {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-O*
|
||||||
Insert the contents of a register literally and don't
|
Insert the contents of a register literally and don't
|
||||||
auto-indent. Does the same as pasting with the mouse
|
auto-indent. Does the same as pasting with the mouse
|
||||||
|<MiddleMouse>|.
|
|<MiddleMouse>|. When the register is linewise this will
|
||||||
|
insert the text above the current line, like with `P`.
|
||||||
Does not replace characters!
|
Does not replace characters!
|
||||||
The '.' register (last inserted text) is still inserted as
|
The '.' register (last inserted text) is still inserted as
|
||||||
typed. {not in Vi}
|
typed. {not in Vi}
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*pattern.txt* For Vim version 8.0. Last change: 2017 Mar 05
|
*pattern.txt* For Vim version 8.0. Last change: 2017 Mar 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*todo.txt* For Vim version 8.0. Last change: 2017 Mar 29
|
*todo.txt* For Vim version 8.0. Last change: 2017 Apr 09
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -35,6 +35,8 @@ entered there will not be repeated below, unless there is extra information.
|
|||||||
*known-bugs*
|
*known-bugs*
|
||||||
-------------------- Known bugs and current work -----------------------
|
-------------------- Known bugs and current work -----------------------
|
||||||
|
|
||||||
|
Remove the Farsi code?
|
||||||
|
|
||||||
+channel:
|
+channel:
|
||||||
- Try out background make plugin:
|
- Try out background make plugin:
|
||||||
https://github.com/AndrewVos/vim-make-background
|
https://github.com/AndrewVos/vim-make-background
|
||||||
@@ -110,9 +112,6 @@ manager. Problem with Motif?
|
|||||||
|
|
||||||
Memory leak in test97? The string is actually freed. Weird.
|
Memory leak in test97? The string is actually freed. Weird.
|
||||||
|
|
||||||
Patch for deleting the quickfix lists and a test for it. (Yegappan, 2017 Mar
|
|
||||||
21)
|
|
||||||
|
|
||||||
Add a toolbar in the terminal. Can be global, above all windows, or specific
|
Add a toolbar in the terminal. Can be global, above all windows, or specific
|
||||||
for one window.
|
for one window.
|
||||||
Use tb_set(winid, [{'text': 'stop', 'cb': callback, 'hi': 'Green'}])
|
Use tb_set(winid, [{'text': 'stop', 'cb': callback, 'hi': 'Green'}])
|
||||||
@@ -122,16 +121,8 @@ Use tb_set(winid, [{'text': 'stop', 'cb': callback, 'hi': 'Green'}])
|
|||||||
json_encode(): 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?
|
What if there is an invalid character?
|
||||||
|
|
||||||
Patch for broken foldtext. (Christian 2017 Mar 22, #1567, 2nd one)
|
|
||||||
|
|
||||||
Json string with trailing \u should be an error. (Lcd)
|
Json string with trailing \u should be an error. (Lcd)
|
||||||
|
|
||||||
On MS-Windows with 'clipboard' set to "unnamed" this doesn't work to double
|
|
||||||
lines: :g/^/normal yyp On Unix it works OK. (Bryce Orgill, 2016 Nov 5)
|
|
||||||
Another example 2017 Mar 10.
|
|
||||||
|
|
||||||
Multi-byte bug: dv} splits char. (Urtica Dioica, 2017 Jan 9)
|
|
||||||
|
|
||||||
When session file has name in argument list but the buffer was deleted, the
|
When session file has name in argument list but the buffer was deleted, the
|
||||||
buffer is not deleted when using the session file. (#1393)
|
buffer is not deleted when using the session file. (#1393)
|
||||||
Should add the buffer in hidden state.
|
Should add the buffer in hidden state.
|
||||||
@@ -139,10 +130,6 @@ Should add the buffer in hidden state.
|
|||||||
When an item in the quickfix list has a file name that does not exist, behave
|
When an item in the quickfix list has a file name that does not exist, behave
|
||||||
like the item was not a match for :cnext.
|
like the item was not a match for :cnext.
|
||||||
|
|
||||||
Patch to test regexp classes. (Dominique, 2017 Mar 13, #1560)
|
|
||||||
Do we need to adjust the implementation?
|
|
||||||
Make different classes that depend on the system and that don't.
|
|
||||||
|
|
||||||
Wrong diff highlighting with three files. (2016 Oct 20, #1186)
|
Wrong diff highlighting with three files. (2016 Oct 20, #1186)
|
||||||
Also get E749 on exit.
|
Also get E749 on exit.
|
||||||
Another example in #1309
|
Another example in #1309
|
||||||
@@ -150,21 +137,12 @@ Another example in #1309
|
|||||||
Patch to change all use of &sw to shiftwidth(). (Tyru, 2017 Feb 19)
|
Patch to change all use of &sw to shiftwidth(). (Tyru, 2017 Feb 19)
|
||||||
Wait until maintainers integrate it.
|
Wait until maintainers integrate it.
|
||||||
|
|
||||||
Patch to change mb_char2len() to utf_char2len(c) when known to use UTF.
|
|
||||||
(Dominique, 2017 Mar 21, #1582)
|
|
||||||
|
|
||||||
Completion for user-defined commands does not work if a few characters were
|
|
||||||
already typed. (Dominique, 2017 Jan 26)
|
|
||||||
|
|
||||||
When deleting a mark or register, leave a tombstone, so that it's also deleted
|
When deleting a mark or register, leave a tombstone, so that it's also deleted
|
||||||
when writing viminfo (and the delete was the most recent action). #1339
|
when writing viminfo (and the delete was the most recent action). #1339
|
||||||
|
|
||||||
Suggestion to improve pt-br spell checking. (Marcelo D Montu, 2016 Dec 15,
|
Suggestion to improve pt-br spell checking. (Marcelo D Montu, 2016 Dec 15,
|
||||||
#1330)
|
#1330)
|
||||||
|
|
||||||
Patch to Modernize GtkForm Implmentation. (Kazuki Kuriyama, 2017 Mar 26)
|
|
||||||
Any objections?
|
|
||||||
|
|
||||||
Error in test_startup_utf8 on Solaris. (Danek Duvall, 2016 Aug 17)
|
Error in test_startup_utf8 on Solaris. (Danek Duvall, 2016 Aug 17)
|
||||||
|
|
||||||
Completion for :!cmd shows each match twice. #1435
|
Completion for :!cmd shows each match twice. #1435
|
||||||
|
@@ -274,7 +274,7 @@ function GetRIndent()
|
|||||||
let nlnum = s:Get_prev_line(nlnum)
|
let nlnum = s:Get_prev_line(nlnum)
|
||||||
let nline = SanitizeRLine(getline(nlnum)) . nline
|
let nline = SanitizeRLine(getline(nlnum)) . nline
|
||||||
endwhile
|
endwhile
|
||||||
if nline =~ '^\s*function\s*(' && indent(nlnum) == &sw
|
if nline =~ '^\s*function\s*(' && indent(nlnum) == shiftwidth()
|
||||||
return 0
|
return 0
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
@@ -285,7 +285,7 @@ function GetRIndent()
|
|||||||
|
|
||||||
" line is an incomplete command:
|
" line is an incomplete command:
|
||||||
if line =~ '\<\(if\|while\|for\|function\)\s*()$' || line =~ '\<else$' || line =~ '<-$' || line =~ '->$'
|
if line =~ '\<\(if\|while\|for\|function\)\s*()$' || line =~ '\<else$' || line =~ '<-$' || line =~ '->$'
|
||||||
return indent(lnum) + &sw
|
return indent(lnum) + shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Deal with () and []
|
" Deal with () and []
|
||||||
@@ -293,14 +293,14 @@ function GetRIndent()
|
|||||||
let pb = s:Get_paren_balance(line, '(', ')')
|
let pb = s:Get_paren_balance(line, '(', ')')
|
||||||
|
|
||||||
if line =~ '^\s*{$' || line =~ '(\s*{' || (pb == 0 && (line =~ '{$' || line =~ '(\s*{$'))
|
if line =~ '^\s*{$' || line =~ '(\s*{' || (pb == 0 && (line =~ '{$' || line =~ '(\s*{$'))
|
||||||
return indent(lnum) + &sw
|
return indent(lnum) + shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let s:curtabstop = repeat(' ', &tabstop)
|
let s:curtabstop = repeat(' ', &tabstop)
|
||||||
|
|
||||||
if g:r_indent_align_args == 1
|
if g:r_indent_align_args == 1
|
||||||
if pb > 0 && line =~ '{$'
|
if pb > 0 && line =~ '{$'
|
||||||
return s:Get_last_paren_idx(line, '(', ')', pb) + &sw
|
return s:Get_last_paren_idx(line, '(', ')', pb) + shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let bb = s:Get_paren_balance(line, '[', ']')
|
let bb = s:Get_paren_balance(line, '[', ']')
|
||||||
@@ -364,11 +364,11 @@ function GetRIndent()
|
|||||||
if oline =~ g:r_indent_op_pattern && s:Get_paren_balance(line, "(", ")") == 0
|
if oline =~ g:r_indent_op_pattern && s:Get_paren_balance(line, "(", ")") == 0
|
||||||
return indent(lnum)
|
return indent(lnum)
|
||||||
else
|
else
|
||||||
return indent(lnum) + &sw
|
return indent(lnum) + shiftwidth()
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
if oline =~ g:r_indent_op_pattern && s:Get_paren_balance(line, "(", ")") == 0
|
if oline =~ g:r_indent_op_pattern && s:Get_paren_balance(line, "(", ")") == 0
|
||||||
return indent(lnum) - &sw
|
return indent(lnum) - shiftwidth()
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
@@ -383,7 +383,7 @@ function GetRIndent()
|
|||||||
let line = linepiece . line
|
let line = linepiece . line
|
||||||
endwhile
|
endwhile
|
||||||
if line =~ '{$' && post_block == 0
|
if line =~ '{$' && post_block == 0
|
||||||
return indent(lnum) + &sw
|
return indent(lnum) + shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Now we can do some tests again
|
" Now we can do some tests again
|
||||||
@@ -393,19 +393,19 @@ function GetRIndent()
|
|||||||
if post_block == 0
|
if post_block == 0
|
||||||
let newl = SanitizeRLine(line)
|
let newl = SanitizeRLine(line)
|
||||||
if newl =~ '\<\(if\|while\|for\|function\)\s*()$' || newl =~ '\<else$' || newl =~ '<-$'
|
if newl =~ '\<\(if\|while\|for\|function\)\s*()$' || newl =~ '\<else$' || newl =~ '<-$'
|
||||||
return indent(lnum) + &sw
|
return indent(lnum) + shiftwidth()
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if cline =~ '^\s*else'
|
if cline =~ '^\s*else'
|
||||||
if line =~ '<-\s*if\s*()'
|
if line =~ '<-\s*if\s*()'
|
||||||
return indent(lnum) + &sw
|
return indent(lnum) + shiftwidth()
|
||||||
else
|
else
|
||||||
if line =~ '\<if\s*()'
|
if line =~ '\<if\s*()'
|
||||||
return indent(lnum)
|
return indent(lnum)
|
||||||
else
|
else
|
||||||
return indent(lnum) - &sw
|
return indent(lnum) - shiftwidth()
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
@@ -474,12 +474,12 @@ function GetRIndent()
|
|||||||
let ind = indent(lnum)
|
let ind = indent(lnum)
|
||||||
|
|
||||||
if g:r_indent_align_args == 0 && pb != 0
|
if g:r_indent_align_args == 0 && pb != 0
|
||||||
let ind += pb * &sw
|
let ind += pb * shiftwidth()
|
||||||
return ind
|
return ind
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if g:r_indent_align_args == 0 && bb != 0
|
if g:r_indent_align_args == 0 && bb != 0
|
||||||
let ind += bb * &sw
|
let ind += bb * shiftwidth()
|
||||||
return ind
|
return ind
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -489,7 +489,7 @@ function GetRIndent()
|
|||||||
let pind = 0
|
let pind = 0
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if ind == pind || (ind == (pind + &sw) && pline =~ '{$' && ppost_else == 0)
|
if ind == pind || (ind == (pind + shiftwidth()) && pline =~ '{$' && ppost_else == 0)
|
||||||
return ind
|
return ind
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -509,7 +509,7 @@ function GetRIndent()
|
|||||||
let pbb = s:Get_paren_balance(pline, '[', ']')
|
let pbb = s:Get_paren_balance(pline, '[', ']')
|
||||||
endwhile
|
endwhile
|
||||||
let pind = indent(plnum)
|
let pind = indent(plnum)
|
||||||
if ind == (pind + &sw) && pline =~ '{$'
|
if ind == (pind + shiftwidth()) && pline =~ '{$'
|
||||||
return ind
|
return ind
|
||||||
endif
|
endif
|
||||||
endwhile
|
endwhile
|
||||||
|
@@ -82,7 +82,7 @@ function GetRHelpIndent()
|
|||||||
let closeb = strlen(line2) - strlen(line3)
|
let closeb = strlen(line2) - strlen(line3)
|
||||||
let bb = openb - closeb
|
let bb = openb - closeb
|
||||||
|
|
||||||
let ind = indent(lnum) + (bb * &sw)
|
let ind = indent(lnum) + (bb * shiftwidth())
|
||||||
|
|
||||||
if line =~ '^\s*}\s*$'
|
if line =~ '^\s*}\s*$'
|
||||||
let ind = indent(lnum)
|
let ind = indent(lnum)
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
" Vim script to work like "less"
|
" Vim script to work like "less"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2015 Nov 15
|
" Last Change: 2017 Mar 31
|
||||||
|
|
||||||
" Avoid loading this file twice, allow the user to define his own script.
|
" Avoid loading this file twice, allow the user to define his own script.
|
||||||
if exists("loaded_less")
|
if exists("loaded_less")
|
||||||
@@ -81,6 +81,10 @@ fun! s:Help()
|
|||||||
echo "\n"
|
echo "\n"
|
||||||
echo "/pattern Search for pattern ?pattern Search backward for pattern"
|
echo "/pattern Search for pattern ?pattern Search backward for pattern"
|
||||||
echo "n next pattern match N Previous pattern match"
|
echo "n next pattern match N Previous pattern match"
|
||||||
|
if &foldmethod != "manual"
|
||||||
|
echo "\n"
|
||||||
|
echo "zR open all folds zm increase fold level"
|
||||||
|
endif
|
||||||
echo "\n"
|
echo "\n"
|
||||||
echo ":n<Enter> Next file :p<Enter> Previous file"
|
echo ":n<Enter> Next file :p<Enter> Previous file"
|
||||||
echo "\n"
|
echo "\n"
|
||||||
@@ -96,7 +100,11 @@ map <C-F> <Space>
|
|||||||
map <PageDown> <Space>
|
map <PageDown> <Space>
|
||||||
map <kPageDown> <Space>
|
map <kPageDown> <Space>
|
||||||
map <S-Down> <Space>
|
map <S-Down> <Space>
|
||||||
map z <Space>
|
" If 'foldmethod' was changed keep the "z" commands, e.g. "zR" to open all
|
||||||
|
" folds.
|
||||||
|
if &foldmethod == "manual"
|
||||||
|
map z <Space>
|
||||||
|
endif
|
||||||
map <Esc><Space> <Space>
|
map <Esc><Space> <Space>
|
||||||
fun! s:NextPage()
|
fun! s:NextPage()
|
||||||
if line(".") == line("$")
|
if line(".") == line("$")
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
" Language: AutoHotkey script file
|
" Language: AutoHotkey script file
|
||||||
" Maintainer: Michael Wong
|
" Maintainer: Michael Wong
|
||||||
" https://github.com/mmikeww/autohotkey.vim
|
" https://github.com/mmikeww/autohotkey.vim
|
||||||
" Latest Revision: 2017-01-23
|
" Latest Revision: 2017-04-03
|
||||||
" Previous Maintainers: SungHyun Nam <goweol@gmail.com>
|
" Previous Maintainers: SungHyun Nam <goweol@gmail.com>
|
||||||
" Nikolai Weibull <now@bitwi.se>
|
" Nikolai Weibull <now@bitwi.se>
|
||||||
|
|
||||||
@@ -106,6 +106,7 @@ syn keyword autohotkeyCommand
|
|||||||
\ FormatTime IfInString IfNotInString Sort StringCaseSense StringGetPos
|
\ FormatTime IfInString IfNotInString Sort StringCaseSense StringGetPos
|
||||||
\ StringLeft StringRight StringLower StringUpper StringMid StringReplace
|
\ StringLeft StringRight StringLower StringUpper StringMid StringReplace
|
||||||
\ StringSplit StringTrimLeft StringTrimRight StringLen
|
\ StringSplit StringTrimLeft StringTrimRight StringLen
|
||||||
|
\ StrSplit StrReplace Throw
|
||||||
\ Control ControlClick ControlFocus ControlGet ControlGetFocus
|
\ Control ControlClick ControlFocus ControlGet ControlGetFocus
|
||||||
\ ControlGetPos ControlGetText ControlMove ControlSend ControlSendRaw
|
\ ControlGetPos ControlGetText ControlMove ControlSend ControlSendRaw
|
||||||
\ ControlSetText Menu PostMessage SendMessage SetControlDelay
|
\ ControlSetText Menu PostMessage SendMessage SetControlDelay
|
||||||
@@ -119,17 +120,18 @@ syn keyword autohotkeyCommand
|
|||||||
\ SetCapsLockState SetNumLockState SetScrollLockState
|
\ SetCapsLockState SetNumLockState SetScrollLockState
|
||||||
|
|
||||||
syn keyword autohotkeyFunction
|
syn keyword autohotkeyFunction
|
||||||
\ InStr RegExMatch RegExReplace StrLen SubStr Asc Chr
|
\ InStr RegExMatch RegExReplace StrLen SubStr Asc Chr Func
|
||||||
\ DllCall VarSetCapacity WinActive WinExist IsLabel OnMessage
|
\ DllCall VarSetCapacity WinActive WinExist IsLabel OnMessage
|
||||||
\ Abs Ceil Exp Floor Log Ln Mod Round Sqrt Sin Cos Tan ASin ACos ATan
|
\ Abs Ceil Exp Floor Log Ln Mod Round Sqrt Sin Cos Tan ASin ACos ATan
|
||||||
\ FileExist GetKeyState NumGet NumPut StrGet StrPut RegisterCallback
|
\ FileExist GetKeyState NumGet NumPut StrGet StrPut RegisterCallback
|
||||||
\ IsFunc Trim LTrim RTrim IsObject Object Array FileOpen
|
\ IsFunc Trim LTrim RTrim IsObject Object Array FileOpen
|
||||||
\ ComObjActive ComObjArray ComObjConnect ComObjCreate ComObjGet
|
\ ComObjActive ComObjArray ComObjConnect ComObjCreate ComObjGet
|
||||||
\ ComObjError ComObjFlags ComObjQuery ComObjType ComObjValue ComObject
|
\ ComObjError ComObjFlags ComObjQuery ComObjType ComObjValue ComObject
|
||||||
|
\ Format Exception
|
||||||
|
|
||||||
syn keyword autohotkeyStatement
|
syn keyword autohotkeyStatement
|
||||||
\ Break Continue Exit ExitApp Gosub Goto OnExit Pause Return
|
\ Break Continue Exit ExitApp Gosub Goto OnExit Pause Return
|
||||||
\ Suspend Reload
|
\ Suspend Reload new class extends
|
||||||
|
|
||||||
syn keyword autohotkeyRepeat
|
syn keyword autohotkeyRepeat
|
||||||
\ Loop
|
\ Loop
|
||||||
@@ -138,7 +140,7 @@ syn keyword autohotkeyConditional
|
|||||||
\ IfExist IfNotExist If IfEqual IfLess IfGreater Else
|
\ IfExist IfNotExist If IfEqual IfLess IfGreater Else
|
||||||
\ IfWinExist IfWinNotExist IfWinActive IfWinNotActive
|
\ IfWinExist IfWinNotExist IfWinActive IfWinNotActive
|
||||||
\ IfNotEqual IfLessOrEqual IfGreaterOrEqual
|
\ IfNotEqual IfLessOrEqual IfGreaterOrEqual
|
||||||
\ while until for in
|
\ while until for in try catch finally
|
||||||
|
|
||||||
syn match autohotkeyPreProcStart
|
syn match autohotkeyPreProcStart
|
||||||
\ nextgroup=
|
\ nextgroup=
|
||||||
@@ -178,7 +180,7 @@ syn keyword autohotkeyPreProc
|
|||||||
\ Warn
|
\ Warn
|
||||||
|
|
||||||
syn keyword autohotkeyMatchClass
|
syn keyword autohotkeyMatchClass
|
||||||
\ ahk_group ahk_class ahk_id ahk_pid
|
\ ahk_group ahk_class ahk_id ahk_pid ahk_exe
|
||||||
|
|
||||||
syn match autohotkeyNumbers
|
syn match autohotkeyNumbers
|
||||||
\ display
|
\ display
|
||||||
@@ -217,7 +219,7 @@ syn match autohotkeyHotkey
|
|||||||
\ contains=autohotkeyKey,
|
\ contains=autohotkeyKey,
|
||||||
\ autohotkeyHotkeyDelimiter
|
\ autohotkeyHotkeyDelimiter
|
||||||
\ display
|
\ display
|
||||||
\ '^.\{-}::'
|
\ '^\s*\S*\%( Up\)\?::'
|
||||||
|
|
||||||
syn match autohotkeyKey
|
syn match autohotkeyKey
|
||||||
\ contained
|
\ contained
|
||||||
|
@@ -5,10 +5,10 @@
|
|||||||
" Tom Payne <tom@tompayne.org>
|
" Tom Payne <tom@tompayne.org>
|
||||||
" Contributor: Johannes Ranke <jranke@uni-bremen.de>
|
" Contributor: Johannes Ranke <jranke@uni-bremen.de>
|
||||||
" Homepage: https://github.com/jalvesaq/R-Vim-runtime
|
" Homepage: https://github.com/jalvesaq/R-Vim-runtime
|
||||||
" Last Change: Thu Aug 25, 2016 08:52PM
|
" Last Change: Sat Apr 08, 2017 07:01PM
|
||||||
" Filenames: *.R *.r *.Rhistory *.Rt
|
" Filenames: *.R *.r *.Rhistory *.Rt
|
||||||
"
|
"
|
||||||
" NOTE: The highlighting of R functions is defined in
|
" NOTE: The highlighting of R functions might be defined in
|
||||||
" runtime files created by a filetype plugin, if installed.
|
" runtime files created by a filetype plugin, if installed.
|
||||||
"
|
"
|
||||||
" CONFIGURATION:
|
" CONFIGURATION:
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"
|
"
|
||||||
" ROxygen highlighting can be turned off by
|
" ROxygen highlighting can be turned off by
|
||||||
"
|
"
|
||||||
" let r_hl_roxygen = 0
|
" let r_syntax_hl_roxygen = 0
|
||||||
"
|
"
|
||||||
" Some lines of code were borrowed from Zhuojun Chen.
|
" Some lines of code were borrowed from Zhuojun Chen.
|
||||||
|
|
||||||
@@ -26,13 +26,25 @@ if exists("b:current_syntax")
|
|||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
syn iskeyword @,48-57,_,.
|
if has("patch-7.4.1142")
|
||||||
|
syn iskeyword @,48-57,_,.
|
||||||
|
else
|
||||||
|
setlocal iskeyword=@,48-57,_,.
|
||||||
|
endif
|
||||||
|
|
||||||
|
" The variables g:r_hl_roxygen and g:r_syn_minlines were renamed on April 8, 2017.
|
||||||
|
if exists("g:r_hl_roxygen")
|
||||||
|
let g:r_syntax_hl_roxygen = g:r_hl_roxygen
|
||||||
|
endif
|
||||||
|
if exists("g:r_syn_minlines")
|
||||||
|
let g:r_syntax_minlines = g:r_syn_minlines
|
||||||
|
endif
|
||||||
|
|
||||||
if exists("g:r_syntax_folding") && g:r_syntax_folding
|
if exists("g:r_syntax_folding") && g:r_syntax_folding
|
||||||
setlocal foldmethod=syntax
|
setlocal foldmethod=syntax
|
||||||
endif
|
endif
|
||||||
if !exists("g:r_hl_roxygen")
|
if !exists("g:r_syntax_hl_roxygen")
|
||||||
let g:r_hl_roxygen = 1
|
let g:r_syntax_hl_roxygen = 1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
syn case match
|
syn case match
|
||||||
@@ -42,19 +54,106 @@ syn match rCommentTodo contained "\(BUG\|FIXME\|NOTE\|TODO\):"
|
|||||||
syn match rComment contains=@Spell,rCommentTodo,rOBlock "#.*"
|
syn match rComment contains=@Spell,rCommentTodo,rOBlock "#.*"
|
||||||
|
|
||||||
" Roxygen
|
" Roxygen
|
||||||
if g:r_hl_roxygen
|
if g:r_syntax_hl_roxygen
|
||||||
syn region rOBlock start="^\s*\n#\{1,2}' " start="\%^#\{1,2}' " end="^\(#\{1,2}'\)\@!" contains=rOTitle,rOKeyword,rOExamples,@Spell keepend
|
" A roxygen block can start at the beginning of a file (first version) and
|
||||||
syn region rOTitle start="^\s*\n#\{1,2}' " start="\%^#\{1,2}' " end="^\(#\{1,2}'\s*$\)\@=" contained contains=rOCommentKey
|
" after a blank line (second version). It ends when a line that does not
|
||||||
syn match rOCommentKey "#\{1,2}'" containedin=rOTitle contained
|
" contain a roxygen comment. In the following comments, any line containing
|
||||||
|
" a roxygen comment marker (one or two hash signs # followed by a single
|
||||||
|
" quote ' and preceded only by whitespace) is called a roxygen line. A
|
||||||
|
" roxygen line containing only a roxygen comment marker, optionally followed
|
||||||
|
" by whitespace is called an empty roxygen line.
|
||||||
|
|
||||||
syn region rOExamples start="^#\{1,2}' @examples.*"rs=e+1,hs=e+1 end="^\(#\{1,2}' @.*\)\@=" end="^\(#\{1,2}'\)\@!" contained contains=rOKeyword
|
" First we match all roxygen blocks as containing only a title. In case an
|
||||||
|
" empty roxygen line ending the title or a tag is found, this will be
|
||||||
|
" overriden later by the definitions of rOBlock.
|
||||||
|
syn match rOTitleBlock "\%^\(\s*#\{1,2}' .*\n\)\{1,}" contains=rOCommentKey,rOTitleTag
|
||||||
|
syn match rOTitleBlock "^\s*\n\(\s*#\{1,2}' .*\n\)\{1,}" contains=rOCommentKey,rOTitleTag
|
||||||
|
|
||||||
syn match rOKeyword contained "@\(param\|return\|name\|rdname\|examples\|example\|include\|docType\)"
|
" When a roxygen block has a title and additional content, the title
|
||||||
syn match rOKeyword contained "@\(S3method\|TODO\|aliases\|alias\|assignee\|author\|callGraphDepth\|callGraph\)"
|
" consists of one or more roxygen lines (as little as possible are matched),
|
||||||
syn match rOKeyword contained "@\(callGraphPrimitives\|concept\|exportClass\|exportMethod\|exportPattern\|export\|formals\)"
|
" followed either by an empty roxygen line
|
||||||
syn match rOKeyword contained "@\(format\|importClassesFrom\|importFrom\|importMethodsFrom\|import\|keywords\|useDynLib\)"
|
syn region rOBlock start="\%^\(\s*#\{1,2}' .*\n\)\{-1,}\s*#\{1,2}'\s*$" end="^\s*\(#\{1,2}'\)\@!" contains=rOTitle,rOTag,rOExamples,@Spell keepend fold
|
||||||
syn match rOKeyword contained "@\(method\|noRd\|note\|references\|seealso\|setClass\|slot\|source\|title\|usage\)"
|
syn region rOBlock start="^\s*\n\(\s*#\{1,2}' .*\n\)\{-1,}\s*#\{1,2}'\s*$" end="^\s*\(#\{1,2}'\)\@!" contains=rOTitle,rOTag,rOExamples,@Spell keepend fold
|
||||||
syn match rOKeyword contained "@\(family\|template\|templateVar\|description\|details\|inheritParams\|field\)"
|
|
||||||
|
" or by a roxygen tag (we match everything starting with @ but not @@ which is used as escape sequence for a literal @).
|
||||||
|
syn region rOBlock start="\%^\(\s*#\{1,2}' .*\n\)\{-}\s*#\{1,2}' @\(@\)\@!" end="^\s*\(#\{1,2}'\)\@!" contains=rOTitle,rOTag,rOExamples,@Spell keepend fold
|
||||||
|
syn region rOBlock start="^\s*\n\(\s*#\{1,2}' .*\n\)\{-}\s*#\{1,2}' @\(@\)\@!" end="^\s*\(#\{1,2}'\)\@!" contains=rOTitle,rOTag,rOExamples,@Spell keepend fold
|
||||||
|
|
||||||
|
" If a block contains an @rdname, @describeIn tag, it may have paragraph breaks, but does not have a title
|
||||||
|
syn region rOBlockNoTitle start="\%^\(\s*#\{1,2}' .*\n\)\{-1,}\s*#\{1,2}'\s*\n\(\s*#\{1,2}'.*\n\)\{-}\s*#\{1,2}' @rdname" end="^\s*\(#\{1,2}'\)\@!" contains=rOTag,rOExamples,@Spell keepend fold
|
||||||
|
syn region rOBlockNoTitle start="^\s*\n\(\s*#\{1,2}' .*\n\)\{-1,}\s*#\{1,2}'\s*\n\(\s*#\{1,2}'.*\n\)\{-}\s*#\{1,2}' @rdname" end="^\s*\(#\{1,2}'\)\@!" contains=rOTag,rOExamples,@Spell keepend fold
|
||||||
|
syn region rOBlockNoTitle start="\%^\(\s*#\{1,2}' .*\n\)\{-1,}\s*#\{1,2}'\s*\n\(\s*#\{1,2}'.*\n\)\{-}\s*#\{1,2}' @describeIn" end="^\s*\(#\{1,2}'\)\@!" contains=rOTag,rOExamples,@Spell keepend fold
|
||||||
|
syn region rOBlockNoTitle start="^\s*\n\(\s*#\{1,2}' .*\n\)\{-1,}\s*#\{1,2}'\s*\n\(\s*#\{1,2}'.*\n\)\{-}\s*#\{1,2}' @describeIn" end="^\s*\(#\{1,2}'\)\@!" contains=rOTag,rOExamples,@Spell keepend fold
|
||||||
|
|
||||||
|
" A title as part of a block is always at the beginning of the block, i.e.
|
||||||
|
" either at the start of a file or after a completely empty line.
|
||||||
|
syn match rOTitle "\%^\(\s*#\{1,2}' .*\n\)\{-1,}\s*#\{1,2}'\s*$" contained contains=rOCommentKey,rOTitleTag
|
||||||
|
syn match rOTitle "^\s*\n\(\s*#\{1,2}' .*\n\)\{-1,}\s*#\{1,2}'\s*$" contained contains=rOCommentKey,rOTitleTag
|
||||||
|
syn match rOTitleTag contained "@title"
|
||||||
|
|
||||||
|
syn match rOCommentKey "#\{1,2}'" contained
|
||||||
|
syn region rOExamples start="^#\{1,2}' @examples.*"rs=e+1,hs=e+1 end="^\(#\{1,2}' @.*\)\@=" end="^\(#\{1,2}'\)\@!" contained contains=rOTag fold
|
||||||
|
|
||||||
|
" rOTag list generated from the lists in
|
||||||
|
" https://github.com/klutometis/roxygen/R/rd.R and
|
||||||
|
" https://github.com/klutometis/roxygen/R/namespace.R
|
||||||
|
" using s/^ \([A-Za-z0-9]*\) = .*/ syn match rOTag contained "@\1"/
|
||||||
|
" Plus we need the @include tag
|
||||||
|
|
||||||
|
" rd.R
|
||||||
|
syn match rOTag contained "@aliases"
|
||||||
|
syn match rOTag contained "@author"
|
||||||
|
syn match rOTag contained "@backref"
|
||||||
|
syn match rOTag contained "@concept"
|
||||||
|
syn match rOTag contained "@describeIn"
|
||||||
|
syn match rOTag contained "@description"
|
||||||
|
syn match rOTag contained "@details"
|
||||||
|
syn match rOTag contained "@docType"
|
||||||
|
syn match rOTag contained "@encoding"
|
||||||
|
syn match rOTag contained "@evalRd"
|
||||||
|
syn match rOTag contained "@example"
|
||||||
|
syn match rOTag contained "@examples"
|
||||||
|
syn match rOTag contained "@family"
|
||||||
|
syn match rOTag contained "@field"
|
||||||
|
syn match rOTag contained "@format"
|
||||||
|
syn match rOTag contained "@inherit"
|
||||||
|
syn match rOTag contained "@inheritParams"
|
||||||
|
syn match rOTag contained "@inheritDotParams"
|
||||||
|
syn match rOTag contained "@inheritSection"
|
||||||
|
syn match rOTag contained "@keywords"
|
||||||
|
syn match rOTag contained "@method"
|
||||||
|
syn match rOTag contained "@name"
|
||||||
|
syn match rOTag contained "@md"
|
||||||
|
syn match rOTag contained "@noMd"
|
||||||
|
syn match rOTag contained "@noRd"
|
||||||
|
syn match rOTag contained "@note"
|
||||||
|
syn match rOTag contained "@param"
|
||||||
|
syn match rOTag contained "@rdname"
|
||||||
|
syn match rOTag contained "@rawRd"
|
||||||
|
syn match rOTag contained "@references"
|
||||||
|
syn match rOTag contained "@return"
|
||||||
|
syn match rOTag contained "@section"
|
||||||
|
syn match rOTag contained "@seealso"
|
||||||
|
syn match rOTag contained "@slot"
|
||||||
|
syn match rOTag contained "@source"
|
||||||
|
syn match rOTag contained "@template"
|
||||||
|
syn match rOTag contained "@templateVar"
|
||||||
|
syn match rOTag contained "@title"
|
||||||
|
syn match rOTag contained "@usage"
|
||||||
|
" namespace.R
|
||||||
|
syn match rOTag contained "@export"
|
||||||
|
syn match rOTag contained "@exportClass"
|
||||||
|
syn match rOTag contained "@exportMethod"
|
||||||
|
syn match rOTag contained "@exportPattern"
|
||||||
|
syn match rOTag contained "@import"
|
||||||
|
syn match rOTag contained "@importClassesFrom"
|
||||||
|
syn match rOTag contained "@importFrom"
|
||||||
|
syn match rOTag contained "@importMethodsFrom"
|
||||||
|
syn match rOTag contained "@rawNamespace"
|
||||||
|
syn match rOTag contained "@S3method"
|
||||||
|
syn match rOTag contained "@useDynLib"
|
||||||
|
" other
|
||||||
|
syn match rOTag contained "@include"
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
@@ -168,12 +267,28 @@ syn match rBraceError "[)}]" contained
|
|||||||
syn match rCurlyError "[)\]]" contained
|
syn match rCurlyError "[)\]]" contained
|
||||||
syn match rParenError "[\]}]" contained
|
syn match rParenError "[\]}]" contained
|
||||||
|
|
||||||
if !exists("g:R_hi_fun")
|
" Use Nvim-R to highlight functions dynamically if it is installed
|
||||||
let g:R_hi_fun = 1
|
if !exists("g:r_syntax_fun_pattern")
|
||||||
|
let s:ff = split(substitute(globpath(&rtp, "R/functions.vim"), "functions.vim", "", "g"), "\n")
|
||||||
|
if len(s:ff) > 0
|
||||||
|
let g:r_syntax_fun_pattern = 0
|
||||||
|
else
|
||||||
|
let g:r_syntax_fun_pattern = 1
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
if g:R_hi_fun
|
|
||||||
" Nvim-R:
|
" Only use Nvim-R to highlight functions if they should not be highlighted
|
||||||
runtime R/functions.vim
|
" according to a generic pattern
|
||||||
|
if g:r_syntax_fun_pattern == 1
|
||||||
|
syn match rFunction '[0-9a-zA-Z_\.]\+\s*\ze('
|
||||||
|
else
|
||||||
|
if !exists("g:R_hi_fun")
|
||||||
|
let g:R_hi_fun = 1
|
||||||
|
endif
|
||||||
|
if g:R_hi_fun
|
||||||
|
" Nvim-R:
|
||||||
|
runtime R/functions.vim
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
syn match rDollar display contained "\$"
|
syn match rDollar display contained "\$"
|
||||||
@@ -205,8 +320,8 @@ if &filetype == "rhelp"
|
|||||||
syn match rhSection "\\dontrun\>"
|
syn match rhSection "\\dontrun\>"
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if exists("r_syn_minlines")
|
if exists("r_syntax_minlines")
|
||||||
exe "syn sync minlines=" . r_syn_minlines
|
exe "syn sync minlines=" . r_syntax_minlines
|
||||||
else
|
else
|
||||||
syn sync minlines=40
|
syn sync minlines=40
|
||||||
endif
|
endif
|
||||||
@@ -243,15 +358,17 @@ hi def link rStatement Statement
|
|||||||
hi def link rString String
|
hi def link rString String
|
||||||
hi def link rStrError Error
|
hi def link rStrError Error
|
||||||
hi def link rType Type
|
hi def link rType Type
|
||||||
if g:r_hl_roxygen
|
if g:r_syntax_hl_roxygen
|
||||||
hi def link rOKeyword Title
|
hi def link rOTitleTag Operator
|
||||||
hi def link rOBlock Comment
|
hi def link rOTag Operator
|
||||||
|
hi def link rOTitleBlock Title
|
||||||
|
hi def link rOBlock Comment
|
||||||
|
hi def link rOBlockNoTitle Comment
|
||||||
hi def link rOTitle Title
|
hi def link rOTitle Title
|
||||||
hi def link rOCommentKey Comment
|
hi def link rOCommentKey Comment
|
||||||
hi def link rOExamples SpecialComment
|
hi def link rOExamples SpecialComment
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
let b:current_syntax="r"
|
let b:current_syntax="r"
|
||||||
|
|
||||||
" vim: ts=8 sw=2
|
" vim: ts=8 sw=2
|
||||||
|
@@ -1,17 +1,26 @@
|
|||||||
" markdown Text with R statements
|
" markdown Text with R statements
|
||||||
" Language: markdown with R code chunks
|
" Language: markdown with R code chunks
|
||||||
" Homepage: https://github.com/jalvesaq/R-Vim-runtime
|
" Homepage: https://github.com/jalvesaq/R-Vim-runtime
|
||||||
" Last Change: Tue Jun 28, 2016 10:09AM
|
" Last Change: Sat Jan 28, 2017 10:06PM
|
||||||
"
|
"
|
||||||
" CONFIGURATION:
|
" CONFIGURATION:
|
||||||
" To highlight chunk headers as R code, put in your vimrc:
|
" To highlight chunk headers as R code, put in your vimrc (e.g. .config/nvim/init.vim):
|
||||||
" let rmd_syn_hl_chunk = 1
|
" let rmd_syn_hl_chunk = 1
|
||||||
|
"
|
||||||
|
" For highlighting pandoc extensions to markdown like citations and TeX and
|
||||||
|
" many other advanced features like folding of markdown sections, it is
|
||||||
|
" recommended to install the vim-pandoc filetype plugin as well as the
|
||||||
|
" vim-pandoc-syntax filetype plugin from https://github.com/vim-pandoc.
|
||||||
|
"
|
||||||
|
" TODO:
|
||||||
|
" - Provide highlighting for rmarkdown parameters in yaml header
|
||||||
|
|
||||||
if exists("b:current_syntax")
|
if exists("b:current_syntax")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" load all of pandoc info
|
" load all of pandoc info, e.g. from
|
||||||
|
" https://github.com/vim-pandoc/vim-pandoc-syntax
|
||||||
runtime syntax/pandoc.vim
|
runtime syntax/pandoc.vim
|
||||||
if exists("b:current_syntax")
|
if exists("b:current_syntax")
|
||||||
let rmdIsPandoc = 1
|
let rmdIsPandoc = 1
|
||||||
@@ -22,28 +31,54 @@ else
|
|||||||
if exists("b:current_syntax")
|
if exists("b:current_syntax")
|
||||||
unlet b:current_syntax
|
unlet b:current_syntax
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" load all of the yaml syntax highlighting rules into @yaml
|
||||||
|
syntax include @yaml syntax/yaml.vim
|
||||||
|
if exists("b:current_syntax")
|
||||||
|
unlet b:current_syntax
|
||||||
|
endif
|
||||||
|
|
||||||
|
" highlight yaml block commonly used for front matter
|
||||||
|
syntax region rmdYamlBlock matchgroup=rmdYamlBlockDelim start="^---" matchgroup=rmdYamlBlockDelim end="^---" contains=@yaml keepend fold
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" load all of the r syntax highlighting rules into @R
|
if !exists("g:rmd_syn_langs")
|
||||||
syntax include @R syntax/r.vim
|
let g:rmd_syn_langs = ["r"]
|
||||||
if exists("b:current_syntax")
|
|
||||||
unlet b:current_syntax
|
|
||||||
endif
|
|
||||||
|
|
||||||
if exists("g:rmd_syn_hl_chunk")
|
|
||||||
" highlight R code inside chunk header
|
|
||||||
syntax match rmdChunkDelim "^[ \t]*```{r" contained
|
|
||||||
syntax match rmdChunkDelim "}$" contained
|
|
||||||
else
|
else
|
||||||
syntax match rmdChunkDelim "^[ \t]*```{r.*}$" contained
|
let s:hasr = 0
|
||||||
|
for s:lng in g:rmd_syn_langs
|
||||||
|
if s:lng == "r"
|
||||||
|
let s:hasr = 1
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
if s:hasr == 0
|
||||||
|
let g:rmd_syn_langs += ["r"]
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
syntax match rmdChunkDelim "^[ \t]*```$" contained
|
|
||||||
syntax region rmdChunk start="^[ \t]*``` *{r.*}$" end="^[ \t]*```$" contains=@R,rmdChunkDelim keepend fold
|
for s:lng in g:rmd_syn_langs
|
||||||
|
exe 'syntax include @' . toupper(s:lng) . ' syntax/'. s:lng . '.vim'
|
||||||
|
if exists("b:current_syntax")
|
||||||
|
unlet b:current_syntax
|
||||||
|
endif
|
||||||
|
exe 'syntax region rmd' . toupper(s:lng) . 'Chunk start="^[ \t]*``` *{\(' . s:lng . '\|r.*engine\s*=\s*["' . "']" . s:lng . "['" . '"]\).*}$" end="^[ \t]*```$" contains=@' . toupper(s:lng) . ',rmd' . toupper(s:lng) . 'ChunkDelim keepend fold'
|
||||||
|
|
||||||
|
if exists("g:rmd_syn_hl_chunk") && s:lng == "r"
|
||||||
|
" highlight R code inside chunk header
|
||||||
|
syntax match rmdRChunkDelim "^[ \t]*```{r" contained
|
||||||
|
syntax match rmdRChunkDelim "}$" contained
|
||||||
|
else
|
||||||
|
exe 'syntax match rmd' . toupper(s:lng) . 'ChunkDelim "^[ \t]*```{\(' . s:lng . '\|r.*engine\s*=\s*["' . "']" . s:lng . "['" . '"]\).*}$" contained'
|
||||||
|
endif
|
||||||
|
exe 'syntax match rmd' . toupper(s:lng) . 'ChunkDelim "^[ \t]*```$" contained'
|
||||||
|
endfor
|
||||||
|
|
||||||
|
|
||||||
" also match and syntax highlight in-line R code
|
" also match and syntax highlight in-line R code
|
||||||
syntax match rmdEndInline "`" contained
|
syntax region rmdrInline matchgroup=rmdInlineDelim start="`r " end="`" contains=@R containedin=pandocLaTeXRegion,yamlFlowString keepend
|
||||||
syntax match rmdBeginInline "`r " contained
|
" I was not able to highlight rmdrInline inside a pandocLaTeXCommand, although
|
||||||
syntax region rmdrInline start="`r " end="`" contains=@R,rmdBeginInline,rmdEndInline keepend
|
" highlighting works within pandocLaTeXRegion and yamlFlowString.
|
||||||
|
syntax cluster texMathZoneGroup add=rmdrInline
|
||||||
|
|
||||||
" match slidify special marker
|
" match slidify special marker
|
||||||
syntax match rmdSlidifySpecial "\*\*\*"
|
syntax match rmdSlidifySpecial "\*\*\*"
|
||||||
@@ -56,8 +91,6 @@ if rmdIsPandoc == 0
|
|||||||
if exists("b:current_syntax")
|
if exists("b:current_syntax")
|
||||||
unlet b:current_syntax
|
unlet b:current_syntax
|
||||||
endif
|
endif
|
||||||
" Extend cluster
|
|
||||||
syn cluster texMathZoneGroup add=rmdrInline
|
|
||||||
" Inline
|
" Inline
|
||||||
syntax match rmdLaTeXInlDelim "\$"
|
syntax match rmdLaTeXInlDelim "\$"
|
||||||
syntax match rmdLaTeXInlDelim "\\\$"
|
syntax match rmdLaTeXInlDelim "\\\$"
|
||||||
@@ -65,19 +98,24 @@ if rmdIsPandoc == 0
|
|||||||
" Region
|
" Region
|
||||||
syntax match rmdLaTeXRegDelim "\$\$" contained
|
syntax match rmdLaTeXRegDelim "\$\$" contained
|
||||||
syntax match rmdLaTeXRegDelim "\$\$latex$" contained
|
syntax match rmdLaTeXRegDelim "\$\$latex$" contained
|
||||||
syntax region rmdLaTeXRegion start="^\$\$" skip="\\\$" end="\$\$$" contains=@LaTeX,rmdLaTeXSt,rmdLaTeXRegDelim keepend
|
syntax match rmdLaTeXSt "\\[a-zA-Z]\+"
|
||||||
syntax region rmdLaTeXRegion2 start="^\\\[" end="\\\]" contains=@LaTeX,rmdLaTeXSt,rmdLaTeXRegDelim keepend
|
syntax region rmdLaTeXRegion start="^\$\$" skip="\\\$" end="\$\$$" contains=@LaTeX,rmdLaTeXRegDelim keepend
|
||||||
|
syntax region rmdLaTeXRegion2 start="^\\\[" end="\\\]" contains=@LaTeX,rmdLaTeXRegDelim keepend
|
||||||
|
hi def link rmdBlockQuote Comment
|
||||||
hi def link rmdLaTeXSt Statement
|
hi def link rmdLaTeXSt Statement
|
||||||
hi def link rmdLaTeXInlDelim Special
|
hi def link rmdLaTeXInlDelim Special
|
||||||
hi def link rmdLaTeXRegDelim Special
|
hi def link rmdLaTeXRegDelim Special
|
||||||
endif
|
endif
|
||||||
|
|
||||||
syn sync match rmdSyncChunk grouphere rmdChunk "^[ \t]*``` *{r"
|
for s:lng in g:rmd_syn_langs
|
||||||
|
exe 'syn sync match rmd' . toupper(s:lng) . 'SyncChunk grouphere rmd' . toupper(s:lng) . 'Chunk /^[ \t]*``` *{\(' . s:lng . '\|r.*engine\s*=\s*["' . "']" . s:lng . "['" . '"]\)/'
|
||||||
|
endfor
|
||||||
|
|
||||||
hi def link rmdChunkDelim Special
|
hi def link rmdYamlBlockDelim Delim
|
||||||
hi def link rmdBeginInline Special
|
for s:lng in g:rmd_syn_langs
|
||||||
hi def link rmdEndInline Special
|
exe 'hi def link rmd' . toupper(s:lng) . 'ChunkDelim Special'
|
||||||
hi def link rmdBlockQuote Comment
|
endfor
|
||||||
|
hi def link rmdInlineDelim Special
|
||||||
hi def link rmdSlidifySpecial Special
|
hi def link rmdSlidifySpecial Special
|
||||||
|
|
||||||
let b:current_syntax = "rmd"
|
let b:current_syntax = "rmd"
|
||||||
|
Reference in New Issue
Block a user