aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* | vim-patch:8.1.1937: errors when using javascriptreact #10885Jan Edmund Lazo2019-08-30
|/ | | | | Problem: Errors when using javascriptreact. Solution: Use ":runtime" instead of ":source". (closes vim/vim#4875) https://github.com/vim/vim/commit/4fb15c647658b15230c61857c644230a03881904
* paste: break lines at CR, CRLF #10877Justin M. Keyes2019-08-29
| | | | | | Some terminals helpfully translate \n to \r. fix #10872 ref #10223
* Fix test/busted/outputHandlers/TAP.lua (#10881)Daniel Hahler2019-08-29
| | | | | | Extending the original TAP handler was not working as expected. This adds a new function for displaying the log. Ref: https://github.com/neovim/neovim/pull/10876
* vim-patch:8.1.0193: terminal debugger buttons don't always work (#10874)Jan Edmund Lazo2019-08-29
| | | | | Problem: Terminal debugger buttons don't always work. (Dominique Pelle) Solution: Set 'cpo' to its default value. https://github.com/vim/vim/commit/ca4cc018addbeb3ac5d0e05f18847015f91ff814
* third-party: remove msvc-compat/unistd.h (#10465)Daniel Hahler2019-08-29
| | | This was upstreamed into unibilium.
* tests: use runtime from build for doc/tags with :help (#10479)Daniel Hahler2019-08-28
| | | | | | | | | | | | This is better practice in general, and allows to remove the "helptags ALL" hacks. Ref: https://github.com/neovim/neovim/issues/8824 Ref: https://github.com/neovim/neovim/commit/f1b67c3453c * Makefile: fix dependencies with regard to helptags - use the file as the main target to avoid unnecessary triggering - use "make oldtest" on Travis to ensure it gets built
* vim-patch:8.0.0303: shift_delete_registers() #10868Jan Edmund Lazo2019-08-28
| | | | | Problem: Bracketed paste does not work in Visual mode. Solution: Delete the text before pasting https://github.com/vim/vim/commit/a1891848d970452cd775d35a4bccfdd9758a690a
* Merge #4448 'paste: redesign'Justin M. Keyes2019-08-28
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fix #3447 fix #3566 fix #7066 fix #7212 fix #7273 fix #7455 fix #10415 NA vim-patches: vim-patch:8.1.1198 vim-patch:8.1.0224 vim-patch:8.0.1299 vim-patch:8.0.0569 vim-patch:8.0.0303 vim-patch:8.0.0296 vim-patch:8.0.0244 vim-patch:8.0.0238 vim-patch:8.0.0232 vim-patch:8.0.0231 vim-patch:8.0.0230 vim-patch:8.0.0210
| * API: TRY_WRAP() for "abort-causing non-exception errors"Justin M. Keyes2019-08-28
| | | | | | | | | | | | | | | | - Introduce TRY_WRAP() until we have an *architectural* solution. - TODO: bfredl idea: prepare error-handling at "top level" (nv_event). - nvim_paste(): Revert luaeval() hack (see parent commit). - With TRY_WRAP() in nvim_put(), 'nomodifiable' error now correctly "bubbles up".
| * paste: handle 'nomodifiable'Justin M. Keyes2019-08-27
| | | | | | | | | | | | | | | | - nvim_paste(): Marshal through luaeval() instead of nvim_execute_lua() because the latter seems to hide some errors. - Handle 'nomodifiable' in `nvim_put()` explicitly. - Require explicit `false` from `vim.paste()` in order to "cancel", otherwise assume true ("continue").
| * paste: make vim.paste() "public"Justin M. Keyes2019-08-27
| |
| * paste: handle vim.paste() failureJustin M. Keyes2019-08-27
| | | | | | | | | | | | | | | | - Show error only once per "paste stream". - Drain remaining chunks until phase=3. - Lay groundwork for "cancel". - Constrain semantics of "cancel" to mean "client must stop"; it is unrelated to presence of error(s).
| * paste: tickle cursorJustin M. Keyes2019-08-27
| | | | | | | | | | | | | | | | | | | | HACK: The cursor does not get repositioned after the paste completes. Scheduling a dummy event seems to fix it. Test case: 0. Revert this commit. 1. Paste some text in Normal-mode. 2. Notice the cursor is still in the cmdline area.
| * paste: implement redo (AKA dot-repeat)Justin M. Keyes2019-08-27
| | | | | | | | | | | | - Normal-mode redo idiom(?): prepend "i" and append ESC. - Insert-mode only needs AppendToRedobuffLit(). - Cmdline-mode: only paste the first line.
| * paste: insert text "before" cursor in Insert-modeJustin M. Keyes2019-08-27
| |
| * API: nvim_pasteJustin M. Keyes2019-08-27
| |
| * paste: workaround typeahead raceJustin M. Keyes2019-08-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Workaround this failure: [ ERROR ] test/functional/terminal/tui_spec.lua @ 192: TUI paste: exactly 64 bytes test/functional/helpers.lua:403: retry() attempts: 478 test/functional/terminal/tui_spec.lua:201: Expected objects to be the same. Passed in: (table: 0x47cd77e8) { *[1] = 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz endz' } Expected: (table: 0x47cd7830) { *[1] = 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz end' } This happens because `curwin->w_cursor.col` is sometimes decremented at the end of `do_put`... because the editor is in Normal-mode instead of the expected Insert-mode. Caused by "typeahead race" (#10826): there may be queued input in the main thread not yet processed, thus the editor mode (`State` global) will be "wrong" during paste. Example: input "i" followed immediately by a paste sequence: i<start-paste>...<stop-paste> ^ "i" does not get processed in time, so the editor is in Normal-mode instead of Insert-mode while handling the paste. Attempted workarounds: - vim.api.nvim_feedkeys('','x',false) in vim._paste() - exec_normal() in tinput_wait_enqueue() - LOOP_PROCESS_EVENTS(&main_loop,…,0) in tinput_wait_enqueue() ref #10826
| * paste: phases, dotsJustin M. Keyes2019-08-27
| | | | | | | | | | | | - Send `phase` parameter to the paste handler. - Redraw at intervals and when paste terminates. - Show "..." throbber during paste to indicate activity.
| * API: nvim_put: "follow" parameterJustin M. Keyes2019-08-27
| |
| * API: nvim_put: always PUT_CURSENDJustin M. Keyes2019-08-27
| | | | | | | | | | | | | | | | | | Fixes strange behavior where sometimes the buffer contents of a series of paste chunks (vim._paste) would be out-of-order. Now the tui_spec.lua screen-tests are much more reliable. But they still sometimes fail because of off-by-one cursor (caused by "typeahead race" resulting in wrong mode; fixed later in this patch-series).
| * test/tui_spec: connect to child sessionJustin M. Keyes2019-08-27
| |
| * API: nvim_put: Avoid "N more lines" messageJustin M. Keyes2019-08-27
| |
| * paste: edge-case: handle EOL at end-of-bufferJustin M. Keyes2019-08-27
| | | | | | | | This is "readfile()-style", see also ":help channel-lines".
| * paste: testJustin M. Keyes2019-08-27
| |
| * paste: use nvim_put()Justin M. Keyes2019-08-27
| |
| * API: nvim_put #6819Justin M. Keyes2019-08-27
| |
| * API: nvim_put #6819: try to fix Insert, VisualBjörn Linse2019-08-27
| |
| * API: nvim_put #6819Björn Linse2019-08-27
| |
| * paste: use chansend() in Terminal-modeJustin M. Keyes2019-08-27
| |
| * paste: fixup testsJustin M. Keyes2019-08-27
| |
| * paste: abort paste if handler does not return trueJustin M. Keyes2019-08-27
| |
| * TUI/paste: always flush on paste mode-changeJustin M. Keyes2019-08-27
| | | | | | | | | | | | 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.
| * TUI/paste: define paste function as Lua builtinJustin M. Keyes2019-08-27
| | | | | | | | | | | | | | - 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.
| * lua/stdlib: cleanupJustin M. Keyes2019-08-27
| |
| * log: log_key()Justin M. Keyes2019-08-27
| |
| * TUI/paste: push bytes directly (avoid libtermkey)Justin M. Keyes2019-08-27
| |
| * TUI/paste: collect data, invoke user callback #4448ZyX2019-08-27
| |
| * paste: WIP #4448Justin M. Keyes2019-08-27
| |
* | doc: man.vim #10817Doron Behar2019-08-28
| | | | | | ref #10808
* | vim-patch:8.1.1932: ml_get errors after append() #10866Marco Hinz2019-08-27
| | | | | | | | | | | | | | | | Problem: Ml_get errors after using append(). (Alex Genco) Solution: Do not update the cursor twice. https://github.com/vim/vim/commit/d20070274c47668560e02db184e1f8e456c3c326 fix #10847
* | clang/"null pointer dereference" #10864Ihor Antonov2019-08-27
|/
* build: third-party: enable CXX language earlier (#10862)Daniel Hahler2019-08-27
| | | | | | | | This is required for `CMAKE_CXX_COMPILER` to be set already, not only after including third-party/cmake/BuildGperf.cmake. Closes https://github.com/neovim/neovim/pull/10860. Ref: 31f879983f
* Merge #10858 from janlazo/vim-8.1.1930Justin M. Keyes2019-08-27
|\ | | | | vim-patch:8.1.{1930,1931}
| * vim-patch:8.1.1931: syntax test failsJan Edmund Lazo2019-08-26
| | | | | | | | | | | | Problem: Syntax test fails. Solution: Add new javascriptreact type to completions. https://github.com/vim/vim/commit/ea7a08a53ea0e8b4fe1592d9ae4d8f581fef46f8
| * vim-patch:8.1.1930: cannot recognize .jsx and .tsx filesJan Edmund Lazo2019-08-26
|/ | | | | | | Problem: Cannot recognize .jsx and .tsx files. Solution: Recognize them as javascriptreact and typescriptreact. (closes vim/vim#4830) https://github.com/vim/vim/commit/92852cee3fcff1dc6ce12387b234634e73267b22
* clang/"dereference of null pointer" #10856Ihor Antonov2019-08-26
| | | In edit.c insert_execute calls ins_compl_addfrommatch
* timer_spec: shorter timeout with "doesn't mess up the cmdline" (#10769)Daniel Hahler2019-08-26
| | | | | It was increased in dd21cd2a4 to avoid flakiness, but takes 1s then always. This specifies a shorter timeout again, uisng `load_adjust`.
* vim-patch:8.1.1923: some source files are not in a normal encoding (#10852)Daniel Hahler2019-08-26
| | | | | | Problem: Some source files are not in a normal encoding. Solution: Convert hangulin.c from euc-kr to utf-8 and digraph.c from latin1 to utf-8. (Daniel Hahler, closes vim/vim#4731) https://github.com/vim/vim/commit/4119309d70c7fc32637e77f2e84c185ad1768892
* runnvim.sh: lint (shellcheck) (#10851)Daniel Hahler2019-08-26
|
* Merge pull request #10850 from blueyed/option-aliasDaniel Hahler2019-08-26
|\ | | | | findoption_len: treat viminfo/viminfofile as aliases