Commit Graph
1067 Commits
Author SHA1 Message Date
Björn Linse e18177692a screen.c: make negative 'writedelay' show all redraws
Currently writedelay shows the sequence of characters that are sent to
the UI/TUI module. Here nvim has already applied an optimization: when
attempting to put a char in a screen cell, if the same char already was
there with the same attributes, UI output is disabled. When debugging
redrawing it it sometimes more useful to inspect the redraw stream one
step earlier, what region of the screen nvim actually is recomputing
from buffer contents (win_line) and from evaluating statusline
expressions.

Take the popupmenu as an example. When closing the popupmenu (in the
TUI), currently 'writedelay' looks like vim only is redrawing the region
which the pum covered. This is not what happens internally: vim redraws
the entire screen, even if only outputs the changed region.

This commit allows negative values of 'writedelay', which causes a delay
for all redrawn characters, even if the character already was displayed
by the UI before.
2018-02-24 09:10:00 +01:00
Matthieu Coudron 384a39479a 'fillchars': fix defaults logic; handle ambiwidth=double #7986
Update tests.
2018-02-23 00:48:35 +01:00
Justin M. Keyes 0c930c2969 defaults: 'fillchars'
Most fonts should have these by now. Both are a significant visual
improvement.

- Vertical connecting bar `│` is used by tmux, pstree, Windows 7 cmd.exe
  and nvim-qt.exe.
- Middle dot `·` works on Windows 7 cmd.exe, nvim-qt.exe.

For reference: tmux uses these chars to draw lines: │ ├ ─
2018-02-23 00:48:35 +01:00
Shougo 00665d3c70 vim-patch:8.0.1493: completion items cannot be annotated (#8003)
Problem:    Completion items cannot be annotated.
Solution:   Add a "user_data" entry to the completion item. (Ben Jackson,
            coses vim/vim#2608, closes vim/vim#2508)

https://github.com/vim/vim/commit/9b56a57cdae31f7a2c85d440392bf63d3253a158
2018-02-18 23:56:59 +01:00
Justin M. Keyes eccd60aaf4 runtime/doc: modeline is mandatory in help docs
see Vim 8.0.0650 e9134421ab
2018-02-18 22:17:47 +01:00
Björn Linse 6e5cb0debd ui: refactor ui options 2018-02-13 20:48:51 +01:00
Justin M. Keyes bbdb074aec vim-patch:8.0.0721: :argedit can only have one argument
Problem:    :argedit can only have one argument.
Solution:   Allow for multiple arguments. (Christian Brabandt)
https://github.com/vim/vim/commit/90305c66a8637ea43a6509c7ab597734dd218365
2018-02-11 15:29:19 +01:00
Justin M. Keyes c8356e1151 vim-patch:8.0.0440: not enough test coverage in Insert mode
[Nvim note: test_override() omitted]

Problem:    Not enough test coverage in Insert mode.
Solution:   Add lots of tests.  Add test_override(). (Christian Brabandt,
            closes vim/vim#1521)
https://github.com/vim/vim/commit/eb992cb90fd79c77ad2743459ac898e6ac3de939
2018-02-11 15:27:55 +01:00
Justin M. Keyes a265334406 defaults: sidescroll=1
ref #6289
2018-02-09 02:15:25 +01:00
Justin M. Keyes 709a87d194 Merge #7463 'incsearch + hlsearch highlight all' 2018-02-01 23:25:55 +01:00
nate dfcd09dc22 vim-patch:8.0.0672: synconcealed() changes too often #7887
Problem:    Third item of synconcealed() changes too often. (Dominique Pelle)
Solution:   Reset the sequence number at the start of each line.
https://github.com/vim/vim/commit/cc0750dc6e878394ab0fd922b7ea4280918ae406

closes #7589
2018-02-01 02:12:21 +01:00
Mahmoud Al-Qudsi 5d2dd2ebe2 win: has("wsl") on Windows Subsystem for Linux #7330
Per CMAKE docs, CMAKE_HOST_SYSTEM_VERSION is the result of `uname -r`:
https://cmake.org/cmake/help/v3.4/variable/CMAKE_HOST_SYSTEM_VERSION.html?highlight=uname

    A numeric version string for the system. On systems that support
    uname, this variable is set to the output of uname -r. On other
    systems this is set to major-minor version numbers.

On Windows it is something like "6.1", so it won't match ".*-Microsoft".

Closes #7329
2018-01-30 21:12:49 +01:00
Ömer Sinan Ağacan cd973be11b vim-patch:8.0.1250
Problem:    'hlsearch' highlighting not removed after incsearch (lacygoill)
Solution:   Redraw all windows. Start search at the end of the match.  Improve
            how CTRL-G works with incremental search. Add tests. (Christian
            Brabandt, Hirohito Higashi, haya14busa, closes vim/vim#2267)

https://github.com/vim/vim/commit/f8f8b2eadbaf3090fcfccbab560de5dbd501833d
2018-01-26 18:39:20 +03:00
Ömer Sinan Ağacan 41394d8236 vim-patch:8.0.1238
Problem:    Incremental search only shows one match.
Solution:   When 'incsearch' and and 'hlsearch' are both set highlight all
            matches. (haya14busa, closes vim/vim#2198)

https://github.com/vim/vim/commit/2e51d9a0972080b087d566608472928d5b7b35d7
2018-01-26 18:39:20 +03:00
KunMing Xie 8b1f7d8774 vim-patch:8.0.0431 (#7908)
vim-patch:8.0.0431: 'cinoptions' cannot set indent for extern block
Problem:    'cinoptions' cannot set indent for extern block.
Solution:   Add the "E" flag in 'cinoptions'. (Hirohito Higashi)
https://github.com/vim/vim/commit/7720ba8599162fbbb8f7fc034f674a2ccd3ca7f1
2018-01-25 11:26:47 +01:00
Justin M. Keyes 3308b76339 Merge #7890 'vim-patch: various' 2018-01-22 23:13:54 +01:00
Justin M. Keyes 154822933e vim-patch:8.0.0659: no test for conceal mode
Problem:    No test for conceal mode.
Solution:   Add a conceal mode test. (Dominique Pelle, closes vim/vim#1783)

https://github.com/vim/vim/commit/4d785895d1f8b54cdd3fabd87446ca692f49e94e
2018-01-21 18:42:45 +01:00
Justin M. Keyes 53749e1749 defaults: enable 'cscopeverbose', and deprecate it 2018-01-21 13:18:05 +01:00
Justin M. Keyes e2eff5269f doc: if_cscop: cleanup 2018-01-21 12:41:35 +01:00
Justin M. Keyes eb4aab7173 ui: forward 'linespace' option #7883
ref #7520
2018-01-21 09:39:12 +01:00
Justin M. Keyes f8f7f9d5f5 vim-patch:8.0.0151,3,4 #7389
vim-patch:8.0.0151
Problem:    To pass buffer content to system() and systemlist() one has to
            first create a string or list.
Solution:   Allow passing a buffer number. (LemonBoy,
            closes vim/vim#1240)
https://github.com/vim/vim/commit/12c4492dd35e0cd83c8816be2ec849b836109882

vim-patch:8.0.0153
Problem:    system() test fails on MS-Windows.
Solution:   Deal when extra space and CR.
https://github.com/vim/vim/commit/9d9c35651712b88c81f1ae11091de1fd0bbbd35c

vim-patch:8.0.0154
Problem:    system() test fails on OS/X.
Solution:   Deal with leading spaces.
https://github.com/vim/vim/commit/31f19ce0a052f7c76d44a9a190e468c79cf5d56d
2018-01-15 23:50:40 +01:00
Justin M. Keyes 7c4bb23ff3 defaults: do :filetype stuff unless explicitly "off"
Until now, the default `:filetype ...` setup was skipped if the user
config touched `:filetype` in any way (including implicitly via `:syntax
on`).  No one needs that, and it's very confusing.

Instead, proceed with `:filetype ... on` unless the user explicitly
called `:filetype ... off`.

closes #7765
2018-01-04 10:32:09 +01:00
Justin M. Keyes 60716371e9 tui: support TERM=konsole-256color
TERM=konsole-256color is recognized by ncurses.

TERM=konsole-xterm might be more clever, but should not be necessary
(for Nvim at least), we already special-case Konsole in various places.
We may need to clean up some areas that currently assume Konsole always
"pretends xterm" (`TERM=xterm-256color`), though I didn't find any such
cases.

ref #6403
ref https://github.com/neovim/neovim/issues/6403#issuecomment-348713346
2018-01-01 20:30:30 +01:00
James McCoy 9fe6c12e81 doc: deprecate 'gdefault'
[ci skip]
2017-12-31 10:18:43 -05:00
James McCoy d0c4bd23f7 vim-patch:8.0.0657: cannot get and set quickfix list items
Problem:    Cannot get and set quickfix list items.
Solution:   Add the "items" argument to getqflist() and setqflist(). (Yegappan
            Lakshmanan)

https://github.com/vim/vim/commit/6a8958db259d4444da6e6956e54a6513c1af8860
2017-12-31 01:00:59 -05:00
James McCoy 3efc50d1d4 vim-patch:8.0.0641: cannot set a separate highlighting for the quickfix line
Problem:    Cannot set a separate highlighting for the current line in the
            quickfix window.
Solution:   Add QuickFixLine. (anishsane, closes vim/vim#1755)

https://github.com/vim/vim/commit/2102035488e80ef6fd5038ed15d21672712ba0f6
2017-12-31 00:32:59 -05:00
James McCoy 6742fd8aea vim-patch:8.0.0634: cannot easily get to the last quickfix list
Problem:    Cannot easily get to the last quickfix list.
Solution:   Add "$" as a value for the "nr" argument of getqflist() and
            setqflist(). (Yegappan Lakshmanan)

https://github.com/vim/vim/commit/875feea6ce223462d55543735143d747dcaf4287
2017-12-31 00:25:01 -05:00
James McCoy 89d1b36084 vim-patch:8.0.0591: changes to eval functionality not documented
Problem:    Changes to eval functionality not documented.
Solution:   Include all the changes.

https://github.com/vim/vim/commit/45d2cca1ea3f90fc70ad99d0c6812a9d8536303c
2017-12-30 23:35:45 -05:00
Justin M. Keyes fe60fa9faa doc
vim-patch:8.0.1206: no autocmd for entering or leaving the command line
(commit a4f6cec7a3)

NA patches:
vim-patch:8.0.0320: warning for unused variable with small build
2017-12-26 03:58:28 +01:00
Justin M. Keyes dee78a4095 Merge #7708 from ZyX-I/hide-container-impl 2017-12-23 18:17:01 +01:00
Björn Linse 308dd53783 channel: check for existance before trying to set key
This avoids an error message in async context, where it is not safe.
2017-12-23 14:02:00 +01:00
ZyX c9ab209f9e Merge branch 'master' into hide-container-impl 2017-12-23 15:27:42 +03:00
James McCoy 4d2d844c12 vim-patch:8.0.0580: cannot set the valid flag with setqflist()
Problem:    Cannot set the valid flag with setqflist().
Solution:   Add the "valid" argument. (Yegappan Lakshmanan, closes vim/vim#1642)

https://github.com/vim/vim/commit/f1d21c8cc83f40c815b6bf13cd2043152db533ee
2017-12-18 21:44:42 -05:00
James McCoy fb8592b7ba vim-patch:8.0.0517: there is no way to remove quickfix lists
Problem:    There is no way to remove quickfix lists (for testing).
Solution:   Add the 'f' action to setqflist(). Add tests. (Yegappan
            Lakshmanan)

https://github.com/vim/vim/commit/b6fa30ccc39cdb7f1d07b99fe2f4c6b61671dac2
2017-12-18 14:35:55 -05:00
James McCoy c162bc6294 vim-patch:8.0.0420: text garbled when the system encoding differs from 'encoding'
Problem:    When running :make the output may be in the system encoding,
            different from 'encoding'.
Solution:   Add the 'makeencoding' option. (Ken Takata)

https://github.com/vim/vim/commit/2c7292dc5bbf155fe2192d417363b8c085759cad
2017-12-17 11:20:28 -05:00
ZyX 7f3b9a4acc Merge branch 'master' into hide-container-impl 2017-12-16 14:27:41 +03:00
ZyX fb07391ce4 window: Fix matchaddpos() and enhance error reporting 2017-12-15 11:38:34 +03:00
Björn Linse 34057045be ui: forward relevant option updates to UIs (#7520)
also make termguicolors mutable after startup
2017-12-12 18:23:19 +01:00
Justin M. Keyes ad9c2d3cb9 doc
closes #7622
2017-12-10 17:13:22 +01:00
Justin M. Keyes dc232b74fb doc: hack to avoid doxygen bug
Use `@cond <something>` to obscure a section from doxygen.

doxygen thinks kvec_withinit_t() is a function. That adds noise to the
generated API documentation, and also prevents the following function
from being noticed.
2017-12-10 17:13:22 +01:00
Justin M. Keyes 3cc7ebf810 Merge #7234 'built-in expression parser' 2017-12-09 18:47:34 +01:00
Justin M. Keyes 3aa24042a8 tui: dump termcap info if -V3 ('verbose' >= 3)
Get terminal debugging info by starting Nvim with 'verbose' level 3:

    nvim -V3log

This is like Vim's `:set termcap`, which was removed in Nvim (and would
be very awkward to restore because of the decoupled UI).
2017-12-05 01:45:39 +01:00
Filip Szymański e9990b43c2 Fix job_control doc 2017-12-03 20:49:01 +01:00
ZyX 7af8601db4 Merge branch 'master' into expression-parser
Hoping that could fix the LSAN issue: no idea what it is talking about.
2017-12-03 16:19:40 +03:00
Wang Shidong ee2e6d1d1a Fix type in job_control doc 2017-12-01 06:40:03 -06:00
ZyX 5ab0f988ca *: Replace all occurrences of NVim with Nvim 2017-11-30 11:53:25 +03:00
ZyX b588ccddd7 Merge branch 'master' into expression-parser 2017-11-30 02:02:55 +03:00
Justin M. Keyes 944e3c0619 tui: expose terminal type in 'term' option
Since "builtin" terminfo definitions were implemented (7cbf52db1b),
the decisions made by tui.c and terminfo.c are more relevant. Exposing
that decision in the 'term' option helps with troubleshooting.

Also: remove code that allowed setting t_Co. `:set t_Co=…` has never
worked; the highlight_spec test asserting that nvim_set_option('t_Co')
_does_ work makes no sense, and should not have worked.
2017-11-27 09:45:32 +01:00
ZyX 11a05e778f doc: Some small fixes 2017-11-26 15:56:27 +03:00
ZyX b9c7813058 Merge branch 'master' into expression-parser 2017-11-26 15:54:03 +03:00