aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* feat(tui): enable CSI u keysGregory Anders2022-03-24
| | | | | | | | | | | | | | | On TUI startup write the CSI sequence that signals to the controlling terminal that Neovim supports the CSI u scheme for encoding modifiers documented in [1]. This is similar to, but distinct from, Vim's usage of the `t_TI` and `t_TE` variables to handle Xterm's `modifyOtherKeys` setting. For a longer explanation on those differences see [2]. Since Neovim uses libtermkey for key input handling, we use the CSI u encoding rather than Xterm's modifyOtherKeys encoding. [1]: http://www.leonerd.org.uk/hacks/fixterms/ [2]: https://invisible-island.net/xterm/modified-keys.html
* Merge pull request #17821 from zeertzjq/vim-patch-cursorlinezeertzjq2022-03-24
|\ | | | | vim-patch:8.2.{4591,4614}: cursorline redrawing
| * perf(screen): reduce cursorline redrawing when jumping aroundzeertzjq2022-03-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | vim-patch:8.2.4614: redrawing too much when 'cursorline' is set Problem: Redrawing too much when 'cursorline' is set and jumping around. Solution: Rely on win_update() to redraw the current and previous cursor line, do not mark lines as modified. (closes vim/vim#9996) https://github.com/vim/vim/commit/c20e46a4e3efcd408ef132872238144ea34f7ae5 This doesn't match the patch exactly, because I missed some lines when porting patch 8.1.2029, and these lines were removed in this patch. This also makes win_update() always update for 'concealcursor' like how it always updates for 'cursorline', as 'cursorline' and 'concealcursor' redrawing logic has been unified in Nvim. As redrawing for 'cursorline' now always only requires VALID redraw type, it is no longer necessary to call redraw_for_cursorline() in nvim_win_set_cursor().
| * vim-patch:8.2.4591: cursor line not updated when a callback moves the cursorzeertzjq2022-03-24
| | | | | | | | | | | | | | | | Problem: Cursor line not updated when a callback moves the cursor. Solution: Check if the cursor moved. (closes vim/vim#9970) https://github.com/vim/vim/commit/e7a74d53754765f22ef8ce71c915bb669d5f7f3f redraw_after_callback() is N/A. Nvim handles timers on the main loop.
* | Merge pull request #17740 from dundargoc/doxygen/memlinebfredl2022-03-24
|\ \ | | | | | | refactor(memline): convert function comments to doxygen format
| * | refactor(memline): convert function comments to doxygen formatDundar Göc2022-03-24
| |/
* | chore(nvim_paste): assert the correct String (#17752)zeertzjq2022-03-24
| |
* | refactor: convert function comments to doxygen format (#17710)dundargoc2022-03-24
| |
* | chore: add additional compiler flags (#17815)Lewis Russell2022-03-24
| | | | | | | | | | | | | | | | | | Added: - -Wdouble-promotion - -Wmissing-noreturn - -Wmissing-format-attribute - -Wsuggest-attribute={pure,const,malloc,cold} Resolves: #343
* | Merge pull request #17825 from bfredl/ctrl2bfredl2022-03-24
|\ \ | |/ |/| feat(input)!: distinguish ctrl input pairs (always)
| * feat(input): enable <tab>/<c-i>, <cr>/<c-m>, <esc>/<c-[> pairs unconditionallybfredl2022-03-24
| |
| * feat(input)!: delay some conversions to vgetc()zeertzjq2022-03-24
|/
* fix(float): do not switch window before deleting last listed buffer (#17840)zeertzjq2022-03-24
| | | | Just allow close_windows() to close the current window instead. This fixes wrong working directory or autocommands not being triggered.
* fix(float): don't always switch window when deleting last listed buffer (#17836)zeertzjq2022-03-24
|
* test: add test for deleting last listed buffer when there are floats (#17833)zeertzjq2022-03-24
|
* fix(PVS/V560): ignore false "conditional expression is always false" (#17830)dundargoc2022-03-24
| | | | | "'qi' points to the global variable 'ql_info' or the window local location list stack 'wp->w_llist'. The contents of these structures can be changed out-of-band by an autocmd." https://github.com/vim/vim/pull/9993#issuecomment-1076544168
* refactor(memline.c): make swapfile_unchanged() return bool (#17827)zeertzjq2022-03-23
| | | | | | | vim-patch:8.2.4613: return type of swapfile_unchanged() is wrong Problem: Return type of swapfile_unchanged() is wrong. Solution: Use "int". (closes vim/vim#10000 Yeah!) https://github.com/vim/vim/commit/3c5999e53d9f35a30abefb7224f66a75c8ffb009
* fix(screen): do not update syntax_last_parsed when drawing folded line (#17826)zeertzjq2022-03-23
|
* refactor: remove cpo-& behavior (#17745)zeertzjq2022-03-23
| | | | cpo-& has been removed, but its behavior was accidentally made the default behavior. That should be removed instead.
* Merge pull request #17806 from zeertzjq/win-close-float-fixzeertzjq2022-03-23
|\ | | | | Fix some bugs with closing window or buffer when there are floating windows
| * fix(float): make laststatus=1 behave consistently with floating windowszeertzjq2022-03-23
| |
| * fix(float): handle buffer deletion with floating windowszeertzjq2022-03-23
| |
| * fix(win_close): count the window the be closed instead of curwinzeertzjq2022-03-23
| |
| * fix(aucmd_win): always make aucmd_win the last windowzeertzjq2022-03-23
|/
* fix(screen): do not do syntax highlighting at filler or folded lines (#17818)zeertzjq2022-03-23
|
* refactor(ui_refresh): only save/restore p_lz if calling screen_resize() (#17794)zeertzjq2022-03-23
|
* vim-patch:8.2.1078: highlight and match functionality together in one file ↵Lewis Russell2022-03-23
| | | | | | | | | (#17805) Problem: Highlight and match functionality together in one file. Solution: Move match functionality to a separate file. (Yegappan Lakshmanan, closes vim/vim#6352) https://github.com/vim/vim/commit/06cf97e714fd8bf9b35ff5f8a6f2302c79acdd03
* vim-patch:8.1.1608: the evalfunc.c file is too big (#17807)Lewis Russell2022-03-23
| | | | | | Problem: The evalfunc.c file is too big. Solution: Move sign functionality to sign.c. https://github.com/vim/vim/commit/b60d8514b8813e2f3acefd454efcccbe04ac135a
* Merge pull request #17813 from muniter/jl-ci-api-docs-permissionsJames McCoy2022-03-22
|\ | | | | fix(ci): provide necessary permissions for calling workflow
| * fix(ci): provide necessary permissions for calling workflowJavier López2022-03-21
|/ | | | | Also error on the side of security adding an extra check on the automatic PR step.
* Merge pull request #17768 from muniter/jl-genvimdoc-ciJames McCoy2022-03-21
|\
| * ci(docs): add a check for PR's to commit their doc changesJavier López2022-03-18
| | | | | | | | | | | | | | | | Repurpose the api-docs workflow to also run in all PR's but work only as a check, if the changes in the PR introduce doc changes that are not committed fail. [skip ci]
* | Merge pull request #17491 from neovim/marvim/api-doc-update/masterJames McCoy2022-03-21
|\ \
| * | docs: regenerate [skip ci]marvim2022-03-20
| | |
* | | fix(PVS/V583): the '?:' operator always returns one and the same value (#17790)dundargoc2022-03-20
| | |
* | | Merge pull request #17760 from lewis6991/vim-patch-8.1.1734zeertzjq2022-03-21
|\ \ \ | |/ / |/| | vim-patch:8.1.{1734,1742,1743}: highlight, match and screen.c refactoring
| * | vim-patch:8.1.1743: 'hlsearch' and match highlighting in the wrong placeLewis Russell2022-03-20
| | | | | | | | | | | | | | | | | | | | | Problem: 'hlsearch' and match highlighting in the wrong place. Solution: Move highlighting from inside screen functions to highlight.c. https://github.com/vim/vim/commit/bbca7732e8a3deb6e5dcf84739579a2667a75475
| * | vim-patch:8.1.1742: still some match functions in evalfunc.cLewis Russell2022-03-20
| | | | | | | | | | | | | | | | | | | | | Problem: Still some match functions in evalfunc.c. Solution: Move them to highlight.c. https://github.com/vim/vim/commit/7dfb016d25e3e3e1f4411026dda21d1536f21acc
| * | vim-patch:8.1.1734: the evalfunc.c file is too bigLewis Russell2022-03-20
|/ / | | | | | | | | | | | | Problem: The evalfunc.c file is too big. Solution: Move some functions to other files. https://github.com/vim/vim/commit/29b7d7a9aac591f920edb89241c8cde27378e50b
* | Merge pull request #17776 from bfredl/tsconcealbfredl2022-03-20
|\ \ | | | | | | feat(ui): allow conceal to be defined in decorations
| * | feat(ui): allow conceal to be defined in decorationsbfredl2022-03-20
| | | | | | | | | | | | | | | | | | Unlike syntax conceal, change highlight of concealed char Can be used in tree-sitter using "conceal" metadata.
* | | fix(lsp): set tabSize from 'shiftwidth', not 'softtabstop' (#17787)Tim Pope2022-03-20
|/ / | | | | | | | | | | | | | | | | The use of 'softtabstop' to set tabSize was introduced in 5d5b068, replacing 'tabstop'. If we look past the name tabSize and at the actual purpose of the field, it's the indentation width used when formatting. This corresponds to the Vim option 'shiftwidth', not 'softtabstop'. The latter has the comparatively mundane purpose of controlling what happens when you hit the tab key (and even this is incomplete, as it fails to account for 'smarttab').
* | Merge pull request #17785 from muniter/jl-fix-doxygen-destroyerJames McCoy2022-03-20
|\ \ | | | | | | docs: properly escape to avoid doxygen weirdness
| * | docs: properly escape to avoid doxygen weirdnessJavier López2022-03-19
| | | | | | | | | | | | | | | | | | If this is not properly escaped doxygen 1.9.3 will not work correctly, and the documentation generated in local machines will differ with what is generated in CI.
* | | fix(termdebug): handle exiting during startup properly (#16790)Sean Dewar2022-03-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | s:EndTermDebug should only be called when exiting if the debugger started without error, otherwise the plugin breaks. Vim handles this by using job_setoptions to set the on_exit callback to s:EndTermDebug after startup succeeds. However, Nvim does not have such functionality; instead; use s:starting to mimic this behaviour. Also, introduce s:running to fix s:CheckGdbRunning; it did not work correctly due to the "[Process exited X]" message keeping the job's channel alive (though the stream is closed). This means nvim_get_chan_info cannot be used to check if the debugger has exited, as it may still return a non-empty dict.
* | | vim-patch:47c532e2bc55 (#17780)Christian Clason2022-03-20
| | | | | | | | | | | | Update runtime files https://github.com/vim/vim/commit/47c532e2bc55e8a48f7f47e1fae1ed30144f2fa1
* | | Merge pull request #17772 from zeertzjq/vim-8.2.2716zeertzjq2022-03-20
|\ \ \ | | | | | | | | vim-patch:8.2.{2716,4546}: the equivalent class regexp is missing some characters
| * | | vim-patch:8.2.4546: duplicate #undefzeertzjq2022-03-19
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Duplicate #undef. Solution: Remove one #undef. (closes vim/vim#9932) https://github.com/vim/vim/commit/0a4e098f32f3c83273ff63c02c8d0d5cdd7c897c
| * | | vim-patch:8.2.2716: the equivalent class regexp is missing some characterszeertzjq2022-03-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: The equivalent class regexp is missing some characters. Solution: Update the list of equivalent characters. (Dominique Pellé, closes vim/vim#8029) https://github.com/vim/vim/commit/0b94e297afd072c51bf2eed12c7ffe3978d93399 Match upstream's indent in s:equivalence_class().
* | | | feat(api): remove Lua autocommand callbacks when they return true (#17784)Gregory Anders2022-03-19
| | | | | | | | | | | | | | | | This copies the semantics of nvim_buf_attach callbacks, and is a convenient way to create oneshot autocommands gated by some condition.