aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* feat(builtin): improve typesLewis Russell2023-08-27
|
* vim-patch:9.0.1792: problem with gj/gk/gM and virtual text (#24898)zeertzjq2023-08-27
| | | | | | | | | Problem: Normal mode "gM", "gj", "gk" commands behave incorrectly with virtual text. Solution: Use linetabsize() instead of linetabsize_str(). closes: vim/vim#12909 https://github.com/vim/vim/commit/d809c0a90387a23aed21ba37d0b65332fb5dafe7
* Merge pull request #24889 from bfredl/toplinebfredl2023-08-27
|\ | | | | fix(api): fix issues with nvim_buf_set_lines refactor
| * fix(undo): fix crash caused by checking undolevels in wrong bufferbfredl2023-08-27
| | | | | | | | fixes #24894
| * fix(api): fix inconsistent behavior of topline touched in recent refactorbfredl2023-08-27
|/ | | | | | | | | | | | | | | | The change in #24824 0081549 was not a regression, however it was an incomplete change. Unfortunately some common plugins come to depend on this exising self-inconsistent behavior. These plugins are going to need to update for 0.10 nvim_buf_set_lines used to NOT adjust the topline correctly if a buffer was displayed in just one window. However, if displayed in multiple windows, it was correctly adjusted for any window not deemed the current window for the buffer (which could be an arbitrary choice if the buffer was not already current, as noted in the last rafactor) This fixes so that all windows have their topline adjusted. The added tests show this behavior, which should be the reasonable one.
* fix(types): add some return/parameter type annotations (#24867)Maria José Solano2023-08-27
| | | | | * fix(types): add some return/parameter type annotations * fix(types): narrow stdpath parameter further
* fix(treesitter): validate window before updating preview highlightsMaria José Solano2023-08-27
|
* feat(l10n): update Ukrainian translations (#24882)Anatolii Sakhnik2023-08-27
| | | | * optwin * synchronize with Vim
* build(deps): bump tree-sitter-python to v0.20.4Sanchayan Maity2023-08-27
|
* build(deps): bump luv to HEAD dcd1a1czhaozg2023-08-27
|
* refactor(buf_init_chartab): remove redundant loop (#24891)julio-b2023-08-27
|
* Merge pull request #24739 from echasnovski/win-footerbfredl2023-08-26
|\ | | | | feature: add floating window footer text
| * feat(highlight): add `FloatFooter` highlight groupEvgeni Chasnovski2023-08-26
| | | | | | | | | | | | Problem: No clear separation of floating title and footer highlighting. Solution: Add new `FloatFooter` highlight group.
| * feat(float): implement footerEvgeni Chasnovski2023-08-26
| | | | | | | | | | | | | | | | Problem: Now way to show text at the bottom part of floating window border (a.k.a. "footer"). Solution: Allows `footer` and `footer_pos` config fields similar to `title` and `title_pos`.
| * refactor(float): extract "title" and "title_pos" handlingEvgeni Chasnovski2023-08-26
|/
* fix(statuscolumn): force full redraw when signcolumn is invalid (#24859)luukvbaal2023-08-26
| | | Fix #24655
* Merge pull request #24399 from lambdalisue/fix-messagepack-rpcbfredl2023-08-26
|\ | | | | feat(msgpack_rpc): add a new `msgpack-rpc` client type to fix behavior with MessagePack-RPC compliant clients
| * docs(megpack_rpc): add news entry for msgpack-rpc client typeAlisue2023-08-26
| |
| * docs(msgpack_rpc): add "msgpack-rpc" client typeAlisue2023-08-26
| |
| * feat(msgpack_rpc): support out-of-order responses on `msgpack-rpc`Alisue2023-08-26
| | | | | | | | | | | | | | | | | | | | | | | | | | Added to support MessagePack-RPC fully compliant clients that do not return responses in request order. Although it is currently not an efficient implementation for full compliance and full compliance cannot be guaranteed, the addition of the new client type `msgpack-rpc` creates a situation where "if the client type is `msgpack-rpc`, then backward compatibility is ignored and full compliance with MessagePack- RPC compliance is justified even if backward compatibility is ignored if the client type is `msgpack-rpc`.
| * feat(msgpack-rpc): show actual request id in error messageAlisue2023-08-26
| |
* | fix(extmarks): wrong display when changing text with virt_lines (#24879)Ibby2023-08-26
| |
* | Merge pull request #24824 from bfredl/nocurbufbfredl2023-08-26
|\ \ | |/ |/| refactor(change): do API changes to buffer without curbuf switch
| * refactor(change): do API changes to buffer without curbuf switchbfredl2023-08-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most of the messy things when changing a non-current buffer is not about the buffer, it is about windows. In particular, it is about `curwin`. When editing a non-current buffer which is displayed in some other window in the current tabpage, one such window will be "borrowed" as the curwin. But this means if two or more non-current windows displayed the buffers, one of them will be treated differenty. this is not desirable. In particular, with nvim_buf_set_text, cursor _column_ position was only corrected for one single window. Two new tests are added: the test with just one non-current window passes, but the one with two didn't. Two corresponding such tests were also added for nvim_buf_set_lines. This already worked correctly on master, but make sure this is well-tested for future refactors. Also, nvim_create_buf no longer invokes autocmds just because you happened to use `scratch=true`. No option value was changed, therefore OptionSet must not be fired.
* | build: fix "make iwyu" not working (#24873)zeertzjq2023-08-26
|/
* refactor: move some structs out of buffer_defs.h (#24878)zeertzjq2023-08-26
|
* docs: various clarifications (#24876)zeertzjq2023-08-26
|
* feat(treesitter): add a query editor (#24703)Maria José Solano2023-08-25
|
* Merge pull request #24872 from zeertzjq/plineszeertzjq2023-08-25
|\ | | | | some plines.c refactors
| * refactor(plines.c): deduplicate code for virtual text cursor offsetzeertzjq2023-08-25
| |
| * refactor: move virtcol functions to plines.czeertzjq2023-08-25
| | | | | | | | | | | | Problem: Functions for virtcol and chartabsize are similar (both compute horizontal size), but appear in two different source files. Solution: Move virtcol functions to plines.c.
| * refactor(plines.c): move vertical size functions to the bottomzeertzjq2023-08-25
|/ | | | | | Problem: It may be unclear what "below" in first comment refers to. Solution: Move vertical size functions to the bottom so that it can be changed to "above".
* Merge pull request #24821 from seandewar/vim-9f2962141514Sean Dewar2023-08-25
|\ | | | | vim-patch:9f2962141514,f6fb52b667ee,19968fc4ec2c,a76f3221cdcf,2ae7ffe0bc3c,3d3a9152fa6d - Termdebug stuff
| * refactor(termdebug): reindent some thingsSean Dewar2023-08-25
| | | | | | | | Mostly to make it more consistent and to match Vim more where applicable.
| * vim-patch:3d3a9152fa6dSean Dewar2023-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(termdebug): more termdebug fixes and improvements (vim/vim#12892) - Fix and attempt to simplify :Frame/:Up/:Down documentation. - Accept a count instead for :Up/:Down/+/-. - Update the "Last Change" dates. - Fix a missing :let (caused an error if gdb fails to start). - Wipe the prompt buffer when ending prompt mode (if it exists and wasn't wiped by the user first). Avoids issues with stale prompt buffers (such as E95 when starting a new prompt mode session). - Kill the gdb job if the prompt buffer is unloaded (similar to what's done for a terminal buffer). Fixes not being able to start a new termdebug session if the buffer was wiped by the user, for example. https://github.com/vim/vim/commit/3d3a9152fa6de7038fdfd6d6de25230ed825552a
| * vim-patch:2ae7ffe0bc3cSean Dewar2023-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(termdebug): add frame related commands (vim/vim#12511) implementing `:Frame`, `:Up` and `:Down' https://github.com/vim/vim/commit/2ae7ffe0bc3c3ed9fcae35ef23a2b78908580201 Use maparg() for saving K as it's since been ported (and supports Lua callbacks and the other API fields). Use the 3 argument variant of mapset(), as the single argument one isn't ported yet (v8.2.4861). Co-authored-by: Simon Sobisch <simonsobisch@web.de>
| * fix(termdebug): send SIGINT when interrupting prompt modeSean Dewar2023-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | | Unlike Vim's job_stop(), Nvim's jobstop() does not take a signal argument, and always sends SIGTERM/KILL. :Stop and Ctrl-C in prompt mode is supposed to interrupt the program like in terminal mode, not kill GDB. Also, maybe libuv's kill() works on Windows? If so, the logic above could be removed, but I don't have a Windows machine available to test that. Also "set nomodified" when ending prompt mode, like Vim (avoids E37).
| * vim-patch:a76f3221cdcfSean Dewar2023-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(termdebug): Fix various Termdebug issues (vim/vim#12875) * Fix some Termdebug issues after vim/vim#12403 * Fix :Asm in Termdebug prompt mode * Fix Termdebug s:DecodeMessage escaping logic https://github.com/vim/vim/commit/a76f3221cdcfff6880213839de4d04cf0c7c60f8 Adjust disassembly message forwarding for Nvim, as its callback can receive many lines at once. Currently, just forward each disassembly line individually to s:CommOutput(); it's possible to do this in batch instead, but this is simpler. I suggested moving to a GDB MI-based approach for the disassemble stuff upstream, which should simplify the logic a lot if implemented (and possibly allow for getting rid of the `&"disassemble ...` special-casing). Also, correct "(gdb)" to include a trailing space; the stray GDB prompts were being ignored by s:CommOutput() anyway, so this had caused no ill effects.
| * fix(termdebug): prompt mode breaks with &splitbelow setSean Dewar2023-08-25
| | | | | | | | | | Unlike Vim, termopen() doesn't split, so you can't use the modifier like that. Remove the fragile :wincmd shenanigans.
| * fix(termdebug): trim suffixed "\r" in CommOutputSean Dewar2023-08-25
| | | | | | | | | | | | | | | | | | Vim splits lines on "\r", then trims any prefixed "\n". But in Nvim, job output lines are split on "\n" (like readfile() in binary mode), so trim any suffixed "\r" instead. This gets rid of the trailing "^M" character in messages parsed from the jobs.
| * vim-patch:19968fc4ec2cSean Dewar2023-08-25
| | | | | | | | | | | | | | | | runtime(termdebug): re-indent lines (vim/vim#12857) https://github.com/vim/vim/commit/19968fc4ec2c36c7d528c7326acf43e5d663ba39 Co-authored-by: Shane-XB-Qian <shane.qian@foxmail.com>
| * vim-patch:f6fb52b667eeSean Dewar2023-08-25
| | | | | | | | | | | | | | | | | | | | runtime(termdebug): refactor error printing (vim/vim#12856) // vs not act like exception from vim or termdebug https://github.com/vim/vim/commit/f6fb52b667eecb58bdd9b26bd462d5da61697cf7 Co-authored-by: Shane-XB-Qian <shane.qian@foxmail.com>
| * vim-patch:9f2962141514Sean Dewar2023-08-25
|/ | | | | | | | | | | | | | | | Runtime(termdebug): Add support to view local and argument variables closes: 12403 https://github.com/vim/vim/commit/9f29621415146abc046471440515e9e34f3e57a1 Rename the existing "s:running" (#16790) to "s:gdb_running" to not clash with the "s:running" introduced in this patch (which instead relates to whether the debugged program is currently running in gdb). Keep the file `:retab`bed as before. Co-authored-by: laburnumT <flo.striker@gmail.com>
* Merge pull request #24864 from gpanders/filetype-on-detect-orderGregory Anders2023-08-24
|\
| * fix(filetype): return on_detect function when matching by file contentsGregory Anders2023-08-24
| |
| * fix(filetype): call on_detect before setting buffer filetypeGregory Anders2023-08-24
| | | | | | | | | | | | | | | | | | | | | | | | The on_detect functions returned by filetype.lua set buffer local variables which are often used by filetype plugins. For example, the on_detect function for shell buffers sets variables such as b:is_bash or b:is_sh, which are used by the sh ftplugin. When called after setting the buffer's filetype, these variables cannot be used by the ftplugin (because they are not yet defined). Instead, call on_detect before setting the buffer filetype so that any buffer variables set by on_detect can be used in the ftplugin.
* | Merge pull request #24862 from bfredl/ml_get_bufbfredl2023-08-24
|\ \ | |/ |/| refactor(memline): distinguish mutating uses of ml_get_buf()
| * refactor(memline): distinguish mutating uses of ml_get_buf()bfredl2023-08-24
|/ | | | | | | | | | | | | | ml_get_buf() takes a third parameters to indicate whether the caller wants to mutate the memline data in place. However the vast majority of the call sites is using this function just to specify a buffer but without any mutation. This makes it harder to grep for the places which actually perform mutation. Solution: Remove the bool param from ml_get_buf(). it now works like ml_get() except for a non-current buffer. Add a new ml_get_buf_mut() function for the mutating use-case, which can be grepped along with the other ml_replace() etc functions which can modify the memline.
* docs(builtin): small fixes (#24861)Sean Dewar2023-08-24
| | | | Also make gen_eval_files.lua render vimdoc helpExamples properly if the line begins with the `>` marker.
* Merge pull request #24702 from seandewar/vim-1688938dd5acSean Dewar2023-08-24
|\ | | | | vim-patch:1688938dd5ac,96d6c4aabed1,e8d6f03f6a61