Commit Graph

1517 Commits

Author SHA1 Message Date
Matthieu Coudron
dc685387a3 viml: introduce menu_get() function #6322
menu_get({path}, {modes}). See :h menu_get.
2017-07-28 01:27:58 +02:00
Nikolai Aleksandrovich Pavlov
861ba1ddd4 runtime: Fix where desktop file and icon are installed (#7072)
With `xdg-*` utilities CMAKE_INSTALL_PREFIX is incorrectly ignored.

Taken from [nvim-qt][1]. For some reason it only checks for !APPLE.

[1]: b26596d164/src/gui/CMakeLists.txt (L48-L55)
2017-07-27 03:52:22 +02:00
James McCoy
a2dc33ba19 Merge pull request #7069 from jbradaric/vim-8.0.0034
vim-patch:8.0.0034
2017-07-26 15:36:07 -04:00
James McCoy
86f0cd7902 Merge pull request #7070 from jbradaric/vim-8.0.0062
vim-patch:8.0.0062
2017-07-26 07:07:00 -04:00
ZyX
d23c0de0c1 doc: Update documentation 2017-07-26 12:31:01 +03:00
Jurica Bradaric
d94e39a517 vim-patch:8.0.0062
Problem:    No digraph for HORIZONTAL ELLIPSIS.
Solution:   Use ",.". (Hans Ginzel, closes vim/vim#1226)

8161551724
2017-07-25 19:35:56 +02:00
Jurica Bradaric
811c45163c vim-patch:8.0.0034
Problem:    No completion for ":messages".
Solution:   Complete "clear" argument. (Hirohito Higashi)

9e507ca8a3
2017-07-25 18:41:14 +02:00
James McCoy
722806a115
provider: clipboard: Only report stderr if the job failed
Closes #7054
2017-07-24 20:10:40 -04:00
James McCoy
58d8d91ec1
provider: Extra pythonx's stderr handling to common functions 2017-07-24 20:10:28 -04:00
Andy Russell
26124b4800 provider/clipboard.vim: fix logic issue #7042
Closes #7039
2017-07-17 17:20:37 +02:00
Justin M. Keyes
d0537961c1 Merge #7040 'vim-patch:8.0.{0017,0026,0078,0079,0084}' 2017-07-17 16:54:17 +02:00
ZyX
cb3c71eac9 doc: Adjust documentation a bit
2 spaces after sentense ends, clarify what will be highlighted.
2017-07-17 02:32:32 +03:00
Justin M. Keyes
a76da96e86 Merge #7028 from fmoralesc/vimtutor-disentangle2
Closes #4533
Closes #6389
Closes #4913 
Closes #7005
2017-07-16 18:19:41 +02:00
Felipe Morales
3241bce611 tutor: reorganize 2017-07-16 12:10:49 -04:00
Jurica Bradaric
33efad7dbc vim-patch:8.0.0017
Problem:    Cannot get the number of the current quickfix or location list.
Solution:   Use the current list if "nr" in "what" is zero. (Yegappan
            Lakshmanan)  Remove debug command from test.

890680ca63
2017-07-16 17:48:50 +02:00
Andy Russell
4dee942e73 provider/clipboard.vim: capture/display errors (#6684)
TODO: handle errors in the `get`. systemlist() should take an
options dictionary like jobstart(), which may specify a stderr handler.

References #6565
2017-07-15 20:51:51 +02:00
Justin M. Keyes
d8fe63199f intro: change byline to "by al." (#6984)
Several people have suggested that the "by Bram" byline is misleading,
it implies that Bram is actively involved with the project. Up to now we
left it as an homage.

Bram agreed that it is misleading, and suggested a mention somewhere
other than the intro.
2017-07-15 18:13:49 +02:00
ZyX
69719e658c Merge branch 'master' into colored-cmdline 2017-07-15 18:56:45 +03:00
Felipe Morales
37af859930 tutor: update syntax
sampletext regions no longer supported

make sure tutorExpect is available

don't conceal code region delimiters
2017-07-15 11:01:45 -04:00
Felipe Morales
8e48d7c19e tutor: disable old method for setting "expect" regions
tutor: remove movement mappings
2017-07-15 11:01:45 -04:00
Felipe Morales
cb0282ad98 tutor: update tutor-mode tutorial 2017-07-15 11:01:45 -04:00
Felipe Morales
c235ee3f05 tutor: don't enable folds by default 2017-07-15 11:01:45 -04:00
Felipe Morales
ec67d07065 tutor: allow metadata to exist outside of the documents.
this makes 'expect' regions simpler to handle.
2017-07-15 11:01:45 -04:00
Felipe Morales
2dc5b141da tutor: some tweaks to begginer's tutorial 2017-07-15 11:01:44 -04:00
Justin M. Keyes
72c38b5cd5 health.vim: validate g:clipboard
Closes #7020

Also fix 'iskeyword' setting, which I fumbled in
440133e0d5
2017-07-15 15:19:01 +02:00
Marco Hinz
d40ca32095
doc: rewrite job-control example
Fixes https://github.com/neovim/neovim/issues/7009
2017-07-13 15:19:29 +02:00
Jonathan de Boyne Pollard
68d2fb7570 tui: Improve the setrgbf/setrgbb fallback logic.
The libvte test was too agressive, and is reduced to only triggering
when it is libvte 0.36 AND a gnome or xterm terminal type is used.

Contrastingly, tmux was not on the list at all and now is.
2017-07-09 19:08:56 +01:00
Jonathan de Boyne Pollard
5bdad50307 doco: Document constant 'term' in more detail.
Also expand the example in term-dependent-settings.
2017-07-09 19:08:35 +01:00
Justin M. Keyes
0b88bf256d doc: api.txt; deprecate <special> 2017-07-08 16:34:35 +02:00
Justin M. Keyes
0ea7e45bc1 'cpoptions': remove "<" flag; ignore <special>
Closes #6937 "nvim_get_keymap output is unreliable"
2017-07-08 16:34:35 +02:00
Justin M. Keyes
78c5201234 'cpoptions': remove "k" flag
This was already removed in 3baba1e7bc, except the documentation and
CPO_VI entry. find_term_bykeys() is irrelevant to Nvim.
2017-07-08 16:34:33 +02:00
Peter Renström
6720fe253e runtime: K: prefer Vim help instead of man #3104 2017-07-08 15:11:56 +02:00
Ivan
17298a7912 runtime: update vimCommand syntax pattern (#6976)
Update a flawed match pattern for the vimCommand syntax group. To see
the effect of this fix, open a vimscript buffer,

  nvim -u NONE foo.vim

configure a couple highlight groups,

  :hi! vimIsCommand ctermfg=Green
  :hi! vimCommand ctermfg=Red
  :syntax enable

and add the following lines to the buffer:

  let foo=xFoo
  let bar=zBar

You'll notice the "z" in zBar is Red, while xFoo and the rest of Bar are green. This will
be the case as long as the word following `=` starts with the letter "z". This has already
been fixed upstream by adding a "\>" word boundary to the match pattern:

  https://github.com/vim/vim/issues/124
  e271909625 (diff-86da060e2153c8ce5dc317a7b4b5a29dR27)

This particular match pattern was also mentioned in issue #5491, but in reference to a bug
that was related to the generated part of syntax/vim.vim, whereas this bug lives in the
non-generated part of the file.
2017-07-08 12:44:36 +02:00
Justin M. Keyes
105d680aea Merge #6816 'TUI improvements'
Removed these commits (test-suite changes):
e2fba01910
7c809c4bc7
18e7cd9e97
2017-07-07 00:34:37 +02:00
Paul "LeoNerd" Evans
e4dc878f89
options: Default to 'ttimeout' and 'ttimeoutlen=50'
This gives libtermkey 50msec to reassemble split multibyte sequences
like DCSes.
2017-07-05 22:23:04 -04:00
Justin M. Keyes
f0dafa89c2 provider/clipboard.vim: Handle missing g:clipboard keys 2017-06-28 09:42:03 +02:00
Justin M. Keyes
6016ac270f provider/clipboard.vim: allow configuration #6030
Closes #6029
2017-06-27 12:22:06 +02:00
James McCoy
91749c06dc Merge pull request #6927 from jamessan/vim-7.4.2259
vim-patch:7.4.2259,7.4.2268,7.4.2318,7.4.2320
2017-06-27 03:19:01 +00:00
James McCoy
0dd6455659
vim-patch:7.4.2268
Problem:    Using CTRL-N and CTRL-P for incsearch shadows completion keys.
Solution:   Use CTRL-T and CTRL-G instead.

1195669f9e
2017-06-26 22:08:11 -04:00
Justin M. Keyes
f34befe74c Merge #6789 from ZyX-I/lua-path
lua: Add paths from &runtimepath to package.path and package.cpath
2017-06-27 02:29:15 +02:00
ZyX
407abb3a6c eval,ex_getln: Add support for coloring input() prompts 2017-06-27 01:34:54 +03:00
raichoo
7955cf3515
vim-patch:7.4.2259
Problem:    With 'incsearch' can only see the next match.
Solution:   Make CTRL-N/CTRL-P move to the previous/next match. (Christian
            Brabandt)

4d6f32cbfb
2017-06-26 07:36:36 -04:00
Alex Genco
9b98b959d1 runtime: Add docs for g:ruby_host_prog 2017-06-17 09:07:29 -07:00
Alex Genco
f400c6f05f runtime: Allow overriding ruby host with g:ruby_host_prog
This allows users who have per-project Ruby versions (e.g. with `rvm`)
to pin to a particular gem installation.

For example: `let g:ruby_host_prog = 'rvm system do neovim-ruby-host'`
2017-06-17 08:20:00 -07:00
Alex Genco
826210a465 runtime: Fix issue with Ruby health latest_gem determination
Sometimes the `gem list` command used for finding the latest version of
the `neovim` gem prints an error, which can throw off the `split()` call
due to extra parenthesis. This locks down the split pattern to make
conflicts less likely.
2017-06-17 08:20:00 -07:00
Xu Cheng
6efe84af68 provider/clipboard: add tmux support (#6894) 2017-06-15 09:15:56 +02:00
Björn Linse
16ae369474 screen.c: make more highlights window specific 2017-06-14 20:31:14 +02:00
Justin M. Keyes
16cce1ac17 Merge #6827 'Always enable logging' 2017-06-07 23:19:02 +02:00
Jonathan de Boyne Pollard
2b35f40fc1 doco: Adjust TERM and terminfo doco.
Use a table and adjust cursor-shape a bit.
2017-06-07 14:21:53 +01:00
Justin M. Keyes
bc025ab117 doc: *standard-path*, *$NVIM_LOG_FILE* 2017-06-07 00:40:13 +02:00
James McCoy
9281653233
Merge remote-tracking branch 'origin/master' into vim-7.4.1975 2017-06-06 07:33:50 -04:00
James McCoy
dafc14b969
vim-patch:8.0.0477
Problem:    The client-server test may hang when failing.
Solution:   Set a timer.  Add assert_report()

42205551b1
2017-06-06 06:15:16 -04:00
James McCoy
cb8efa4fef
vim-patch:8.0.0360
Problem:    Sometimes VimL is used, which is confusing.
Solution:   Consistently use "Vim script". (Hirohito Higashi)

b544f3c81f
2017-06-06 06:15:16 -04:00
Jonathan de Boyne Pollard
b22a61cdbb tui: Recognize "Tc" terminfo capability.
This is a new convention pioneered by tmux.  It does not do much for
nvim; since nvim always looks to see whether it should be making up
"setrgbf" and "setrgbb" capabilities.  But it is a way for terminfo to
force this, irrespective of the hardwired list in the code, for more
terminal types.  On the gripping hand, updating terminfo descriptions to
actually have "setrgbf" and "setrgbb" capabilities so that nvim never
has to try to invent them in the first place, is as good if not better
an approach for overriding what is baked into the code.
2017-06-05 22:47:44 +01:00
James McCoy
81be7358be
vim-patch:7.4.1976
Problem:    Number variables are not 64 bits while they could be.
Solution:   Add the num64 feature. (Ken Takata)

22fcfad292
2017-06-04 22:12:13 -04:00
Jonathan de Boyne Pollard
94d00d9473 doco: Add some guidance on up-to-date terminfo. 2017-06-03 18:53:29 +01:00
Jonathan de Boyne Pollard
c201518674 doco: Correct :help term-dependent-settings .
The example used &term which is no longer meaningful.
Fortunately, we can change this into a useful example using $TERM that also
shows how to address a common need with termguicolors at the same time.
2017-06-03 18:53:29 +01:00
Jonathan de Boyne Pollard
c2a0fd349e doco: Move TERM help into its own section and expand.
:help TERM previously pointed to a section that no longer even discussed the
variable.
2017-06-03 18:53:28 +01:00
Jonathan de Boyne Pollard
533f5c38c4 doco: Note some common $TERM mistakes and how to fix them.
Also explain more clearly the difference between Vim and Nvim
when it comes to built-in terminfo entries.
2017-06-03 18:53:28 +01:00
Jonathan de Boyne Pollard
16300d02c7 tui: Improvements to RGB colour support.
The details are in the on-line help under :help true-color .

The brief precis is that nvim is (I hope.) converging with tmux and libvte.
It is taking the same approach with setrgbf and setrgbb terminfo capabilities
that it does with the Ss and Se terminfo capabilities.
2017-06-03 18:53:28 +01:00
Jonathan de Boyne Pollard
503a5c458b tui: Spelling corrections in doco and commentary 2017-06-03 18:53:28 +01:00
Jonathan de Boyne Pollard
756a17a848 doco: Replace termcap with terminfo where appropriate.
Also document better what to do on slow terminals.
2017-06-03 18:53:27 +01:00
Jonathan de Boyne Pollard
76a6509c59 tui: More refactoring, and improvements to cursor shape support.
The details are in the on-line help under :help cursor-shape .

The brief precis is that nvim is following the lead of tmux, and going
beyond what tmux does to make cursor shape changes work on a broad range of
terminals.  This includes on tmux itself, which is no longer bypassed.
2017-06-03 18:53:27 +01:00
Jonathan de Boyne Pollard
d65cff9de8 doc: Document some more terminal behaviours.
This documents 256-colour and true colour handling, cursor shapes,
and scrolling regions.

Almost all of these headings are taken from the Vim doco, so that
the :help commands that people learn are a transferable skill.
2017-06-03 18:53:27 +01:00
Jonathan de Boyne Pollard
6be921b71c doc: Relegate xterm-8bit to a removed feature. 2017-06-03 18:53:27 +01:00
Justin M. Keyes
133f8bc628 Merge #4700 from AdnoC/keep-default-register 2017-05-31 23:43:40 +02:00
AdnoC
9a91ce4fa6 eval: Add ability to set the unnamed register with setreg 2017-05-31 13:19:08 -04:00
AdnoC
a00b03d03f shada: Set the unnamed register to the previous unnamed register on startup 2017-05-31 13:18:59 -04:00
Matthew Malcomson
033b1cb7d9 'pastetoggle': Revert support for multi-key value (#6724)
Reverts commit 337b6179df

Closes #6716 at the expense of not being able to use a
multi-key 'pastetoggle' manually.

Multi-key 'pastetoggle' can still be used when inserting the entire
option into the typebuffer at once (though the use here is
questionable).

Also remove those tests to do with waiting for the completion of
'pastetoggle' and mention in the documentation that 'pastetoggle'
doesn't wait for timeout.
2017-05-31 13:20:06 +02:00
Björn Linse
6a75938758 channels: implement sockopen() to connect to socket
Helped-By: oni-link <knil.ino@gmail.com>
2017-05-29 19:02:49 +02:00
ZyX
cab3a248b2 doc: Clarify documentation 2017-05-28 23:55:51 +03:00
ZyX
a409fa2b3f lua: Use automatic determining of suffixes only for package.cpath 2017-05-28 23:55:51 +03:00
James McCoy
9cc185dc6d Merge pull request #6680 from mhinz/listen/localhost
Use uv_getaddrinfo() for servers
2017-05-28 13:26:06 +00:00
Justin M. Keyes
023f67cad8 terminal: Do not change 'number', 'relativenumber' (#6796)
Showing the 'number' column in terminal buffers is a bit silly because
of 'scrollback'. But it's mostly harmless and technically works as
expected.

The least surprising thing is to leave the user's settings alone. Since
there are tradeoffs in both cases, we choose inertia.

We still disable 'relativenumber' in *terminal-mode* (as opposed to
normal-mode) because it is totally broken: the Nvim cursor (not terminal
cursor) is always on the last line.
2017-05-27 15:08:38 +02:00
raichoo
967e892cb6 man.vim: feature-test section (-s) flag #6815
Different implementations of `man` might be using different
flags for sections.
2017-05-26 00:30:40 +02:00
ZyX
643d620164 doc: Add example plugin 2017-05-25 16:27:40 +03:00
ZyX
97602371e6 lua: Add paths from &runtimepath to package.path and package.cpath 2017-05-25 16:27:40 +03:00
Justin M. Keyes
41f27ae3f3 doc
Closes #6788
2017-05-23 00:25:15 +02:00
Drew Neil
620df53860 doc: *Terminal-mode* #6757
Closes #6756
2017-05-23 00:08:24 +02:00
Marco Hinz
156e6f274f
Doc: explain the format for serverstart() 2017-05-22 23:38:09 +02:00
Drew Neil
170d8af397 doc: on_stdout, on_stderr, onexit (#6761) 2017-05-22 16:57:16 +02:00
Justin M. Keyes
db0159be26 doc: update *feature-list*, remove "gui_running"
Closes #6783
2017-05-22 07:02:51 +02:00
Justin M. Keyes
872465cf1d doc 2017-05-21 00:01:52 +02:00
raichoo
3280765f2d man.vim: check for -l flag #6766 2017-05-19 14:02:11 +02:00
Justin M. Keyes
597d65b4b7 Merge #6741 from justinmk/progpath 2017-05-15 16:11:01 +02:00
Justin M. Keyes
4c5398bc40 startup: v:progpath fallback: path_guess_exepath
If procfs is missing then libuv cannot find the exe path.
Fallback to path_guess_exepath(), adapted from Vim findYourself().

Closes #6734
2017-05-15 15:01:52 +02:00
Justin M. Keyes
8e052f677e Merge #6737 "options: make 'highlight' read-only" 2017-05-15 14:53:31 +02:00
Björn Linse
8d8b6224d9 options: make 'highlight' read-only 2017-05-15 07:22:31 +02:00
Justin M. Keyes
17531ed082 Merge #6480 from ZyX-I/colored-cmdline'/input-dict 2017-05-13 21:17:33 +02:00
ZyX
d01f140bb3 doc: Add a note to vim_diff.txt 2017-05-13 18:16:41 +03:00
Justin M. Keyes
edfe0980f1 doc: Lua (#6722)
Closes #6705
2017-05-11 17:45:11 +02:00
Justin M. Keyes
f57149d2f4 Merge #6721 from justinmk/health 2017-05-11 14:51:04 +02:00
Justin M. Keyes
147b4b63af doc (#6719)
Closes #6712
2017-05-11 14:34:48 +02:00
Justin M. Keyes
3eaf4a0d5b health.vim: Don't lose contents after hide. 2017-05-11 14:20:57 +02:00
Justin M. Keyes
73c6bf3879 health.vim: On error, show a valid shell command.
Helped-by: Nikolai Aleksandrovich Pavlov <kp-pav@yandex.ru>
Closes #6715
2017-05-11 14:20:57 +02:00
Edd Barrett
bc4fd8b10d health.vim: Fix hardcoded python name. #6714 2017-05-11 12:01:56 +02:00
Björn Linse
e82cb5de4a api: add metadata for ui events 2017-05-10 17:36:31 +02:00
ZyX
475cd8f075 doc: Do not assume something is not supported in GUI 2017-05-10 15:52:49 +03:00
ZyX
f4d5d5250a eval: Refactor get_user_input to support dictionary 2017-05-10 15:52:48 +03:00
Justin M. Keyes
d9023b84e6 health.vim: Remove sensible.vim advice. (#6709)
sensible.vim now avoids setting ttimeoutlen for nvim.
2017-05-10 09:43:17 +02:00
Justin M. Keyes
0e873a30f3 Merge #4411 from ZyX-I/luaviml'/lua 2017-05-09 00:39:17 +02:00
Matthew Wynn
e7a4d95a9e man.vim: Fix filename argument in mandoc #6693
Use the -l flag to open a man file.
TODO: Does not work on SunOS.

Fixes #6683
2017-05-08 17:45:06 +02:00
Adam Byrtek
8c8ea1f8f3 doc: nvim-from-vim: Prepend "~/.vim" #6694 2017-05-08 17:28:12 +02:00
Justin M. Keyes
b23aa1cf09 Merge #6597 'winhighlight' 2017-05-08 16:17:57 +02:00
ZyX
09f849b600 Merge branch 'master' into luaviml'/lua 2017-05-08 15:43:45 +03:00
Björn Linse
188bae586f docs: 'winhighlight' 2017-05-08 12:41:39 +02:00
Björn Linse
bfcaf36404 options: allow different highlights in windows 2017-05-08 12:41:39 +02:00
Marco Hinz
2b3cb2c448
Make script_host.rb rubocop-clean
Fix the following issues according to rubocop:

    runtime/autoload/provider/script_host.rb:2:11: C: Prefer single-quoted strings when you don't need string interpolation or special symbols.
      require "neovim/ruby_provider"
              ^^^^^^^^^^^^^^^^^^^^^^
    runtime/autoload/provider/script_host.rb:5:5: C: Prefer single-quoted strings when you don't need string interpolation or special symbols.
        "Your neovim RubyGem is missing or out of date. " +
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    runtime/autoload/provider/script_host.rb:5:55: C: Use \ instead of + or << to concatenate those strings.
        "Your neovim RubyGem is missing or out of date. " +
    runtime/autoload/provider/script_host.rb:6:5: C: Prefer single-quoted strings when you don't need string interpolation or special symbols.
        "Install the latest version using `gem install neovim`."
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

This commit assumes Ruby 2.0.0+.
2017-05-03 22:24:51 +02:00
Justin M. Keyes
62ab040fa4 doc: api 2017-05-01 18:52:56 +02:00
Justin M. Keyes
45ef3d9d0c doc: Replace hardcoded TOCs with <M-]> advice. 2017-05-01 17:48:06 +02:00
Tommy Allen
bc4a2e1576 help, man.vim: "outline" (TOC) feature #5169 2017-05-01 17:45:54 +02:00
Daniel Hahler
cc29827bc2 doc/eval.txt: remove references to E706 (#6629)
Removed in Vim in 7.4.1578 (975b5271) and 7.4.1546 (f6f32c38b).
2017-05-01 15:37:24 +02:00
Justin M. Keyes
fa1ee0ac73 doc: bracketed-paste-mode 2017-05-01 14:55:26 +02:00
Justin M. Keyes
deccd843ed vim-patch:3df0173fa6d0
Updated runtime files.

3df0173fa6
2017-05-01 13:32:51 +02:00
Justin M. Keyes
ac107f7fdd vim-patch:690afe1fef87
Update runtime files.

690afe1fef
2017-05-01 13:23:12 +02:00
Justin M. Keyes
eb7ea6e122 vim-patch:369b6f57c426
Update runtime files.

369b6f57c4
2017-05-01 13:19:34 +02:00
Justin M. Keyes
44ea50cee4 vim-patch:68563937f58e
Updated runtime files.

68563937f5
2017-05-01 13:13:51 +02:00
Justin M. Keyes
4fbcfab127 vim-patch:bc2eada5424b
Updated runtime files.

bc2eada542

NA patches:
vim-patch:294740d2ac42
vim-patch:a4ce25bd987a
vim-patch:7034a8374345
vim-patch:14a612fa2e57
vim-patch:aaeabfbca571
2017-05-01 12:30:54 +02:00
Justin M. Keyes
940f35f664 vim-patch:cf49790443ee
Updated runtime files.

cf49790443

NA patches:
vim-patch:99c5eb4fd755
2017-04-30 22:16:30 +02:00
Justin M. Keyes
e5b640fdb8 vim-patch:c0514bf4777a
Updated runtime files.

c0514bf477
2017-04-30 22:10:21 +02:00
James McCoy
5d73a6e5df Merge pull request #6621 from jamessan/vim-7.4.2231
vim-patch:7.4.2231,7.4.2239,7.4.2244,7.4.2245,7.4.2246,7.4.2263,8.0.0150
2017-04-30 09:46:41 -04:00
Justin M. Keyes
4afc93b926 Merge #6588 from justinmk/guicursor 2017-04-30 14:36:40 +02:00
Justin M. Keyes
26a479ae41 Merge #6622 'api: Deprecate nvim_buf_get_number' 2017-04-30 14:27:21 +02:00
Justin M. Keyes
d349f610ac 'guicursor': No color/blink by default
Closes #6577
2017-04-30 13:44:31 +02:00
Björn Linse
97126bfa02 api: deprecate obsolete nvim_buf_get_number function 2017-04-30 11:04:10 +02:00
James McCoy
7bd97127b4
vim-patch:7.4.2244
Problem:    Adding pattern to ":oldfiles" is not a generic solution.
Solution:   Add the ":filter /pat/ cmd" command modifier.  Only works for some
            commands right now.

7b668e83d0
2017-04-29 23:48:27 -04:00
James McCoy
dbdc2d40bb
vim-patch:7.4.2231
Problem:    ":oldfiles" output is a very long list.
Solution:   Add a pattern argument. (Coot, closes vim/vim#575)

e11d61a3b1
2017-04-29 21:46:12 -04:00
Justin M. Keyes
0df1b6655b doc: Removed t_XX options/keycodes. (#6616)
Closes #4482

TODO: revisit find_key_option_len()
2017-04-29 16:56:40 +02:00
Justin M. Keyes
5a304b7864 Merge #6615 from justinmk/vim-patches 2017-04-29 14:59:10 +02:00
Justin M. Keyes
51a2d8dc36 win: health.vim/check_ruby(): find gem.cmd #6608
gem.cmd is not found by system(['gem', ...]), pass it to cmd.exe.
2017-04-29 01:57:09 +02:00
Justin M. Keyes
024ff6b808 vim-patch:25de4c232d58
Updated runtime files.

25de4c232d
2017-04-29 01:53:42 +02:00
Justin M. Keyes
789c46934b vim-patch:b4ada79aa7d0
Runtime file updates.

b4ada79aa7

Closes #5055
2017-04-29 01:51:56 +02:00
Justin M. Keyes
1e7806bd41 vim-patch:6d5ad4c4118c
Updated runtime files.

6d5ad4c411
2017-04-29 01:49:36 +02:00
Justin M. Keyes
8d3f8f639b vim-patch:46fceaaa8d14
Updated runtime files.

46fceaaa8d
2017-04-29 01:47:36 +02:00
Justin M. Keyes
9f6d693e26 Merge #6613 from justinmk/vim-patches 2017-04-29 01:41:29 +02:00
Justin M. Keyes
5341967315 vim-patch:4575876dc865
Updated runtime files.

4575876dc8
2017-04-29 01:03:42 +02:00
Justin M. Keyes
60e68f3096 vim-patch:dc08328821a2
Updated runtime files.

dc08328821

NA patches:
vim-patch:8.0.0028
vim-patch:8.0.0029
vim-patch:8.0.0030
2017-04-29 01:01:51 +02:00
Justin M. Keyes
460d5971f6 vim-patch:2ec618c9feac
Updated runtime files.

2ec618c9fe
2017-04-28 23:49:16 +02:00
Justin M. Keyes
40fb96c76a vim-patch:3e496b0ea319
Updated runtime files.

3e496b0ea3

NA patches:
vim-patch:8.0.0015
vim-patch:8.0.0016
vim-patch:177778575148
2017-04-28 23:39:24 +02:00
Justin M. Keyes
a5e9974ed7 vim-patch:50ba526fbf3e
Updated runtime files.

50ba526fbf

vim-patch:20eeb6129d12
2017-04-28 23:26:55 +02:00
Daniel Hahler
59be0b4280 health.vim: syntax/style fixes (#6614) 2017-04-28 23:18:10 +02:00
Justin M. Keyes
2e64752250 vim-patch:64d8e25bf6ef
Updated runtime files.

64d8e25bf6

Closes #6611
2017-04-28 23:14:36 +02:00
Justin M. Keyes
06879e2e89 vim-patch:d07969093a9b
Updated runtime files.

d07969093a
2017-04-28 22:51:30 +02:00
Justin M. Keyes
becde1745a vim-patch:8.0.0002
Problem:    The netrw plugin does not work.
Solution:   Make it accept version 8.0.

9e1e7afc1f

vim-patch:b56e7ff0dbbf

Update translations for intro page.

b56e7ff0db
2017-04-28 22:41:07 +02:00
Justin M. Keyes
00bdf9ae83 vim-patch:8.0.0000
bb76f24af2

vim-patch:8.0.0001

Problem:    Intro screen still mentions version7. (Paul)
Solution:   Change it to version8.

6401024869
2017-04-28 22:34:16 +02:00
Justin M. Keyes
0d565d62ae vim-patch:220adb1e9f9e
A few more runtime updates.

220adb1e9f
2017-04-28 21:41:10 +02:00
Justin M. Keyes
9f7e1cec05 vim-patch:7e1479b86c59
Updated runtime files, Japanese translations.

7e1479b86c
2017-04-28 21:39:48 +02:00
Justin M. Keyes
2648c3579a vim-patch:abd468ed0fbc
Updated runtime files

abd468ed0f
2017-04-28 21:38:07 +02:00
Justin M. Keyes
86b596dc7a vim-patch:f37506f60f87
Updated runtime files.  Remove HiLink commands.

f37506f60f
2017-04-28 21:25:15 +02:00
Justin M. Keyes
a53409b564 vim-patch:89bcfda6834a
Updated runtime files.  Remove version checks for Vim older than 6.0.

89bcfda683
2017-04-28 21:13:55 +02:00
Justin M. Keyes
f09651ea78 vim-patch:36f44c21da2e
Updated runtime files.

36f44c21da
2017-04-28 21:06:07 +02:00
Justin M. Keyes
409e56b139 vim-patch:818078ddfbb8
Updated runtime files and translations.

818078ddfb
2017-04-28 21:01:25 +02:00
Justin M. Keyes
3ea1007753 api: nvim_get_mode()
Asynchronous API functions are served immediately, which means pending
input could change the state of Nvim shortly after an async API function
result is returned.

nvim_get_mode() is different:
  - If RPCs are known to be blocked, it responds immediately (without
    flushing the input/event queue)
  - else it is handled just-in-time before waiting for input, after
    pending input was processed. This makes the result more reliable
    (but not perfect).

Internally this is handled as a special case, but _semantically_ nothing
has changed: API users never know when input flushes, so this internal
special-case doesn't violate that. As far as API users are concerned,
nvim_get_mode() is just another asynchronous API function.

In all cases nvim_get_mode() never blocks for more than the time it
takes to flush the input/event queue (~µs).

Note: This doesn't address #6166; nvim_get_mode() will provoke #6166 if
e.g. `d` is operator-pending.

Closes #6159
2017-04-28 19:14:34 +02:00
Justin M. Keyes
6944abad2f api/ext_tabline: List of Dicts. 2017-04-26 03:41:24 +02:00
Justin M. Keyes
c8e1af93de api: nvim_ui_attach(): Flatten ext_* options. 2017-04-26 03:41:24 +02:00
Justin M. Keyes
00843902d3 api/ui: externalize tabline
- Work with a bool[] array parallel to the UIWidget enum.
- Rename some functions.
- Documentation.
2017-04-26 03:41:24 +02:00
Dongdong Zhou
88023d5123 api/ui: externalize tabline 2017-04-26 02:15:31 +02:00
Drew Neil
a0acb2e195 doc: Revise nvim-from-vim advice (#6505) 2017-04-25 11:04:32 +02:00
Justin M. Keyes
10f119ab87 Merge #6539 'More cursor shape modes' 2017-04-21 19:09:50 +02:00
Björn Linse
9cc9789681 ui: document new mode index and add note about forward-compatibility 2017-04-21 12:32:38 +02:00
TJ DeVries
19646a2985 health.vim: 'guicursor' advice #6506
Also:
- Mark provider sections as "(optional)".
- Fix help-link substitution to support single-quoted tags.
2017-04-20 22:44:51 +02:00
Justin M. Keyes
d55fd9588f doc: Recommend :silent! for :loadview.
ex_loadview() was changed in 9b1c939370 to check the file open result.

If user doesn't care about failure to open, using :silent! instead of
:silent is a reasonable, conventional approach.

Closes #3196
2017-04-20 13:13:39 +02:00
Justin M. Keyes
d194380de9 vim-patch:e4a3bcf28d92
Updated runtime files.  Add Scala files.

e4a3bcf28d
2017-04-19 21:26:17 +02:00
Justin M. Keyes
c1edb4c39a vim-patch:7571d55f7dcc
Updated runtime files.

7571d55f7d
2017-04-19 21:26:16 +02:00
Justin M. Keyes
5da8bb92fc vim-patch:dc1f1645cb49
Updated runtime files.

dc1f1645cb
2017-04-19 21:26:16 +02:00
Justin M. Keyes
6bc6d94ec8 doc: api-contract, CONTRIBUTING.md 2017-04-19 13:48:12 +02:00
Justin M. Keyes
440133e0d5 health.vim: Set 'iskeyword' to that of ft=help. 2017-04-19 04:03:08 +02:00
Justin M. Keyes
77a4f8f235 Merge #6219 from jbradaric/vim-7.4.2170
vim-patch:7.4.{2170,2180,2240,2241,2242}
2017-04-16 16:49:14 +02:00
Justin M. Keyes
7c4e5dfd27 win: os_shell_is_cmdexe() + tests 2017-04-12 02:28:43 +02:00
Rui Abreu Ferreira
d31d177a0c win: default shellxescape, shellxquote to empty
Calling cmd.exe in Windows follows a very different pattern from Vim.
The primary difference is that Vim does a nested call to cmd.exe, e.g.
the following call in Vim

    system('echo a 2>&1')

spawns the following processes

    "C:\Program Files (x86)\Vim\vim80\vimrun" -s C:\Windows\system32\cmd.exe /c (echo a 2^>^&1
        ^>C:\Users\dummy\AppData\Local\Temp\VIoC169.tmp 2^>^&1)
    C:\Windows\system32\cmd.exe /c C:\Windows\system32\cmd.exe /c (echo a 2^>^&1
        ^>C:\Users\dummy\AppData\Local\Temp\VIo3C6C.tmp 2^>^&1)
    C:\Windows\system32\cmd.exe  /c (echo a 2>&1
        >C:\Users\dummy\AppData\Local\Temp\VIo3C6C.tmp 2>&1)

The escaping with ^ is needed because cmd.exe calls itself and needs to
preserve the special metacharacters for the last call. However in nvim
no nested call is made, system('') spawns a single cmd.exe process.
Setting shellxescape to "" disables escaping with ^.

The previous default for shellxquote=( wrapped any command in
parenthesis, in Vim this is more meaningful due to the use of tempfiles
to store the output and redirection (also see &shellquote). There is
a slight benefit in having the default be empty because some expressions
that run in console will not run within parens e.g. due to unbalanced
double quotes

    system('echo "a b')
2017-04-12 02:10:34 +02:00
Rui Abreu Ferreira
f3cc843755 win: libuv_process_spawn(): special-case cmd.exe
Disable CommandLineToArgvW-standard quoting for cmd.exe.

libuv assumes spawned processes follow the convention expected by
CommandLineToArgvW(). But cmd.exe is non-conformant, so for cmd.exe:
- With system([]), the caller has full control (and responsibility) to
  quote arguments correctly.
- With system(''), shell* options are used.

libuv quoting is disabled if argv[0] is:
- cmd.exe
- cmd
- $COMSPEC resolving to a path with filename cmd.exe

Closes #6329
References #6387
2017-04-12 02:10:34 +02:00
Justin M. Keyes
d6e5f94ae9 win: defaults: 'shellredir', 'shellxquote', 'shellxescape' 2017-04-12 01:35:49 +02:00
Felipe Oliveira Carvalho
9ea111d1af Remove maxmem and maxmemtot options
> The option 'maxmem' ('mm') is used to set the maximum memory used for one
> buffer (in kilobytes).  'maxmemtot' is used to set the maximum memory used for
> all buffers (in kilobytes).  The defaults depend on the system used.  These
> are not hard limits, but tell Vim when to move text into a swap file.  If you
> don't like Vim to swap to a file, set 'maxmem' and 'maxmemtot' to a very large
> value.  The swap file will then only be used for recovery.  If you don't want
> a swap file at all, set 'updatecount' to 0, or use the "-n" argument when
> starting Vim.

On today's systems these values are huge (4GB in my machine with 8GB of RAM
since it's set as half the available memory by default) so the limits are
never reached in practice, but Vim wastes a lot of time checking if the limit
was reached.

If the limit is reached Vim starts saving pieces of the swap file that were in
memory to the disk. Said in a different way: Vim implements its own memory
swapping mechanism. This is unnecessary and inefficient since the operating
system already virtualized the memory and will swap to the disk if programs
start using too much memory.

This change does...

1. Reduce the number of config options and need for documentation.
2. Make the code more efficient as we don't have to keep track of memory usage
   nor check if the memory limits were reached to start swapping to disk every
   time we need memory for buffers.
3. Simplify the code. Once `memfile.c` is simple enough it could be replaced by
   actual operating system memory mapping (`mmap`, `MemoryViewOfFile`...).

This change does not prevent Vim to recover changes from swap files since the
swapping code is never triggered with the huge limits set by default.
2017-04-11 00:33:09 +02:00
ZyX
ab4d13e2fa Merge branch 'master' into luaviml'/lua 2017-04-10 22:21:06 +03:00
ZyX
467a02f88d doc: Update documentation 2017-04-08 19:34:01 +03:00
ZyX
043d8ff9f2 Merge branch 'master' into luaviml'/lua 2017-04-08 01:54:58 +03:00
James McCoy
20dc04470e vim-patch:8.0.0499
Problem:    taglist() does not prioritize tags for a buffer.
Solution:   Add an optional buffer argument. (Duncan McDougall, closes vim/vim#1194)

c6aafbaf3e
2017-04-07 16:18:04 -04:00
James McCoy
bb54d921aa
Merge remote-tracking branch 'origin/master' into vim-7.4.2170 2017-04-05 22:39:40 -04:00
Justin M. Keyes
a7f34e1991 options: remove 'guiheadroom' 2017-04-04 14:19:26 +02:00
Justin M. Keyes
e348e256f3 'guicursor': Disable by default for unknown terminals.
User can still set guicursor explicitly in init.vim.

Closes #5990
Closes #6403
2017-04-04 14:19:26 +02:00
Yichao Zhou
bc6d868d00 'listchars': Whitespace highlight group #6367 2017-04-03 14:10:40 +02:00
ZyX
97a7f4745d eval: Add s flag, use p_fs by default, error out on unknown flag 2017-04-03 02:11:27 +03:00
ZyX
364709bedb fileio: Refactor errmsg handling
Adds os_strerror() result to a number of places. Also since I could not track 
where err\* variables are NULL and where they are not, using macros to make sure 
that all three variables are set at once.

Removes #ifdef UNIX around the use of os_fsync, makes it use os_close in place 
of close in some places.
2017-04-03 00:35:29 +03:00
ZyX
b10880dadc eval: Make writefile() able to disable fsync() 2017-04-02 22:11:35 +03:00
Justin M. Keyes
c2826a7830 'guicursor': Empty means "block cursor in all modes".
Also: update default 'guicursor' to match the documentation.
2017-04-01 23:14:05 +02:00
Matthieu Coudron
54bab0019b tui: 'guicursor' color
For now only supports valid hex colors (does not check for the validity
the hex color) when termguicolors is set, otherwise it won't attempt to
change the cursor color.
2017-04-01 23:14:05 +02:00
Justin M. Keyes
33ff29fc74 Merge #6344 'vim-patch:7.4.2236,7.4.2306' 2017-04-01 17:42:15 +02:00
Justin M. Keyes
1f478cebeb win: tempname(): Use $TMPDIR if defined. 2017-03-30 02:55:00 +02:00
ZyX
5df35297f8 eval: Remove eval_expr() completely 2017-03-29 10:08:05 +03:00
Justin M. Keyes
6fbcbebae0 win: health/provider.vim: check with .exe extension
Also fix `python_multiple` comparison.
2017-03-28 01:49:36 +02:00
Justin M. Keyes
9d200cd0a3 getcompletion("cmdline") (#6376)
Closes #5823
2017-03-27 21:04:52 +02:00
Daniel Hahler
595acbbc42 rplugin.vim: GetManifestPath(): be more explicit (#6361) 2017-03-27 16:28:05 +02:00
Jakob Schnitzer
7bc37ffb22 terminal: global 'scrollback' #6352
Make the 'scrollback' option work like most other buffer-local options:
- `:set scrollback=x` sets the global and local value
- `:setglobal scrollback=x` sets only the global default
- new terminal buffers inherit the global

Normal buffers are still always -1, and :setlocal there is an error.

Closes #6337
2017-03-27 13:43:20 +02:00
ZyX
ebad046220 doc: Update vim_diff data regarding ShaDa 2017-03-27 00:13:16 +03:00
ZyX
279e3410cf doc: Update vim_diff.txt 2017-03-27 00:13:16 +03:00
ZyX
09fe6185b7 doc: Enhance documentation 2017-03-27 00:12:42 +03:00
ZyX
b4e2860c69 doc,functests: Add documentation
Missing: updates to various lists.
2017-03-27 00:12:42 +03:00
Anmol Sethi
a346cb1d58 man.vim: call s:error in man#read_page (#6362)
The comment is incorrect, s:error does need to be called. I thought the
call was unnecessary because it didn't show any message for me but I had
shortmess+=F which was hiding the message.
2017-03-25 22:43:25 +01:00
Tommy Allen
a62ec4eb98 health.vim: tmux: Try -qvg and -qvgs (#6348) 2017-03-24 01:38:01 +01:00
Justin M. Keyes
7cc4e782a0 doc: Update missing headers. (#6330)
pi_* docs are considered standalone plugins so they don't follow this
convention.
2017-03-22 01:13:51 +01:00
Justin M. Keyes
ab16535580 Merge #6231 from jbradaric/vim-7.4.2266
vim-patch:7.4.2266,7.4.2280,7.4.2291
2017-03-22 00:29:58 +01:00
Justin M. Keyes
82c67768fa doc: Replace "For Vim ... Last change ..." headers (#6328) 2017-03-21 17:08:19 +01:00
Justin M. Keyes
6baa669c10 vim-patch:7.4.2164 (#6326)
Problem:    It is not possible to use plugins in an "after" directory to tune
            the behavior of a package.
Solution:   First load plugins from non-after directories, then packages and
            finally plugins in after directories.
            Reset 'loadplugins' before executing --cmd arguments.

66459b7c98

vim-patch:7.4.2172
vim-patch:7.4.2169
vim-patch:7.4.2177
vim-patch:7.4.2178
vim-patch:7.4.2184
vim-patch:8.0.0050
vim-patch:8.0.0105
vim-patch:8.0.0400
vim-patch:8.0.0405

Closes #6034
2017-03-21 17:07:00 +01:00
Justin M. Keyes
cc421270ee vim-patch:bc8801c9317eb
Updated runtime files.

bc8801c931
2017-03-21 12:19:17 +01:00
Jurica Bradaric
cad9a76be2 vim-patch:7.4.2291
Problem:    printf() handles floats wrong when there is a sign.
Solution:   Fix placing the sign.  Add tests. (Dominique Pelle)

0418609534
2017-03-20 22:47:09 +01:00
Jurica Bradaric
5b8ce2feed vim-patch:7.4.2180
Problem:    There is no easy way to stop all timers.  There is no way to
            temporary pause a timer.
Solution:   Add timer_stopall() and timer_pause().

b73598e2f0
2017-03-20 21:15:56 +01:00
Jurica Bradaric
8924e75f34 vim-patch:7.4.2170
Problem:    Cannot get information about timers.
Solution:   Add timer_info().

8e97bd74b5
2017-03-20 21:15:55 +01:00
Drew Neil
ae16e4fa13 doc: remove "only available when compiled with +timers" (#6321) 2017-03-20 13:23:19 +01:00
raichoo
0f5c3f111a vim-patch:8.0.0179
Problem:    'formatprg' is a global option but the value may depend on the
            type of buffer. (Sung Pae)
Solution:   Make 'formatprg' global-local. (closes vim/vim#1380)

9be7c04e6c
2017-03-19 21:14:11 +01:00
Justin M. Keyes
a90beeadbb defaults: 'showcmd', 'belloff', 'ruler'
- Vim "unix default" of 'noshowcmd' is serving few users. And it's
  inconsistent.
- 'ruler' and 'belloff=all' improve the out-of-the-box experience.
- Continue to use 'noshowcmd' and 'noruler' by default in the functional
  tests to keep them fast.

TODO: Add a "disable slow stuff" command or mapping to address the
use-case of a very slow terminal connection.
2017-03-16 18:44:10 +01:00
Justin M. Keyes
ec4e84210b Merge #6254 'vim-patch:7.4.2135,7.4.2144,7.4.2151' 2017-03-15 14:10:56 +01:00
Justin M. Keyes
36fd879b25 doc: eval.txt fixup, README.md 2017-03-13 15:50:50 +01:00
Justin M. Keyes
b2b15e6e13 win/package: nvim-qt v0.2.6 (#6258) 2017-03-11 16:00:26 +01:00
Justin M. Keyes
d1afd434f3 rplugin: Call s:LoadRemotePlugins() on startup.
Dispense with the FuncUndefined/CmdUndefined quasi-optimization.
If there are no rplugins, plugin/rplugin.vim takes less than 1ms.

Closes #5821
Closes #6250

Helped-by: Qiming zhao <chemzqm@gmail.com>
2017-03-11 12:26:22 +01:00
lonerover
3de3340132 vim-patch:7.4.2135
Problem:    Various tiny issues.
Solution:   Update comments, white space, etc.

89eaa4185e
2017-03-11 18:26:03 +08:00
raichoo
1743df82f9 'cpoptions': "_" flag to toggle cw behaviour #6235
`cw` and `cW` behave like `ce` and `cE` respectively. This is
inconsistent compared to `dw` and `dW`.
Introduce a new cpoptions flag "_" to toggle the Vi behavior.

Closes #6234
Patch-by: Christian Brabandt <cblists@256bit.org>

References:
https://github.com/chrisbra/vim-mq-patches/blob/master/cpo_changeword
https://groups.google.com/d/msg/vim_use/aaBqT6ECkA4/ALf4odKzEDgJ
https://groups.google.com/d/msg/vim_dev/Dpn3xtUF16I/T6JcOPKN6usJ
http://www.reddit.com/r/vim/comments/26nut8/why_does_cw_work_like_ce/
2017-03-10 19:24:04 +01:00
Justin M. Keyes
483e8257e5 vim_getenv: $VIMRUNTIME fallback: ../share/nvim/runtime (#6223)
Do this on all systems, so that portable builds work everywhere. This
allows us to ship archives with this folder structure:

    bin/nvim
    share/nvim/runtime

then ./bin/nvim works without the user needing to explicitly set VIMRUNTIME.
2017-03-06 04:04:25 +01:00
Justin M. Keyes
e5be3aaaef health.vim: tmux $TERM, default-terminal 2017-03-06 03:17:40 +01:00
Justin M. Keyes
af63f32129 doc: quotes.txt was removed 2017-03-04 04:13:31 +01:00
Justin M. Keyes
985bc6c6e0 doc/api.txt: Merge with api-funcs.txt
It's important that users have a single, easy-to-remember place for
reading about the API. So this commit changes gen_api_vimdoc.py so that
the generated section is appended to api.txt instead of creating
a separate document.

Also remove the section numbering and ToC: it's a maintenance cost, and
it will be unnecessary when #5169 is integrated.
2017-03-01 23:14:45 +01:00
Justin M. Keyes
2c408c0c94 Merge #6185 from justinmk/term-cursor
terminal: Keep cursor position; Disable 'cursorline'
2017-03-01 18:28:45 +01:00
Tommy Allen
4e4c785063 scripts: Annotate API functions in generated docs (#6199) 2017-03-01 17:55:34 +01:00
Justin M. Keyes
937e54f865 terminal: Keep cursor position.
Let the terminal dictate the normal-mode cursor position. This will be
disorienting sometimes, but it is closer to what users expect vs always
going to the last line.
2017-03-01 14:47:49 +01:00
Justin M. Keyes
5c421080f8 win/package: runtime files
runtime/plugin/gui_shim.vim is from Neovim-Qt. This is a temporary
measure, we will add real UI events which obviate gui_shim.vim.

Closes #6145
2017-03-01 14:03:58 +01:00
James McCoy
adc6e636fe
vim-patch:7.4.2095
Problem:    Man test fails when run with the GUI.
Solution:   Adjust for different behavior of GUI.  Add assert_inrange().

61c04493b0

Only changes related to assert_inrange() were included, since we have a
distinct man plugin.
2017-02-27 21:40:16 -05:00
James McCoy
1371e19e2b
vim-patch:42ebd06
Update runtime files.

42ebd06642
2017-02-27 20:49:01 -05:00
James McCoy
e0705021c1 Merge pull request #6190 from jamessan/vim-7.4.1991
vim-patch:7.4.1991,7.4.1992,7.4.1993,7.4.1994
2017-02-27 20:33:43 -05:00
James McCoy
2f5aee561e vim-patch:7.4.1992
Problem:    Values for true and false can be confusing.
Solution:   Update the documentation.  Add a test.  Make v:true evaluate to
            TRUE for a non-zero-arg.

e381d3d5e0
2017-02-27 15:00:18 -05:00
Anmol Sethi
c8ee0be745 man.vim: use 'eventignore' instead of :noautocmd #6149
We only need to ignore BufReadCmd (from runtime/plugin/man.vim).

Closes #6144
2017-02-27 18:16:37 +01:00
James McCoy
c9c3f92b49 vim-patch:7.4.2200
Problem:    Cannot get all information about a quickfix list.
Solution:   Add an optional argument to get/set loc/qf list(). (Yegappan
            Lakshmanan)

d823fa910c
2017-02-27 11:39:41 -05:00
Justin M. Keyes
c318d8e672 Merge #6112 from ZyX-I/split-eval'/buf_get_changedtick
Better b:changedtick support
2017-02-27 10:29:46 +01:00
Justin M. Keyes
e7bbd35c81 terminal: 'scrollback'
Closes #2637
2017-02-26 11:57:52 +01:00
Justin M. Keyes
300eca3d30 options: 'scrollback' 2017-02-26 11:57:52 +01:00
lonerover
0ef2b07d69 vim-patch:7.4.2230 (#6080)
Problem:    There is no equivalent of 'smartcase' for a tag search.
Solution:   Add value "followscs" and "smart" to 'tagcase'. (Christian
            Brabandt, closes vim/vim#712) Turn tagcase test into new style.

66e29d7112
2017-02-25 15:42:25 +01:00
ZyX
d8a7e5fdbb eval: Forbid (un)locking b:changedtick
Port of vim-patch:8.0.0343
2017-02-23 19:48:41 +03:00
James McCoy
bc76ce2c4f
Merge remote-tracking branch 'origin/master' into lambda 2017-02-22 19:23:20 -05:00
Justin M. Keyes
22337b1c01 Merge #6137 from justinmk/cmdline-ctrl-r
cmdline: CTRL-R: Omit trailing ^M character
2017-02-19 14:20:52 +01:00
Justin M. Keyes
baab49ee89 cmdline: CTRL-R: Omit trailing <CR>.
The "technically correct" interpretation is to execute the first line
that is seen (and this is what happens on middle-click paste in Vim).
^M is only intended to "defuse" the newline, so the user can review it.

The parent commit changed the behavior to insert <Space> between lines,
but that's a higher-risk change: it is arguably possible that some user
*wants* the literal ^M chars when e.g. assigning to a register:
    :let @a='<C-R>b'

To avoid that risk, keep the old behavior and only omit the last ^M.
This makes `yy:<C-R>0` nicer at no cost.
2017-02-18 23:24:35 +01:00
Justin M. Keyes
308ccb6f5e cmdline: CTRL-R: <Space> instead of CR between lines.
^M isn't any more "correct" than space: the "technically correct"
interpretation is to execute the first line that is seen (and this is
what happens on middle-click paste in Vim). ^M is only intended to
defuse the newline, so that the user can review the command. We can do
that with a space instead, and then the command can be executed without
having to fix it up first.
2017-02-18 14:49:05 +01:00
Justin M. Keyes
158ea52854 options: Remove 'esckeys' (#6138)
This was never supported and it does not make sense for Nvim.
2017-02-18 14:01:20 +01:00
timeyyy
f017ae6115 doc/provider: python virtualenvs #6135
Closes #1887

Helped-by: Tommy Allen <tommy@esdf.io>
2017-02-17 03:44:05 +01:00
Michael Ennen
53fad45115 vim-patch:7.4.2137
Problem:    Using function() with a name will find another function when it is
            redefined.
Solution:   Add funcref().  Refer to lambda using a partial.  Fix several
            reference counting issues.

437bafe4c8
2017-02-14 17:38:18 -07:00
Michael Ennen
f59321e319 vim-patch:7.4.2120
Problem:    User defined functions can't be a closure.
Solution:   Add the "closure" argument. Allow using :unlet on a bound
            variable. (Yasuhiro Matsumoto, Ken Takata)

10ce39a0d5
2017-02-14 17:38:17 -07:00
Michael Ennen
9f6f7fe26d vim-patch:7.4.2119
Problem:    Closures are not supported.
Solution:   Capture variables in lambdas from the outer scope. (Yasuhiro
            Matsumoto, Ken Takata)

1e96d9bf98
2017-02-14 17:38:17 -07:00
Michael Ennen
7f4848aff4 vim-patch:7.4.2090
Problem:    Using submatch() in a lambda passed to substitute() is verbose.
Solution:   Use a static list and pass it as an optional argument to the
            function.  Fix memory leak.

df48fb456f
2017-02-14 17:38:17 -07:00
Michael Ennen
bb7d0deb2f vim-patch:7.4.2044
Problem:    filter() and map() either require a string or defining a function.
Solution:   Support lambda, a short way to define a function that evaluates an
            expression. (Yasuhiro Matsumoto, Ken Takata)

069c1e7fa9
2017-02-14 17:38:16 -07:00
Michael Ennen
bb2afeb026 vim-patch:7.4.1989
Problem:    filter() and map() only accept a string argument.
Solution:   Implement using a Funcref argument (Yasuhiro Matsumoto, Ken
            Takata)

b33c7eb5b8
2017-02-14 17:38:16 -07:00
Michael Ennen
b0fc6108c9 vim-patch:7.4.1727
Problem:    Cannot detect a crash in tests when caused by garbagecollect().
Solution:   Add garbagecollect_for_testing().  Do not free a job if is still
            useful.

ebf7dfa6f1
2017-02-14 17:38:15 -07:00
Justin M. Keyes
2f38ed11c9 providers: Disable if g:loaded_* exists.
The exists('g:loaded_foo') convention is rather common, and may be
relied upon in some cases. It's also very unlikely that a user or plugin
has any reason to set g:loaded_foo to zero, so the principle of least
surprise can be brushed aside here.

https://github.com/neovim/neovim/issues/6107#issuecomment-279532143
2017-02-14 00:02:50 +01:00
Justin M. Keyes
9451647d9b health.vim: Do not check intentionally disabled providers.
Closes #6107
2017-02-13 22:21:23 +01:00
Justin M. Keyes
f50de5be41 health.vim: ruby provider advice 2017-02-12 12:51:54 +01:00
Justin M. Keyes
c43ba671c3 health.vim: Reduce visual noise.
- SUCCESS should be extra green, regardless of colorscheme.
- Do not highlight INFO and SUGGESTIONS, they should not demand the
  user's attention.
2017-02-12 11:38:28 +01:00
Nikolai Aleksandrovich Pavlov
abdbfd26bc eval: Add id() function and make printf("%p") return something useful (#6095) 2017-02-11 19:47:02 +01:00
Manuel
3aa8795469 doc: Fix section reference (#6079) 2017-02-08 18:09:27 +01:00
Justin M. Keyes
611411bf85 CheckHealth: choose correct $PATH separator 2017-02-04 11:07:49 +01:00
Justin M. Keyes
224f99b85d win: Append process dir to $PATH
This allows executables to be found by :!, system(), and executable() if
they live next to ("sibling" to) nvim.exe. This is what gvim on Windows
does, and also matches the behavior of Win32 SearchPath().

c4a249a736/src/os_win32.c (L354-L370)
2017-02-04 11:07:49 +01:00
Anmol Sethi
3d3b1641d0 man.vim: more robust s:verify_exists #6043
Closes #6039

Also: close the window if we could not get the page from man but only if
we opened it ourselves.
2017-02-04 10:02:59 +01:00
James McCoy
8c09dbf082
vim-patch:063b9d1
Updated runtime files.

063b9d15ab
2017-02-01 18:35:12 -05:00
James McCoy
a5b875fe86
vim-patch:e18dbe8
Updated runtime files.

e18dbe865d
2017-02-01 18:34:58 -05:00
James McCoy
4e47568f89
vim-patch:802a0d9
Updated runtime files.

802a0d902f
2017-02-01 18:34:57 -05:00
James McCoy
cb0eead4ee
vim-patch:a02a551
Updated runtime files.

a02a551e18
2017-02-01 18:34:52 -05:00
Anmol Sethi
39a6f835e7 man.vim: get page after opening split (#6032)
This will ensure that $MANWIDTH is correctly set.
2017-01-31 16:03:45 +01:00
Anmol Sethi
5bcb972a88 man.vim: remove terminal escape characters (#6033)
This will make man.vim work on nixOS.
2017-01-31 16:00:00 +01:00
Matthieu Coudron
7c83657397 dist: runtime/nvim.desktop
Closes #3689

cmake: Add `desktop-install` and `icon-install` targets. `runtime`
target will trigger them.

Specification:
https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#recognized-keys

Icons are stored system-wide in /usr/share/applications or user wide at
/usr/share/icons/hicolor/scalable/apps and can be overriden in ~/.local/share/icons

nvim.desktop file can be installed system wide or in
~/.local/share/applications/

To test without an installer:
$ xdg-desktop-menu install --novendor runtime/nvim.desktop
$ xdg-icon-resource install --novendor --mode user --size 64 contrib/nvim-icon.png

Once it is installed, you can test with gtk-launch if installed or
dmenu/rofi (drun mode)
2017-01-31 02:02:09 +01:00
Justin M. Keyes
81525dc5c3 defaults: Revert 'mouse=a' (#6022)
This default causes too much confusion for terminal users. Until
a better approach is implemented, revert to the traditional default.

Better solution would be:
- Implement a right-click menu for TUI
- Set 'mouse=a' *only* if clipboard is working.

Closes #5938
2017-01-28 14:30:57 +01:00
Justin M. Keyes
a8a673c20d Merge #5964 from equalsraf/windows-clipboard
Windows clipboard support
2017-01-24 00:24:26 +01:00
Justin M. Keyes
73da522d73 errors: Introduce "E856: Filename too long" 2017-01-23 15:49:37 +01:00
Rui Abreu Ferreira
33cd06dfb7 Windows: Clipboard provider win32yank 2017-01-20 18:29:17 +00:00
Justin M. Keyes
be4c896845 DirChanged: set <amatch> (#5961)
Also:
- test that DirChanged is not recursive
- fix 'not trigger if :cd fails' test on Windows
2017-01-17 10:47:20 +01:00
Marco Hinz
340f79b4b8 Merge #5928 'New event: DirChanged' 2017-01-16 13:36:16 +01:00
Justin M. Keyes
3ba5e43d2e Merge #5918 'vim-patch: 7.4.2006, 7.4.2075, 7.4.2077, 7.4.2117, 7.4.2300, 7.4.2313, 7.4.2314'. 2017-01-16 00:59:50 +01:00
Marco Hinz
20867e6319
Document DirChanged 2017-01-13 15:30:01 +01:00
Justin M. Keyes
a08d2f54a0 Merge #5910 from justinmk/win32-jobstart
Windows: fix jobstart()
2017-01-11 02:19:11 +01:00
Marco Hinz
15c85d8462 clipboard: only check for pbcopy on macOS (#5927)
Fixes #5926.
2017-01-11 00:50:07 +01:00
Rui Abreu Ferreira
a05ebf4a2d Windows: libuv_process_spawn(): Allow libuv argument quoting/escaping.
Closes #5360
References #3305
Reverts commit dc9652e68d.

Disabling the quoting was does not solve the problem in general, and
we would end up having to handle the quoting ourselves.

See: https://github.com/JuliaLang/julia/issues/13776
2017-01-10 23:34:04 +01:00
James McCoy
6520517e22
vim-patch:7.4.2008
Problem:    evalcmd() has a confusing name.
Solution:   Rename to execute().  Make silent optional.  Support a list of
            commands.

79815f1ec7
2017-01-10 07:14:12 -05:00
James McCoy
8f32c04df4
vim-patch:c95a302
Updated runtime files.

c95a302a4c
2017-01-09 20:24:08 -05:00
James McCoy
492f2cfeff
vim-patch:7.4.1925
Problem:    Viminfo does not merge file marks properly.
Solution:   Use a timestamp.  Add the :clearjumps command.

2d35899721
2017-01-09 20:23:41 -05:00
James McCoy
282109c51b
vim-patch:82af871
Updated runtime files.

82af8710bf
2017-01-09 20:23:41 -05:00
James McCoy
60e306368d
vim-patch:aa3b15d
Updated runtime files.

aa3b15dbeb
2017-01-09 20:23:41 -05:00
Justin M. Keyes
1420e10474 Merge #5519 from blueyed/improve-python-health-check
Improve Python health check
2017-01-09 00:07:13 +01:00
Marco Hinz
370379a486 health: completion for :CheckHealth 2017-01-08 23:49:11 +01:00
Daniel Hahler
35988b93e1 healthcheck: s:download: do not report curl errors (twice)
Since `curl -s` is used, the actual error (e.g. "curl: (6) Could not
resolve host: pypi.python.org") gets not reported anyway, and s:download
returns an error message with `s:shell_error` already.
This changes `s:download` to also include `a:url` in the error message
now.

It removes

> ERROR: Command error (7) curl -sL https://pypi.python.org/pypi/neovim/json:

And changes

> ERROR: HTTP request failed: error: curl error with https://pypi.python.org/pypi/neovim/json: 6
2017-01-08 23:26:47 +01:00
Daniel Hahler
7db0017f4e healthcheck: s:check_python: only report latest with good response 2017-01-08 23:26:47 +01:00
Daniel Hahler
adf32e1403 healthcheck: python: prefer neovim.VERSION 2017-01-08 23:26:46 +01:00
Daniel Hahler
5ce50504f9 healthcheck: python: include nvim path for unknown/outdated version
This helps to identify where the `neovim` module is coming from, e.g.

    - INFO: python3-neovim version: 0.1.10 (outdated; from ~/Vcs/neovim-python-client/neovim)
    - WARNING: Latest python3-neovim is NOT installed: 0.1.12
2017-01-08 23:26:46 +01:00
Daniel Hahler
0583ca63a5 Improve error reporting for Python health check
- s:version_info: return errors from the `import`
 - skip report_ok for latest version, in case the current version was
   not found.  status contains the error that has been reported in that
   case already.
2017-01-08 23:26:42 +01:00
Daniel Hahler
339dd4b1fb s:check_python: handle 'pip install --user -e' 2017-01-08 23:25:45 +01:00
Justin M. Keyes
e7b1b5d6ed health: Windows: Handle backslash path separators. (#5914)
* health: Handle backslash path separators.
* health: brevity, consistency
* health: Do not set bufhidden=wipe.
  In the context of CheckHealth, bufhidden=wipe loses data for no reason.
2017-01-08 21:26:00 +01:00
rover
f5d06c52a2 vim-patch:7.4.2077
Problem:    Cannot update 'tabline' when a tab was closed.
Solution:   Add the TabClosed autocmd event. (partly by Felipe Morales)

12c11d5530
2017-01-08 23:16:39 +08:00
rover
c2344f3d31 vim-patch:7.4.2075
Problem:    No autocommand event to initialize a window or tab page.
Solution:   Add WinNew and TabNew events. (partly by Felipe Morales)

c917da4b3e
2017-01-08 22:46:08 +08:00
Marco Hinz
ca7a5c0ce7
ruby: old versions don't know gem list -e 2017-01-08 00:44:48 +01:00
Marco Hinz
40c76741c1 health: refactor s:check_ruby()
I gone through every single line, renamed the variables to be more consistent
and reordered many lines. Information is now printed as soon as it's available
and errors lead to early returns.

I altered the suggestions for each condition to be more precise and checked that
they fail properly.

This also prevents invalid arguments getting passed to s:version_cmp().
2017-01-07 16:56:38 +01:00
James McCoy
f82f27ccec Merge pull request #5892 from lonerover/vim-7.4.2103
vim-patch: 7.4.2103
2017-01-06 09:47:30 -05:00
Marcus Fritzsch
afa7f42f77 man.vim: Avoid empty argument when MANWIDTH is set. (#5882) 2017-01-06 00:20:22 +01:00
Marco Hinz
1fbee630a8 provider: add Python 3.6 (#5886) 2017-01-05 21:29:31 +01:00
lonerover
bef645e5e4 vim-patch:7.4.2103
Problem:    Can't have "augroup END" right after ":au!".
Solution:   Check for the bar character before the command argument.

e99e84497b
2017-01-05 13:33:56 +08:00
Justin M. Keyes
e21aef1e10 Merge #5874 from ZyX-I/fix-5482
Fix plugin which opens ShaDa files
2017-01-04 17:34:17 +01:00
Justin M. Keyes
695703ca97 provider/clipboard.vim: fallback if xsel is broken (#5868)
Old versions of `xsel` do not support some required features.
Fall back to `xclip` then.

Closes #5853
2017-01-04 15:10:31 +01:00
ZyX
24b3b938e8 plugin/shada: Handle NUL characters with intchar correctly
Fixes #5482
2017-01-04 15:06:33 +03:00