Commit Graph

657 Commits

Author SHA1 Message Date
KillTheMule
3c45e3b42a vim-patch:a0f849e
Update runtime files.

a0f849ee40

Missing files runtime/doc/tags and runtime/doc/todo.txt. Excluded
runtime/syntax/vim.vim, since we diverged quite a bit from vim in this file.
2016-05-03 19:25:18 +02:00
David Barnett
43fe335eda vim-patch:60cce2f
Update runtime files.

60cce2fb73
2016-04-18 21:50:37 -07:00
David Barnett
0d264abdd0 vim-patch:ca63501
Update various runtime files.

ca63501fbc
2016-04-18 21:36:16 -07:00
Case Nelson
4a200ceafa test: remote/define.vim: range 2016-04-18 05:40:15 -04:00
Paul Jolly
d835c030f2 remote/define.vim: support remote function "range" 2016-04-18 05:24:46 -04:00
Shougo Matsushita
2ebc58d25a Fix loading remote plugin error 2016-04-19 06:52:04 +09:00
Dan Elkouby
e5147ce6a0 rplugin: Ignore modeline while chaining events 2016-04-18 09:21:22 +03:00
ZyX
6e5498c3e3 runtime/msgpack: Add support for special values 2016-04-18 02:44:03 +03:00
Shougo Matsushita
b50afb4651 clipboard: support "lemonade" tool 2016-04-17 13:38:57 +09:00
Justin M. Keyes
91c5005da8 Merge pull request #4555 from justinmk/spell
spell: fix SpellFileMissing handler
2016-04-10 04:52:10 -04:00
Justin M. Keyes
3462f46cb8 spellfile.vim: less pestering
- Always auto-create spell/ directory, don't ask.
- Don't ask where to put .spl file if only 1 choice exists.
- Always download .sug file, don't ask.
- Use blackhole register for :delete and :g//d.
- Formatting: expand tabs.
2016-04-10 04:27:25 -04:00
Justin M. Keyes
1bf1ffc734 Merge pull request #4505 from watiko/vim-runtimes
vim-patch:86ae720,f913281,dd1616e
2016-04-10 01:43:07 -04:00
Aleksei Khudiakov
6e8757255e rplugin: Fix wrong condition for lazy loading remote plugins 2016-03-31 08:58:22 +10:00
watiko
beccc3e3a1 vim-patch:dd1616e
Correct optwin script, update PHP complete.

dd1616e6ce
2016-03-29 23:05:51 +09:00
watiko
ce832238c8 vim-patch:86ae720
Updated runtime files.

86ae720d75
2016-03-29 21:41:37 +09:00
Björn Linse
89bb5a8ab8 python: move script_host.py to python-client 2016-03-15 12:32:18 +01:00
Justin M. Keyes
e7a9c006e1 Merge pull request #4168 from noahfrederick/patch-1
man.vim: parse page names containing dash or dot
2016-03-13 14:48:45 -04:00
Justin M. Keyes
66a75fb835 Merge pull request #4410 from alexgenco/ruby_rplugin
Ruby remote plugin support
2016-03-11 12:33:41 -05:00
Björn Linse
6c4d3362c5 rplugin: let the python host identify packages 2016-03-11 11:31:09 +01:00
Justin M. Keyes
1c066e671d rplugin: Silence :doautocmd. #4384 2016-03-11 01:22:41 -05:00
Alex Genco
3cb9970acf Ruby remote plugin support 2016-03-10 19:01:44 -08:00
Shougo Matsushita
bb020df0f5 rplugin: Initialize remote plugins lazily. #4384 2016-03-10 10:34:57 -05:00
Noah Frederick
091ef2fbe4 man.vim: prefer cmd-line to normal-mode commands 2016-03-05 09:12:54 -05:00
Noah Frederick
42e710eacb man.vim: clean up regex/string comparisons
- Explicitly specify case sensitivity when comparing strings
- Clean up unnecessarily complex `if` statements
2016-03-05 09:12:54 -05:00
Noah Frederick
9fb9d2929f man.vim: fixes to argument handling and parsing
- Define a collection of legal characters when parsing page and section
  in `s:parse_page_and_section()` instead of relying on 'iskeyword',
  which is unreliable.
- Allow non-numeric section names (e.g., `3c`).
- Simplify argument handling in `man#get_page()` to accommodate
  non-numeric section names.

Fixes #4165.
2016-03-05 09:12:54 -05:00
Justin M. Keyes
0c2ba7554f Merge pull request #3900 from ZyX-I/inf-nan-string
Make it possible to eval() all floating-point values dumped by string()
2016-02-28 11:48:54 -05:00
Shougo Matsushita
41794f6b58 Improve remote plugin scripts 2016-02-14 08:24:49 +09:00
Shougo Matsushita
46bd3c0f77 clipboard: Check $DISPLAY. Prefer xsel. #4150 2016-02-05 09:51:56 -05:00
ZyX
18d1ba3422 runtime/msgpack: Fix msgpack#string that expects old string() behavior 2016-02-02 00:54:00 +03:00
George Brown
948361760c Respect $MANWIDTH
If $MANWIDTH is set do not override it otherwise use winwidth.
2016-02-01 00:39:24 -06:00
Nicolas Dumazet
2e000a1acd vim-patch:83d1b19
More updated runtime files.

83d1b19015

Left out:
- doc/tags
- doc/todo.txt
- runtime/tutor/de.*
- runtime/syntax/vim.vim that seems to have already been
  applied/autogenerated without the has(...) tests
2016-01-28 13:43:43 +01:00
Felipe Morales
1715b79d39 plugin/tutor: Fix locale handling
Fixes issue #4071
2016-01-25 17:44:46 +01:00
Björn Linse
49f0417988 clipboard: Detach clipboard helper, so contents is kept after nvim exit 2016-01-20 11:09:29 +01:00
Dan Strokirk
38435e8a05 python: Add missing I/O methods to RedirectStream
`RedirectStream` is used to redirect `stdout` and `stderr`, but are
missing certain I/O methods available on other file-like objects.
This causes external plugins (like `colorama`) to crash.

Inheriting from `io.IOBase` adds an abstract implementation of these
methods, which will at least keep the python code running.

Fixes #4045
2016-01-18 17:22:11 +01:00
Justin Gassner
fec466c72e vim-patch:f3c2afb
Update a few runtime files.

f3c2afb77f
2016-01-15 16:09:46 +01:00
Seth Jackson
5262cf2f19 Remove getscript.vim. 2015-12-12 09:18:51 -05:00
Shougo Matsushita
f338fee482 Fix UpdateRemotePlugins fails problem 2015-12-10 00:09:55 +09:00
Felipe Morales
4af822fa09 tutor: Fix mistaken option name
Closes #3754
2015-11-28 19:55:43 +01:00
Felipe Morales
538a57cfd8 Merge pull request #3675 from fmoralesc/update-vim-tutor
tutor: Update vim-tutor to 0.2.1
2015-11-28 11:23:22 +01:00
Felipe Morales
0af56a0ec7 tutor: Update vim-tutor to 0.2.1
Also, some tweaks based on input by @fdinoff on gitter.
2015-11-28 10:59:21 +01:00
ZyX
b98cea909f shada: Also store last search direction
Note: it looks like viminfo files do not store search direction intentionally.
After reading viminfo file search direction was considered to be “forward”.

Note 2: all files created on earlier Neovim version will automatically receive
“forward” direction.

Fixes #3580
2015-11-23 17:08:01 +03:00
Felipe Morales
321db59ca1 Merge pull request #3270 from ZyX-I/shada-support
Add plugin for editing ShaDa files
2015-11-23 00:27:18 +01:00
Daniel Hahler
dcc71094d1 runtime/autoload/provider/python{,3}.vim: fix E168
Do not use `finish` inside of `provider#python{,3}#Call`, but `return`.
2015-11-03 16:52:26 +01:00
ZyX
8d9063bb2a runtime: Add autoload/shada.vim helper file
Contains most of the logic
2015-11-01 21:27:28 +03:00
ZyX
00a638179d runtime: Add autoload/msgpack.vim helper file 2015-11-01 21:27:27 +03:00
Felipe Morales
6b6f018f84 spellfile: follow the XDG spec
Closes #3535
2015-10-28 14:46:00 +01:00
rosston
d69f3bbb0d vim-patch:8feef4f #3444
Update runtime files.

8feef4ff62
2015-10-11 18:07:58 -04:00
Justin M. Keyes
af0ca25ba9 man.vim: avoid creating extra blank buffers. 2015-09-25 22:01:03 -04:00
Justin M. Keyes
2169721b94 man.vim: accept [count] for section number. 2015-09-23 00:06:27 -04:00
Justin M. Keyes
3c32ae2ff3 man.vim: window-local options
Set window-local options only on a newly-created "man" tab or if we're
already in one.
2015-09-23 00:06:27 -04:00
Justin M. Keyes
45724e2c41 man.vim: man#get_page(): parse page and section.
- Eliminate man#pre_get_page().
- Temporarily remove () from 'iskeyword' to avoid spurious \k match.
2015-09-23 00:06:26 -04:00
Justin M. Keyes
4fb75d61c2 man.vim: convert ftplugin to actual plugin.
- do not create leader maps
- :norm! instead of :norm
- :keepjumps during layout
- use blackhole reg to avoid polluting unnamed reg
- format buffer name as "man://foo(2)"
- simulate behavior of `man`
    - buffer-local mapping of q to quit
    - open in new tab instead of new window
    - set 'nolist'
    - set tabstop=8
2015-09-23 00:05:33 -04:00
Florian Walch
e3540a430b provider/pythonx: Improve detection code and error messages.
"python -c" returns 1 in case of an error. Use a return code of 2 if
the Neovim module is not found to distinguish these cases.

Verify the interpreter version before checking for an installed Neovim
module. Show a new error message if the Python interpreter version
is below the minimum required version.

Always use "pkgutil" to determine if the Neovim module is installed.
In contrast to "importlib", which was used for Python 3,
"pkgutil.find_loader" is available for all Python versions [1,2].
"pkgutil.find_loader" internally uses "importlib" for Python >= 3.3 [2].
Also, the previously used "importlib.find_loader" is only available
since Python 3.3 (so checking the major Python version was not enough)
and deprecated since Python 3.4 [3].
Finally, conditioning on the major version in Vimscript was incorrect,
as checking the Neovim module for a certain Python major version does
not mean that the tested interpreters are actually of that version.
For example, we test the "python" executable, which is Python 2 on
Ubuntu and Python 3 on Arch Linux.

[1] https://docs.python.org/2/library/pkgutil.html#pkgutil.find_loader
[2] https://docs.python.org/3/library/pkgutil.html#pkgutil.find_loader
[3] https://docs.python.org/3/library/importlib.html#importlib.find_loader
2015-09-17 18:48:26 +02:00
Jonathan Skeate
5613b62224 host.vim: expand $MYVIMRC. #3342
According to the vim helpfile:

> fnamemodify({fname}, {mods})
>    ...
>    Note: Environment variables don't work in {fname}, use
>    expand() first then.

So this causes issues if your $MYVIMRC contains environment variables
(e.g. $XDG_CONFIG_HOME)
2015-09-14 21:59:13 -04:00
Jakob Schnitzer
c478dd5ab4 python: remove current working directory from path
Before, running Nvim in a directory containing a Python module `neovim`,
or one that is imported by it or a plugin, will load that module and not
the system one. So Nvim might be tricked into running arbitrary scripts
from the current working directory.

Fixes #1665
Fixes #2530
2015-09-14 12:06:49 +02:00
sanmiguel
0ec6a9c3c3 provider/pythonx.vim: Use shell-agnostic construction. #3190 2015-08-21 00:33:29 -04:00
Justin M. Keyes
681ee8131c Merge pull request #2910 from blueyed/python-fix-path_hook
Python: fixes for sys.path_hooks handler
2015-08-17 19:21:19 -04:00
Justin M. Keyes
616b787d12 tutor: avoid 'wildignore' pain 2015-08-16 21:13:26 -04:00
Justin M. Keyes
197a5ad376 Merge pull request #2700 from fmoralesc/vim-tutor-mode
runtime: Include vim-tutor-mode
2015-08-15 14:56:46 -04:00
Felipe Morales
4fc1ab779d runtime: Include vim-tutor-mode
vim-tutor-mode provides a mechanism to write and read interactive
tutorials in vim. It's aim is to replace the venerable vimtutor with a
more modern system.

The plugin's development is maintained at https://github.com/fmoralesc
/vim-tutor-mode

Closes #2351.
2015-08-15 15:25:30 -03:00
Björn Linse
d4ebbaa91a clipboard: support clipboard=unnamedplus,unnamed 2015-08-07 13:06:13 +02:00
Justin Gassner
63d5b8707b vim-patch:5d89d9b #2922
Update runtime files.

https://code.google.com/p/vim/source/detail?r=5d89d9b40499059e1a64dc35fbae94313fba0098
2015-08-02 05:17:49 -04:00
Björn Linse
c7bfbd4fd9 python3: remove decoding logic, as this is now done in plugin host #3026
DecodeHook isn't needed since neovim/python-client#53
rpc methods won't pass bytes anymore, ref neovim/python-client#129
2015-07-18 22:39:28 +02:00
Björn Linse
73d9cd85df rplugin: Don't error if plugin is registered before host #2961
This makes it possible to register a lazy loaded host in a plugin/ file.
Previously this caused an error on restart after :UpdateRemotePlugins
2015-07-10 22:11:13 +02:00
Daniel Hahler
07e538d589 python: VimPathFinder: remove unused load_module method
This method was not used, but `VimModuleLoader.load_module` is.
2015-07-09 13:45:25 +02:00
Daniel Hahler
5e32120236 python: path_hook: properly implement PEP302
The path hook used to load the module already in the `find_module` hook.

This caused different behaviour between Python 2.7 and 3.3, where the
former would call the `VimModuleLoader`, while Python 3.3 appears to
short-circuited this (because the module was loaded already).

This patch will now only find the module, but not load it in the
`find_module` hook.
2015-07-09 13:43:57 +02:00
Daniel Hahler
ad6dfa6669 python: VimModuleLoader: check sys.modules[fullname]
This is required by PEP302 for `reload()`ing modules.
2015-07-09 13:43:57 +02:00
Daniel Hahler
1cc37f32b8 python: VimPathFinder: use find_spec for Python 3.4
Fixes https://github.com/neovim/neovim/issues/2909
2015-07-09 13:43:29 +02:00
Nick Hynes
0ffd51425e rplugin: pass additional info to host factory function #2920 2015-07-03 12:12:21 -04:00
Björn Linse
3fcfd52422 clipboard: avoid redundant error message on clipboard_get failure .
Fixes #2712

Helped-By: Michael Reed <m.reed@mykolab.com>
2015-06-25 19:30:29 -04:00
Björn Linse
d133502e98 clipboard: keep track of ownership and cache clipboard data locally
Helped-By: Justin M. Keyes <justinkz@gmail.com>
2015-06-25 19:30:28 -04:00
Björn Linse
a0e89978bd clipboard: don't use &shell in clipboard provider 2015-06-25 19:16:59 -04:00
Nick Hynes
105b8f1070 rplugin: allow users to register hosts #2896 2015-06-25 19:01:38 -04:00
Florian Walch
e8c68aa7ee provider/pythonx: Show absolute path to executable in error message. 2015-06-09 10:55:25 +03:00
Florian Walch
cfa278c72e provider/pythonx: Merge s:check_version() and s:check_interpreter(). 2015-06-09 10:29:46 +03:00
Florian Walch
4dc3c84c5a provider/pythonx: Don't use Python 3 interpreter for +python.
The executable 'python' can refer to either Python 2 or Python 3. Add a
check to only accept Python 2 interpreters as providers for +python.

Also improve the error messages.

Resolves #2734.
2015-06-09 10:29:46 +03:00
Daniel Hahler
c148427c89 provider/pythonx: return error from Detect
Ref: https://github.com/blueyed/neovim/commit/9b653ce0#commitcomment-11195449
2015-06-09 10:29:46 +03:00
Daniel Hahler
8d42db1eea remote#host#RequirePythonHost: fix reference to log
I could not find a reference to NVIM_PYTHON_PYTHON_LOG anywhere, and
python-client looks for NVIM_PYTHON_LOG_FILE.

~/.nvimlog appears to be hardcoded and enabled by default.  This would
need to be adjusted when this changes.
2015-06-09 10:29:46 +03:00
Daniel Hahler
2111f28fc5 provider/python: Call: fix usage of 'finish' in function
Do not call it again in case of an exception in `remote#host#Require`
(ref: https://github.com/neovim/neovim/pull/2549#issuecomment-102674350).
2015-06-09 10:29:46 +03:00
Daniel Hahler
866e587b88 provider/python: define Prog and Error functions always
`provider#pythonX#Error` and `provider#pythonX#Prog` are currently meant
for debugging only (the error message is not being used), and should
therefore be defined always, especially in case of errors.

Ref: https://github.com/neovim/neovim/pull/2549#issuecomment-98607580
2015-06-09 10:29:46 +03:00
Daniel Hahler
3b0ec6599c provider/pythonx: Detect: only return valid versions
The `check` return value of `s:check_version` was not being used, and it
was returned always.
2015-06-09 10:29:45 +03:00
Daniel Hahler
12f7229e7e provider/pythonx: test python3/2 first, do not test python3.2
python3/python2 will typically point at the default / most recent
interpreter.
2015-06-09 10:29:45 +03:00
Daniel Hahler
6fa10ab9cb provider/pythonx: add reference to ":help nvim-python" for error 2015-06-09 10:29:45 +03:00
Daniel Hahler
905f34cf30 provider/pythonx: fix grammar with error 2015-06-09 10:29:45 +03:00
Daniel Hahler
75db0c37a7 provider/pythonx: only call system("python") once
`s:check_interpreter` will query/return the version also, so that
`s:check_version` can just use that, without calling "python" again.
2015-06-09 10:29:45 +03:00
Shougo Matsushita
7dc241ac78 rplugin: Improve remote plugins detection messages #2769 2015-05-31 12:47:54 -04:00
Florian Walch
90fae3663f vim-patch:4abac79 #2694
Update runtime files.

https://code.google.com/p/vim/source/detail?r=4abac79c0b7ae7aac0cb32d9930e155de628b63f
2015-05-19 12:44:56 +03:00
Shougo Matsushita
42de617974 Add if_python3 support
Reviewed-by: Michael Reed <m.reed@mykolab.com>, Daniel Hahler <github@thequod.de>
Helped-by: Daniel Hahler <github@thequod.de>
2015-04-21 06:20:23 +09:00
Thiago de Arruda
54bd384338 runtime: Handle failures while loading individual remote plugins
The s:RegistrationCommands functions will now test the type of the "specs" rpc
call. If it's not a list, then the plugin failed to load and is skipped
2015-04-13 17:21:28 -03:00
Thiago de Arruda
617878f747 runtime: Add vimexpect library and example gdb plugin
This library makes it easier to script communication with interactive programs.
It is similar to what the "expect" tcl extension does, but uses an object
oriented API and is designed to integrate nicely with Neovim job control.
2015-04-02 11:33:48 -03:00
Justin M. Keyes
adfc8cf50a doc: Misc. cleanup
Add missing parentheses and whatnot, move dangling comment, etc. Some
specific items worth mentioning:

Fixed some references to non-existent tags, found via `make html`

msgpack_rpc/channel.c:
  ELOG already prefixes each line with "error @ ..."
2015-03-24 19:29:29 -04:00
Seth Woodworth
fd636fc6dc runtime: make the spellfile creation use .nvim folder #1990 2015-02-15 12:19:55 -05:00
Florian Walch
5f00d22853 vim-patch:bd18da9
Update runtime files.

https://code.google.com/p/vim/source/detail?r=bd18da914be9d43a70713f6af02770a0d3280159
2015-01-21 07:27:01 +01:00
Florian Walch
e6f3b0703c vim-patch:47b1887
Updated runtime files.

https://code.google.com/p/vim/source/detail?r=47b1887483da0bc33d26a3e8d89973d76c9f39ef
2015-01-20 15:11:00 +01:00
Florian Walch
272f1064c7 vim-patch:1e8ebf8
Updated runtime files.

https://code.google.com/p/vim/source/detail?r=1e8ebf870720e7b671f98f22d653009826304c4f
2014-12-30 13:51:39 +01:00
Björn Linse
63efb9b1f1 clipboard: handle linewise/charwise selections correctly 2014-12-08 22:01:00 +01:00
Björn Linse
c1854d2433 clipboard: support separate '+' and '*' clipboards 2014-12-08 21:38:35 +01:00
Florian Walch
98c72305a9 Improve Python host messages. 2014-11-26 16:49:46 +01:00
Bjorn Tipling
fe27cbe1d8 Print an error and exit when there are no plugins.
Issue: #1537

Running the :UpdateRemotePlugins command will show an ugly, unhelpful
error when no plugins were found. This change has neovim print an error message
and does not attempt to start the python-client which requires at least one
plugin.
2014-11-24 13:53:21 -08:00
Justin M. Keyes
c10f7e1c62 clipboard: check for X on every invocation
xsel and xcopy may be available even if a valid X display is not. Also,
the availability of X may change at any time, so check on each
invocation.

Closes #1509.
2014-11-23 19:09:32 +00:00
Thiago de Arruda
6b17082d3c runtime: Refer to plugins running outside Nvim as "remote plugins"
- Rename autoload/rpc to autoload/remote
- External plugins are now remote plugins
- External plugins directory is "rplugin"
2014-11-21 10:11:42 -03:00
Thiago de Arruda
f6c2c7bf1f runtime: Prepend the vimrc filename to the external plugin manifest
This is required to support multiple vimrcs with each having it's own set of
installed external plugins.
2014-11-20 08:48:29 -03:00
Thiago de Arruda
58ba2241e9 runtime: Change external plugin directory to "external-plugin" 2014-11-20 08:46:23 -03:00
Thiago de Arruda
9b8ca92a01 runtime: Reimplement python/clipboard providers in vimscript
Clipboard is implemented with platform-specific shell commands, and python is
implemented with the external plugin facility (rpc#* functions). The
script_host.py file(legacy python-vim emulation plugin) was moved/adapted from
the python client repository.
2014-11-18 14:58:25 -03:00
Thiago de Arruda
4af5cfb517 runtime: Add vimscript support for external plugins
External plugins(a.k.a msgpack-rpc plugins) are now supported through a
library of vimscript functions that deals with:

- Associating plugin host names(eg: python, ruby, go) with channel ids
- Registration of external plugins
- Definition of commands, autocmds and functions lazily implemented over
  msgpack-rpc
2014-11-18 12:43:30 -03:00
Will Stamper
a1582a841b Spelling fixes 2014-08-24 18:40:06 -05:00
Justin M. Keyes
a98a6996c2 re-integrate runtime/ vim-patch:0 #938
Vim runtime files based on 7.4.384 / hg changeset 7090d7f160f7

Excluding:
  Amiga icons (*.info, icons/)
  doc/hangulin.txt
  tutor/
  spell/
  lang/ (only used for menu translations)
  macros/maze/, macros/hanoi/, macros/life/, macros/urm/
      These were used to test vi compatibility.
  termcap
      "Demonstration of a termcap file (for the Amiga and Archimedes)"

Helped-by: Rich Wareham <rjw57@cam.ac.uk>
Helped-by: John <john.schmidt.h@gmail.com>
Helped-by: Yann <yann@yann-salaun.com>
Helped-by: Christophe Badoit <c.badoit@lesiteimmo.com>
Helped-by: drasill <github@tof2k.com>
Helped-by: Tae Sandoval Murgan <taecilla@gmail.com>
Helped-by: Lowe Thiderman <lowe.thiderman@gmail.com>
2014-07-29 02:12:31 +00:00