aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2016-07-09 06:58:27 -0400
committerGitHub <noreply@github.com>2016-07-09 06:58:27 -0400
commitadaacdd71a70b76bc686113eaece47a6264701a5 (patch)
tree4be6079a8571316cbd89e3f310981b080f2815a4
parent6cee9d1a17177f4ccdf34283c6ed3ffaa98b32cc (diff)
parent059e9785dc2fea0a15344162de4a5a7c8da6f491 (diff)
downloadrneovim-adaacdd71a70b76bc686113eaece47a6264701a5.tar.gz
rneovim-adaacdd71a70b76bc686113eaece47a6264701a5.tar.bz2
rneovim-adaacdd71a70b76bc686113eaece47a6264701a5.zip
Merge #4648 from jamessan/packages
packages (vim-patch:7.4.{1384,1388,1396,1478,1479,1480,1486,1492,1499,1528,1550,1551,1552,1553,1554,1596,1649,1712,1840,1973,1986})
-rw-r--r--runtime/CMakeLists.txt43
-rw-r--r--runtime/doc/autocmd.txt2
-rw-r--r--runtime/doc/change.txt6
-rw-r--r--runtime/doc/editing.txt4
-rw-r--r--runtime/doc/eval.txt16
-rw-r--r--runtime/doc/help.txt2
-rw-r--r--runtime/doc/helphelp.txt15
-rw-r--r--runtime/doc/index.txt4
-rw-r--r--runtime/doc/message.txt2
-rw-r--r--runtime/doc/options.txt13
-rw-r--r--runtime/doc/os_win32.txt27
-rw-r--r--runtime/doc/pattern.txt6
-rw-r--r--runtime/doc/quickfix.txt6
-rw-r--r--runtime/doc/quickref.txt3
-rw-r--r--runtime/doc/repeat.txt273
-rw-r--r--runtime/doc/starting.txt13
-rw-r--r--runtime/doc/syntax.txt55
-rw-r--r--runtime/doc/usr_05.txt64
-rw-r--r--runtime/doc/usr_25.txt10
-rw-r--r--runtime/doc/usr_29.txt2
-rw-r--r--runtime/doc/usr_41.txt10
-rw-r--r--runtime/doc/usr_toc.txt11
-rw-r--r--runtime/doc/various.txt3
-rw-r--r--runtime/ftplugin/eiffel.vim96
-rw-r--r--runtime/ftplugin/r.vim3
-rw-r--r--runtime/ftplugin/rhelp.vim3
-rw-r--r--runtime/ftplugin/rmd.vim3
-rw-r--r--runtime/ftplugin/rnoweb.vim3
-rw-r--r--runtime/ftplugin/rrst.vim3
-rw-r--r--runtime/indent/r.vim24
-rw-r--r--runtime/indent/rhelp.vim3
-rw-r--r--runtime/indent/rmd.vim3
-rw-r--r--runtime/indent/rnoweb.vim3
-rw-r--r--runtime/indent/rrst.vim3
-rw-r--r--runtime/indent/sh.vim8
-rw-r--r--runtime/indent/tex.vim249
-rw-r--r--runtime/optwin.vim4
-rw-r--r--runtime/pack/dist/opt/vimball/autoload/vimball.vim (renamed from runtime/autoload/vimball.vim)32
-rw-r--r--runtime/pack/dist/opt/vimball/doc/vimball.txt (renamed from runtime/doc/pi_vimball.txt)2
-rw-r--r--runtime/pack/dist/opt/vimball/plugin/vimballPlugin.vim43
-rw-r--r--runtime/plugin/vimballPlugin.vim40
-rw-r--r--runtime/syntax/c.vim6
-rw-r--r--runtime/syntax/fortran.vim15
-rw-r--r--runtime/syntax/mysql.vim30
-rw-r--r--runtime/syntax/python.vim4
-rw-r--r--runtime/syntax/r.vim62
-rw-r--r--runtime/syntax/rhelp.vim246
-rw-r--r--runtime/syntax/rmd.vim10
-rw-r--r--runtime/syntax/rnoweb.vim33
-rw-r--r--runtime/syntax/rrst.vim8
-rw-r--r--runtime/syntax/sh.vim26
-rw-r--r--runtime/syntax/sshconfig.vim85
-rw-r--r--runtime/syntax/sshdconfig.vim76
-rw-r--r--runtime/syntax/tex.vim76
-rw-r--r--runtime/syntax/vhdl.vim101
-rw-r--r--runtime/syntax/zsh.vim25
-rw-r--r--src/nvim/digraph.c4
-rw-r--r--src/nvim/eval.c8
-rw-r--r--src/nvim/ex_cmds.c251
-rw-r--r--src/nvim/ex_cmds.lua12
-rw-r--r--src/nvim/ex_cmds2.c295
-rw-r--r--src/nvim/ex_docmd.c84
-rw-r--r--src/nvim/ex_getln.c96
-rw-r--r--src/nvim/globals.h2
-rw-r--r--src/nvim/hardcopy.c3
-rw-r--r--src/nvim/main.c5
-rw-r--r--src/nvim/option.c6
-rw-r--r--src/nvim/option_defs.h149
-rw-r--r--src/nvim/options.lua10
-rw-r--r--src/nvim/spell.c12
-rw-r--r--src/nvim/syntax.c37
-rw-r--r--src/nvim/tag.c5
-rw-r--r--src/nvim/version.c36
-rw-r--r--src/nvim/vim.h9
-rw-r--r--test/functional/legacy/packadd_spec.lua350
75 files changed, 2412 insertions, 880 deletions
diff --git a/runtime/CMakeLists.txt b/runtime/CMakeLists.txt
index a9de7557e4..66971eccb2 100644
--- a/runtime/CMakeLists.txt
+++ b/runtime/CMakeLists.txt
@@ -2,6 +2,7 @@ set(SYN_VIM_GENERATOR ${PROJECT_SOURCE_DIR}/scripts/genvimvim.lua)
set(GENERATED_RUNTIME_DIR ${PROJECT_BINARY_DIR}/runtime)
set(GENERATED_SYN_VIM ${GENERATED_RUNTIME_DIR}/syntax/vim/generated.vim)
set(GENERATED_HELP_TAGS ${GENERATED_RUNTIME_DIR}/doc/tags)
+set(GENERATED_PACKAGE_DIR ${GENERATED_RUNTIME_DIR}/pack/dist/opt)
file(MAKE_DIRECTORY ${GENERATED_RUNTIME_DIR})
file(MAKE_DIRECTORY ${GENERATED_RUNTIME_DIR}/syntax)
@@ -18,6 +19,47 @@ add_custom_command(OUTPUT ${GENERATED_SYN_VIM}
${PROJECT_SOURCE_DIR}/src/nvim/eval.c
)
+if(POLICY CMP0054)
+ cmake_policy(SET CMP0054 OLD)
+endif()
+
+file(GLOB PACKAGES ${PROJECT_SOURCE_DIR}/runtime/pack/dist/opt/*)
+
+set(GENERATED_PACKAGE_TAGS)
+foreach(PACKAGE ${PACKAGES})
+ get_filename_component(PACKNAME ${PACKAGE} NAME)
+ file(GLOB "${PACKNAME}_DOC_FILES" ${PACKAGE}/doc/*.txt)
+ if("${PACKNAME}_DOC_FILES")
+ file(MAKE_DIRECTORY ${GENERATED_PACKAGE_DIR}/${PACKNAME})
+ add_custom_target("${PACKNAME}-tags"
+ COMMAND ${CMAKE_COMMAND} -E copy_directory
+ ${PACKAGE} ${GENERATED_PACKAGE_DIR}/${PACKNAME}
+ COMMAND "${PROJECT_BINARY_DIR}/bin/nvim"
+ -u NONE -i NONE -e --headless -c "helptags doc" -c quit
+ DEPENDS
+ nvim
+ WORKING_DIRECTORY "${GENERATED_PACKAGE_DIR}/${PACKNAME}"
+ )
+
+ add_custom_command(OUTPUT "${GENERATED_PACKAGE_DIR}/${PACKNAME}/doc/tags"
+ DEPENDS
+ "${PACKNAME}-tags"
+ )
+
+ set("${PACKNAME}_DOC_NAMES")
+ foreach(DF "${${PACKNAME}_DOC_FILES}")
+ get_filename_component(F ${DF} NAME)
+ list(APPEND "${PACKNAME}_DOC_NAMES" ${GENERATED_PACKAGE_DIR}/${PACKNAME}/doc/${F})
+ endforeach()
+
+ install_helper(
+ FILES ${GENERATED_PACKAGE_DIR}/${PACKNAME}/doc/tags "${${PACKNAME}_DOC_NAMES}"
+ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/nvim/runtime/pack/dist/opt/${PACKNAME}/doc)
+
+ list(APPEND GENERATED_PACKAGE_TAGS "${GENERATED_PACKAGE_DIR}/${PACKNAME}/doc/tags")
+ endif()
+endforeach()
+
file(GLOB DOCFILES ${PROJECT_SOURCE_DIR}/runtime/doc/*.txt)
set(BUILDDOCFILES)
@@ -53,6 +95,7 @@ add_custom_target(
DEPENDS
${GENERATED_SYN_VIM}
${GENERATED_HELP_TAGS}
+ ${GENERATED_PACKAGE_TAGS}
)
# CMake is painful here. It will create the destination using the user's
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index 6641732679..dc37ff1d6d 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt* For Vim version 7.4. Last change: 2015 Dec 05
+*autocmd.txt* For Vim version 7.4. Last change: 2016 Mar 26
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index 4565cdf63e..2ccb9188a9 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt* For Vim version 7.4. Last change: 2016 Feb 10
+*change.txt* For Vim version 7.4. Last change: 2016 Mar 08
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -108,7 +108,9 @@ is an error when 'cpoptions' includes the 'E' flag.
*J*
J Join [count] lines, with a minimum of two lines.
Remove the indent and insert up to two spaces (see
- below).
+ below). Fails when on the last line of the buffer.
+ If [count] is too big it is reduce to the number of
+ lines available.
*v_J*
{Visual}J Join the highlighted lines, with a minimum of two
diff --git a/runtime/doc/editing.txt b/runtime/doc/editing.txt
index 69f834b04d..6f85436ab4 100644
--- a/runtime/doc/editing.txt
+++ b/runtime/doc/editing.txt
@@ -1,4 +1,4 @@
-*editing.txt* For Vim version 7.4. Last change: 2016 Feb 16
+*editing.txt* For Vim version 7.4. Last change: 2016 Mar 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -358,7 +358,7 @@ These are the common ones:
To avoid the special meaning of the wildcards prepend a backslash. However,
on MS-Windows the backslash is a path separator and "path\[abc]" is still seen
as a wildcard when "[" is in the 'isfname' option. A simple way to avoid this
-is to use "path\[[]abc]". Then the file "path[abc]" literally.
+is to use "path\[[]abc]", this matches the file "path\[abc]".
*starstar-wildcard*
Expanding "**" is possible on Unix, Win32, Mac OS/X and a few other systems.
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 3ebfe8da88..0ca41370e9 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt* For Vim version 7.4. Last change: 2016 Feb 19
+*eval.txt* For Vim version 7.4. Last change: 2016 Apr 12
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -413,7 +413,8 @@ only appear once. Examples: >
A key is always a String. You can use a Number, it will be converted to a
String automatically. Thus the String '4' and the number 4 will find the same
entry. Note that the String '04' and the Number 04 are different, since the
-Number will be converted to the String '4'.
+Number will be converted to the String '4'. The empty string can be used as a
+key.
A value can be any expression. Using a Dictionary for a value creates a
nested Dictionary: >
@@ -861,11 +862,12 @@ These three can be repeated and mixed. Examples:
expr8 *expr8*
-----
expr8[expr1] item of String or |List| *expr-[]* *E111*
+ *subscript*
If expr8 is a Number or String this results in a String that contains the
expr1'th single byte from expr8. expr8 is used as a String, expr1 as a
Number. This doesn't recognize multi-byte encodings, see |byteidx()| for
-an alternative.
+an alternative, or use `split()` to turn the string into a list of characters.
Index zero gives the first byte. This is like it works in C. Careful:
text column numbers start with one! Example, to get the byte under the
@@ -2155,6 +2157,7 @@ writefile({list}, {fname} [, {flags}])
Number write list of lines to file {fname}
xor({expr}, {expr}) Number bitwise XOR
+
abs({expr}) *abs()*
Return the absolute value of {expr}. When {expr} evaluates to
a |Float| abs() returns a |Float|. When {expr} can be
@@ -2779,6 +2782,7 @@ cursor({list})
When there is one argument {list} this is used as a |List|
with two, three or four item:
+ [{lnum}, {col}]
[{lnum}, {col}, {off}]
[{lnum}, {col}, {off}, {curswant}]
This is like the return value of |getpos()| or |getcurpos()|,
@@ -3207,7 +3211,10 @@ feedkeys({string} [, {mode}]) *feedkeys()*
similar to using ":normal!". You can call feedkeys()
several times without 'x' and then one time with 'x'
(possibly with an empty {string}) to execute all the
- typeahead.
+ typeahead. Note that when Vim ends in Insert mode it
+ will behave as if <Esc> is typed, to avoid getting
+ stuck, waiting for a character to be typed before the
+ script continues.
Return value is always 0.
filereadable({file}) *filereadable()*
@@ -7408,6 +7415,7 @@ unix Unix version of Vim.
user_commands User-defined commands.
vertsplit Compiled with vertically split windows |:vsplit|.
vim_starting True while initial source'ing takes place. |startup|
+ *vim_starting*
virtualedit Compiled with 'virtualedit' option.
visual Compiled with Visual mode.
visualextra Compiled with extra Visual mode commands.
diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt
index 342c475f9b..fc4816a6c8 100644
--- a/runtime/doc/help.txt
+++ b/runtime/doc/help.txt
@@ -1,4 +1,4 @@
-*help.txt* For Vim version 7.4. Last change: 2016 Jan 10
+*help.txt* For Vim version 7.4. Last change: 2016 Mar 31
VIM - main help file
k
diff --git a/runtime/doc/helphelp.txt b/runtime/doc/helphelp.txt
index f3533b8815..ca341af200 100644
--- a/runtime/doc/helphelp.txt
+++ b/runtime/doc/helphelp.txt
@@ -1,4 +1,4 @@
-*helphelp.txt* For Vim version 7.4. Last change: 2014 Sep 19
+*helphelp.txt* For Vim version 7.4. Last change: 2016 Apr 01
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -188,6 +188,9 @@ command: >
*E154* *E150* *E151* *E152* *E153* *E670*
:helpt[ags] [++t] {dir}
Generate the help tags file(s) for directory {dir}.
+ When {dir} is ALL then all "doc" directories in
+ 'runtimepath' will be used.
+
All "*.txt" and "*.??x" files in the directory and
sub-directories are scanned for a help tag definition
in between stars. The "*.??x" files are for
@@ -196,9 +199,11 @@ command: >
sorted.
When there are duplicates an error message is given.
An existing tags file is silently overwritten.
+
The optional "++t" argument forces adding the
"help-tags" tag. This is also done when the {dir} is
equal to $VIMRUNTIME/doc.
+
To rebuild the help tags in the runtime directory
(requires write permission there): >
:helptags $VIMRUNTIME/doc
@@ -249,7 +254,9 @@ The second one finds the English user manual, even when 'helplang' is set to
When using command-line completion for the ":help" command, the "@en"
extension is only shown when a tag exists for multiple languages. When the
-tag only exists for English "@en" is omitted.
+tag only exists for English "@en" is omitted. When the first candidate has an
+"@ab" extension and it matches the first language in 'helplang' "@ab" is also
+omitted.
When using |CTRL-]| or ":help!" in a non-English help file Vim will try to
find the tag in the same language. If not found then 'helplang' will be used
@@ -306,6 +313,10 @@ aligned on a line.
When referring to an existing help tag and to create a hot-link, place the
name between two bars (|) eg. |help-writing|.
+When referring to a Vim command and to create a hot-link, place the
+name between two backticks, eg. inside `:filetype`. You will see this is
+highlighted as a command, like a code block (see below).
+
When referring to a Vim option in the help file, place the option name between
two single quotes, eg. 'statusline'
diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt
index e75031ccef..bd2df5d1e5 100644
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -1,4 +1,4 @@
-*index.txt* For Vim version 7.4. Last change: 2016 Jan 19
+*index.txt* For Vim version 7.4. Last change: 2016 Mar 12
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1378,6 +1378,8 @@ tag command action ~
|:ounmap| :ou[nmap] like ":unmap" but for Operator-pending mode
|:ounmenu| :ounme[nu] remove menu for Operator-pending mode
|:ownsyntax| :ow[nsyntax] set new local syntax highlight for this window
+|:packadd| :pa[ckadd] add a plugin from 'packpath'
+|:packloadall| :packl[oadall] load all packages under 'packpath'
|:pclose| :pc[lose] close preview window
|:pedit| :ped[it] edit file in the preview window
|:print| :p[rint] print lines
diff --git a/runtime/doc/message.txt b/runtime/doc/message.txt
index 114bb61d99..7ceddeb674 100644
--- a/runtime/doc/message.txt
+++ b/runtime/doc/message.txt
@@ -1,4 +1,4 @@
-*message.txt* For Vim version 7.4. Last change: 2013 Feb 23
+*message.txt* For Vim version 7.4. Last change: 2016 Feb 27
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 8c2b7786a7..e00f27f9f0 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt* For Vim version 7.4. Last change: 2016 Feb 20
+*options.txt* For Vim version 7.4. Last change: 2016 Apr 12
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -2458,8 +2458,8 @@ A jump table for the options with a short description can be found at |Q_op|.
file only, the option is not changed.
When 'binary' is set, the value of 'fileformats' is not used.
- Note that when Vim starts up with an empty buffer this option is not
- used. Set 'fileformat' in your vimrc instead.
+ When Vim starts up with an empty buffer the first item is used. You
+ can overrule this by setting 'fileformat' in your .vimrc.
For systems with a Dos-like <EOL> (<CR><NL>), when reading files that
are ":source"ed and for vimrc files, automatic <EOL> detection may be
@@ -4238,6 +4238,7 @@ A jump table for the options with a short description can be found at |Q_op|.
written. A ":set nomodified" command also resets the original
values to the current values and the 'modified' option will be
reset.
+ Similarly for 'eol' and 'bomb'.
This option is not set when a change is made to the buffer as the
result of a BufNewFile, BufRead/BufReadPost, BufWritePost,
FileAppendPost or VimLeave autocommand event. See |gzip-example| for
@@ -4499,6 +4500,12 @@ A jump table for the options with a short description can be found at |Q_op|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
+ *'packpath'* *'pp'*
+'packpath' 'pp' string (default: see 'runtimepath')
+ {not in Vi}
+ Directories used to find packages. See |packages|.
+
+
*'paragraphs'* *'para'*
'paragraphs' 'para' string (default "IPLPPPQPP TPHPLIPpLpItpplpipbp")
global
diff --git a/runtime/doc/os_win32.txt b/runtime/doc/os_win32.txt
index 3c7ca4e36a..5dc276c9df 100644
--- a/runtime/doc/os_win32.txt
+++ b/runtime/doc/os_win32.txt
@@ -1,4 +1,4 @@
-*os_win32.txt* For Vim version 7.4. Last change: 2014 Sep 25
+*os_win32.txt* For Vim version 7.4. Last change: 2016 Mar 05
VIM REFERENCE MANUAL by George Reilly
@@ -75,6 +75,31 @@ The directory of the Vim executable is appended to $PATH. This is mostly to
make "!xxd" work, as it is in the Tools menu. And it also means that when
executable() returns 1 the executable can actually be executed.
+Quotes in file names *win32-quotes*
+
+Quotes inside a file name (or any other command line argument) can be escaped
+with a backslash. E.g. >
+ vim -c "echo 'foo\"bar'"
+
+Alternatively use three quotes to get one: >
+ vim -c "echo 'foo"""bar'"
+
+The quotation rules are:
+
+1. A `"` starts quotation.
+2. Another `"` or `""` ends quotation. If the quotation ends with `""`, a `"`
+ is produced at the end of the quoted string.
+
+Examples, with [] around an argument:
+ "foo" -> [foo]
+ "foo"" -> [foo"]
+ "foo"bar -> [foobar]
+ "foo" bar -> [foo], [bar]
+ "foo""bar -> [foo"bar]
+ "foo"" bar -> [foo"], [bar]
+ "foo"""bar" -> [foo"bar]
+
+
==============================================================================
3. Using the mouse *win32-mouse*
diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt
index 5897f756d8..0fe6106ec5 100644
--- a/runtime/doc/pattern.txt
+++ b/runtime/doc/pattern.txt
@@ -1,4 +1,4 @@
-*pattern.txt* For Vim version 7.4. Last change: 2016 Jan 03
+*pattern.txt* For Vim version 7.4. Last change: 2016 Apr 03
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1096,8 +1096,8 @@ x A single character, with no special meaning, matches itself
'/', alphabetic, numeric, '_' or '~'.
These items only work for 8-bit characters, except [:lower:] and
[:upper:] also work for multi-byte characters when using the new
- regexp engine. In the future these items may work for multi-byte
- characters.
+ regexp engine. See |two-engines|. In the future these items may
+ work for multi-byte characters.
*/[[=* *[==]*
- An equivalence class. This means that characters are matched that
have almost the same meaning, e.g., when ignoring accents. This
diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt
index 317226108f..3b54faf18e 100644
--- a/runtime/doc/quickfix.txt
+++ b/runtime/doc/quickfix.txt
@@ -1,4 +1,4 @@
-*quickfix.txt* For Vim version 7.4. Last change: 2016 Jan 21
+*quickfix.txt* For Vim version 7.4. Last change: 2016 Mar 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -49,6 +49,10 @@ The following quickfix commands can be used. The location list commands are
similar to the quickfix commands, replacing the 'c' prefix in the quickfix
command with 'l'.
+ *E924*
+If the current window was closed by an |autocommand| while processing a
+location list command, it will be aborted.
+
*:cc*
:cc[!] [nr] Display error [nr]. If [nr] is omitted, the same
error is displayed again. Without [!] this doesn't
diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt
index 8e40628e25..fcf