aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
| * vim-patch:9.1.0745: filetype: bun and deno history files not recognizedChristian Clason2024-09-29
| | | | | | | | | | | | | | | | | | | | | | | | Problem: filetype: bun and deno history files not recognized Solution: detect '.bun_repl_history' and 'deno_history.txt' as javascript filetype (Wu, Zhenyu) closes: vim/vim#15761 https://github.com/vim/vim/commit/8a2aea8a623ba183dc0703a47970463b105a9399 Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
| * vim-patch:9.1.0746: tests: Test_halfpage_longline() fails on large terminals ↵zeertzjq2024-09-29
| | | | | | | | | | | | | | | | | | | | | | | | (#30567) Problem: Test_halfpage_longline() fails on large terminals (lazypingu) Solution: Use a window with known width (zeertzjq). fixes: vim/vim#15755 closes: vim/vim#15756 https://github.com/vim/vim/commit/fa117387eea97306e4c59043b607ccb1533f64ea
| * vim-patch:c3989f1: runtime(doc): reformat ada_standard_types sectionzeertzjq2024-09-29
| | | | | | | | | | | | | | | | closes: vim/vim#15759 https://github.com/vim/vim/commit/c3989f184d4dd1ee817c06bb3c04d5471382dd04 Co-authored-by: hokorobi <hokorobi.hokorobi@gmail.com>
| * vim-patch:998f018: runtime(doc): include short form for :earlier/:laterzeertzjq2024-09-29
| | | | | | | | | | | | | | | | fixes: vim/vim#15757 https://github.com/vim/vim/commit/998f018df37088455bd68ad79da3d16bc4ad9bbe Co-authored-by: Christian Brabandt <cb@256bit.org>
| * Merge pull request #30401 from bfredl/casefold2bfredl2024-09-29
| |\ | | | | | | refactor(multibyte): neo-casefolding without allocation
| | * refactor(multibyte): neo-casefolding without allocationbfredl2024-09-29
| |/ | | | | | | fixes #30400
| * Merge pull request #30558 from bfredl/noklistbfredl2024-09-28
| |\ | | | | | | refactor(event): change last use of klist to kvec
| | * refactor(event): change last use of klist to kvecbfredl2024-09-28
| |/ | | | | | | | | | | | | | | | | | | | | loop->children might have been a linked list because used to be modified in place while looped over. However the loops that exists rather schedules events to be processed later, outside of the loop, so this can not happen anymore. When a linked list is otherwise useful it is better to use lib/queue_defs.h which defines an _intrusive_ linked list (i e it doesn't need to do allocations for list items like klist ).
| * fix(column): set signcolumn width after splitting window (#30556)zeertzjq2024-09-28
| |
| * fix(treesitter): specify success status in edit_query return valueRiley Bruins2024-09-28
| |
| * fix(window): making float with title/footer non-float leaks memory (#30551)zeertzjq2024-09-28
| |
| * fix(treesitter): suppress get_parser warnings via opts.errorRiley Bruins2024-09-28
| |
| * fix(window): respect hide flag of float windows when switching (#30507)glepnir2024-09-28
| |
| * feat(defaults): pretty :help headings #30544Justin M. Keyes2024-09-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Headings in :help do not stand out visually. Solution: Define a non-standard `@markup.heading.1.delimiter` group and special-case it in `highlight_group.c`. FUTURE: This is a cheap workaround until we have #25718 which will enable: - fully driven by `vimdoc/highlights.scm` instead of using highlight tricks (`guibg=bg guifg=bg guisp=fg`) - better support of "cterm" ('notermguicolors')
| * fix(api): fix crash/leak with float title/footer on error (#30543)zeertzjq2024-09-27
| |
| * test(api/window_spec): remove duplicate test (#30538)zeertzjq2024-09-27
| |
| * vim-patch:9.1.0744: filetype: notmuch configs are not recognised (#30535)zeertzjq2024-09-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: filetype: notmuch configs are not recognised Solution: Detect more notmuch profile configuration files as dosini filetype (Julio B) Reference: https://notmuchmail.org/doc/latest/man1/notmuch-config.html#configuration closes: vim/vim#15744 https://github.com/vim/vim/commit/1a2870b57aa832500d59c17c8225a64c2b4aa619 Co-authored-by: Julio B <julio.bacel@gmail.com>
| * fix(treesitter): EditQuery shows swapfile ATTENTION #30536Justin M. Keyes2024-09-27
| | | | | | | | | | | | | | | | Problem: EditQuery shows swapfile ATTENTION, but this buffer is not intended for preservation (and the dialog breaks the UX). Solution: Set 'noswapfile' on the buffer before renaming it.
| * vim-patch:9.1.0743: diff mode does not handle overlapping diffs correctly ↵zeertzjq2024-09-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#30532) Problem: diff mode does not handle overlapping diffs correctly Solution: correct the logic to handle overlapping blocks (Yukihiro Nakadaira) Vim merges overlapped diff blocks and it doesn't work expectedly in some situation. closes: vim/vim#15735 https://github.com/vim/vim/commit/06fe70c183a53ea97cd42ace490d4fb9fd14f042 Co-authored-by: Yukihiro Nakadaira <yukihiro.nakadaira@gmail.com>
| * fix(mbyte): check for utf8proc_map() failure (#30531)zeertzjq2024-09-26
| |
| * Merge pull request #30530 from zeertzjq/vim-d9af78bzeertzjq2024-09-27
| |\ | | | | | | vim-patch: doc updates
| | * vim-patch:2c41dad: runtime(doc): Fix typo in :help :command-modifierszeertzjq2024-09-27
| | | | | | | | | | | | | | | | | | | | | | | | closes: vim/vim#15734 https://github.com/vim/vim/commit/2c41dad3873e71cdd4076907cf35e985d0d7a0d1 Co-authored-by: Doug Kearns <dougkearns@gmail.com>
| | * vim-patch:d9af78b: runtime(docs): update `:set?` command behavior tablezeertzjq2024-09-27
| |/ | | | | | | | | | | | | | | closes: vim/vim#15746 https://github.com/vim/vim/commit/d9af78b9450362847b344f8dc0f68d015b428d03 Co-authored-by: Milly <milly.ca@gmail.com>
| * feat(health): highlight headings #30525Justin M. Keyes2024-09-26
| | | | | | | | | | | | | | | | | | | | Problem: checkhealth report sections are not visually separated. Solution: Highlight with "reverse". TODO: migrate checkhealth filetype to use treesitter. TODO: default :help should also highlight headings more boldy!
| * Merge pull request #30489 from zeertzjq/vim-9.1.0741zeertzjq2024-09-26
| |\ | | | | | | vim-patch:9.1.{0741,0742}: No way to get prompt for input()/confirm()
| | * vim-patch:9.1.0742: getcmdprompt() implementation can be improvedzeertzjq2024-09-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: getcmdprompt() implementation can be improved Solution: Improve and simplify it (h-east) closes: vim/vim#15743 https://github.com/vim/vim/commit/25876a6cdd439054d0b3f920ccca0a435481de15 Co-authored-by: h-east <h.east.727@gmail.com>
| | * vim-patch:9.1.0741: No way to get prompt for input()/confirm()zeertzjq2024-09-26
| |/ | | | | | | | | | | | | | | | | | | | | | | Problem: No way to get prompt for input()/confirm() Solution: add getcmdprompt() function (Shougo Matsushita) (Shougo Matsushita) closes: vim/vim#15667 https://github.com/vim/vim/commit/6908428560a0d6ae27bf7af6fcb6dc362e31926c Co-authored-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
| * test(api/buffer_updates_spec): prevent flakiness (#30521)zeertzjq2024-09-26
| | | | | | Use poke_eventloop() to wait for Nvim to finish processing input.
| * fix(channel): handle writing to file instead of pipe (#30519)zeertzjq2024-09-26
| |
| * perf(treesitter): use `child_containing_descendant()` in `is_ancestor()`Riley Bruins2024-09-25
| | | | | | | | | | | | | | | | **Problem:** `is_ancestor()` uses a slow, bottom-up parent lookup which has performance pitfalls detailed in #28512. **Solution:** Take `is_ancestor()` from $O(n^2)$ to $O(n)$ by incorporating the use of the `child_containing_descendant()` function
| * fix(diagnostic): correct `severity` type on `setqflist`, `setloclist` (#30506)Nathan Smith2024-09-25
| | | | | | fix(diagnostic): correct severity type on setqflist, setloclist
| * build: fix or silence new clang-tidy warningsdundargoc2024-09-25
| |
| * refactor(lua): vim.keymap.set tests, docs #30511Justin M. Keyes2024-09-25
| |
| * fix(coverity): size_t overflow #30497Justin M. Keyes2024-09-25
| | | | | | | | | | | | | | | | | | | | | | CID 497370: Overflowed constant (INTEGER_OVERFLOW) Expression `tsize - ret.has_type_key`, where tsize=0 and ret.has_type_key=1, underflows the type that receives it, an unsigned integer 64 bits wide. CID 509910: Overflowed constant (INTEGER_OVERFLOW) Expression stack.size++, which is equal to 0, where stack.size is known to be equal to 18446744073709551615, overflows the type that receives it, an unsigned integer 64 bits wide
| * build(deps): bump wasmtime to v25.0.1Christian Clason2024-09-25
| |
| * docs: render @see, @note items in _meta/api.lua #30494Justin M. Keyes2024-09-25
| |
| * build(deps): bump libuv to v1.49.0Christian Clason2024-09-25
| |
| * fix(paste): only record a paste when it's from RPC (#30491)zeertzjq2024-09-24
| | | | | | | | | | | | | | | | | | Problem: When using nvim_paste in a mapping during a macro recording, both the mapping and the paste are recorded, causing the paste to be performed twice when replaying the macro. Solution: Only record a paste when it is from RPC. Unfortunately this means there is no way for a script to make a recorded paste. A way to enable that can be discussed later if there is need.
| * docs: lua error patterns #30240Justin M. Keyes2024-09-24
| | | | | | | | Co-authored-by: Mathias Fussenegger <f.mathias@zignar.net> Co-authored-by: Ananth Bhaskararaman <antsub@gmail.com>
| * vim-patch:a7229c8: runtime(rmd,rrst): 'fex' option not properly restoredChristian Clason2024-09-24
| | | | | | | | | | | | | | | | | | | | Add 'fex' to b:undo_ftplugin variable closes: vim/vim#15728 https://github.com/vim/vim/commit/a7229c8a99129608e9d651441cca6e6d3079ef56 Co-authored-by: John M Devin <john.m.devin@gmail.com>
| * feat(paste): unify cancel and error behavior (#30476)zeertzjq2024-09-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this PR, the behavior of nvim_paste is: - When vim.paste() returns false, return false to the client, but treat following chunks normally (i.e. rely on the client cancelling the paste as expected). - When vim.paste() throws an error, still return true to the client, but drain the following chunks in the stream without calling vim.paste(). There are two problems with such behavior: - When vim.paste() errors, the client is still supposed to send the remaining chunks of the stream, even though they do nothing. - Having different code paths for two uncommon but similar situations complicates maintenance. This PR makes both the cancel case and the error case return false to the client and drain the remaining chunks of the stream, which, apart from sharing the same code path, is beneficial whether the client checks the return value of nvim_paste or not: - If the client checks the return value, it can avoid sending the following chunks needlessly after an error. - If the client doesn't check the return value, chunks following a cancelled chunk won't be pasted on the server regardless, which leads to less confusing behavior.
| * fix(filetype): handle .in files with no filename (#30487)Tristan Knight2024-09-24
| | | | | | | | | | | | | | | | | | Problem: fnamemodify with the :r flag will not strip extensions if the filename starts with a ".". This means that files named ".in" could cause an infinite loop. Solution: Add early return if the filename was not changed
| * Merge #30435 refactor: rename "Dictionary" => "Dict"Justin M. Keyes2024-09-23
| |\
| | * refactor(api): rename Dictionary => DictJustin M. Keyes2024-09-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the api_info() output: :new|put =map(filter(api_info().functions, '!has_key(v:val,''deprecated_since'')'), 'v:val') ... {'return_type': 'ArrayOf(Integer, 2)', 'name': 'nvim_win_get_position', 'method': v:true, 'parameters': [['Window', 'window']], 'since': 1} The `ArrayOf(Integer, 2)` return type didn't break clients when we added it, which is evidence that clients don't use the `return_type` field, thus renaming Dictionary => Dict in api_info() is not a breaking change.
| | * refactor(api)!: rename Dictionary => DictJustin M. Keyes2024-09-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the api_info() output: :new|put =map(filter(api_info().functions, '!has_key(v:val,''deprecated_since'')'), 'v:val') ... {'return_type': 'ArrayOf(Integer, 2)', 'name': 'nvim_win_get_position', 'method': v:true, 'parameters': [['Window', 'window']], 'since': 1} The `ArrayOf(Integer, 2)` return type didn't break clients when we added it, which is evidence that clients don't use the `return_type` field, thus renaming Dictionary => Dict in api_info() is not (in practice) a breaking change.
| * | fix(vim.fs): dirname() returns "." on mingw/msys2 #30480Justin M. Keyes2024-09-23
| |/ | | | | | | | | | | | | | | | | | | Problem: `vim.fs.dirname([[C:\User\XXX\AppData\Local]])` returns "." on mingw/msys2. Solution: - Check for "mingw" when deciding `iswin`. - Use `has("win32")` where possible, it works in "fast" contexts since b02eeb6a7281df0561a021d7ae595c84be9a01be.
| * test(tui_spec): prevent another case of race between paste and input (#30481)zeertzjq2024-09-23
| | | | | | | | | | Problem: When input immediately follows end of bracketed paste, the nvim_input may be processed before the nvim_paste. Solution: Ensure some waiting after the end of a bracketed paste.
| * build: silence "po" noise #30469Justin M. Keyes2024-09-23
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Noise in stderr from src/nvim/po/CMakeLists.txt during build: 48 substitutions on 48 lines "optwin.js" "optwin.js" 1299L, 57582B written 385 substitutions on 385 lines "nvim.pot" "nvim.pot" 9318L, 180177B written Solution: Run with `-c silent source` instead of `-S`.
| * fix(runtime): treat b:undo_ftplugin consistently in Lua ftplugins (#30473)zeertzjq2024-09-23
| | | | | | | | - Don't assume b:undo_ftplugin is set when first modifying it. - Don't assume b:undo_ftplugin already contains some resetting.
| * vim-patch:be551da: runtime(netrw): remove extraneous closing bracketChristian Clason2024-09-23
| | | | | | | | | | | | | | | | | | fixes: vim/vim#15717 closes: vim/vim#15718 https://github.com/vim/vim/commit/be551dacb87a0542afd8b5c17b89e6749f2dc355 Co-authored-by: Peter Aronoff <peter@aronoff.org>