aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
| * | | | | Merge pull request #25882 from bfredl/noundobfredl2023-11-05
| |\ \ \ \ \ | | | | | | | | | | | | | | feat(extmarks): add "no_undo_restore" flag to opt out of undo-restoring
| | * | | | | feat(extmarks): add "undo_restore" flag to opt out of undo-restoringbfredl2023-11-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is a design goal of extmarks that they allow precise tracking of changes across undo/redo, including restore the exact positions after a do/undo or undo/redo cycle. However this behavior is not useful for all usecases. Many plugins won't keep marks around for long after text changes, but uses them more like a cache until some external source (like LSP semantic highlights) has fully updated to changed text and then will explicitly readjust/replace extmarks as needed. Add a "undo_restore" flag which is true by default (matches existing behavior) but can be set to false to opt-out of this behavior. Delete dead u_extmark_set() code.
| * | | | | | refactor: combine regexp filesdundargoc2023-11-05
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | regext_bt.c and regexp_nfa.c are inlined into regexp.c instead of included as a header. This makes developer tools like clang-tidy and clangd be able to understand the code better.
| * | | | | build: various cmake fixesdundargoc2023-11-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - silence false warnings on MSVC - merge `clang-tidy` cmake target into `lintc` and remove the corresponding make target - use cmake's built-in endianness detection
| * | | | | vim-patch:9.0.2090: complete_info() skips entries with 'noselect' (#25890)zeertzjq2023-11-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: complete_info() skips entries with 'noselect' Solution: Check, if first entry is at original text state Unfortunately, Commit daef8c74375141974d61b85199b383017644978c introduced a regression, that when ':set completeopt+=noselect' is set and no completion item has been selected yet, it did not fill the complete_info['items'] list. This happened, because the current match item did not have the CP_ORIGINAL_TEXT flag set and then the cp->prev pointer did point to the original flag item, which caused the following while loop to not being run but being skipped instead. So when the 'noselect' is set, only start with to the previous selection item, if the initial completion item has the CP_ORIGINAL_TEXT flag set, else use the 2nd previous item instead. fixes: vim/vim#13451 closes: vim/vim#13452 https://github.com/vim/vim/commit/57f9ce1a0977da13e5923214086795ffa2d28ce1 Co-authored-by: Christian Brabandt <cb@256bit.org>
| * | | | | fix(rpc): "grid_line" event parsing crashes (#25581)LW2023-11-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | refactor: use a more idiomatic loop to iterate over the cells There are two cases in which the following assertion would fail: ```c assert(g->icell < g->ncells); ``` 1. If `g->ncells = 0`. Update this to be legal. 2. If an EOF is reached while parsing `wrap`. In this case, the unpacker attempts to resume from `cells`, which is a bug. Create a new state for parsing `wrap`. Reference: https://neovim.io/doc/user/ui.html#ui-event-grid_line
| * | | | | refactor(grid): implement rightleftcmd as a post-processing stepbfredl2023-11-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, 'rightleftcmd' was implemented by having all code which would affect msg_col or output screen cells be conditional on `cmdmsg_rl`. This change removes all that and instead implements rightleft as a mirroring post-processing step.
| * | | | | build: make the vimdoc generation depend on the nvim target (#25876)Gregory Anders2023-11-02
| | | | | | | | | | | | | | | | | | | | | | | | The gen_vimdoc.py script uses the nvim executable, so the executable must be built before running the script.
| * | | | | build: use built nvim artifact to generate eval files (#25875)Gregory Anders2023-11-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In cases where the generated files depend on changes to Nvim itself, generating the files with an older version of Nvim will fail because those changes are not present in the older version. For example, if a new option is added then the generator script should be run with the version of Nvim that contains the new option, or else the generation will fail. Co-authored-by: dundargoc <gocdundar@gmail.com>
| * | | | | Merge pull request #25859 from luukvbaal/extmarkdelbfredl2023-11-02
| |\ \ \ \ \ | | | | | | | | | | | | | | refactor(extmarks): extmark_del() with MarkTreeIter
| | * | | | | refactor(extmarks): extmark_del() with MarkTreeIterLuuk van Baal2023-11-01
| | | | | | |
| * | | | | | build: set char to always be signeddundargoc2023-11-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sticking to the same convention makes it easier to reason about the code and reduces complexity.
| * | | | | | fix(startup): trigger UIEnter for the correct channel (#25860)zeertzjq2023-11-01
| | | | | | |
| * | | | | | feat(server): allow embed with listen (#25709)George Harker2023-11-01
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | connection from any channel or stdio will unblock remote_ui_wait_for_attach. Wait on stdio only if only —embed specified, if both —embed and —listen then wait on any channel.
| * | | | | fix(base64): only check padding if leftover index is set (#25854)Gregory Anders2023-10-31
| | | | | |
| * | | | | feat(stdlib): add vim.base64 module (#25843)Gregory Anders2023-10-31
| | | | | | | | | | | | | | | | | | Add base64 encode() and decode() functions to a vim.base64 module.
| * | | | | Merge pull request #25850 from famiu/refactor/option/stringbfredl2023-10-31
| |\ \ \ \ \ | | | | | | | | | | | | | | refactor(options): remove `os_doskip`
| | * | | | | refactor(options): remove `os_doskip`Famiu Haque2023-10-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: `os_doskip` seems to be unnecessary since everything that sets it to true also returns an error, and `errmsg` being non-`NULL` already skips most of the processing. Solution: Remove `os_doskip`.
| * | | | | | fix(terminal): keep focus when scrolling number column of another window ↵zeertzjq2023-10-31
| |/ / / / / | | | | | | | | | | | | | | | | | | (#25848)
| * | | | | fix(terminal): don't lose focus on <MouseMove> (#25845)zeertzjq2023-10-31
| | | | | |
| * | | | | refactor(options)!: unify `set_option` and `set_string_option`Famiu Haque2023-10-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While the interfaces for setting number and boolean options are now unified by #25394, there is still a separate `set_string_option` function that is used for setting a string option. This PR removes that function and merges it with set_option. BREAKING CHANGE: `v:option_old` is now the old global value for all global-local options, instead of just string global-local options. Local value for a global-local number/boolean option is now unset when the option is set (e.g. using `:set` or `nvim_set_option_value`) without a scope, which means they now behave the same way as string options. Ref: #25672
| * | | | | docs: small fixes (#25585)dundargoc2023-10-29
| | | | | | | | | | | | | | | | | | | | | | | | Co-authored-by: tmummert <doczook@gmx.de> Co-authored-by: parikshit adhikari <parikshitadhikari@gmail.com>
| * | | | | fix(api): load buffer first on nvim_buf_set_lines (#25823)Raphael2023-10-29
| | | | | | | | | | | | | | | | | | | | | | | | Fix #22670 Fix #8659
| * | | | | fix(terminal): avoid Insert mode in Terminal buffer (#25820)zeertzjq2023-10-29
| | | | | |
| * | | | | vim-patch:8ebdbc9e6d80 (#25816)zeertzjq2023-10-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(doc): all secure options should note this restriction in the documentation (vim/vim#13448) Problem: Not all secure options document their status Solution: Describe secure context :set restrictions in each help entry https://github.com/vim/vim/commit/8ebdbc9e6d80b707c2b2d923e702dc86bf902923 Co-authored-by: dkearns <dougkearns@gmail.com>
| * | | | | vim-patch:9.0.2081: smoothscroll may result in wrong cursor position (#25815)luukvbaal2023-10-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: With 'smoothscroll' set, "w_skipcol" is not reset when unsetting 'wrap'. Resulting in incorrect calculation of the cursor position. Solution: Reset "w_skipcol" when unsetting 'wrap'. fixes: vim/vim#12970 closes: vim/vim#13439 https://github.com/vim/vim/commit/1bf1bf569b96d2f9b28e0cce0968ffbf2fb80aac
| * | | | | build: bump required minimum libvterm version to 0.3.3dundargoc2023-10-28
| | | | | | | | | | | | | | | | | | | | | | | | Also add detection for libvterm patch version.
| * | | | | vim-patch:9.0.2075: TextChangedI may not always trigger (#25808)zeertzjq2023-10-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: TextChangedI may not always trigger Solution: trigger it in more cases: for insert/ append/change operations, and when opening a new line, fixes: vim/vim#13367 closes: vim/vim#13375 https://github.com/vim/vim/commit/4bca4897a12dfb91b3b27e3083fd5f370bd857d1 Co-authored-by: Christian Brabandt <cb@256bit.org>
| * | | | | vim-patch:9.0.2070: [security] disallow setting env in restricted mode (#25807)zeertzjq2023-10-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |