aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* fix(edit): fix K_EVENT interfering with 'digraph' (#24258)zeertzjq2023-07-05
|
* fix(api): allow negative column arguments for nvim_buf_set_text (#23501)notomo2023-07-04
|
* feat(l10n): update Turkish translations #24246Emir SARI2023-07-04
|
* perf(ui-ext): approximate scroll_delta when scrolling too much (#24234)zeertzjq2023-07-04
|
* fix(ui-ext): "scroll_delta" handle topfill and skipcol (#24249)zeertzjq2023-07-04
|
* fix(api, lua): make blank lines in a message work properly (#24244)zeertzjq2023-07-04
|
* fix(plines): handle inline virtual text after last char (#24241)zeertzjq2023-07-03
| | | Also remove dead code in win_lbr_chartabsize().
* refactor: remove longdundargoc2023-07-03
| | | | | long is 32-bits even on 64-bit windows which makes the type suboptimal for a codebase meant to be cross-platform.
* Merge pull request #23891 from rickyz/grid_line_flagsbfredl2023-07-03
|\ | | | | fix(ui): propagate line flags on grid_line events
| * fix(ui): propagate line wrapping state on grid_line eventsRicky Zhou2023-06-05
| | | | | | | | | | | | This fixes the TUI's line-wrapping behavior, which was broken with the migration to the msgpack-based UI protocol (see https://github.com/neovim/neovim/issues/7369#issuecomment-1571812273).
* | vim-patch:9.0.1672: tabline highlight wrong after truncated double width ↵zeertzjq2023-07-02
| | | | | | | | | | | | | | | | label (#24223) Problem: Tabline highlight wrong after truncated double width label. Solution: Fill up half a double width character later. (closes vim/vim#12614) https://github.com/vim/vim/commit/d392a74c5a8af8271a33a20d37ae1a8ea422cb4b
* | fix(startup)!: "nvim -l" message does not end with newline #24215zeertzjq2023-07-01
| | | | | | Close #24180
* | fix(api): nvim_parse_cmd error message in pcall() #23297Alexandre Teoi2023-07-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: nvim_parse_cmd() in pcall() may show an error message (side-effect): :lua pcall(vim.api.nvim_parse_cmd, vim.fn.getcmdline(), {}) E16: Invalid range Solution: Avoid emsg() in the nvim_parse_cmd() codepath. - refactor(api): add error message output parameter to get_address() - fix: null check emsg() parameter - refactor: remove emsg_off workaround from do_incsearch_highlighting() - refactor: remove emsg_off workaround from cmdpreview_may_show() - refactor: remove remaining calls to emsg() from parse_cmd_address() and get_address() - (refactor): lint set_cmd_dflall_range() - refactor: addr_error() - move output parameter to return value Fix #20339 TODO: These are the functions called by `get_address()`: ``` nvim_parse_cmd() -> parse_cmdline() -> parse_cmd_address() -> get_address() skipwhite() addr_error() qf_get_cur_idx() qf_get_cur_valid_idx() qf_get_size() qf_get_valid_size() mark_get() mark_check() assert() skip_regexp() magic_isset() > do_search() > searchit() ascii_isdigit() getdigits() getdigits_int32() compute_buffer_local_count() hasFolding() ``` From these functions, I found at least two that call emsg directly: - do_search() - seems to be simple to refactor - searchit() - will be more challenging because it may generate multiple error messages, which can't be handled by the current `errormsg` out-parameter. For example, it makes multiple calls to `vim_regexec_multi()` in a loop that possibly generate error messages, and later `searchit()` itself may generate another one: - https://github.com/neovim/neovim/blob/c194acbfc479d8e5839fa629363f93f6550d035c/src/nvim/search.c#L631-L647 - https://github.com/neovim/neovim/blob/c194acbfc479d8e5839fa629363f93f6550d035c/src/nvim/search.c#L939-L954 --------- Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
* | feat(version): unverbose ":version", ":verbose version" #24195Justin M. Keyes2023-07-01
| | | | | | | | | | | | | | | | | | Problem: `nvim -v` and `:version` prints system vimrc, fallback files, and compilation info by default, which most people don't care about and just clutters up the output. Solution: Omit extra info unless 'verbose' is set.
* | fix(startup): don't truncate when printing with -l (#24216)zeertzjq2023-07-01
| |
* | refactor: fix clang/PVS warnings (#24213)zeertzjq2023-06-30
| |
* | fix(statusline): fill for double-width char after moving items (#24207)zeertzjq2023-06-30
| |
* | refactor: remove some casts to char * (#24200)zeertzjq2023-06-29
| |
* | fix(column): handle unprintable chars in 'statuscolumn' (#24198)zeertzjq2023-06-29
| |
* | fix(column): use maxwidth to allocate/fill 'statuscolumn' click defs #24190luukvbaal2023-06-28
| | | | | | | | Use the actual width of the 'statuscolumn' to allocate and fill its click definition array. The returned width of the built statuscolumn string may be shorter (and is padded later).
* | fix(api): nvim_cmd{cmd="win_getid"} parsed as :winsize #24181Justin M. Keyes2023-06-28
| | | | | | | | | | | | | | | | Problem: `:lua vim.cmd.win_getid(30,10)` is interpreted as `:win[size] 30 10`. User intention was to call `vim.fn.win_getid(30,10)`. Solution: Check that the `cmd` actually matches the resolved command.
* | vim-patch:9.0.1670: resetting local option to global value is inconsistent ↵zeertzjq2023-06-28
| | | | | | | | | | | | | | | | | | | | | | (#24185) Problem: Resetting local option to global value is inconsistent. Solution: Handle "<" specifically for 'scrolloff' and 'sidescrolloff'. (closes vim/vim#12594) https://github.com/vim/vim/commit/bf5f189e449d6517239b79804d7a422a46946838 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* | vim-patch:9.0.1664: divide by zero when scrolling with 'smoothscroll' setzeertzjq2023-06-27
| | | | | | | | | | | | | | | | | | Problem: Divide by zero when scrolling with 'smoothscroll' set. Solution: Avoid using a negative width. (closes vim/vim#12540, closes vim/vim#12528) https://github.com/vim/vim/commit/8154e642aa476e1a5d3de66c34e8289845b2b797 Co-authored-by: fullwaywang <fullwaywang@tencent.com>
* | fix(startup): "nvim -l foo.lua" may not set arg0 #24161Mike2023-06-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Using "nvim -l args.lua" without passing extra script args, does not set `_G.arg[0]`. Steps to reproduce: ``` cat > args.lua<<EOF vim.print(_G.arg, '') vim.print(vim.v.argv, '') EOF nvim --clean -l args.lua ``` Solution: Fix condition in command_line_scan.
* | docs: fix misparsed headings (#24162)Christian Clason2023-06-26
| | | | | | | | | | | | Problem: vimdoc parser requires space between column heading and `~`. Solution: Add space to docs (and mention it). Also edit `luaref.txt` headings for consistency.
* | fix(charset): fix wrong display of 0xffff (#24158)zeertzjq2023-06-26
| |
* | vim-patch:9.0.1665: empty CmdlineEnter autocommand causes errors in Ex modezeertzjq2023-06-26
| | | | | | | | | | | | | | | | | | | | Problem: Empty CmdlineEnter autocommand causes errors in Ex mode. Solution: Save and restore ex_pressedreturn. (Christian Brabandt, closes # 12581, closes vim/vim#12578) https://github.com/vim/vim/commit/590aae35575cbd74d80c41d87fc647f2812aad70 Co-authored-by: Christian Brabandt <cb@256bit.org>
* | vim-patch:8.2.3833: error from term_start() not caught by try/catchzeertzjq2023-06-26
| | | | | | | | | | | | | | | | | | | | Problem: Error from term_start() not caught by try/catch. Solution: save and restore did_emsg when applying autocommands. (Ozaki Kiichi, closes vim/vim#9361) https://github.com/vim/vim/commit/c3f91c0648f4b04a6a9ceb4ccec45ea767a63796 Co-authored-by: ichizok <gclient.gaap@gmail.com>
* | Merge #24116 from justinmk/docJustin M. Keyes2023-06-25
|\ \
| * | docs: autocmds, miscJustin M. Keyes2023-06-25
| | |
* | | fix(extmarks): fix heap buffer overflow caused by inline virtual text (#23851)Ibby2023-06-24
|/ / | | | | also fixes an edge case where the extends character would not be drawn if the real text exactly fits the grid.
* | fix(cmdline): don't redraw 'tabline' in Ex mode (#24123)zeertzjq2023-06-23
| | | | | | | | | | | | | | | | Redrawing of 'statusline' and 'winbar' are actually already inhibited by RedawingDisabled in Ex mode. In Vim there is a check for `msg_scrolled == 0` (which is false in Ex mode) since Vim doesn't have msgsep. Add a `!exmode_active` check here in Nvim instead.
* | feat(extmarks): support hl_mode "combine" for inline virt_text (#24099)zeertzjq2023-06-22
| |
* | fix(messages): use "Vimscript" instead of "VimL" #24111Justin M. Keyes2023-06-22
| | | | | | | | followup to #24109 fix #16150
* | test: spellcheck :help (vimdoc) files #24109Justin M. Keyes2023-06-22
| | | | | | | | | | | | | | Enforce consistent terminology (defined in `gen_help_html.lua:spell_dict`) for common misspellings. This does not spellcheck English in general (perhaps a future TODO, though it may be noisy).
* | fix(extmarks): hide inline virt_text properly with 'smoothscroll' (#24106)zeertzjq2023-06-22
| |
* | fix(extmarks): empty inline virt_text interfering with DiffText (#24101)zeertzjq2023-06-22
| |
* | fix(api): wrong nvim_buf_set_extmark error for invalid hl_modezeertzjq2023-06-22
| |
* | fix(extmarks): empty inline virt_text interfering with Visual highlightzeertzjq2023-06-22
| |
* | fix(folds): don't show search or match highlighting on fold (#24084)zeertzjq2023-06-21
| |
* | fix(vim.json)!: remove global options, "null", "array_mt" #24070Justin M. Keyes2023-06-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: - `vim.json` exposes various global options which: - affect all Nvim Lua plugins (especially the LSP client) - are undocumented and untested - can cause confusing problems such as: https://github.com/codota/tabnine-nvim/commit/cc76ae3abe2f129d44b5a8edee2529e0ee0dcf69 - `vim.json` exposes redundant mechanisms: - `vim.json.null` is redundant with `vim.NIL`. - `array_mt` is redundant because Nvim uses a metatable (`vim.empty_dict()`) for empty dict instead, which `vim.json` is configured to use by default (see `as_empty_dict`). Example: ``` :lua vim.print(vim.json.decode('{"bar":[],"foo":{}}')) --> { bar = {}, foo = vim.empty_dict() } ``` Thus we don't need to also decorate empty arrays with `array_mt`. Solution: Remove the functions from the public vim.json interface. Comment-out the implementation code to minimize drift from upstream. TODO: - Expose the options as arguments to `vim.json.new()`
* | fix(lsp): define LspInlayHint highlight group #24073Chinmay Dalal2023-06-21
| | | | | | | | | | fixes #24068 Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
* | Merge pull request #24069 from famiu/refactor/options/varpbfredl2023-06-20
|\ \ | | | | | | refactor(option): use `void *` for pointer to option value
| * | refactor(option): use `void *` for pointer to option valueFamiu Haque2023-06-20
| | | | | | | | | | | | | | | | | | Option related code uses `char *` for pointer to option value, which is not the best way of representing a type-agnostic pointer. Solution: Make pointers to option value use `void *` instead.
* | | fix(docs): the runtimepath is not the runtime pathbfredl2023-06-19
| | |
* | | docs #22363Justin M. Keyes2023-06-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | Co-authored by: zeertzjq <zeertzjq@outlook.com> Co-authored by: Steven Todd McIntyre II <114119064+stmii@users.noreply.github.com> Co-authored by: nobe4 <nobe4@users.noreply.github.com> - docs: mention --luadev-mod to run with lua runtime files When changing a lua file in the ./runtime folder, a new contributor might expect changes to be applied to the built Neovim binary.
* | | vim-patch:9.0.1638: crypt tests hang and cause memory errors (#24053)zeertzjq2023-06-18
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: crypt tests hang and cause memory errors Solution: Move variable to start of function. https://github.com/vim/vim/commit/438d0c5e58aa475179ade9a1b99013733c5b8f06 N/A patches for version.c: vim-patch:9.0.1639: build failure without the crypt feature Problem: Build failure without the crypt feature. Solution: Adjust #ifdefs https://github.com/vim/vim/commit/bc385a150f9d812bb3e54ff0d5db75d3c6c3bb43 vim-patch:9.0.1640: compiler warning for unused variables without crypt feature Problem: Compiler warning for unused variables without the crypt feature. Solution: Adjust #ifdefs https://github.com/vim/vim/commit/7f29122c8ce2ca224d21abbaeb35e38bc354d95d Co-authored-by: Bram Moolenaar <Bram@vim.org>
* | vim-patch:9.0.1637: compiler warning for uninitialized variable (#24042)zeertzjq2023-06-17
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Compiler warning for uninitialized variable. Solution: Move the variable to an inner block and initialize it. (Christian Brabandt, closes vim/vim#12549) https://github.com/vim/vim/commit/54f50cbf6a470316a262e4389d62424e6f06b81c The "eof" variable is not present in Nvim because it is only used by FEAT_CRYPT. Co-authored-by: Christian Brabandt <cb@256bit.org>
* | vim-patch:9.0.1635: error message is cleared when removing mode messagezeertzjq2023-06-16
| | | | | | | | | | | | | | | | | | Problem: Error message is cleared when removing mode message. Solution: Also reset flags when the message is further down. https://github.com/vim/vim/commit/da51ad51bf4fbd66619786d0e6a83fb3ca09930b Co-authored-by: Bram Moolenaar <Bram@vim.org>
* | vim-patch:9.0.1634: message is cleared when removing mode messagezeertzjq2023-06-16
| | | | | | | | | | | | | | | | | | Problem: Message is cleared when removing mode message (Gary Johnson). Solution: Do not clear the command line after displaying a message. https://github.com/vim/vim/commit/800cdbb7caeb5dd4379c6cb071bb12391f20bcf3 Co-authored-by: Bram Moolenaar <Bram@vim.org>