aboutsummaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAge
...
| * feat(diagnostic): enable(…, opts)Justin M. Keyes2024-04-15
| | | | | | | | | | | | | | | | | | | | Problem: vim.diagnostic.enable() does not match the signature of vim.lsp.inlay_hint.enable() Solution: - Change the signature so that the first 2 args are (bufnr, enable). - Introduce a 3rd `opts` arg. - Currently it only supports `opts.ns_id`.
| * feat(diagnostic): is_enabled, enable(…, enable:boolean)Justin M. Keyes2024-04-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: `vim.diagnostic.is_disabled` and `vim.diagnostic.disable` are unnecessary and inconsistent with the "toggle" pattern (established starting with `vim.lsp.inlay_hint`, see https://github.com/neovim/neovim/pull/25512#pullrequestreview-1676750276 As a reminder, the rationale is: - we always need `enable()` - we always end up needing `is_enabled()` - "toggle" can be achieved via `enable(not is_enabled())` - therefore, - `toggle()` and `disable()` are redundant - `is_disabled()` is a needless inconsistency Solution: - Introduce `vim.diagnostic.is_enabled`, and `vim.diagnostic.enable(…, enable:boolean)` - Note: Future improvement would be to add an `enable()` overload `enable(enable:boolean, opts: table)`. - Deprecate `vim.diagnostic.is_disabled`, `vim.diagnostic.disable`
* | test: make mapping tests more consistent (#28368)zeertzjq2024-04-16
| | | | | | | | | | | | - Test maparg() and maplist() in the same test. - Use matches() instead of string.match(). - Avoid overlong lines and strange spacing in exec_lua(). - Revert code change from last PR as the variable may be needed.
* | test: getting autocmd Lua callback in Vimscript (#28367)zeertzjq2024-04-16
| | | | | | Also remove unnecessary variable in API converter.
* | fix(messages): avoid crash with :intro and ch=0 (#28343)zeertzjq2024-04-16
| | | | | | | | This just copies code from msg_start() to wait_return(). Not sure if there is a better place to put such a block.
* | vim-patch:9.1.0335: String interpolation fails for List type (#28364)zeertzjq2024-04-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: String interpolation fails for List type Solution: use implicit string(list) for string interpolation and :put = (Yegappan Lakshmanan) related: vim/vim#14529 closes: vim/vim#14556 https://github.com/vim/vim/commit/bce51d9005dd1c5bc002acbac2e12b649abcb013 Cherry-pick eval_to_string_eap() from patch 8.2.1914. Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* | vim-patch:9.1.0332: tests: some assert_equal() calls have wrong order of ↵zeertzjq2024-04-16
| | | | | | | | | | | | | | | | | | | | args (#28363) Problem: tests: some assert_equal() calls have wrong order of args Solution: Correct the order (zeertzjq). closes: vim/vim#14555 https://github.com/vim/vim/commit/757f32141bb8ce797f71e7e22e59ba368e0f4952
* | vim-patch:9.1.0326: filetype: some requirements files are not recognized ↵zeertzjq2024-04-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#28360) Problem: filetype: some requirements files are not recognized Solution: Detect '*-requirements.txt', 'constraints.txt', 'requirements.in', 'requirements/*.txt' and 'requires/*.txt' as requirements filetype, include pip compiler, include requirements filetype and syntax plugin (Wu, Zhenyu, @raimon49) closes: vim/vim#14379 https://github.com/vim/vim/commit/f9f5424d3e75bbdb35aa48fa6f9241d9479b35e8 Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu> Co-authored-by: raimon <raimon49@hotmail.com>
* | vim-patch:9.1.0325: CMakeCache.txt files not recognized (#28359)zeertzjq2024-04-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | vim-patch:9.1.0325: filetype: CMakeCache.txt files not recognized Problem: filetype: CMakeCache.txt files not recognized Solution: Detect 'CMakeCache.txt' files as cmakecache filetype, include basic syntax script for cmakecache (Wu, Zhenyu, @bfrg) closes: vim/vim#14384 https://github.com/vim/vim/commit/62c09e032c6b2d49fffac726300d142381924b98 Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu> Co-authored-by: bfrg <bfrg@users.noreply.github.com>
* | vim-patch:8.2.3415: Vim9: not all function argument types are properly ↵zeertzjq2024-04-16
| | | | | | | | | | | | | | | | | | | | | | checked (#28362) Problem: Vim9: Not all function argument types are properly checked. Solution: Add and improve argument type checks. (Yegappan Lakshmanan, closes vim/vim#8839) https://github.com/vim/vim/commit/fc3b775055c2361e507a1a44008d5a7d37eecf14 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* | vim-patch:9.1.0324: filetype: some json files are not recognizedzeertzjq2024-04-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: filetype: some json files are not recognized Solution: Detect '.jscsrc' and '.vsconfig' as jsonc filetype (Wu, Zhenyu) See: - https://github.com/microsoft/PowerToys/blob/main/.vsconfig - https://jscs-dev.github.io/ closes: vim/vim#14452 https://github.com/vim/vim/commit/c59a8648b2d8b3e17f12cd45f74a31b1aa385d2d Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* | vim-patch:9.1.0322: filetype: some mail tools not recognizedzeertzjq2024-04-16
| | | | | | | | | | | | | | | | | | | | | | | | | | Problem: filetype: some mail tools not recognized Solution: Detect '.mbsncrc' as conf, '.msmtprc' as msmtp and '.notmuch-config' as ini filetype (Shane-XB-Qian) closes: vim/vim#14533 https://github.com/vim/vim/commit/a7a9a476cf388f89286216188b8c8ae10702d9e2 Co-authored-by: shane.xb.qian <shane.qian@foxmail.com>
* | vim-patch:9.1.0334: No test for highlight behavior with 'ambiwidth' (#28354)zeertzjq2024-04-16
| | | | | | | | | | | | | | | | | | Problem: No test for highlight behavior with 'ambiwidth'. Solution: Add a screendump test for 'ambiwidth' with 'cursorline'. (zeertzjq) closes: vim/vim#14554 https://github.com/vim/vim/commit/a59e031aa0bdc5cc3d1f4ed719126bf1a1b858ce
* | fix(base64): properly handle embedded NULLs when decoding (#28349)Gregory Anders2024-04-15
|/
* fix(vim.ui): open() may wait indefinitely #28325Justin M. Keyes2024-04-15
| | | | | | | | | | | | Problem: vim.ui.open "locks up" Nvim if the spawned process does not terminate. #27986 Solution: - Change `vim.ui.open()`: - Do not call `wait()`. - Return a `SystemObj`. The caller can decide if it wants to `wait()`. - Change `gx` to `wait()` only a short time. - Allows `gx` to show a message if the command fails, without the risk of waiting forever.
* fix(api): make width/height for split by nvim_open_win work (#28341)zeertzjq2024-04-15
|
* vim-patch:9.1.0328: CI fails with t_?? testzeertzjq2024-04-15
| | | | | | | | | | | Problem: CI fails with t_?? test Solution: use assert_match instead of assert_equal and test only until t_xo, depending on system there may be several more termcap codes coming https://github.com/vim/vim/commit/0d87e3c711b46be67cf8f014cc0bca21431599c0 Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:9.1.0321: Garbled output on serial terminals with XON/XOFF flow ↵zeertzjq2024-04-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | control Problem: When used terminal with XON/XOFF flow control, vim tries to still make CTRL-S mapping available, which results in severe screen corruption, especially on large redraws, and even spurious inputs (John Tsiombikas) Solution: Disallow CTRL-S mapping if such terminal is recognized. Don't remove IXON from the bitmask inversion. (Anton Sharonov) *** When started like this: TERM=vt420 vim :set termcap shows "t_xon=y" map <C-S> :echo "abc"<CR> does nothing (after <C-S> output freezes and subsequent <C-Q> unfreezes it) *** When started like this: TERM=xterm vim :set termcap shows "t_xon=" map <C-S> :echo "abc"<CR> works (after <C-S> one see "abc" string echo-ed) fixes: vim/vim#12674 closes: vim/vim#14542 https://github.com/vim/vim/commit/49528da8a60f8fd38ca491d6ccec47dfccf5f23c Co-authored-by: Anton Sharonov <anton.sharonov@gmail.com>
* vim-patch:9.1.0329: String interpolation fails for Dict type (#28335)zeertzjq2024-04-15
| | | | | | | | | | | | | Problem: String interpolation fails for Dict type Solution: Support Dict data type properly, also support :put =Dict (without having to convert it to string() first) (Yegappan Lakshmanan) fixes: vim/vim#14529 closes: vim/vim#14541 https://github.com/vim/vim/commit/f01493c55062c01b1cdf9b1e946577f4d1bdddf3 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* feat(api)!: nvim_open_win: noautocmd blocks all autocmds #28192Sean Dewar2024-04-14
| | | | | | | | | | | | | | | | | | | | | | | | | | Problem: noautocmd is confusing; despite its name, it doesn't block all autocommands (instead it blocks only those related to setting the buffer), and is commonly used by plugins to open windows while producing minimal side-effects. Solution: be consistent and block all autocommands when noautocmd is set. This includes WinNew (again), plus autocommands from entering the window (if enter is set) like WinEnter, WinLeave, TabEnter, .etc. See the discussion at https://github.com/neovim/neovim/pull/14659#issuecomment-2040029517 for more information. Remove win_set_buf's noautocmd argument, as it's no longer needed. NOTE: pum_create_float_preview sets noautocmd for win_set_buf, but all its callers already use block_autocmds. Despite that, pum_create_float_preview doesn't actually properly handle autocommands (it has no checks for whether those from win_enter or nvim_create_buf free the window). For now, ensure autocommands are blocked within it for correctness (in case it's ever called outside of a block_autocmds context; the function seems to have been refactored in #26739 anyway).
* vim-patch:9.1.0320: Wrong cursor position after using setcellwidths() (#28334)zeertzjq2024-04-15
| | | | | | | | | | | Problem: Wrong cursor position after using setcellwidths(). Solution: Invalidate cursor position in addition to redrawing. (zeertzjq) closes: vim/vim#14545 https://github.com/vim/vim/commit/05aacec6ab5c7ed8a13bbdca2f0005d6a1816230 Reorder functions in test_utf8.vim to match upstream.
* vim-patch:9.1.0319: Using heredoc in string not tested with :execute (#28333)zeertzjq2024-04-15
| | | | | | | | Problem: Using heredoc in string not tested with :execute. Solution: Test with both :execute and execute() (zeertzjq). closes: vim/vim#14546 https://github.com/vim/vim/commit/3d93630605df60e8de5a38918eaff62165b42382
* fix(defaults): only repeat macro for each selected line if linewise (#28289)zeertzjq2024-04-15
| | | | | | As mentioned in #28287, repeating a macro for each selected line doesn't really make sense in non-linewise Visual mode. Fix #28287
* ci: enable unittests on macos-14Joey Gouly2024-04-14
| | | | | | | | | | | | | | | | | | | | | Add more filters so that LuaJIT can parse headers on macOS 14. The system headers use a style of enum introduced in C++11 (and allowed as an extension in C by clang) of the form: enum Name : Type { The system headers also use bitfields in the mach_vm_range_recipe* types: struct Foo { int bar : 32; } Neither of these constructs can be parsed by LuaJIT, so filter the lines out. Neither of these declarations are used by neovim's unittests. There is a (now closed) issue about bitfields for LuaJIT: https://github.com/LuaJIT/LuaJIT/issues/951 Fixes #26145.
* vim-patch:9.1.0318: filetype: translate shell config files are not recognizedChristian Clason2024-04-14
| | | | | | | | | | | | | | Problem: filetype: translate shell config files are not recognized Solution: Detect 'init.trans', 'translate-shell' and '.trans' files as clojure (Wu, Zhenyu) See: https://github.com/soimort/translate-shell/wiki/Configuration closes: vim/vim#14499 https://github.com/vim/vim/commit/4b5cd7257ee99384940d5210cf50298ff925924e Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* vim-patch:9.1.0317: filetype: matplotlibrc files are not recognizedChristian Clason2024-04-14
| | | | | | | | | | | | | | Problem: filetype: matplotlibrc files are not recognized Solution: Detect 'matplotlibrc' file as yaml filetype (Wu, Zhenyu) See: https://matplotlib.org/stable/users/explain/customizing.html#the-matplotlibrc-file closes: vim/vim#14501 https://github.com/vim/vim/commit/55d4f3c006689945599589a90036923b1752754f Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* vim-patch:9.1.0316: filetype: some sh and confini files not recognizedChristian Clason2024-04-14
| | | | | | | | | | | | | | | | | Problem: filetype: some sh and confini files not recognized Solution: Detect neofetch, '.xprofile', XDG-User-Dirs files, paru and makepkg config files (Wu, Zhenyu) See: - https://github.com/dylanaraps/neofetch/wiki/Customizing-Info#config-file-location - https://www.freedesktop.org/wiki/Software/xdg-user-dirs/ closes: vim/vim#14505 https://github.com/vim/vim/commit/5a9f7e6750727f81d0638e7ce0ee6bcb01742570 Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* vim-patch:9.1.0315: filetype: a few more dosini files are not recognizedChristian Clason2024-04-14
| | | | | | | | | | | | | | | | | | | | | | | Problem: filetype: a few more dosini files are not recognized Solution: Detect wakatime, reply config files, flatpak, nfs config files and a few more python tools as dosini (or toml) (Wu, Zhenyu) Refer: - https://packaging.python.org/en/latest/specifications/pypirc/ - https://jorisroovers.com/gitlint/latest/configuration/ - https://pylint.pycqa.org/en/latest/user_guide/usage/run.html#command-line-options - https://docs.bpython-interpreter.org/en/latest/configuration.html - https://mypy.readthedocs.io/en/stable/config_file.html#the-mypy-configuration-file - https://black.readthedocs.io/en/stable/usage_and_configuration/the_basics.html#configuration-via-a-file - https://github.com/wakatime/wakatime-cli?tab=readme-ov-file#usage - https://metacpan.org/dist/Reply/view/bin/reply#-cfg-~/.replyrc close: vim/vim#14512 https://github.com/vim/vim/commit/0881329d129866fa49444e7fb6e622e54285a8ff Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* fix(tui): make setcellwidths() work for non-ambiwidth chars (#28322)zeertzjq2024-04-14
|
* vim-patch:9.1.0313: Crash when using heredoc with comment in command blockzeertzjq2024-04-14
| | | | | | | | | | Problem: Crash when using heredoc with comment in command block. Solution: Handle a newline more like the end of the line, fix coverity warning (zeertzjq). closes: vim/vim#14535 https://github.com/vim/vim/commit/1f5175d9af3d3f37e19f23e0e6f84caec47390f2
* vim-patch:9.1.0312: heredocs are not supported for :commandszeertzjq2024-04-14
| | | | | | | | | | | | | | Problem: heredocs are not supported for :commands (balki) Solution: Add heredoc support (Yegappan Lakshmanan) fixes: vim/vim#14491 closes: vim/vim#14528 https://github.com/vim/vim/commit/e74cad3321ce1dcefc1fc64f617511275b6cd930 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* fix(float): improve error message when reconfig failed (#25076)Raphael2024-04-13
| | | | Problem: The current error message isn't very accurate. Solution: Improve the error message.
* fix(path): check return value of append_path() (#28309)Joey Gouly2024-04-13
| | | | | | | | | | | | | | | | | | | | | | | If the filename passed to vim_FullName() is a relative directory, and does not exist, it is appended to the current working directory. Since the return value of append_path() was ignored, and if the buffer length was too small to fit getcwd() + dirname(filename), it would still try to append the basename(filename). This was manifesting as a failure in test/unit/path_spec.lua in: itp('fails and uses filename if given filename contains non-existing directory', .. This failure occurs when running the tests from directory with a short path such as: /work/src/nv test/unit/path_spec.lua:420: Expected objects to be the same. Passed in: (string) '/work/src/nv/test.file' Expected: (string) 'non_existing_dir/test.file' This return value for the second call to append_path() to append basename(filename) was checked, and this is where it would fail for normal / longer getcwd()s.
* fix(move): fix using the wrong window (#28312)zeertzjq2024-04-13
|
* vim-patch:9.1.0311: filetype: Some config files are not recognized (#28311)zeertzjq2024-04-13
| | | | | | | | | | | | | | | Problem: Some config files are not recognized Solution: Add some patterns for chktex, ripgreprc and ctags config files. See: https://www.nongnu.org/chktex/ See: https://github.com/BurntSushi/ripgrep/blob/master/GUIDE.md#configuration-file See: https://docs.ctags.io/en/latest/option-file.html#order-of-loading-option-files closes: vim/vim#14506 https://github.com/vim/vim/commit/a1dcd76ce791b5b8bd093765a99b71aa163300a5 Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* revert: "feat(health): fold successful healthchecks #22866"dundargoc2024-04-13
| | | | | | | | | This reverts commit 4382d2ed564b80944345785d780cf1b19fb23ba8. The story for this feature was left in an incomplete state. It was never the intention to unilaterally fold all information, only the ones that did not contain relevant information. This feature does more harm than good in its incomplete state.
* fix(move): check for filler lines properly (#28307)zeertzjq2024-04-13
| | | vim-patch:9.1.0310: Filler lines not checked properly in get_scroll_overlap()
* Merge pull request #28306 from jgouly/strings_spec_negative_zerobfredl2024-04-12
|\ | | | | fix(test): fix strings_spec.lua for AArch64
| * fix(test): fix strings_spec.lua for AArch64Joey Gouly2024-04-12
| | | | | | | | | | | | | | | | | | | | | | LuaJIT does not handle -0.0 correctly in 'dual number mode' (which is the default, and only supported mode for LuaJIT arm64). If LuaJIT is forced to use 'dual number mode' on X64 (where the default is single), this test will fail in the same manner. Fix this by using tonumber("-0.0") instead of a -0.0 literal. See: https://github.com/LuaJIT/LuaJIT/issues/858
* | Merge pull request #26774 from glepnir/24129bfredl2024-04-12
|\ \ | | | | | | fix(float): don't relative float win itself
| * | fix(float): don't relative flaot win itselfglepnir2024-04-10
| | | | | | | | | | | | | | | | | | Problem: when reconfig current float win without win key in nvim_win_set_config will cause float win position changed when move. Solution: don't relative itself.
* | | vim-patch:9.1.0305: filetype: some history files are not recognized (#28300)zeertzjq2024-04-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: filetype: some history files are not recognized Solution: Add some history patterns to filetype.vim (Wu, Zhenyu) closes: vim/vim#14513 https://github.com/vim/vim/commit/da70feabeab77581e48a7ca9c8d5f950c1c2814e Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* | | vim-patch:9.1.0307: filetype: texdoc config files is not recognizedzeertzjq2024-04-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: filetype: texdoc config files is not recognized Solution: Detect 'texdoc.cnf' as conf filetype (Wu, Zhenyu) See: https://github.com/TeX-Live/texdoc/blob/master/texdoc.cnf closes: vim/vim#14507 https://github.com/vim/vim/commit/7fdbd1bb58192650bec067a0f224c1fa971c6782 Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* | | vim-patch:9.1.0306: filetype: x11vnc config file is not recognizedzeertzjq2024-04-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: filetype: x11vnc config file is not recognized Solution: Detect '.x11vncrc' as conf filetype (Wu, Zhenyu) See: https://linux.die.net/man/1/x11vnc closes: vim/vim#14511 https://github.com/vim/vim/commit/58ce78ad438deefec54fd6206166ca2794cd6efe Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* | | vim-patch:9.1.0295: filetype: pip config files are not recognizedzeertzjq2024-04-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: filetype: pip config files are not recognized Solution: detect pip.conf as dosini filetype (Wu, Zhenyu) closes: vim/vim#14448 https://github.com/vim/vim/commit/d2b95b8446233e0021a8c0cd672f8fae748e3955 Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* | | vim-patch:9.1.0293: filetype: lxqt config files are not recognizedzeertzjq2024-04-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: filetype: lxqt config files are not recognized Solution: Detect {lxqt,screengrab}/*.conf files as dosini, fix failing filetype test for */tex/latex/**.cfg (Wu, Zhenyu) closes: vim/vim#14450 https://github.com/vim/vim/commit/41208884b8c1a73b42ddb6c1e5f008dae6aa0a83 Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* | | vim-patch:9.1.0292: filetype: XDG mimeapps.list file is not recognizedzeertzjq2024-04-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: filetype: XDG mimeapps.list file is not recognized Solution: Detect mimeapps.list as dosini filetype (Wu, Zhenyu) Refer: https://wiki.archlinux.org/title/XDG_MIME_Applications#Format closes: vim/vim#14451 https://github.com/vim/vim/commit/efd752ec384980135c36b9fb673574e64c270c90 Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* | | vim-patch:9.1.0291: filetype: libreoffice config files are not recognizedzeertzjq2024-04-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: filetype: libreoffice config files are not recognized Solution: Detect Libreoffice config fils as xml/dosini (Wu, Zhenyu) closes: vim/vim#14453 https://github.com/vim/vim/commit/73c89bcf79df280b8698f77374afabd9494dc741 Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* | | vim-patch:9.1.0304: filetype: cgdb config file is not recognized (#28294)zeertzjq2024-04-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: filetype: cgdb config file is not recognized Solution: Detect cgdbrc files as cgdbrc filetype (Wu, Zhenyu) closes: vim/vim#14458 https://github.com/vim/vim/commit/1492fe69037586b6c625d42205d77dd38ba51640 Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* | | vim-patch:9.1.0303: filetype: some protocol buffer files not recognized (#28293)zeertzjq2024-04-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: filetype: some protocol buffer files not recognized Solution: Detect '*.textproto', '*.textpb', '*.txtpb' as pbtxt files (Bruno Belanyi) See: https://protobuf.dev/reference/protobuf/textformat-spec/#text-format-files closes: vim/vim#14463 https://github.com/vim/vim/commit/e54a8e7c73bbfba0c77e928f27fb3a9bffd2e8fd Co-authored-by: Bruno BELANYI <bruno@belanyi.fr>