aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* vim-patch:9.1.0753: Wrong display when typing in diff mode with ↵zeertzjq2024-10-01
| | | | | | | | | | 'smoothscroll' (#30614) Problem: Wrong display when typing in diff mode with 'smoothscroll'. Solution: Use adjust_plines_for_skipcol() (zeertzjq). closes: vim/vim#15776 https://github.com/vim/vim/commit/47f8584a80006cd25e7dc6fa7fb1bfe2e768403c
* fix(treesitter): indent size for inspect_tree #28727Jongwook Choi2024-10-01
| | | | | | | | | | | Problem: For :InspectTree, indent size (`&shiftwidth`) for the tree viewer may be incorrect. This is because the tree viewer buffer with the filetype `query` does not explicitly configures the tab size, which can mismatch with the default indent size (2) assumed by TSTreeView's implementation. Solution: Set shiftwidth to be the same as TSTreeViewOpts specifies, which defaults to 2.
* feat(defaults): add default unimpaired style mappings (#28525)Gregory Anders2024-10-01
|
* fix(tabline): restore behavior of click after last tabpage (#30602)zeertzjq2024-10-01
| | | Also correct the comments about tabpage labels in custom tabline.
* docs(gen_help_html.lua): h4 pseudo-heading layoutJustin M. Keyes2024-10-01
| | | | | | | | | | | | | | | Problem: The <br> hack in a0c64fe816f8 causes weird layout if a "h4 pseudo-heading" is not the only tag on the line. For example in the help text below, the "*'buflisted'*" tag was treated as h4 and followed by <br>, which is obviously wrong: *'buflisted'* *'bl'* *'nobuflisted'* *'nobl'* *E85* 'buflisted' 'bl' boolean (default on) Solution: Only treat a tag as "h4 pseudo-heading" if it is the only tag in the line. This is fragile, but in practice seems to get the right balance.
* docs(gen_help_html.lua): h4 pseudo-heading layout #30609Justin M. Keyes2024-10-01
| | | | | | | | | Problem: The right-aligned tag "pseudo-heading" layout mushes together with the left-aligned text. This is especially messy in a narrow viewport. Solution: Put a `<br>` on it. This is a hack until tree-sitter-vimdoc recognizes these pseudo-headings.
* vim-patch:85f054a: runtime(java): Recognise the CommonMark form (///) of ↵Christian Clason2024-10-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Javadoc comments Complement "g:java_ignore_javadoc" with "g:java_ignore_html" and "g:java_ignore_markdown" to allow selectively disabling the recognition of HTML and CommonMark respectively. (Note that this is not a preview feature.) ======================== LIMITATION ======================== According to the syntactical details of JEP 467: > Any leading whitespace and the three initial / characters > are removed from each line. > > The lines are shifted left, by removing leading whitespace > characters, until the non-blank line with the least > leading whitespace has no remaining leading whitespace. > > Additional leading whitespace and any trailing whitespace > in each line is preserved, because it may be significant. the following example: ------------------------------------------------------------ /// A summary sentence. /// A list: /// - Item A. /// - Item B. /// /// Some code span, starting here ` /// 1 + 2 ` and ending at the previous \`. ------------------------------------------------------------ should be interpreted as if it were written thus: ------------------------------------------------------------ ///A summary sentence. /// A list: /// - Item A. /// - Item B. /// /// Some code span, starting here ` /// 1 + 2 ` and ending at the previous \`. ------------------------------------------------------------ Since automatic line rewriting will not be pursued, parts of such comments having significant whitespace may be ‘wrongly’ highlighted. For convenience, a &fex function is defined to ‘correct’ it: g:javaformat#RemoveCommonMarkdownWhitespace() (:help ft-java-plugin). References: https://openjdk.org/jeps/467 https://spec.commonmark.org/0.31.2 closes: vim/vim#15740 https://github.com/vim/vim/commit/85f054aa3f0fb9530712d0897e3c8ba29946fad4 Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com> Co-authored-by: Tim Pope <code@tpope.net>
* vim-patch:9.1.0749: filetype: http files not recognizedChristian Clason2024-10-01
| | | | | | | | | | | | | | | Problem: filetype: http files not recognized Solution: detect '*.http' as http filetype, include http filetype plugin (Riley Bruins) Based on the specification found [here](https://github.com/JetBrains/http-request-in-editor-spec/blob/master/spec.md) closes: vim/vim#15762 https://github.com/vim/vim/commit/de6c1d1182076b10212342fd2d441267fbe43a22 Co-authored-by: Riley Bruins <ribru17@hotmail.com>
* refactor: use ERROR_SET() to check for error (#30594)zeertzjq2024-10-01
| | | Replaces the only two places where kErrorTypeNone is checked explicitly.
* build(deps): bump luajit to HEAD - f5fd22203Christian Clason2024-09-30
|
* Merge pull request #30526 from lewis6991/fix/linematchnulLewis Russell2024-09-30
|\
| * test: refactor exec_lua in xdiff_specLewis Russell2024-09-30
| |
| * fix(diff): use mmfile_t in linematchLewis Russell2024-09-30
|/ | | | | | | | | | | | | | | Problem: Linematch used to use strchr to navigate a string, however strchr does not supoprt embedded NULs. Solution: Use `mmfile_t` instead of `char *` in linematch and introduce `strnchr()`. Also remove heap allocations from `matching_char_iwhite()` Fixes: #30505
* docs: graduate editorconfig.txt to "flow layout"Justin M. Keyes2024-09-30
| | | | fix #25401
* feat(treesitter)!: use return values in `language.add()`Christian Clason2024-09-29
| | | | | | | | | Problem: No clear way to check whether parsers are available for a given language. Solution: Make `language.add()` return `true` if a parser was successfully added and `nil` otherwise. Use explicit `assert` instead of relying on thrown errors.
* feat(treesitter)!: add default fallback to `ft_to_lang` lookupsChristian Clason2024-09-29
| | | | | | | | | | | | Problem: Language names are only registered for filetype<->language lookups when parsers are actually loaded; this means users cannot rely on `vim.treesitter.language.get_lang()` or `get_filetypes()` to return the correct value when language and filetype coincide and always need to add explicit fallbacks. Solution: Always return the language name as valid filetype in `get_filetypes()`, and default to the filetype in `get_lang()`. Document this behavior.
* vim-patch:6db3fc5: runtime(doc): reformat gnat example (#30575)zeertzjq2024-09-29
| | | | | | | closes: vim/vim#15758 https://github.com/vim/vim/commit/6db3fc5632c877062d759356c025fe06e9dc3630 Co-authored-by: hokorobi <hokorobi.hokorobi@gmail.com>
* fix(float): properly find last window of tabpage (#30571)zeertzjq2024-09-29
|
* vim-patch:ee20fc8: runtime(indent): allow matching negative numbers for gnu ↵Christian Clason2024-09-29
| | | | | | | | | | | | | indent config file Some gnu indent options take negative numbers (e.g. --indent-label). Add matching for an optional single '-' before the number. closes: vim/vim#15754 https://github.com/vim/vim/commit/ee20fc8062b43eb8e52014978ed8f200158a7efd Co-authored-by: John M Devin <john.m.devin@gmail.com>
* docs: misc (#30177)dundargoc2024-09-29
| | | | | Co-authored-by: Christian Clason <c.clason@uni-graz.at> Co-authored-by: Riley Bruins <ribru17@hotmail.com> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* 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