| Commit message (Collapse) | Author | Age |
|
|
|
| |
Fixes https://github.com/neovim/neovim/issues/11088.
|
|\ |
|
|/ |
|
|
|
|
|
| |
fix #10127
fix #5972
|
| |
|
|
|
|
|
|
|
|
| |
Forcing insert-mode after the first paste-chunk seems to work, as an
alternative to a9e2bae0eb69 (insert-before-cursor).
NB: Dot-repeat needs to match the original action. Since a9e2bae0eb69
changed paste to insert-before-cursor, dot-repeat must also. But that
makes dot-repeat unpleasant/unusual.
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
- 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).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Attempt to fix test failure since 976c6667e140 removed per-chunk redraw:
ERROR test/functional/terminal/tui_spec.lua: TUI paste: cmdline-mode inserts 1 line
test/functional/terminal/tui_spec.lua:367: in function <test/functional/terminal/tui_spec.lua:360
Expected:
|*foo |
|* |
|{4:~ }|
|{4:~ }|
|{5:[No Name] [+] }|
|:"line 1{1:"} |
|{3:-- TERMINAL --} |
Actual:
|* |
|*{4:~ }|
|{4:~ }|
|{4:~ }|
|{5:[No Name] [+] }|
|:"line 1{1:"} |
|{3:-- TERMINAL --} |
|
|
|
|
|
|
| |
- All "chunks" in a paste-stream should form a single undo-block. Side
effect of 7a8579288424 was to create an undo-block for each chunk.
- Also: remove old :redraw force logic, irrelevant after 7a8579288424.
|
|
|
|
|
|
|
|
|
| |
Otherwise cursor and redraw code for normal and insert mode will not run. The
"tickle" workaround was used for this instead, and can now be removed.
The builtin vim.lua got the name
[string "-- Nvim-Lua stdlib: thevimmodule (:help l..."]
in error messages. Fix it to something reasonable.
|
| |
|
|
|
|
|
|
| |
- Normal-mode redo idiom(?): prepend "i" and append ESC.
- Insert-mode only needs AppendToRedobuffLit().
- Cmdline-mode: only paste the first line.
|
| |
|
| |
|
|
|
|
|
|
| |
- Send `phase` parameter to the paste handler.
- Redraw at intervals and when paste terminates.
- Show "..." throbber during paste to indicate activity.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Flush input before entering, not only when leaving, paste mode. Else
there could be pending input which will erroneously be sent to the paste
handler.
|
|
|
|
|
|
|
| |
- Define in Lua so that it is compiled-in (available with `-u NONE`).
TODO: Eventually we will want a 'pastefunc' option or some other way to
override the default paste handler.
|
| |
|
|\
| |
| | |
vim-patch:8.1.1318: code for text changes is in a "misc" file
|
| | |
|
|/ |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Rationale: the purpose of nvim_execute_lua is to simply call lua code with lua
values. If a lua function expects a floating point value, it should be enough
to specify a float as argument to nvim_execute_lua.
However, make sure to preserve the existing roundtripping behavior of
API values when using `vim.api` functions. This is covered by existing
lua/api_spec.lua tests.
|
|
|
|
|
| |
This avoids initializing libluv a second time if a plugin invokes
require'luv'. It is probably not an issue, but better to be safe.
|
|
|
|
|
| |
Disable the use of deferred API functions in a fast lua callback
Correctly display error messages from a fast lua callback
|
| |
|
|
|
|
|
|
| |
Co-authored-by: Andrey Popp <8mayday@gmail.com>
closes #9546
closes #10084
|
| |
|
|
|
|
|
| |
This executes Lua callback on main loop's event queue so that nvim API
is safe to call.
|
| |
|
| |
|
| |
|
|\
| |
| |
| | |
ref #8288
|
| |
| |
| |
| |
| | |
Leave trim() in vim.lua, because gen_vimdoc.py needs at least one
function in there, else it gets confused...
|
| |
| |
| |
| | |
deepcopy() was duplicated in test/helpers.lua
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \
| |/
|/|
| | |
fixes #9681
|
|/
|
|
|
| |
Change to use os_getenv instead of getenv because environment variable
set by uv_os_setenv can not be get with getenv.
|