| Commit message (Collapse) | Author | Age |
|\
| |
| |
| |
| | |
phodge/7688-nvim-buf-lines-should-return-empty-list-for-unloaded-buffer
handle unloaded buffers in nvim_buf_*() functions
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
closes #8362
Vim's code calls `call_shell` directly from `get_system_output_as_rettv`
whereas in Nvim this function has been rewritten to not call `call_shell` but to call
`os_system` via `do_os_system`, losing the support for profiling and verbose.
Changing the code to call `call_shell` from `get_system_output_as_rettv`
seems to be too complicated to be worth it on the current version of the
code. So this commit duplicates the relevant code.
|
|/
|
|
|
|
|
|
|
|
|
| |
The following (run as a script) used to cause a crash due to :sign using a
special redraw (not updating nvim's specific highlight data structures)
without proper redraw first, as split just flags for redraw later.
set cursorline
sign define piet text=>> texthl=Search
split
sign place 3 line=2 name=piet buffer=1
|
| |
|
|
|
|
| |
some clients assume this, so tests should check it
|
| |
|
|\ |
|
| | |
|
|/
|
|
|
|
|
|
|
| |
directory (#8762)
Problem: :packadd does not load packages from the "start" directory.
(Alejandro Hernandez)
Solution: Make :packadd look in the "start" directory if those packages were
not loaded on startup.
https://github.com/vim/vim/commit/9e1d399e63903c6f84d7888ad8d84ebf4e29d8a1
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add ext_newgrid and ext_hlstate extensions. These use predefined
highlights and line-segment based updates, for efficiency and
simplicity.. The ext_hlstate extension in addition allows semantic
identification of builtin and syntax highlights.
Reimplement the old char-based updates in the remote UI layer, for
compatibility. For the moment, this is still the default. The bulitin
TUI uses the new line-based protocol.
cmdline uses curwin cursor position when ext_cmdline is active.
|
|
|
|
|
| |
This allows us to keep track of the source higlight groups,
and not only the final combined highlights.
|
|
|
|
|
|
|
| |
Problem: ":if 0|syntax {on,off}|endif" skips the default of "syntax on"
because the executor was setting the `did_syntax_onoff` flag even though
"syntax {on,off}" is not actually executed.
closes #8728
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| | |
Show a proper confirmation dialog when trying to unload a terminal buffer while
the confirm option is set or when :confirm is used.
Fixes https://github.com/neovim/neovim/issues/4651
|
|\ \
| |/
|/| |
Fix redrawing issues with narrow screen and remove extra wait in resize tests
|
| |
| |
| |
| |
| | |
Before this, bottom of screen got messed up when modemsg (+ one extra
space to not force terminal scroll) didn't fit on one line.
|
| |
| |
| |
| | |
Saves ~10 seconds in UI tests
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
closes #8466
closes #8664
Regression by 0d7daaad98d5.
- Fix length comparison.
- Fix loop(s) which iterated over all fields of array `pcc` even if it
was not filled up (try unicode 0x9f as statusline character).
Note about the tests:
- To input unicode with more than two hex digits you can use <C-v>U...:
a + U+fe20: a︠
a + U+fe20 + U+fe21: a︠︡
|
| |
|
|
|
|
|
|
| |
This test is mostly a demo/reference for:
https://github.com/neovim/neovim/issues/8634#issuecomment-400940467
so let's not pay a 1s penalty.
|
|
|
|
| |
ref #8634
|
| |
|
| |
|
|
|
|
| |
closes #8575
|
|
|
|
|
|
|
|
|
|
|
|
| |
closes #7383
closes #7715
This implements the compromise described in #7383:
* low-priority CursorLine if foreground is not set
* high-priority ("same as Vim" priority) CursorLine if foreground is set
ref d1874ab2821d076397290cc154d87ec2dc352c79
ref 56eda2aa17c80ba380b606f9466f288fb8162dd3
|
|
|
| |
Fixes #8591
|
|
|
|
|
|
| |
It validates list items with tv_check_str_on_nr()
to catch invalid types (ex. E745, E805).
If there is an invalid item, it does not write to the file.
|
|
|
|
|
|
| |
Because we default to laststatus=2 (statusline is always visible), the
:edit message is not useful.
ref #6289
|
|
|
|
|
|
|
|
|
| |
DWIM: avoid empty buffer 1 when stdin was empty. If other files were
specified at startup, we assume that stdin is only accidentally
not-a-TTY: user did not intend to send text from it.
ref #8560
ref #8561
|
|
|
|
|
|
|
|
|
|
|
|
| |
If stdin is not a TTY we read it into buffer 1, as text. But if the
stdin pipe is empty, Nvim was most likely invoked for some other reason.
DWIM: select buffer 2 (if it exists). Example:
echo file1 | xargs nvim
closes #8560
closes #8561
ref https://github.com/equalsraf/neovim-qt/issues/417
|
|
|
|
|
|
|
|
|
|
| |
Before this change, -E/-Es without `-u NONE` reads stdin as Ex commands.
It should always read stdin as text (into buffer 1), like this:
echo foo | nvim -Es +'%p'
foo
echo foo | nvim -Es -u NORC +'%p'
foo
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This changes Ex mode (Q, -e) to work like Vim's "improved Ex mode"
(gQ, -E). That brings some small behavior differences, but should not
impact most Ex scripts (unless, for example, they depend on mappings
being disabled--but that can be solved for -e by skipping user config).
Before this change:
* the screen test hangs.
After this change:
* Q acts like gQ.
* -e/-es differs from -E/-Es only in its treatment of stdin.
This moves towards potentially removing getexmodeline().
(HINT: That does NOT mean "removing Ex mode", it means removing the
Vi-compatible Ex mode, which differs from Vim's "improved Ex mode" only
in some minor details (e.g. mappings are disabled).)
ref #1089 :-)~
|
|
|
|
|
|
|
|
| |
Problem: For some people the hint about quitting is not sufficient.
Solution: Put <Enter> separately. Also use ":qa!" to get out even when
there are changes.
https://github.com/vim/vim/commit/28a8193e3113f676f89fb6312b099d849df881d3
|
|\
| |
| | |
Add fillchar for EndOfBuffer and check for invalid UTF-8
|
| | |
|
| |
| |
| |
| |
| | |
This option allows configuring what character is shown on the empty
lines at the end of a buffer, previously hardcoded to ‘~’
|
|/
|
|
|
|
|
|
| |
According to POSIX[0], only octal escapes are supported by the printf
command. GNU coreutils' printf and some shells' builtin printf versions
which support hex escapes, but dash and non-GNU printf do not.
[0]: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/printf.html
|
| |
|
|
|
|
| |
(#8534)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
FEATURES:
3cc7ebf8107b #7234 built-in VimL expression parser
6a7c90464882 #4419 implement <Cmd> key to invoke command in any mode
b8363283faac #7679 'startup: treat stdin as text instead of commands'
58b210e1146f :digraphs : highlight with hl-SpecialKey #2690
7a13611ba203 #8276 'startup: Let `-s -` read from stdin'
1e71978cf032 events: VimSuspend, VimResume #8280
1e7d5e8cdf98 #6272 'stdpath()'
f96d99ad1118 #8247 server: introduce --listen
e8c39f72fdf1 #8226 insert-mode: interpret unmapped META as ESC
98e71123900f msg: do not scroll entire screen (#8088)
f72630b78429 #8055 let negative 'writedelay' show all redraws
5d2dd2ebe28c win: has("wsl") on Windows Subsystem for Linux #7330
a4f6cec7a31f cmdline: CmdlineEnter and CmdlineLeave autocommands (#7422)
207b7ca4bc16 #6844 channels: support buffered output and bytes sockets/stdio
API:
f85cbea725b4 #7917 API: buffer updates
418abfc9d069 #6743 API: list information about all channels/jobs.
36b2e3f743aa #8375 API: nvim_get_commands
273d2cd5d5cf #8329 API: Make nvim_set_option() update `:verbose set …`
8d40b3617c8b #8371 API: more reliable/descriptive VimL errors
ebb1acb3c083 #8353 API: nvim_call_dict_function
9f994bb69925 #8004 API: nvim_list_uis
34057045beca #7520 API/UI: forward option updates to UIs
911b1e49abb8 #7821 API: improve nvim_command_output
WINDOWS OS:
9cefd83cc7b9 #8084, #8516 build/win: support MSVC
ee4e1fd8ecf1 win: Fix reading content from stdin (#8267)
TUI:
ffb89049131a #8309 TUI: add support for mouse release events in urxvt
8d5a46e77b1e #8081 TUI: implement "standout" attribute
60716371e97d TUI: support TERM=konsole-256color
67848c0b916c #7653 TUI: report TUI info with -V3 ('verbose' >= 3)
3d0ee17c916e TUI/rxvt: enable focus-reporting
d109f5645bac #7640 TUI: 'term' option: reflect effective terminal behavior
FIXES:
ed6a113804a2 #8273 'job-control: avoid kill-timer race'
4e02f1ab871f #8107 'jobs: separate process-group'
451c48a09265 terminal: flush vterm output buffer on pty output #8486
5d6732ff094a :checkhealth fixes #8335
53f11dcfc713 #8218 'Fix errors reported by PVS'
d05712fbe7b5 inccommand: pause :terminal redraws (#8307)
51af911a271e inccommand: do not execute trailing commands #8256
84359a467f21 terminal: resize to the max dimensions (#8249)
d49c1dda8bf5 #8228 Make vim_fgets() return the same values as in Vim
60e96a45b4f4 screen: winhl=Normal:Background should not override syntax (#8093)
0c59ac1a2c7e #5908 'shada: Also save numbered marks'
ba87a2cde779 cscope: ignore EINTR while reading the prompt (#8079)
b1412dc412e1 #7971 ':terminal Enter/Leave should not increment jumplist'
3a5721e91ba8 TUI: libtermkey: force CSI driver for mouse input #7948
6ff13d78b7eb #7720 TUI: faster startup
1c6e95607958 #7862 TUI: fix resize-related segfaults
a58c9094db0e #7676 TUI: always hide cursor when flushing, never flush buffers during unibilium output
303e1df13f4f #7624 TUI: disable BCE almost always
249bdb07dd3a #7761 mark: Make sure that jumplist item will not have zero lnum
6f41ce026005 #7704 macOS: Set $LANG based on the system locale
a043899ba255 #7633 'Retry fgets on EINTR'
CHANGES:
ad60927d0925 #8304 default to 'nofsync'
f3f197059721 #8035 defaults: 'fillchars'
a6052c730741 #7984 defaults: sidescroll=1
b69fa866db5b #7888 defaults: enable cscopeverbose
7c4bb23ff38a defaults: do :filetype stuff unless explicitly "off"
2aa308c6852b #5658 'Apply :lmap in macros'
8ce63930484f terminal: Leave 'relativenumber' alone (#8360)
e46534b42302 #4486 refactor: Remove maxmem, maxmemtot options
131aad953c00 win: defaults: 'shellcmdflag', 'shellxquote' #7343
c57d31596370 #8031 jobwait(): return -2 on interrupt also with timeout
6452831cf985 clipboard: macOS: fallback to tmux if pbcopy is broken #7940
300d3651e295 #7919 Make 'langnoremap' apply directly after a map
ada1956206be #7880 'lua/executor: Remove lightuserdata'
INTERNAL:
de0a9548f7bf #7806 internal statistics for list impl
dee78a4095a2 #7708 rewrite internal list impl
|
|
|
|
|
| |
This behavior was changed (improved) by 5861dc596687 which actually
makes -E more faithful to Vim's behavior.
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes 2 failing tests in startup_spec.lua.
The Windows-only `--literal` option complicates support of "stdin-as-text
+ file-args" (#7679). Could work around it, but it's not worth
the trouble:
- users have a reasonable (and englightening) alternative: nvim +"n *"
- "always literal" is more consistent/predictable
- avoids platform-specific special-case
Unrelated changes:
- Replace fileno(stdxx) with STDXX_FILENO for consistency (not motivated
by any observed technical reason).
|
| | |
|
| |
| |
| |
| |
| |
| | |
silent-mode (-es/-Es) has been broken for years. The workaround up to
now was to include --headless. But --headless is not equivalent because
it prints all messages, not the limited subset defined by silent-mode.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Treat stdin as text by default (so the "-" file is not needed):
echo foo | nvim
It works with file args (implemented in next commit), too:
echo foo | nvim file1.txt file2.txt
Why? Because:
- Execution of input is (1) almost always unintentional/confusing,
and (2) potentially destructive.
- Avoids the need for time-delayed warning. #7659
- The _common_ case is to open text in a buffer, not send commands.
Note:
- Not for Ex-mode (-es) because it is used by scripts. But maybe `-Es`?
- Not for --headless, because stdio may be a protocol stream and may be
used for any purpose by stdioopen().
To treat stdin as Normal-mode commands, use `-s -` instead:
echo ifoo | nvim -s -
Other alternatives:
- Replay a register. E.g. the following mostly works, except @q aborts
on any "beep" (e.g. if the cursor can't move).
nvim -c '%d q|norm @q' -
- Future: Let `:%source` work with unsaved buffer contents?
closes #2087
closes #7659
|