Commit Graph

10313 Commits

Author SHA1 Message Date
Jaskaran Singh
3afb397407 syntax, TUI: support "strikethrough"
fix #3436

Includes:
vim-patch:8.0.1038: strike-through text not supported
2019-09-13 14:46:19 -07:00
Jan Edmund Lazo
5f95b35c7a vim-patch:8.1.0267: no good check if restoring quickfix list worked
Problem:    No good check if restoring quickfix list worked.
Solution:   Let qf_restore_list() return OK/FAIL. (Yegappan Lakshmanan)
90f1e2b7bc
2019-09-13 02:15:33 -04:00
Jan Edmund Lazo
47357270ae vim-patch:8.1.0261: Coverity complains about a negative array index
Problem:    Coverity complains about a negative array index.
Solution:   When qf_id2nr() cannot find the list then don't set qf_curlist.
38efd1d17a
2019-09-13 01:41:01 -04:00
Jan Edmund Lazo
fba9c72495 vim-patch:8.1.0259: no test for fixed quickfix issue
Problem:    No test for fixed quickfix issue.
Solution:   Add a test.  Clean up the code a bit. (Yegappan Lakshmanan)
3f347e4716
2019-09-13 00:47:30 -04:00
Jan Edmund Lazo
4ef9ad0514 vim-patch:8.1.0248: duplicated quickfix code
Problem:    duplicated quickfix code.
Solution:   Move the code to a function.
8d8a65e389
2019-09-13 00:35:14 -04:00
Jan Edmund Lazo
8ba492e4e2 vim-patch:8.0.1772: quickfix: mixup of FALSE and FAIL, returning -1
Problem:    Quickfix: mixup of FALSE and FAIL, returning -1.
Solution:   Use FAIL and INVALID_QFIDX. (Yegappan Lakshmanan)
29ce409bfc
2019-09-13 00:14:04 -04:00
Justin M. Keyes
492ac04f7e UIEnter/UILeave: fire for embedder UI, builtin TUI
Before this, --embed UIs (without --headless) would not trigger UIEnter.

For TUI, maybe UIEnter isn't useful, but:
- It is less "surprising"/special.
- Makes documentation simpler.
- When TUI becomes a coprocess, it will happen anyway.
2019-09-12 17:04:05 -07:00
Justin M. Keyes
589f612adf rename: UIAttach/UIDetach => UIEnter/UILeave
"enter"/"leave" is more conventional for Vim events, and
"attach"/"detach" distinction does not gain much.
2019-09-12 17:04:05 -07:00
Justin M. Keyes
44d45e29ea API/nvim_list_uis(): include "chan" field for TUI
Even though it's always zero currently, it's less confusing if all UIs
have the same fields.
2019-09-12 17:04:05 -07:00
Justin M. Keyes
6dd56d0902 UIAttach, UIDetach
doc: ginit.vim, gvimrc
fix #3656
2019-09-12 17:04:05 -07:00
Rui Abreu Ferreira
e9cf515888 UIAttach, UIDetach 2019-09-12 15:52:54 -07:00
Jan Edmund Lazo
500c344790 lint 2019-09-12 01:47:56 -04:00
Jan Edmund Lazo
e3c67755b8 fixup! cursor_shape: check if modep is nonnull 2019-09-11 22:29:50 -04:00
Jan Edmund Lazo
6508215b5c Remove excess <stdint.h> 2019-09-11 22:27:45 -04:00
Justin M. Keyes
b78be5bd08 rename: SplitEvent => MulticastEvent #10989
"Multicast" is perhaps a more conventional name for the concept.
"One-shot" is the conventional name for how the event is (currently)
scheduled.
2019-09-11 15:39:23 -07:00
Justin M. Keyes
7652904f79 eval: wait(): always spin up dummy-timer #10990
This avoids getting "stuck".  If user actually _wants_ to get stuck
forever, they could use `:sleep` or specify a really big `interval`.
2019-09-11 12:56:46 -07:00
Justin M. Keyes
c8223e1618 Merge #10995 'paste: fix paste in terminal mode' 2019-09-11 12:45:28 -07:00
Björn Linse
ffa029ad1c paste: fix paste in terminal mode 2019-09-11 20:12:29 +02:00
Justin M. Keyes
06bfb07e35 doc
fix #10127
fix #5972
2019-09-11 00:10:27 -07:00
Daniel Hahler
1adbdb397d doc: nvim_ui_pum_set_height [ci skip] 2019-09-10 23:27:00 -07:00
Jan Edmund Lazo
2ed7cda8cd spell: assert nonull pointers 2019-09-10 22:19:49 -04:00
Jan Edmund Lazo
b8a338ee6a cursor_shape: check if modep is nonnull 2019-09-10 22:19:49 -04:00
Jan Edmund Lazo
f81619aafe regexp: assert nonnull pointer for regnext() 2019-09-10 21:54:05 -04:00
Jan Edmund Lazo
4a6ab3494a quickfix: fix pvs/v547 warning 2019-09-10 21:54:04 -04:00
Björn Linse
e11dd1110f terminal: fix rgb rendering of palette colors
simplify handling of default colors

nvim is always true color internally, remove ui_rgb_attached() check.

Fix "runtime termguicolors" test. The test actually reflected broken behavior
in (parent) nvim: nvim_ui_set_option("rgb", true) was not respected by existing
:terminal instances, so all 16-palette colors became dark blue.
2019-09-10 20:12:01 +02:00
Daniel Hahler
0bb466f0fc lint / test grouping 2019-09-10 20:09:38 +02:00
Paul "LeoNerd" Evans
d57250ae64 Changes for new VTermColor struct 2019-09-10 20:09:38 +02:00
Jan Edmund Lazo
477113d1ae vim-patch:8.0.1309: cannot use 'balloonexpr' in a terminal #10983
(Port some refactoring, but ignore "balloon" changes.)

Problem:    Cannot use 'balloonexpr' in a terminal.
Solution:   Add 'balloonevalterm' and add code to handle mouse movements in a
            terminal. Initial implementation for Unix with GUI.
51b0f3701e
2019-09-09 21:23:44 -07:00
Jan Edmund Lazo
a84366439f vim-patch:8.0.0941: existing color schemes don't like StatusLineTerm
Problem:    Existing color schemes don't work well with StatusLineTerm.
Solution:   Don't use "reverse", use fg and bg colors.  Also add
            StatusLineTermNC.
05fbfdcda4
2019-09-09 20:33:18 -04:00
Jan Edmund Lazo
66e7a6c9fd vim-patch:8.0.0937: user highlight groups not adjusted for terminal
Problem:    User highlight groups are not adjusted for StatusLineTerm.
Solution:   Combine attributes like for StatusLineNC.
bce4f62d30
2019-09-09 20:28:01 -04:00
Justin M. Keyes
0809533b88 Merge #10546 'doc' 2019-09-09 14:42:20 -07:00
Justin M. Keyes
853683e72a provider: has("python3_dynamic") et al. #10980
Vim added more flags for testing yet more dimensions of its Python
situation.  Handle those in eval_has_provider().

vim-patch:8.0.1436: not enough information about what Python version may work
Problem:    Not enough information about what Python version may work.
Solution:   Add "python_compiled", "python3_compiled", "python_dynamic" and
            "python3_dynamic" values for has().

ref: https://github.com/neovim/neovim/pull/10942#issuecomment-529479500
2019-09-09 10:54:07 -07:00
Björn Linse
e5d5fc0857 doc/API/lua: detaching Lua buffer callbacks 2019-09-09 10:52:12 -07:00
Justin M. Keyes
456f1d4bdd doc: |api-fast| [ci skip] 2019-09-09 10:52:12 -07:00
Marvim the Paranoid Android
225941ddd0 version.c: update [ci skip] #10961
vim-patch:8.1.1680: the command table is not well aligned
vim-patch:8.1.1994: MS-Windows: cannot build with eval but without cscope
vim-patch:8.1.2002: version number 2000 missing
vim-patch:8.1.2003: MS-Windows: code page 65001 is not recognized
vim-patch:8.1.2006: build failure with huge features but without channel feature
vim-patch:8.1.2015: terminal altscreen test still fails sometimes
vim-patch:8.1.2016: terminal altscreen test now fails on MS-Windows

`beval` patches are N/A now. See https://github.com/neovim/neovim/pull/10942#issuecomment-528029830
vim-patch:8.0.1366: 1ad022a9b8
vim-patch:8.1.0444: unnecessary check for NULL pointer
vim-patch:8.1.0652: freeing memory for balloon eval too early
vim-patch:8.1.1302: v:beval_text is not tested in Visual mode
vim-patch:8.1.1648: MS-Windows: build error with normal feaures
vim-patch:8.1.1650: warning for using uninitialized variable
vim-patch:8.1.1654: GUI: screen updates from 'balloonexpr' are not displayed
vim-patch:8.1.1708: Coverity warns for using uninitialized variable
2019-09-09 10:03:59 -07:00
Justin M. Keyes
81c3fa6c9d doc 2019-09-09 09:53:19 -07:00
Justin M. Keyes
05c668f684 paste: fix normal-mode paste by different approach #10976
Forcing insert-mode after the first paste-chunk seems to work, as an
alternative to a9e2bae0eb (insert-before-cursor).

NB: Dot-repeat needs to match the original action.  Since a9e2bae0eb
changed paste to insert-before-cursor, dot-repeat must also. But that
makes dot-repeat unpleasant/unusual.
2019-09-09 08:29:49 -07:00
Jan Edmund Lazo
8dde9b58e5 vim-patch:8.1.1197: when starting with multiple tabs file messages is confusing
Problem:    When starting with multiple tabs file messages is confusing.
Solution:   Set 'shortmess' when loading the other tabs. (Christian Brabandt)
c75e812623
2019-09-08 23:16:54 -04:00
Justin M. Keyes
a9e2bae0eb paste: insert before cursor always
Inserting "after" the cursor in Normal-mode, for big paste-streams, is
not reliable: sometimes the text "after" the cursor ends up in the
middle of the pasted text.  Maybe the cursor position is not updated?

To avoid weird behavior, always paste "before".  Maybe nvim_put() or
vim.paste() can be fixed more properly later.
2019-09-08 16:42:11 -07:00
Justin M. Keyes
acd2729573 paste: do not clobber msg area for small pastes 2019-09-08 15:37:32 -07:00
Justin M. Keyes
0dea44f93c paste/cmdline: discard all chunks after first line
Problem:  If multiple paste "chunks" are streamed, chunks after the
          first line are pasted into the buffer.
Solution: Check for cmdline-mode for all chunks in a paste-stream.
2019-09-08 15:37:32 -07:00
Justin M. Keyes
ccd947ca4a vim-patch:8.0.0970: passing invalid highlight id #10972
(We don't implement StatusLineTerm{NC}, but this patch seems generally relevant.)

Problem:    if there is no StatusLine highlighting and there is StatusLineNC
            or StatusLineTermNC highlighting then an invalid highlight id is
            passed to combine_stl_hlt(). (Coverity)
Solution:   Check id_S to be -1 instead of zero.
d6a7b3e6bb
2019-09-08 15:10:18 -07:00
Justin M. Keyes
d91f4cd7d0 paste: reset 'paste' option immediately #10974
- Workaround #10966: 'paste' option is not always reset.
- In any case there's not much reason to wait until phase=3, because
  pasting in cmdline-mode skips lines after the first line (thus the
  `:set paste .. :set nopaste` dance happens only ~once).
2019-09-08 14:58:47 -07:00
Björn Linse
77a93957d3 Merge pull request #10777 from glacambre/fix_10042
ex_getln.c: fix <S-Tab> not triggering Pmenu when wildoptions=pum
2019-09-08 22:42:24 +02:00
Jan Edmund Lazo
554566ccea vim-patch:8.1.2007: no test for what 8.1.1926 fixes #10970
Problem:    No test for what 8.1.1926 fixes.
Solution:   Add a test case.
fca068b977
2019-09-08 12:22:55 -07:00
glacambre
958ca938b4 ex_getln.c: fix <S-Tab> not triggering pum when wildoptions=pum (#10042)
Some of the logic that was present for <Tab> was missing from <S-Tab>.

Closes https://github.com/neovim/neovim/issues/10042.
2019-09-08 20:47:22 +02:00
Björn Linse
288526ae73 Merge pull request #10475 from erw7/fix-ext-popupmenu
Fix some keys not working in ext_popupmenu
2019-09-08 20:42:32 +02:00
Björn Linse
19993bca4a rpc: allow handling of nvim_ui_try_resize at the pager
This makes external UI behave consistenly with TUI w.r.t resizes.
Which will be needed anyway as TUI will use the external UI protocol
soon.
2019-09-08 15:24:14 +02:00
Björn Linse
bf9ff5148a messages: redraw after resize in pager
note: does not "return" space at the bottom to the caller
2019-09-08 15:24:14 +02:00
Björn Linse
f72c7b0b3a messages: batch draw :map 2019-09-08 15:24:14 +02:00