Commit Graph

244 Commits

Author SHA1 Message Date
Justin M. Keyes
c04ffe866d 'inccommand': rework
- Eliminate/isolate static/global variables
- Remove special-case parameter from buflist_new()
- Remove special-case ECMD_RESERVED_BUFNR
- To determine when u_undo_and_forget() should be done, check
  b_changedtick instead of a heuristic.
- use mb_string2cells() instead of strlen() to measure the :sub patterns
- call ml_close() before buf_clear_file(). Avoids leaks caught by ASan.

Original patch by:
  Robin Elrharbi-Fleury (Robinhola)
  Audrey Rayé (Adrey06)
  Philémon Hullot (DesbyP)
  Aymeric Collange (aym7)
  Clément Guyomard (Clement0)
2016-11-08 21:20:08 +01:00
Björn Linse
4ab3fe8eaa encoding: update documentation 2016-11-05 14:49:24 +01:00
James McCoy
d37c2e5dc2 doc: Remove features from vim_diff which have been merged upstream (#5554)
- TabNew/TabClosed: Introduced in 7.4.2075 and 7.4.2077
- hl-EndOfBuffer: Introduced in 7.4.2213
2016-10-31 17:26:32 +01:00
Justin M. Keyes
fb4d5b0516 CheckHealth: check for sensible.vim 2016-10-28 13:54:08 +02:00
Justin M. Keyes
f96dfae52f doc; vim-patch.sh
Also include missing changes from:
06d2d38ab7
26852128a2
2016-10-24 13:26:55 +02:00
Justin M. Keyes
9706664b88 system('foo &', 'bar'): Show error, don't crash.
Closes #3529
Closes #5241

In Vim,
    :echo system('cat - &', 'foo')
works because for both system() and :! Vim writes input to a temp file and uses
shell syntax to redirect the file to the backgrounded `cat` (get_cmd_output()
.. make_filter_cmd()).

In Nvim,
    :echo system('cat - &', 'foo')
fails because we write the input directly via pipes (shell.c:do_os_system()),
but (per POSIX[1]) backgrounded process input stream is redirected from
/dev/null (unless overridden by shell redirection; supported only by some shells
[2]), so our writes are ignored, the process exits quickly, and if we are
writing data larger than the buffer size we'll see EPIPE.

This still works:
    :%w !tee > foo1358.txt &
but this does not:
    :%w !tee foo1358.txt &
though it *should* (why doesn't it?) because we still do the temp file dance
in do_bang() .. do_filter().

[1] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_09_03_02
[2] http://unix.stackexchange.com/a/71218
2016-10-19 01:39:05 +02:00
Justin M. Keyes
16da3a6fe0 test: system(): backgrounded shell command
These tests are essentially affirming a regression vs Vim. In Vim,
    :echo system('cat - &', 'foo')
returns "foo", because Vim internally wraps the command with shell-specific
syntax to redirect the streams from /dev/null[1].

That can't work in Nvim because we use pipes directly (instead of temp files)
and don't wrap the command with shell-specific redirection syntax.

References #3529
References #5241

[1] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_09_03_02
2016-10-19 01:01:27 +02:00
Justin M. Keyes
6fc122e600 doc 2016-10-16 18:08:53 +02:00
Justin M. Keyes
d57f25e5ef doc/vim_diff.txt (#5432) 2016-10-06 09:45:24 +02:00
Justin M. Keyes
e65895941c doc/deprecated.txt (#5338)
`deprecated.txt` is a place for deprecated tags to live.
- Encourages aggressive documentation of deprecations without cluttering
  the main help files.
- Provides a single browsable reference of all deprecations.

Other changes:
- Move tags to doc/vim_diff.txt.
- Remove doc/quotes.txt. It has little historical value, except maybe the
  Larry Wall quote.
2016-09-24 15:07:49 +02:00
Justin M. Keyes
46475a1021 release.sh: Touch NVIM_VERSION_PATCH, show obnoxious message.
git-log-pretty-since.sh: fix bug
2016-08-22 15:39:14 -04:00
Justin M. Keyes
ed49d9d866 CheckHealth: Accept [plugin1 [, plugin2 [, ...]]] args.
To healthcheck the "foo" plugin:
    :CheckHealth foo
To healthcheck the "foo" and "bar" plugins:
    :CheckHealth foo bar
To run all auto-discovered healthchecks:
    :CheckHealth
2016-08-21 22:03:28 -04:00
Anmol Sethi
79ef4b72d7 man.vim: doc fixes #5171
- Weird tab+space combination used for alignment. All spaces now
- Added back <C-T> mapping (somehow we missed that completely)
- Fixed mistake that <Plug>(Man) opens in a new tab. Also added note at
  top on how the window is chosen/opened.
- Clarified q local mapping
- Removed section that shows an example autocmd to add desired folding
  style.
- Removed random line in `usr_12.txt` about `<Leader>` and backslash.
- :Man supports completion, not auto-completion.

Closes #5171
2016-08-13 08:58:21 -04:00
James McCoy
d0c0930acf Restore ":browse oldfiles" behavior from Vim
In 3b12bb225a, ":oldfiles" was taught to
behave like Vim's ":browse oldfiles" if ":oldfiles!" was used.  However,
this conflates the use of ! for abandoning a modified buffer with
choosing one file out of a list of oldfiles.

Now that ":browse" is supported again, ":browse oldfiles" will allow the
user to select an old file, while still complaining if that would cause
a modified buffer to be abandoned.  ":browse oldfiles!" will just
abandon the buffer, as expected.
2016-08-11 13:37:42 -04:00
Justin M. Keyes
db375102ea doc 2016-08-10 00:47:17 -04:00
Justin M. Keyes
66ceb5a487 man.vim: doc, UX tweaks
s:error: Convention is to highlight the entire message, so stick to that.
2016-08-04 23:52:52 -04:00
Justin M. Keyes
aa2c439940 eval.c: rename capture() to execute() (#5132) 2016-07-31 13:23:29 -04:00
Justin M. Keyes
c7d84c5550 Merge #4980 'Support legacy :ruby commands'. 2016-07-10 14:16:12 -04:00
Alex Genco
d3981fee21 Remove if_ruby from list of unimplemented features 2016-07-09 04:05:03 -07:00
Justin M. Keyes
6e2c02bc6d doc
Closes #4777
2016-07-03 03:53:42 -04:00
Justin M. Keyes
742787fe9e doc: consolidate nvim.txt 2016-06-15 22:50:38 -04:00
Justin M. Keyes
37f560aedf doc/python: cleanup
- Move info to providers.txt
- Remove "nvim-" prefix.
- Brevity, clarity, ...
2016-06-15 22:50:37 -04:00
ZyX
2f67786796 eval: Rename json* functions to json_* 2016-04-18 02:48:20 +03:00
ZyX
0aa3e7b7ce eval: Port parts of 7.4.1267 that are not already present 2016-04-18 02:46:34 +03:00
ZyX
6167ce6df2 eval: Remove v:none
To get v:none back just rever this commit. This will not make json*() functions
compatible with Vim though.
2016-04-18 02:45:49 +03:00
ZyX
e213ba1506 eval: Add jsondecode() function 2016-04-18 02:45:49 +03:00
Justin M. Keyes
523ff9c55c test: defaults_spec.lua 2016-04-15 02:23:27 -04:00
Chiel Kooijman
5330aa104b doc: formatting #4543 2016-04-08 18:01:07 -04: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
ZyX
90cbd70d1a documentation: Add notes to eval.txt and vim_diff.txt 2016-02-21 21:58:58 +03:00
Marco Hinz
089368c15f Doc: correct default value 2016-02-15 19:55:51 +01:00
Felipe Morales
50e129f5a7 defaults: Enable syntax and filetype plugins. 2016-02-14 15:20:31 -05:00
Felipe Morales
11f43360d1 doc: remove references to 'term' and other tty related options.
Re: https://github.com/neovim/neovim/issues/4218
2016-02-10 16:52:48 +01:00
Michael Reed
964e52e81f Merge pull request #4009 from sethjackson/swapsync
[RFC] Remove 'swapsync'
2016-01-14 15:38:19 -05:00
Seth Jackson
7a7a758786 doc: Remove references to GTK.
We don't support it.
2016-01-14 13:16:10 -05:00
Seth Jackson
62d137ce09 Remove swapsync.
It's complete overkill.
2016-01-14 13:13:32 -05:00
Seth Jackson
d51a27b7e5 Remove 'restorescreen' option
The relevant code was never actually in Neovim, most likely due to being
unifdef(1)'d out during the initial import.

see `:h hidden-options'
2016-01-08 14:59:18 -05:00
Michael Reed
f7c4770572 Remove 'antialias' remnants
It never did anything (see `:h hidden-options`).
2015-11-25 14:56:08 -05: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
Marco Hinz
9fcd444036 Add TermClose event
A terminal buffer now exits with: [Process exited <return value>]

You can hook into it. E.g.  :au TermClose * call feedkeys('<cr>')

Closes #2293.
2015-11-15 15:10:02 +01:00
Johannes Löthberg
2975e66af4 vim_diff: Fix incorrect ShaDa path
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2015-11-14 19:50:45 +01:00
Michael Reed
2fbcc9ab76 Be more explicit about the lack of X11 integration
I don't want anyone getting the idea that the `-X` flag they might have
used has anything to do with why the `+` is working for them
2015-11-10 20:10:55 -05:00
Marco Hinz
3b12bb225a Add file selection prompt on ":oldfiles!"
:browse was removed for good, but some people miss ":browse oldfiles".

The same functionality is now provided by ":oldfiles!".

Helped-by: @Pyrohh
2015-11-10 03:13:31 +01:00
Michael Reed
c40dff6453 Remove :open command
From the documentation itself:

  :[range]o[pen]                 Works like |:visual|: end Ex mode.
                                 {Vi: start editing in open mode}
  ...

  Vim does not support open mode, since it's not really useful.  For
  those situations where ":open" would start open mode Vim will leave Ex
  mode, which allows executing the same commands, but updates the whole
  screen instead of only one line.

Part of the reason behind this is to make removing vi_diff.txt easier,
although it's also because :open is not too useful.

Helped-by: @fdinoff
Helped-by: @dsummersl
Helped-by: @mhinz
Helped-by: @justinmk
2015-11-07 14:33:10 -05:00
Justin M. Keyes
120797cf87 doc
- design-not. Closes #2940
- :terminal
- vim_diff: 'termencoding' footnote
- 'shada'. Closes #3619
- eval.txt: job* functions list. Closes #3222
2015-11-07 00:32:00 -05:00
ZyX
1cdc3298cf documentation: Update documentation
Note about ~/.local/share/nvim/site used in one usr_\* file: this one talks
about user-local installation of third-party plugins, and
~/.local/share/nvim/site is the proper place for them. Most other files talk
about user own configuration and this is ~/.config.
2015-10-23 14:54:10 +03:00
ZyX
8f7ddfb9a4 documentation: Update vim differences list, reference critical errors 2015-10-08 22:00:44 +03:00
ZyX
f8169ff24d documentation: Document ShaDa compatibility features 2015-10-08 22:00:16 +03:00
ZyX
5e7a7fc2da documentation: Document how ShaDa entries should be merged 2015-10-08 22:00:12 +03:00
ZyX
8663983cc4 Deprecate &viminfo and :[rw]v, add &shada and :[rw]sh 2015-10-08 22:00:07 +03:00
ZyX
b7ebd16af0 documentation: Update documentation 2015-10-08 21:59:56 +03:00
ZyX
b6fdb7bd0f eval/string(): Share code between msgpackdump() and string()+:echo 2015-09-30 10:12:35 +03:00
Felipe Morales
b927304108 defaults: revert wildmode to 'full' 2015-09-26 21:09:47 +02:00
Jakob Schnitzer
e3289e5354 doc: mark 'toolbar' and 'toolbariconsize' as removed.
These options have been removed from the code, so also mark them as
removed in the docs
2015-09-17 19:38:24 +02:00
Björn Linse
e99368104a encoding: update docs for encoding
Helped-By: Michael Reed <m.reed@mykolab.com>
Helped-By: Justin M. Keyes <justinkz@gmail.com>
2015-09-08 10:54:01 +02:00
Felipe Morales
45121a267f defaults: set 'laststatus' to 2. #2876 2015-08-24 00:48:32 -04:00
Felipe Morales
be29de1fa2 defaults: set 'listchars' to "tab:> ,trail:-,nbsp:+". #2872
Re: https://github.com/neovim/neovim/issues/2676
2015-08-22 13:48:48 -04:00
ZyX
01901e0038 documentation: Document changes 2015-07-26 02:34:32 +03:00
Marco Hinz
fd740a383a Doc: add bracketed-paste-mode #3028
Reviewed-by: Felipe Morales <hel.sheep@gmail.com>
Reviewed-by: Justin M. Keyes <justinkz@gmail.com>
Reviewed-by: Michael Reed <Pyrohh@users.noreply.github.com>
2015-07-21 09:38:18 +02:00
Michael Reed
4455fc3f05 Remove ':Print' command #3049
There's no way this isn't some long-running joke:

  "Just as ':print'.  Was apparently added to Vi for
  people that keep the shift key pressed too long..."
  Note: A user command can overrule this command.

Regarding ':X': the command has been removed for a while, but the
documentation must have been missed, so remove it here.

Reviewed-by: Justin M. Keyes <justinkz@gmail.com>
Helped-by: @jusga
2015-07-20 20:43:09 -04:00
Felipe Morales
b4a5871809 defaults: set 'history' to 10000 by default. #2868
Note: the new history value is the max allowed.

Re: https://github.com/neovim/neovim/issues/2676
2015-07-20 03:48:33 -04:00
Michael Reed
85b7ea9a87 Remove POSIX 'cpoptions': cleanup
- CPO_ALL and CPO_VI are identical, so merge them
- No longer check for the environment variable 'VIM_POSIX'
- In vim_diff.txt, mention the removal of 'cpoptions' flags
2015-07-19 15:14:23 -04:00
Michael Reed
4d79edccdc Cleanup after #3007 #3020
'guioptions' is mentioned in the "Option Defaults" section of vim_diff,
and while its default did indeed change, it was only because the 't'
flag was removed.  To make that clear, move its reference to the
"Removed Features" section instead.

Remove stray instance of 't' flag from GO_ALL.  Most if not all of the
GO_* #defines are unused, but lets keep them for now as it's not clear
whether they won't be used by Nvim GUIs.
2015-07-17 17:36:38 -04:00
Marco Hinz
1e03165074 Remove :tearoff #3007
This also removes the 't' flag from 'guioptions'.

Side effect: :term[inal] -> :te[rminal]

Closes #3003.
2015-07-15 22:03:35 -04:00
Michael Reed
f48c8d652c Remove VisualNOS highlight group remnants
Nvim hasn't ever had X11 integration, so this has was never needed.
2015-07-04 15:43:54 -04:00
Michael Reed
cadf93e6fc Remove 'guipty' references
Presumably due to tarruda's unifdefing, it was already a no-op at the
time of nvim's first commit.

It's probably better to be clear that it doesn't exist, as opposed to
users thinking `:set guipty` is doing something when it isn't.
2015-07-04 15:43:54 -04:00
Michael Reed
406e9876b6 doc: Various #2898
refs #2895

Helped-by: Bohr Shaw <pubohr@gmail.com>
Helped-by: Justin M. Keyes <justinkz@gmail.com>

[ci skip]
2015-06-24 21:43:03 -04:00
Justin M. Keyes
91fcd33787 doc: vim_diff: clarify key-chord support. #2886 2015-06-24 00:43:20 -04:00
Felipe Morales
6ed6d8d910 defaults: remove "options" in 'sessionoptions'. #2871
Re: https://github.com/neovim/neovim/issues/2676
2015-06-21 03:20:35 -04:00
Felipe Morales
721ffd6b65 defaults: prefix "!" to 'viminfo' by default #2870
Re: https://github.com/neovim/neovim/issues/2676
2015-06-21 02:06:23 -04:00
Felipe Morales
8963285530 defaults: set 'tabpagemax' to 50 by default. #2869
Re: https://github.com/neovim/neovim/issues/2676
2015-06-21 02:02:00 -04:00
Felipe Morales
2c40d117e6 defaults: set 'display' to "lastline" by default.
Re: https://github.com/neovim/neovim/issues/2676
2015-06-21 01:48:53 -04:00
Justin M. Keyes
9ebb5c681b defaults: enable 'hlsearch' by default. #2859
Also update the documentation regarding the option.

Re: https://github.com/neovim/neovim/issues/2676
2015-06-20 16:40:03 -04:00
Felipe Morales
ffeffcb6cd defaults: enable 'incsearch' by default. #2858
This also updates the documentation about 'incsearch'.

Re: https://github.com/neovim/neovim/issues/2676
2015-06-20 16:19:16 -04:00
Felipe Morales
6cfe98c66e defaults: remove "i" from the default 'complete' #2854
"i" could slow down the completion.

Re: https://github.com/neovim/neovim/issues/2676
2015-06-20 14:43:51 -04:00
Felipe Morales
e3568364df default: enable 'langnoremap'. #2853
Re: https://github.com/neovim/neovim/issues/2676
2015-06-20 14:19:15 -04:00
Felipe Morales
ba84f7fc00 defaults: set 'mouse' to 'a' by default. #2860
Re: https://github.com/neovim/neovim/issues/2676

Also, some documentation changes.
2015-06-20 14:14:39 -04:00
Felipe Morales
8e3f67f2a0 defaults: enable 'autoindent' #2857
Re: https://github.com/neovim/neovim/issues/2676
2015-06-20 14:02:56 -04:00
Felipe Morales
81847da948 defaults: enable 'autoread' by default #2856
Re: https://github.com/neovim/neovim/issues/2676
2015-06-20 13:49:30 -04:00
Felipe Morales
41c76d9444 defaults: enable 'smarttab' by default. #2855 2015-06-20 13:45:47 -04:00
Felipe Morales
fa0f122221 Remove 'octal' from default value for '&nrformats' #2668
<C-A> over "07" should increment to "08" by default.

Re: https://github.com/neovim/neovim/issues/1664

Reviewed-by: Justin M. Keyes <justinkz@gmail.com>
Reviewed-by: Scott Prager <splinterofchaos@gmail.com>
Reviewed-by: Michael Reed <m.reed@mykolab.com>
2015-05-29 00:39:22 -04:00
Felipe Morales
eca51bbfa0 options: Include "j" in default 'formatoptions' #2669 2015-05-21 01:28:20 -04:00
Felipe Morales
3c2eae6cc6 options: Search upwards for tags file #2670
Also remove some references to emacs tags from the docs.

References https://github.com/neovim/neovim/issues/1664
2015-05-19 16:58:46 -04:00
Michael Reed
59b7299570 Cleanup 'weirdinvert' remnants
Removed in 3baba1e7bc, but the docs
weren't updated.
2015-05-18 11:06:54 -04:00
Michael Reed
c50c831b85 Cleanup 'ttym[ouse]', FEAT_MOUSE, mouse_(dec|gpm|etc.)
Because of 3baba1e7bc, it's dead code.

Helped-by: Justin M. Keyes <justinkz@gmail.com>
2015-05-18 11:06:54 -04:00
Michael Reed
00cf632b2b Cleanup misc.
Regarding debugger.txt (which was Spotted by @Hettomei):
The third section was empty, and the second section is very outdated.
Nvim doesn't have things like Balloon Evalutation and Sun Visual
workshop integration, so just remove the section.

Regarding everything else:
- term.[ch] and term_defs.h don't exist anymore, so remove refs to them
- Add ttybuiltin to vim_diff.txt. It should have been done before, but
  vim_diff.txt didn't exist when ttybuiltin was removed (done in
  3baba1e7bc6698e6bc9f1d37fce88b30d6274bc9,)

Helped-by: Justin M. Keyes <justinkz@gmail.com>
2015-05-18 11:06:54 -04:00
Felipe Morales
b90378dfb0 options: Enable &wildmenu, use "list:longest,full" for &wildmode by default #2677 2015-05-17 15:24:31 -04:00
Björn Linse
d9acfbd471 options: mark nonfunctional &termencoding option as hidden. #2631
Remove related dead code and references in the docs.

Helped-By: Michael Reed <m.reed@mykolab.com>
Helped-By: Shougo Matsushita <Shougo.Matsu@gmail.com>
2015-05-17 18:39:25 +02:00
Michael Reed
6f72f56492 Change 'backspace' default to "indent,eol,start" #2639
While here, alphabetically sort section 2 of vim_diff.txt

Helped-by: Jakob Schnitzer <mail@jakobschnitzer.de>
Helped-by: Felipe Morales <hel.sheep@gmail.com>
2015-05-15 16:28:57 -04:00
Jakob Schnitzer
dbf68da698 doc: mark macatsui option as removed, update vim_diff.txt
This option has already been removed in the source.

Nvim does not have a GUI, so `nvim -g` does not work.
Also add `macatsui` to the list of removed options.
2015-05-08 11:57:41 +02:00
Justin M. Keyes
eceff43169 doc/vim_diff.txt: formatting
- backticks in Vim help docs are supported by even the default
  colorscheme; we should start using them for technical identifiers
  instead of quotation marks.
- prefer judicious indentation to gratuitous bullets

Helped-by: Michael Reed <m.reed@mykolab.com>
2015-04-25 18:00:19 -04:00
Marco Hinz
cd7b910e81 Add new highlight groups TermCursor/TermCursorNC
These highlight groups replace the old mechanism of setting:

  - {g,b}:terminal_focused_cursor_highlight
  - {g,b}:terminal_unfocused_cursor_highlight
2015-04-09 16:38:32 +02:00
Michael Reed
73bf0551f8 doc/vim_diff.txt: Remove redundant :terminal ref
Stated at the top of the section:
"See |nvim-intro| for a list of Nvim's largest new features."

It's now mentioned in `:h nvim_terminal_emulator.txt`.
2015-04-04 18:31:57 -04:00
Michael Reed
c47e0d6210 doc: Introduce vim-differences #2141
This documents the differences between nvim and nvim.

Regarding the removal of references to 'renderoptions': it was never
added in the first place, so there's no need to mention its "removal".
2015-03-26 17:36:40 -04:00