Commit Graph

2056 Commits

Author SHA1 Message Date
Justin M. Keyes
b35ad86024
Merge #10391 from janlazo/vim-8.1.0495
vim-patch:8.1.{495,505,531,533,583,623,630,641,686,715,833,1012,1221,1651}
2019-07-16 19:52:23 +02:00
Björn Linse
8a3f8589a3
Merge pull request #10504 from bfredl/hl_def
highlight: expose builtin highlight groups using hl_group_set event
2019-07-16 10:17:29 +02:00
Jan Edmund Lazo
d27175aa28 vim-patch:8.1.1221: filtering does not work when listing marks
Problem:    Filtering does not work when listing marks.
Solution:   Implement filtering marks. (Marcin Szamotulski, closes vim/vim#3895)
ad6dc49a75
2019-07-15 23:07:29 -04:00
Jan Edmund Lazo
263d62f628 vim-patch:8.1.0495: :filter only supports some commands
Problem:    :filter only supports some commands.
Solution:   Add :filter support for more commands. (Marcin Szamotulski,
            closes vim/vim#2856)
f86db78fed
2019-07-15 23:07:28 -04:00
ObserverOfTime
c38862acea checkhealth: try yarn if npm is missing #10490
fixes #10489
2019-07-14 20:48:53 +02:00
Björn Linse
857b29bdd8 highlight: expose builtin highlight groups using hl_group_set event 2019-07-14 13:26:40 +02:00
Justin M. Keyes
e1fae8f1fe
Merge #10435 from Shougo/vim-8.1.1610 2019-07-13 12:36:32 +02:00
Björn Linse
2c2f160a27 ui: add 'redrawdebug' option for flexible debugging of redrawing 2019-07-09 15:13:24 +02:00
Björn Linse
524fe6205d
Merge pull request #10090 from bfredl/floatpopup
api/window: add style="minimal" flag to disable unwanted UI features for simple floats
2019-07-07 21:35:55 +02:00
Björn Linse
ef3e32d57e api/window: add style="minimal" flag to nvim_open_win() 2019-07-07 20:52:15 +02:00
Shougo Matsushita
3f6346b732 vim-patch:8.1.1610: there is no way to add or load a buffer without side effects
Problem:    There is no way to add or load a buffer without side effects.
Solution:   Add the bufadd() and bufload() functions.
15e248e37f
2019-07-06 17:09:56 +09:00
Jan Edmund Lazo
8062e6ff88 vim-patch:8.1.1614: 'numberwidth' can only go up to 10
Problem:    'numberwidth' can only go up to 10.
Solution:   Allow up to 20. (Charlie Stanton, closes vim/vim#4584)
f8a0712655
2019-07-05 21:26:46 -04:00
Gavin D. Howard
7535f843cd termdebug.vim: vertical layout #10424 2019-07-05 20:45:26 +02:00
Justin M. Keyes
097f85ae6c
defaults: wildoptions=pum,tagfile #10384
ref #6289
2019-07-01 23:59:24 +02:00
Jan Edmund Lazo
6c5a6ab92d vim-patch:8.1.0452: MS-Windows: not finding intl.dll #10388
Problem:    MS-Windows: not finding intl.dll.
Solution:   Also find intl.dll next to libintl.dll. (Ken Takata)
7554c548a4
2019-07-01 20:14:00 +02:00
Björn Linse
10a533e9d4
Merge pull request #10316 from bfredl/cb_safety
luv callbacks: throw error on deferred methods instead of crashing
2019-06-30 16:03:58 +02:00
Kovas Palunas
fdd8dcae01 man.vim: Handle ANSI escape sequences with ":" #10267
closes #10267
2019-06-30 15:25:49 +02:00
Björn Linse
d33aaa0f5f libluv: use luv_set_callback to control callback execution
Disable the use of deferred API functions in a fast lua callback
Correctly display error messages from a fast lua callback
2019-06-30 13:13:08 +02:00
Justin M. Keyes
2ef6f28e11
doc [ci skip] #10177
ref #10278 #10279 #10353
2019-06-30 00:09:45 +02:00
Jan Edmund Lazo
d555e44219 vim-patch:8.0.1120: :tm means :tmap instead of :tmenu
Problem:    :tm means :tmap instead of :tmenu. (Taro Muraoka)
Solution:   Move the new entry below the old entry. (closes vim/vim#2102)
63c4e8a198
2019-06-27 07:59:49 -04:00
Jan Edmund Lazo
62c7fcbdab vim-patch:8.1.1593: filetype not detected for C++ header files without extension
Problem:    Filetype not detected for C++ header files without extension.
Solution:   Recognize the file by the Emacs file mode. (Dmitry Ilyin,
            closes vim/vim#4593)
6a7af8e2db
2019-06-25 21:20:26 -04:00
Björn Linse
4c4d964eeb ui: add 'winblend' to support blending of floating windows
Also add `hi blend=` attribute to override transparency of indiviual attributes.
2019-06-25 18:08:21 +02:00
Justin M. Keyes
79450f2da9
Merge #10250 from blueyed/vim-8.0.1039
vim-patch:8.0.{10{39,53,55},1274}: cannot change a line in not current buffer
2019-06-25 02:36:07 +02:00
Justin M. Keyes
5ae57b7e57
health.vim: check shada file #10327
closes #1202
2019-06-25 01:31:41 +02:00
James McCoy
8c7e41f596
[RFC] vim-patch:8.1.1365,8.1.1366,8.1.1367,8.1.1368,8.1.1382,8… (#10309)
[RFC] vim-patch:8.1.1365,8.1.1366,8.1.1367,8.1.1368,8.1.1382,8.1.1401
2019-06-24 12:08:57 -04:00
Justin M. Keyes
f2e3849100
Merge #10313 from rhysd/const-patches
vim-patch:8.1.1539,8.1.1543,8.1.1554 for :const from Vim
2019-06-24 14:27:31 +02:00
James McCoy
280938d932
vim-patch:8.1.1401: misspelled mkspellmem as makespellmem
Problem:    Misspelled mkspellmem as makespellmem.
Solution:   Drop duplicate help entry, fix test. (Naruhiko Nishino, Ken
            Takata, closes vim/vim#4437)
076073950c
2019-06-24 06:46:01 -04:00
James McCoy
1e4673d167
vim-patch:8.1.1366: using expressions in a modeline is unsafe
Problem:    Using expressions in a modeline is unsafe.
Solution:   Disallow using expressions in a modeline, unless the
            'modelineexpr' option is set.  Update help, add more tests.
110289e781
2019-06-24 06:45:55 -04:00
rhysd
3d5a800278 vim-patch:8.1.1554: docs and tests for :const can be improved
Problem:    Docs and tests for :const can be improved.
Solution:   Improve documentation, add a few more tests. (Ryuichi Hayashida,
            closes vim/vim#4551)
1c196e7b17
2019-06-24 09:31:30 +09:00
rhysd
1c90c19f62 vim-patch:8.1.1539: not easy to define a variable and lock it
Problem:    Not easy to define a variable and lock it.
Solution:   Add ":const".
9937a05543
2019-06-24 09:30:51 +09:00
Jan Edmund Lazo
3a49fa8f8b vim-patch:8.1.0169: calling message_filtered() a bit too often
Problem:    Calling message_filtered() a bit too often.
Solution:   Only call message_filtered() when filtering is already false.
a9defadb8f
2019-06-23 18:17:09 -04:00
Daniel Hahler
9485061baa vim-patch:8.0.1039: cannot change a line in not current buffer
Problem:    Cannot change a line in a buffer other than the current one.
Solution:   Add setbufline(). (Yasuhiro Matsumoto, Ozaki Kiichi, closes vim/vim#1953)
b31cf2bb0b
2019-06-17 23:43:26 +02:00
Daniel Hahler
d32b92e265
vim-patch:8.0.1845: various comment updates needed, missing white space (#10203)
Problem:    Various comment updates needed, missing white space.
Solution:   Update comments, add white space.
259f26ac2d

Ignored (partly) applied patch for src/nvim/po/it.po.
2019-06-16 19:49:23 +02:00
Björn Linse
41f31ca90d messages: support shortmess-=S in ext_messages 2019-06-16 11:07:29 +02:00
Jan Edmund Lazo
e6a1bea1eb vim-patch:8.0.0931: getwininfo() does not indicate a terminal window
Problem:    getwininfo() does not indicate a terminal window.
Solution:   Add "terminal" to the dictionary.
69905d108b
2019-06-13 19:39:55 -04:00
Daniel Hahler
66613ace48 vim-patch:8.0.1704: 'backupskip' default doesn't work for Mac
Problem:    'backupskip' default doesn't work for Mac.
Solution:   Use "/private/tmp". (Rainer Müller, closes vim/vim#2793)
b8e22a053b
2019-06-13 00:28:16 +02:00
Justin M. Keyes
04e2ba85b1
doc [ci skip] #10129
- document lua vim.loop #10123
2019-06-10 15:53:42 +02:00
Jan Edmund Lazo
3e58e60568 vim-patch:8.0.1278: Add the "k" flag in 'guioptions' #10175
Problem:    GUI window always resizes when adding/removing a scrollbar,
            toolbar, etc.
Solution:   Add the 'k' flag in 'guioptions' to keep the GUI window size and
            change the number of lines/columns instead. (Ychin, closes vim/vim#703)
8ac441576f
2019-06-10 12:18:59 +02:00
Jan Edmund Lazo
0b4c53fc23 vim-patch:8.0.1305: writefile() never calls fsync() #10153
Problem:    Writefile() never calls fsync().
Solution:   Follow the 'fsync' option with override to enable or disable.
7567d0b115
2019-06-09 00:12:28 +02:00
Justin M. Keyes
bb24fec333
defaults: exclude "S" from 'shortmess' #10136
ref #6289
2019-06-07 23:11:28 +02:00
Justin M. Keyes
f6f9e4a231
Merge #10114 from erw7/vim-8.1.1270
vim-patch:8.1.{0629,1270,1271,1283,1288,1289,1350,1375,1390,1475}
2019-06-07 21:28:53 +02:00
Björn Linse
b684bd05b5 lua: docs and tests for vim.schedule 2019-06-05 10:46:22 +02:00
erw7
777c2a25ce vim-patch:8.1.1270: cannot see current match position
Problem:    Cannot see current match position.
Solution:   Show "3/44" when using the "n" command and "S" is not in
            'shortmess'. (Christian Brabandt, closes vim/vim#4317)
9dfa313919
2019-06-05 09:54:52 +09:00
Björn Linse
f5c56f03bb api: allow nvim_buf_attach from lua using callbacks 2019-06-04 13:45:20 +02:00
Justin M. Keyes
8a33cb32ba Merge #10086 'vim-patch:8.1.{902,1114}' 2019-06-02 23:32:28 +02:00
Justin M. Keyes
ed24a297e5
doc [ci skip] #10097
- fix broken links (|buffered| was renamed to |channel-buffered|)
- rewrite `:h channel-lines`
2019-06-01 20:14:29 +02:00
erw7
bfc44a91ac vim-patch:8.1.1114: confusing overloaded operator "." for string concatenation
Problem:    Confusing overloaded operator "." for string concatenation.
Solution:   Add ".." for string concatenation.  Also "let a ..= b".
0f248b006c
2019-05-29 12:54:42 +09:00
erw7
d46aaa0746 vim-patch:8.1.0902: incomplete set of assignment operators
Problem:    Incomplete set of assignment operators.
Solution:   Add /=, *= and %=. (Ozaki Kiichi, closes vim/vim#3931)
ff697e6cef
2019-05-29 12:05:56 +09:00
Jan Edmund Lazo
21f160746a vim-patch:8.1.0020: cannot tell whether a register is executing or recording
Problem:    Cannot tell whether a register is being used for executing or
            recording.
Solution:   Add reg_executing() and reg_recording(). (Hirohito Higashi,
            closes vim/vim#2745)  Rename the global variables for consistency.  Store
            the register name in reg_executing.
0b6d911e5d
2019-05-26 20:24:11 -04:00
Andrej Zieger
237cecd81b vim-patch:8.1.0039: cannot easily delete lines in another buffer
Problem:    Cannot easily delete lines in another buffer.
Solution:   Add deletebufline().
d79a26219d
2019-05-26 19:32:32 +02:00
Andrej Zieger
fa07cc215d vim-patch:8.1.0717: there is no function for the ":sign jump" command
Problem:    There is no function for the ":sign jump" command.
Solution:   Add the sign_jump() function. (Yegappan Lakshmanan, closes vim/vim#3780)
6b7b7190aa
2019-05-26 19:32:32 +02:00
Andrej Zieger
f43900f686 vim-patch:8.1.0702: ":sign place" only uses the current buffer
Problem:    ":sign place" only uses the current buffer.
Solution:   List signs for all buffers when there is no buffer argument.
            Fix error message for invalid buffer name in sign_place().
            (Yegappan Lakshmanan, closes vim/vim#3774)
b589f95b38
2019-05-26 19:32:32 +02:00
Andrej Zieger
e70609cfac vim-patch:8.1.0697: ":sign place" requires the buffer argument
Problem:    ":sign place" requires the buffer argument.
Solution:   Make the argument optional.  Also update the help and clean up the
            sign test. (Yegappan Lakshmanan, closes vim/vim#3767)
b328cca254
2019-05-26 19:32:32 +02:00
Andrej Zieger
09c236ba5c vim-patch:8.1.0658: deleting signs and completion for :sign is insufficient
Problem:    Deleting signs and completion for :sign is insufficient.
Solution:   Add deleting signs in a specified or any group from the current
            cursor location.  Add group and priority to sign command
            completion. Add tests for different sign unplace commands. Update
            help text.  Add tests for sign jump with group. Update help for
            sign jump. (Yegappan Lakshmanan, closes vim/vim#3731)
7d83bf4f2b
2019-05-26 19:32:31 +02:00
Andrej Zieger
3ee55edd2e vim-patch:8.1.0644: finding next sign ID is inefficient
Problem:    Finding next sign ID is inefficient.
Solution:   Add next_sign_id. (Yegappan Lakshmanan, closes vim/vim#3717)
6436cd83f9
2019-05-26 19:32:31 +02:00
Andrej Zieger
fb9abd7d99 vim-patch:8.1.0614: placing signs can be complicated
Problem:    Placing signs can be complicated.
Solution:   Add functions for defining and placing signs.  Introduce a group
            name to avoid different plugins using the same signs. (Yegappan
            Lakshmanan, closes vim/vim#3652)
162b71479b
2019-05-26 19:32:31 +02:00
Björn Linse
aabda31d54
Merge pull request #9547 from bfredl/rpc_multiline_err
messages: use proper multiline errors for rpcrequest and API wrappers
2019-05-26 18:11:49 +02:00
Justin M. Keyes
2b4c0181ba
Merge #10064 from janlazo/vim-8.1.0211
vim-patch:8.1.{211,307}
2019-05-26 16:33:10 +02:00
KillTheMule
52215f5752 doc/API: document indexing behavior #10058
close #10058
2019-05-26 16:15:20 +02:00
Björn Linse
8ed54bbec3 messages: use proper multiline error message for rpcrequest and API wrappers 2019-05-26 15:42:16 +02:00
Jan Edmund Lazo
f60af8694b vim-patch:8.1.0307: there is no good way to get the window layout
Problem:    There is no good way to get the window layout.
Solution:   Add the winlayout() function. (Yegappan Lakshmanan)
0f6b4f06de
2019-05-26 07:27:50 -04:00
Justin M. Keyes
4769deb36a
doc #10017
- gen_vimdoc.py: fancy "bullet"
- rework `:help channel-callback`
- rename `:help buffered` to `:help channel-buffered`
2019-05-25 10:00:41 +02:00
Justin M. Keyes
62d5137c83
Merge #10038 from janlazo/vim-8.0.1514
vim-patch:8.0.{1514,1519},8.1.1360
2019-05-21 14:46:19 +02:00
Justin M. Keyes
5b04a4fa09 lua/shared: share trim() impl 2019-05-20 23:46:56 +02:00
Jan Edmund Lazo
783aa6b507 vim-patch:8.0.1514: getting the list of changes is not easy
Problem:    Getting the list of changes is not easy.
Solution:   Add the getchangelist() function. (Yegappan Lakshmanan,
            closes vim/vim#2634)
07ad816525
2019-05-20 13:33:59 -04:00
Kwon-Young Choi
b9ba1295b4 runtime/termdebug.vim: handle "\n" as linebreaks #10037
Note: use "set print pretty" in gdb
Fixes #10020
2019-05-20 12:47:13 +02:00
Jan Edmund Lazo
41828a7302 vim-patch:8.0.1497: getting the jump list requires parsing the output of :jumps
Problem:    Getting the jump list requires parsing the output of :jumps.
Solution:   Add getjumplist(). (Yegappan Lakshmanan, closes vim/vim#2609)
4f50588ba3
2019-05-19 23:15:47 -04:00
Justin M. Keyes
5c13f368c6 lint 2019-05-19 21:26:33 +02:00
Justin M. Keyes
fab81cfb04 lua/shared: share more stuff
Leave trim() in vim.lua, because gen_vimdoc.py needs at least one
function in there, else it gets confused...
2019-05-19 18:31:40 +02:00
Justin M. Keyes
e4c2d85c77 lua/shared: share deepcopy() with test/*
deepcopy() was duplicated in test/helpers.lua
2019-05-19 17:58:54 +02:00
Justin M. Keyes
e628c011bf gen_vimdoc.py: support lua/shared.lua module [ci skip] 2019-05-19 17:30:20 +02:00
KillTheMule
53576dfb35 Document the vim.lua functions 2019-05-18 22:01:14 +02:00
Justin M. Keyes
9d7aaf7149 lua/shared: move table util funcs to vim.shared
Use `tbl_` prefix for all table-util functions. Specify in the function
docstring if it expects a list-like or map-like table.
2019-05-18 21:07:30 +02:00
Justin M. Keyes
bba75eb184 lua/stdlib: Introduce vim.shared
This is where "pure functions" can live, which can be shared by Nvim and
test logic which may not have a running Nvim instance available.

If in the future we use Nvim itself as the Lua engine for tests, then
these functions could be moved directly onto the `vim` Lua module.

closes #6580
2019-05-18 15:48:13 +02:00
Kwon-Young Choi
9420a2127f runtime/termdebug.vim #10015
* bugfix
* use NormalFloat for floating window background
* use floating window by default
* correctly use nvim_open_win()
* use nvim_win_set_option to set window local option
* use nvim_buf_set_option for buffer options
* renamed augroup to nvim_termdebug_close_hover to be consistent with
nvim_terminal_... augroup
2019-05-16 21:58:07 +02:00
Kwon-Young Choi
3a699a790c runtime/termdebug.vim #8364
* commit 36257d0f97b396467bef7a5937befd894fb23e31
Author: Kwon-Young Choi <kwon-young.choi@hotmail.fr>
Date:   Sat May 5 16:57:45 2018 +0200

    Port of the termdebug.vim plugin to neovim terminal feature.
    For neovim compatibility,
    The vim specific calls were replaced with neovim specific calls:
      term_start -> term_open
      term_sendkeys -> jobsend
      term_getline -> getbufline
      job_info && term_getjob -> using linux command ps to get the tty

    fix1: forgot to port EndDebug callback to neovim

    fix2: use nvim_get_chan_info to get pty of job
          remove the use of communication buffer by using jobstart instead
          of termopen

    fix3: get gdbbuf using nvim_get_chan_info

* cleaned up if has('nvim') to remove vim support.
added neovim floating window support for expression evaluation

* improvred documentation, cleaned up vim menu code, fixed bug when
floating window feature is not available
2019-05-16 11:21:05 +02:00
Justin M. Keyes
f35d233e07 API/nvim_set_keymap: minor cleanup
ref #9924
2019-05-12 13:04:48 +02:00
Yilin Yang
fbf2c414ad API: nvim_set_keymap, nvim_del_keymap #9924
closes #9136

- Treat empty {rhs} like <Nop>

- getchar.c: Pull "repl. MapArg termcodes" into func
  The "preprocessing code" surrounding the replace_termcodes calls needs
  to invoke replace_termcodes, and also check if RHS is equal to "<Nop>".
  To reduce code duplication, factor this out into a helper function.

  Also add an rhs_is_noop flag to MapArguments; buf_do_map_explicit
  expects an empty {rhs} string for "<Nop>", but also needs to distinguish
  that from something like ":map lhs<cr>" where no {rhs} was provided.

- getchar.c: Use allocated buffer for rhs in MapArgs
  Since the MAXMAPLEN limit does not apply to the RHS of a mapping (or
  else an RHS that calls a really long autoload function from a plugin
  would be incorrectly rejected as being too long), use an allocated
  buffer for RHS rather than a static buffer of length MAXMAPLEN + 1.

- Mappings LHS and RHS can contain literal space characters, newlines, etc.

- getchar.c: replace_termcodes in str_to_mapargs
  It makes sense to do this; str_to_mapargs is, intuitively, supposed to
  take a "raw" command string and parse it into a totally "do_map-ready"
  struct.

- api/vim.c: Update lhs, rhs len after replace_termcodes
  Fixes a bug in which replace_termcodes changes the length of lhs or rhs,
  but the later search through the mappings/abbreviations hashtables
  still uses the old length value. This would cause the search to fail
  erroneously and throw 'E31: No such mapping' errors or 'E24: No such
  abbreviation' errors.

- getchar: Create new map_arguments struct
  So that a string of map arguments can be parsed into a more useful, more
  portable data structure.

- getchar.c: Add buf_do_map function
  Exactly the same as the old do_map, but replace the hardcoded references
  to the global `buf_T* curbuf` with a function parameter so that we can
  invoke it from nvim_buf_set_keymap.

- Remove gettext calls in do_map error handling
2019-05-12 11:44:48 +02:00
Justin M. Keyes
a0f775c4d3 doc 2019-05-11 23:42:55 +02:00
Justin M. Keyes
3d1ed7c959 UI/ext_messages: learn more message kinds
ref #6201
2019-05-11 23:42:55 +02:00
Jan Edmund Lazo
92f39762af vim-patch:8.1.1306: Borland support is outdated and doesn't work
Problem:    Borland support is outdated and doesn't work.
Solution:   Remove Borland support, there are other (free) compilers
            available. (Thomas Dziedzic, Ken Takata, closes vim/vim#4364)
eae1b91fea
2019-05-09 20:27:11 -04:00
juliancoffee
a541c681f6 runtime/tutor [ci skip] #9990 2019-05-09 23:32:57 +02:00
Justin M. Keyes
b9ad12e6c2 UI/nvim_ui_attach(): add override option
Before now, Nvim always degrades UI capabilities to the lowest-common
denominator. For example, if any connected UI has `ext_messages=false`
then `ext_messages=true` requested by any other connected UI is ignored.

Now `nvim_ui_attach()` supports `override=true`, which flips the
behavior: if any UI requests an `ext_*` UI capability then the
capability is enabled (and the legacy behavior is disabled).

Legacy UIs will be broken while a `override=true` UI is connected, but
it's useful for debugging: you can type into the TUI and observe the UI
events from another connected (UI) client. And the legacy UI will
"recover" after the `override=true` UI disconnects.

Example using pynvim:

    >>> n.ui_attach(2048, 2048, rgb=True, override=True, ext_multigrid=True, ext_messages=True, ext_popupmenu=True)
    >>> while True: n.next_message();
2019-05-09 22:27:41 +02:00
Jan Edmund Lazo
d36ef9339f vim-patch:8.1.1293: MSVC files are no longer useful #9982
Problem:    MSVC files are no longer useful for debugging.  Newer Visual
            Studio versions cannot read them.
Solution:   Delete the files. (Ken Takata, closes vim/vim#4357)
fda9784dc9
2019-05-08 11:44:04 +02:00
Jan Edmund Lazo
b5539c2044 vim-patch:8.1.1284: detecting *.tmpl as htmlcheetah is outdated
Problem:    Detecting *.tmpl as htmlcheetah is outdated.
Solution:   Use the generic name "template". (closes vim/vim#4348)
d136221129
2019-05-06 22:35:45 -04:00
Juraj Fiala
df9059d1a8 appdata: Include more info #9974
- Configuring the translation domain allows calculating and showing the translation states of each language
- OARS gives Neovim a nice ‘safe for children’ badge
- Releases allow displaying release info/update frequency
2019-05-06 22:11:59 +02:00
Marco Hinz
720cb36cea
doc: update setqflist() 2019-05-05 14:05:25 +02:00
Marco Hinz
e6c21c4bc0
vim-patch:8.0.1782: no simple way to label quickfix entries
Problem:    No simple way to label quickfix entries.
Solution:   Add the "module" item, to be used instead of the file name for
            display purposes. (Martin Szamotulski)

d76ce85266
2019-05-05 13:46:19 +02:00
Jan Edmund Lazo
96a8b0ab78 vim-patch:8.1.0369: continuation lines cannot contain comments
Problem:    Continuation lines cannot contain comments.
Solution:   Support using "\ .
67f8ab8299
2019-05-03 02:08:18 -04:00
Justin M. Keyes
fd0fd752c8 terminal: swap priority of terminal, editor highlights
closes #9964
2019-05-02 09:56:22 +02:00
Justin M. Keyes
c11e618133 gen_vimdoc.py: support <pre> preformatted text [ci skip] 2019-05-01 00:18:49 +02:00
Justin M. Keyes
afd947e0c3 doc [ci skip]
ref #9886
2019-05-01 00:18:43 +02:00
Justin M. Keyes
e22c475156 Merge #9951 'vim-patch:8.1.0519: save/restore tag stack' 2019-04-30 23:41:34 +02:00
Justin M. Keyes
3033b5a70a vim-patch:8.1.1231: asking about existing swap file unnecessarily
Problem:    Asking about existing swap file unnecessarily.
Solution:   When it is safe, delete the swap file.  Remove
            HAS_SWAP_EXISTS_ACTION, it is always defined. (closes vim/vim#1237)
67cf86bfff

N/A:
vim-patch:8.1.1232
vim-patch:8.1.1233
vim-patch:8.1.1236
2019-04-29 21:22:55 +02:00
Justin M. Keyes
04f0bc97b7 vim-patch:8.1.0401: can't get swap name of another buffer
Problem:    Can't get swap name of another buffer.
Solution:   Add swapname(). (Ozaki Kiichi, closes vim/vim#3441)
110bd60985
2019-04-29 21:19:45 +02:00
Justin M. Keyes
39e3783c69 vim-patch:8.1.0314: add swapinfo() "dirty" item
Problem:    Build failure without the +eval feature. (Brenton Horne)
Solution:   Add #ifdef.  Also add the "dirty" item.
47ad5656e1
2019-04-29 21:19:45 +02:00
Justin M. Keyes
24b7462b3c vim-patch:8.1.0313: information about a swap file is unavailable
Problem:    Information about a swap file is unavailable.
Solution:   Add swapinfo(). (Enzo Ferber)
00f123a565
2019-04-29 19:55:42 +02:00
Jan Edmund Lazo
a0d723db55 vim-patch:8.0.1563: getwinposx() timeout #9955
Problem:    Timeout of getwinposx() can be too short. (lilydjwg)
Solution:   Add getwinpos(). (closes vim/vim#2689)
3f54fd319f
2019-04-29 11:53:44 +02:00
AlxHnr
fbd6666a06 runtime/Tutor: define highlights as "default" #9947 2019-04-28 12:55:38 +02:00
rolag
924dd6f14a vim-patch:8.1.0519: cannot save and restore the tag stack
Problem:    Cannot save and restore the tag stack.
Solution:   Add gettagstack() and settagstack(). (Yegappan Lakshmanan,
            closes vim/vim#3604)
f49cc60aa8
2019-04-28 11:37:19 +01:00
Justin M. Keyes
769f44e918 win/defaults: Use "…/nvim-data/site" in 'runtimepath'
On Windows we store non-config data in "$XDG_DATA_HOME/nvim-data". But
the "…/site" items in 'runtimepath' did not correctly point to that
location, they used "…/nvim/site".

Fix the init logic to use  "…/nvim-data/site".

closes #9910
2019-04-28 00:27:07 +02:00
Justin M. Keyes
83d571653b spellfile.vim: store files in stdpath('data')
ref b9b2fb7d5d #6664 #6272
2019-04-27 21:34:54 +02:00
Justin M. Keyes
f0a7e3fc9a test: 'shadafile' default
ref 773bdd41ec
2019-04-27 16:19:40 +02:00
Jan Edmund Lazo
9d77a07686 vim-patch:8.0.1510: cannot assert beep #9938
Problem:    Cannot test if a command causes a beep.
Solution:   Add assert_beeps().
b48e96f61c
2019-04-25 14:31:33 +02:00
Jan Edmund Lazo
b8128aee02 vim-patch:8.0.1107: terminal debugger jumps to non-existing file
Problem:    Terminal debugger jumps to non-existing file.
Solution:   Check that the file exists.  Add an option to make the Vim wide
            wide. Fix removing highlight groups.
38baa3e634
2019-04-23 00:03:47 -04:00
Jan Edmund Lazo
e6f22d0fdd vim-patch:8.0.1092: terminal debugger can't evaluate expressions
Problem:    Terminal debugger can't evaluate expressions.
Solution:   Add :Evaluate and K.  Various other improvements.
45d5f26d11
2019-04-23 00:03:47 -04:00
Jan Edmund Lazo
9e9015ee23 vim-patch:8.0.1085: terminal debugger can't set breakpoints
Problem:    The terminal debugger can't set breakpoints.
Solution:   Add :Break and :Delete commands.  Also commands for stepping
            through code.
e09ba7bae5
2019-04-23 00:03:47 -04:00
Jan Edmund Lazo
07a182c6b5 vim-patch:8.0.0647: syntax highlighting can make cause a freeze
Problem:    Syntax highlighting can make cause a freeze.
Solution:   Apply 'redrawtime' to syntax highlighting, per window.
06f1ed2f78
2019-04-23 00:03:47 -04:00
Justin M. Keyes
eada8f5aaa
Merge pull request #9871 from justinmk/doc 2019-04-22 21:34:46 +02:00
Justin M. Keyes
c1887f465d gen_vimdoc.py: skip "Parameters" header if all excluded 2019-04-22 21:24:46 +02:00
erw7
d0fd66ba82 health/provider.vim: check curl HTTPS support
closes #9925
closes #9928
2019-04-22 21:05:39 +02:00
Justin M. Keyes
544305e802 doc: clarify -Es 2019-04-22 20:56:16 +02:00
Justin M. Keyes
eabe7d95f8 doc: UI 2019-04-22 20:56:16 +02:00
Justin M. Keyes
4d97abe805 doc 2019-04-22 20:56:16 +02:00
Marco Hinz
43356a43d0
health: check if tmux enabled true colors (#9929)
References https://github.com/neovim/neovim/issues/7764
2019-04-20 19:02:19 +02:00
Marco Hinz
477e1a8648
vim-patch:8.1.1177: .ts files are recognized as xml, typescript is more common (#9922)
Problem:    .ts files are recognized as xml, while typescript is more common.
Solution:   Recognize .ts files as typescript.

1a4dce7cad
2019-04-19 12:06:23 +02:00
Justin M. Keyes
aa82f8b88f
vim-patch:8.0.0716: "--clean", 'shadafile' #9907
Nvim notes:
- Nvim does not support "-u DEFAULTS", that change is omitted.
- Also add 'shadafile' as an alias to 'viminfofile'.
- Deprecate 'viminfofile'.

Problem:    Not easy to start Vim cleanly without changing the viminfo file.
            Not possible to know whether the -i command line flag was used.
Solution:   Add the --clean command line argument.  Add the 'viminfofile'
            option.  Add "-u DEFAULTS".
c4da113ef9
2019-04-15 21:15:36 +02:00
Jan Edmund Lazo
e52f6f21a1 vim-patch:8.0.1093: various small quickfix issues
Problem:    Various small quickfix issues.
Solution:   Remove ":" prefix from title set by a user. Add the qf_id2nr().
            function. Add a couple more tests.  Update documentation.
            (Yegappan Lakshmanan)
b4d5fbabc9
2019-04-14 19:09:19 -04:00
Marco Hinz
21b108fe44
vim-patch:8.1.1140: not easy to find out what neighbors a window has (#9873)
Problem:    Not easy to find out what neighbors a window has.
Solution:   Add more arguments to winnr(). (Yegappan Lakshmanan)

46ad288b9b
2019-04-10 10:16:32 +02:00
Justin M. Keyes
ddd0eb6f51
startup: -es/-Es (silent/batch mode): skip swapfile #8540
To use Nvim as a scripting engine the side-effects of swapfiles and user
config should be avoided by default.
2019-04-10 03:27:25 +02:00
Justin M. Keyes
9d085c75ff vim-patch:8.0.0702: error in a timer can make Vim unusable #9826
Problem:    An error in a timer can make Vim unusable.
Solution:   Don't set the error flag or exception from a timer.  Stop a timer
            if it causes an error 3 out of 3 times.  Discard an exception
            caused inside a timer.
c577d813b7

closes #9826
2019-04-10 00:50:51 +02:00
glacambre
d928b036dc :stopinsert should leave terminal-mode #9856
Problem:  Calling :stopinsert from RPC while in terminal-mode does not
          go back to normal-mode.
Solution: Implement a check() handler for state_enter(), adapted from
          insert_check().

Fix #7807
2019-04-08 01:13:43 +02:00
Justin M. Keyes
ce76dffda4 doc: rewrite *feature-list* 2019-04-08 03:42:21 +02:00
Justin M. Keyes
27cd1e07ed doc [ci skip]
- README.md: Removed waffle.io because that service is shutting down.
2019-04-08 03:42:21 +02:00
roxma
8376d2c4b1 vim-patch:8.1.1123: avoid filtering autocomplete
Author: roxma <roxma@qq.com>

Problem:    No way to avoid filtering for autocomplete function, causing
            flickering of the popup menu.
Solution:   Add the "equal" field to complete items. (closes vim/vim#3887)
73655cf0ca

closes #9566
2019-04-07 00:56:26 +02:00
Marco Hinz
5510361a8c
vim-patch:8.1.0493: argv() and argc() only work on the current argument list
Problem:    argv() and argc() only work on the current argument list.
Solution:   Add a window ID argument. (Yegappan Lakshmanan, closes vim/vim#832)

e6e3989c1b
2019-04-04 20:24:39 +02:00
Marco Hinz
6b75d9f865
vim-patch:8.1.0218: cannot add matches to another window
Problem:    Cannot add matches to another window. (Qiming Zhao)
Solution:   Add the "window" argument to matchadd() and matchaddpos().
            (closes vim/vim#3260)

95e51470f1
2019-04-04 20:24:39 +02:00
Marco Hinz
2a73549ee8
vim-patch:8.1.1093: support for outdated tags format slows down tag parsing
Problem:    Support for outdated tags format slows down tag parsing.
Solution:   Remove FEAT_TAG_OLDSTATIC.

96428dd4e9
2019-04-02 22:20:53 +02:00
Abdelhakeem Osama
35362495c9 jumplist: avoid extra tail entry #9805
fixes #9775
2019-04-02 00:50:28 +02:00
Olivier G-R
d13803f64f keymap, terminal: more keycodes #9810
- input: recognize <kEqual>, <kComma>
- terminal.c: If we need to support function key, a change must be made
  in libvtermkey. Currently, it emulates strictly VT220 terminal, and
  returning numeric value in 'normal' mode is the expected behaviour.

closes #9810
2019-03-31 23:39:06 +02:00
Qiming zhao
9e52255de2 autocmd: rename MenuPopupChanged to CompleteChanged #9819 2019-03-31 01:15:41 +01:00
Shougo Matsushita
2d63b6d2c1 vim-patch:8.1.1068: cannot get all the information about current completion
Problem:    Cannot get all the information about current completion.
Solution:   Add complete_info(). (Shougo, Hirohito Higashi, closes vim/vim#4106)
fd133323d4
2019-03-30 22:24:35 +09:00
Justin M. Keyes
dfb7f6b349 Merge #9792
fixes #9791
closes #9792
2019-03-29 03:29:50 +01:00
Olivier G-R
f6fb370b1b keymap: add more (keypad) keycodes #9793
- K_KORIGIN instead of K_KCENTER: This name is similar to what is used
  by xev. Alternative could be K_KBEGIN as hinted here:
  https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-PC-Style-Function-Keys
  But I find Begin and Home too similar, and it might induced some
  confusion. The naming looked related to some old keyboard
  configuration.

- keymap.c: alias KPPeriod to kDel instead of kPoint.
  This might seems weird, but this is actually the behaviour that should
  be expected. libtermkey produces "KPPeriod" when num lock is off. To
  fix this would need to change this name in termkey.

closes #9780
closes #9793
2019-03-29 01:11:57 +01:00
Abdelhakeem
5eaa455479 vim-patch:8.1.0539: cannot build without the sandbox
Problem:    Cannot build without the sandbox.
Solution:   Set the secure option instead of using the sandbox.  Also restrict
            the characters from 'spelllang' that are used for LANG.vim.
            (suggested by Yasuhiro Matsumoto)
82e8c92ebe
2019-03-28 18:12:30 +02:00
Justin M. Keyes
127e13f53e doc, lint 2019-03-26 22:56:09 +01:00
Justin M. Keyes
bec4066033 gen_vimdoc.py: render nested lists, etc [ci skip]
- render_node() is now the main rendering function: it traverses a node
  and builds the Vim help text recursively.
- render_para() is weird and ugly, it is the entry-point for rendering
  the help text for one docstring'd function.
2019-03-26 21:33:06 +01:00
Justin M. Keyes
eeb19a346a doc: mention "pynvim" module rename
closes #9764
2019-03-26 21:17:12 +01:00
Justin M. Keyes
d614c7932c doc: move ui-wildmenu to deprecated.txt [ci skip] 2019-03-26 19:55:33 +01:00
Justin M. Keyes
fbaee922d1 doc [ci skip]
closes #9719
2019-03-26 19:55:33 +01:00
Dan Aloni
36762a00a8 signs: support multiple columns #9295
closes #990
closes #9295

- Support for multiple auto-adjusted sign columns.
  With this change, having more than one sign on a line, and with the
  'auto' setting on 'signcolumn', extra columns will shown automatically
  to accomodate all the existing signs.

  For example, suppose we have this view:

   5147             }
   5148
   5149             return sign->typenr;
   5150         }
   5151     }
   5152     return 0;
   5153 }
   5154

  We have GitGutter installed, so it tells us about modified lines that
  are not commmited. So let's change line 5152:

     5147             }
     5148
     5149             return sign->typenr;
     5150         }
     5151     }
   ~ 5152     return 0;
     5153 }
     5154

  Now we add a mark over line 5152 using 'ma' in normal mode:

      5147             }
      5148
      5149             return sign->typenr;
      5150         }
      5151     }
  a ~ 5152     return 0;
      5153 }
      5154

  Previously, Vim/Nvim would have picked only one of the signs,
  because there was no support for having multiple signs in a line.

- Remove signs from deleted lines.
  Suppose we have highlights on a group of lines and we delete them:

   +     6 use std::ops::Deref;
   --+   7 use std::borrow::Cow;
   --+   8 use std::io::{Cursor};
         9 use proc_macro2::TokenStream;
        10 use syn::export::ToTokens;
   --+  11 use std::io::Write;
   >>   12 use std::ops::Deref;

  Without this change, these signs will momentarily accumulate in
  the sign column until the plugins wake up to refresh them.

  + --+ --+ --+ >>  6

  Discussion: It may be better to extend the API a bit and allow this
  to happen for only certain types of signs. For example, VIM marks
  and vim-gitgutter removal signs may want to be presreved, unlike
  line additions and linter highlights.

- 'signcolumn': support 'auto:NUM' and 'yes:NUM' settings
- sort signs according to id, from lowest to highest. If you have
  git-gutter, vim-signature, and ALE, it would appear in this order:
  git-gutter - vim-signature - ALE.
- recalculate size before screen update
- If no space for all signs, prefer the higher ids (while keeping the
  rendering order from low to high).
- Prevent duplicate signs. Duplicate signs were invisible to the user,
  before using our extended non-standard signcolumn settings.
- multi signcols: fix bug related to wrapped lines.
  In wrapped lines, the wrapped parts of a line did not include the extra
  columns if they existed. The result was a misdrawing of the wrapped
  parts. Fix the issue by:
    1. initializing the signcol counter to 0 when we are on a wrap boundary
    2. allowing for the draw of spaces in that case.
2019-03-25 02:17:47 +01:00
Aman
8698830cbd doc #9751
closes #9750
2019-03-20 12:44:06 +01:00
Jan Edmund Lazo
14bfa0c578 vim-patch:8.1.0775: matching too many files as zsh
Problem:    Matching too many files as zsh. (Danek Duvall)
Solution:   Be more specific with zsh filetype patterns.
2bf60b3001
2019-03-17 20:49:27 -04:00
Jan Edmund Lazo
fb95bb38b5 vim-patch:8.1.0771: some shell filetype patterns end in a star
Problem:    Some shell filetype patterns end in a star.
Solution:   Make sure that patterns not ending in a star are preferred.
147e7d0cab
2019-03-17 20:38:55 -04:00
Jan Edmund Lazo
8394bf676b vim-patch:8.1.1017: off-by-one error in filetype detection
Problem:    Off-by-one error in filetype detection.
Solution:   Also check the last line of the file.
493fbe4abe
2019-03-17 20:35:03 -04:00
Jan Edmund Lazo
536be31a19 vim-patch:8.1.0858: 'indentkeys' and 'cinkeys' defaults are different
Problem:    'indentkeys' and 'cinkeys' defaults are different.
Solution:   Make them the same, update docs. (close vim/vim#3882)
ce655743ba
2019-03-17 12:27:34 -04:00
Marco Hinz
9ef8d0d6b0
Merge pull request #9726 from mhinz/nvim_win_get_config
Closes #9723
2019-03-17 02:34:50 +01:00
Tim Morgan
d8316f2a1b clipboard: Always copy as plain text in Wayland #9737
`wl-copy` by default tries to determine the mime type of a copied bit of
text. From the [readme](https://github.com/bugaevc/wl-clipboard):

> wl-copy automatically infers the type of the copied content by running
> xdg-mime(1) on it.

So copying a Ruby script from Nvim may store it in the Wayland clipboard
as mime-type `application/x-ruby`.

This is a small reproduction without Nvim:

    $ cat test.rb
    #!/usr/bin/env ruby
    puts 'hello world'
    $ cat test.rb | wl-copy
    $ wl-paste --list-types
    application/x-ruby

This commit fixes that by telling wl-copy that all text copied from
Nvim has the mime type `text/plain`.

    $ cat test.rb | wl-copy --type text/plain
    $ wl-paste --list-types
    text/plain;charset=utf-8
2019-03-16 22:55:24 +01:00
Björn Linse
be8ebba325 Allow using internal popupmenu or ext_popupmenu for wildmenu
Deprecate ext_wildmenu. ext_popupmenu already contains more state (anchor
position), and will allow further expansion (info about items).
2019-03-16 19:53:21 +01:00
Marco Hinz
86992a7bb1
api: numerous small fixes 2019-03-16 15:02:56 +01:00