aboutsummaryrefslogtreecommitdiff
path: root/runtime
Commit message (Collapse)AuthorAge
* vim-patch:9.0.1768: Runtime: no support for bicep filesChristian Clason2023-08-21
| | | | | | | | | | | Problem: Runtime: no support for bicep files Solution: Add filetype support for bicepparam closes: vim/vim#12784 https://github.com/vim/vim/commit/2d0988ef93c6e8e59381c9cd123efbc2cd1faf92 Co-authored-by: Scott McKendry <scott.c.mckendry@gmail.com>
* vim-patch:9.0.1766: Runtime: Missing QML supportChristian Clason2023-08-21
| | | | | | | | | | | Problem: Runtime: Missing QML support Solution: Add QML support to Vim closes: vim/vim#12810 https://github.com/vim/vim/commit/bedc69f9d67b117ab05aa735c701cd3899d1ae2d Co-authored-by: ChaseKnowlden <haroldknowlden@gmail.com>
* vim-patch:9.0.1774: no support for custom cmdline completion (#24808)zeertzjq2023-08-21
| | | | | | | | | | | | | | | Problem: no support for custom cmdline completion Solution: Add new vimscript functions Add the following two functions: - getcmdcompltype() returns custom and customlist functions - getcompletion() supports both custom and customlist closes: vim/vim#12228 https://github.com/vim/vim/commit/92997dda789ad8061841128cbc99b15ec0374411 Co-authored-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
* vim-patch:9.0.1761: g<kEnd> behaves different from g<end>zeertzjq2023-08-21
| | | | | | | | | Problem: g<kEnd> behaves different from g<end> Solution: Make g<kEnd> behave like g<End> closes: vim/vim#12861 https://github.com/vim/vim/commit/654bdbbd329e7267051cc2eb496bc52b66053081
* vim-patch:9.0.1753: can't move to last non-blank charzeertzjq2023-08-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: can't move to last non-blank char Solution: Make g<end> behave like that Make it possible to move to last non-blank char on a line We can distinguish between g0 and g^ to move to the very first character and the first non-blank char. And while we can move to the last screen char, we cannot go to the last non-blank screen char. Since I think g$ is the more widely used and known movement command (and g<end> is synonymous to it) change the behaviour of g<end> to move to last non-screen char instead and don't have this be the same command as the g$ command anymore. If you want to keep the old behaviour, you can use: ``` nnoremap g<end> g$ ``` Add a test to verify the behaviour. closes: vim/vim#12593 https://github.com/vim/vim/commit/b5f6fe9ca2661d06bc0be839447ce1995450b9de Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:56bafd7a6a79Christian Clason2023-08-20
| | | | | | | | Runtime: add new sed ftplugin (vim/vim#12843) https://github.com/vim/vim/commit/56bafd7a6a79203b86f7165a7bbac5730c170f64 Co-authored-by: dkearns <dougkearns@gmail.com>
* vim-patch:9.0.1515: reverse() does not work for a Stringzeertzjq2023-08-19
| | | | | | | | | | | | | | | | | | | Problem: reverse() does not work for a String. Solution: Implement reverse() for a String. (Yegappan Lakshmanan, closes vim/vim#12179) https://github.com/vim/vim/commit/03ff1c2dde7f15eca5c9baa6dafbda9b49bedc3b vim-patch:9.0.1738: Duplicate code to reverse a string Problem: Duplicate code to reverse a string Solution: Move reverse_text() to strings.c and remove string_reverse(). closes: vim/vim#12847 https://github.com/vim/vim/commit/4dd266cb66d901cf5324f09405cfea3f004bd29f Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* vim-patch:442d1746f4c6Christian Clason2023-08-18
| | | | | | | | | | bindzone runtime: add new DNS record types (vim/vim#7351) Recognize some newer DNS record types - CAA (RFC8659, certificate authority authorization), OPENPGPKEY (RFC7929), SMIMEA (RFC8162). Sort SSHFP alphabetically while there. https://github.com/vim/vim/commit/442d1746f4c650e2e41246fd5679f635a4a30232 Co-authored-by: Stuart Henderson <sthen@users.noreply.github.com>
* vim-patch:817db406bb12Christian Clason2023-08-18
| | | | | | | | | | Add TODO, FIXME to Haskell syntax file (vim/vim#8055) Adding TODO, XXX, FIXME to Haskell syntax file vim/vim#8054 https://github.com/vim/vim/commit/817db406bb12b9fd5df25d4cda392b515d44ee05 Co-authored-by: Bruno-366 <81762173+Bruno-366@users.noreply.github.com>
* vim-patch:a5988f582e48Christian Clason2023-08-18
| | | | | | | | | | | | Keywords 'of' and 'yield' for Javascript. (vim/vim#7873) * Keyword 'of' in for...of statement. * Keyword 'yield' for generator function. https://github.com/vim/vim/commit/a5988f582e482150023862052d41e5215253a3de Co-authored-by: Yuri Klimov <yuri@klimov.net>
* vim-patch:9.0.1728: missing winid argument for virtcol() (#24770)zeertzjq2023-08-18
| | | | | | | | | | | | | Problem: missing winid argument for virtcol() Solution: Add a {winid} argument to virtcol() Other functions col(), charcol() and virtcol2col() support a {winid} argument, so it makes sense for virtcol() to also support than. Also add test for virtcol2col() with 'showbreak' and {winid}. closes: vim/vim#12633 https://github.com/vim/vim/commit/825cf813fa0fddf085fcbd3194781e875320ff63
* docs(builtin): fix some missing lines (#24759)Sean Dewar2023-08-17
| | | | Some things got chopped off in the PR that removed method syntax examples. These were all that I found.
* vim-patch:8.2.4455: accepting one and zero for second sort() argument is strangezeertzjq2023-08-17
| | | | | | | | | Problem: Accepting one and zero for the second sort() argument is strange. Solution: Disallow using one and zero in Vim9 script. https://github.com/vim/vim/commit/2007dd49f5cb36f944cab1cfbceb0f864e625f74 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:partial:8.2.3849: functions implementing reduce and map are too longzeertzjq2023-08-17
| | | | | | | | | | | | Problem: Functions implementing reduce and map are too long. Solution: Use a function for each type of value. Add a few more test cases and add to the help. (Yegappan Lakshmanan, closes vim/vim#9370) https://github.com/vim/vim/commit/389b72196e6aaeafe3f907c73d271f2c6b931140 Partial port as this doesn't include handling for non-materialized List. Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* vim-patch:8.2.3848: cannot use reduce() for a stringzeertzjq2023-08-17
| | | | | | | | | | | Problem: Cannot use reduce() for a string. Solution: Make reduce() work with a string. (Naruhiko Nishino, closes vim/vim#9366) https://github.com/vim/vim/commit/0ccb5842f5fb103763d106c7aa364d758343c35a Omit tv_get_first_char() as it doesn't really save much code. Co-authored-by: rbtnn <naru123456789@gmail.com>
* vim-patch:8.2.3818: cannot filter or map characters in a stringzeertzjq2023-08-17
| | | | | | | | | | Problem: Cannot filter or map characters in a string. Solution: Make filter() and map() work on a string. (Naruhiko Nishino, closes vim/vim#9327) https://github.com/vim/vim/commit/c479ce032f5d4d14bab9e479acbf42d758879893 Co-authored-by: rbtnn <naru123456789@gmail.com>
* vim-patch:1b884a005398zeertzjq2023-08-17
| | | | | | | | Update runtime files. https://github.com/vim/vim/commit/1b884a0053982335f644eec6c71027706bf3c522 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.1969: Vim9: map() may change the list or dict item typezeertzjq2023-08-17
| | | | | | | | | Problem: Vim9: map() may change the list or dict item type. Solution: Add mapnew(). https://github.com/vim/vim/commit/ea696852e7abcdebaf7f17a7f23dc90df1f5e2ed Co-authored-by: Bram Moolenaar <Bram@vim.org>
* feat(diagnostic): filter diagnostics by specific severities (#24736)Michael Strobel2023-08-16
| | | Allow users to filter diagnostics by specifying severities
* feat(diagnostic): provide more control over virtual text display (#24724)Gregory Anders2023-08-16
| | | | | | Allow users to pass virtual text options to nvim_buf_set_extmark through the "virtual_text" table in vim.diagnostic.config(). Fixes: https://github.com/neovim/neovim/issues/16545
* docs(lua): add missing fields to treesitter/_metaPham Huy Hoang2023-08-16
| | | | | | | | According to `:h TSNode` docs, there's also `TSNode:sexpr()` and `TSNode:has_error()` that is part of `TSNode` class, but this wasn't documented in `treesitter/_meta.lua`. Adding missing fields in so the types is similar to `:h TSNode`
* vim-patch:20b33b56ad5dChristian Clason2023-08-16
| | | | | | | | Update FreeBASIC syntax file (vim/vim#12781) https://github.com/vim/vim/commit/20b33b56ad5d92c1c11e0859dc9333166625e0ad Co-authored-by: dkearns <dougkearns@gmail.com>
* vim-patch:636d32b32730Christian Clason2023-08-16
| | | | | | | | | | | The keyboard layout "russian-typograph" has been updated to version 3.3 (vim/vim#12796) Co-authored-by: RestorerZ <restorer@mail2k.ru> https://github.com/vim/vim/commit/636d32b327309f453e5cdfe75bbe7ad14550093a Co-authored-by: Restorer <69863286+RestorerZ@users.noreply.github.com> Co-authored-by: RestorerZ <restorer@mail2k.ru>
* vim-patch:10f23e10a9f0Christian Clason2023-08-16
| | | | | | | | | | | Update syntax/muttrc.vim to latest mutt (vim/vim#12797) Nothing complicated, just lots of tedium keeping the lines wrapped at reasonable lengths. https://github.com/vim/vim/commit/10f23e10a9f0ea2a48f9e15f7ee53a20e5e09e91 Co-authored-by: lunasophia <104850249+lunasophia@users.noreply.github.com>
* vim-patch:4868f637b84aChristian Clason2023-08-16
| | | | | | | | | | Update syntax/fortran.vim (vim/vim#12798) Several small improvements including better discrimination of "real" used as a type and as an intrinsic https://github.com/vim/vim/commit/4868f637b84a18fd162db6eff6d716bf22595fd0 Co-authored-by: Ajit-Thakkar <142174202+Ajit-Thakkar@users.noreply.github.com>
* vim-patch:9.0.1717: virtcol2col returns last byte of a multi-byte char (#24729)zeertzjq2023-08-16
| | | | | | | | | | | Problem: virtcol2col returns last byte of a multi-byte char Solution: Make it return the first byte for a multi-byte char closes: vim/vim#12786 closes: vim/vim#12799 https://github.com/vim/vim/commit/b209b86e6636a16088ccacdac98213416c065bf2 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* feat(highlight): Allow hyphens (-) in highlight group names (#24714)Gregory Anders2023-08-15
| | | Fixes: https://github.com/neovim/neovim/issues/23184
* vim-patch:9.0.1704: Cannot use positional arguments for printf() (#24719)zeertzjq2023-08-15
| | | | | | | | | | Problem: Cannot use positional arguments for printf() Solution: Support positional arguments in string formatting closes: vim/vim#12140 https://github.com/vim/vim/commit/0c6181fec4c362eb9682d5af583341eb20cb1af5 Co-authored-by: Christ van Willegen <cvwillegen@gmail.com>
* fix(treesitter)!: remove deprecated legacy injection formatChristian Clason2023-08-14
|
* Merge pull request #24681 from clason/update-cChristian Clason2023-08-13
|\ | | | | feat(treesitter): update C parser and queries
| * feat(treesitter): update C queries from upstreamChristian Clason2023-08-13
| |
* | vim-patch:e978b4534a5e (#24697)Sean Dewar2023-08-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Farewell to Bram and dedicate upcoming Vim 9.1 to him (vim/vim#12749) https://github.com/vim/vim/commit/e978b4534a5e10471108259118c0ef791106fd92 Also update the header for the following files that were converted to Vim9 script upstream: - autoload/ccomplete.lua (vim9jitted) - ftplugin.vim - ftplugof.vim - indent.vim - indent/vim.vim - makemenu.vim This also updates the "Last Change" dates, even if some changes (due to rewrites to Vim9 script) were not ported. There's still a few other places where Bram is still mentioned as a maintainer in the files we and Vim have: - ftplugin/bash.vim - indent/bash.vim - indent/html.vim - indent/mail.vim - macros/accents.vim - macros/editexisting.vim - syntax/bash.vim - syntax/shared/typescriptcommon.vim - syntax/tar.vim - syntax/typescript.vim - syntax/typescriptreact.vim - syntax/zimbu.vim Maybe future patches will address that. Also exclude changes to .po files that didn't apply automatically (the `:messages` maintainer string isn't used in Nvim anyway). Co-authored-by: Christian Brabandt <cb@256bit.org>
* | Merge #15440 close 'shell' :terminal automaticallyJustin M. Keyes2023-08-13
|\ \ | |/ |/|
| * Use Lua autocommand and make TermClose autocommand globalGregory Anders2023-08-10
| |
* | fix(treesitter): logger memory leakLewis Russell2023-08-13
| |
* | vim-patch:9ad1bf7afd5cChristian Clason2023-08-13
| | | | | | | | | | | | | | | | | | | | | | runtime(pymanifest): fix mistake in syntax definition Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: ObserverOfTime <chronobserver@disroot.org> https://github.com/vim/vim/commit/9ad1bf7afd5c4f26e5154eca2697c9a6773e0bf4 Co-authored-by: ObserverOfTime <chronobserver@disroot.org>
* | vim-patch:2f339aad6c80Christian Clason2023-08-13
| | | | | | | | | | | | | | | | Add syntax & ftplugin for pymanifest (vim/vim#12773) https://github.com/vim/vim/commit/2f339aad6c80e82d7c1237b402392065857174d4 Co-authored-by: ObserverOfTime <chronobserver@disroot.org>
* | vim-patch:f9c4c2f97db9Christian Clason2023-08-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Update iss syntax file (vim/vim#11890) - Add 'ExternalSize:' parameter - Add 'setntfscompression' files flag - Fix escaped left brace highlight - Fix 'String:' parameter highlight - Remove trailing whitespace https://github.com/vim/vim/commit/f9c4c2f97db94f513b86d86b86bf981060c7c8bf Co-authored-by: ObserverOfTime <chronobserver@disroot.org>
* | feat(treesitter)!: incremental injection parsingLewis Russell2023-08-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Treesitter highlighting is slow for large files with lots of injections. Solution: Only parse injections we are going to render during a redraw cycle. --- - `LanguageTree:parse()` will no longer parse injections by default and now requires an explicit range argument to be passed. - `TSHighlighter` now parses injections incrementally during on_win callbacks for the line range being rendered. - Plugins which require certain injections to be parsed must run `parser:parse({ start_row, end_row })` before using the tree.
* | vim-patch:d8f981138aa0Christian Clason2023-08-12
| | | | | | | | | | | | | | | | Add commentstring for nix file format (vim/vim#12696) https://github.com/vim/vim/commit/d8f981138aa04c15ff87b306e9003df8d4b09d17 Co-authored-by: Keith Smiley <keithbsmiley@gmail.com>
* | fix(events): avoid unnecessary CursorMoved (#24675)zeertzjq2023-08-12
| | | | | | | | | | | | Problem: Temporarily changing current window in a script causes CursorMoved to be triggerd. Solution: Don't trigger CursorMoved if neither curwin nor cursor changed between two checks.
* | vim-patch:9.0.1688: cannot store custom data in quickfix list (#24673)zeertzjq2023-08-12
| | | | | | | | | | | | | | | | | | | | Problem: cannot store custom data in quickfix list Solution: add `user_data` field for the quickfix list closes: vim/vim#11818 https://github.com/vim/vim/commit/ca6ac99077d2e6d020a34267aa5e0fbc4d23dc38 Co-authored-by: Tom Praschan <13141438+tom-anders@users.noreply.github.com>
* | vim-patch:9.0.1686: undotree() only works for the current buffer (#24665)zeertzjq2023-08-12
| | | | | | | | | | | | | | | | | | | | | | | | Problem: undotree() only works for the current buffer Solution: Add an optional "buffer number" parameter to undotree(). If omitted, use the current buffer for backwards compatibility. closes: vim/vim#4001 closes: vim/vim#12292 https://github.com/vim/vim/commit/5fee11114975b7405b7ccd3ee8758e54bf559760 Co-authored-by: Devin J. Pohly <djpohly@gmail.com>
* | vim-patch:21aaff3faa82Christian Clason2023-08-11
| | | | | | | | | | | | | | | | Update my name and email in runtime files (vim/vim#12763) https://github.com/vim/vim/commit/21aaff3faa828c5c2677a0a9f1b90a0b780d57f6 Co-authored-by: Lily Ballard <lily@ballards.net>
* | vim-patch:dd0ad2598898Christian Clason2023-08-11
| | | | | | | | | | | | | | | | | | | | Update syntax/dosini.vim to the latest version (vim/vim#12764) The latest version is in https://github.com/xuhdev/syntax-dosini.vim/blob/master/syntax/dosini.vim. I've sent the file to Bram at the end of June, unfortunately it wasn't able to make into the Vim repository. RIP! https://github.com/vim/vim/commit/dd0ad2598898c2b4641c4acd5b70b6184fa698ed Co-authored-by: Hong Xu <hong@topbug.net>
* | feat(treesitter): add injection language fallback (#24659)Christian Clason2023-08-11
| | | | | | | | | | | | | | | | | | | | | | | | * feat(treesitter): add injection language fallback Problem: injection languages are often specified via aliases (e.g., filetype or in upper case), requiring custom directives. Solution: include lookup logic (try as parser name, then filetype, then lowercase) in LanguageTree itself and remove `#inject-language` directive. Co-authored-by: Lewis Russell <me@lewisr.dev>
* | fix(lsp): extra "." when completing with tsserver #24646Raphael2023-08-11
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: With tsserver LSP, omni completion after "." inserts an extra "." Solution: Apply adjust_start_col() regardless of `filterText`. adjust_start_col() is explained here: https://github.com/neovim/neovim/blob/0ea8dfeb3dc347579753169d9e3588f6306ab703/runtime/lua/vim/lsp.lua#L2334-L2351 The `filterText` field is used in the following situations rather than as a condition for obtaining column values: 1. Real-time filtering: When the user types characters in the editor, the language server can use the filterText field to filter the list of suggestions and only return suggestions that match the typed characters. This helps to provide more precise recommendations. 2. Fuzzy matching: The filterText field can be used to perform fuzzy matching, allowing matching in the middle or beginning of input characters, not limited to prefix matching. This can provide a more flexible code completion experience. Inspecting usage of `filtertext` in vim-lsp and coc and lsp-mode: - vim-lsp uses a `refresh_pattern` to judge filterText as completionitem word (although I think this is not the correct usage). - coc uses it for filtering. Fix #22803
* vim-patch:9.0.1683: Updated runtime files (#24638)zeertzjq2023-08-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a collection of various PRs from github that all require a minor patch number: 1) https://github.com/vim/vim/pull/12612 Do not conflate dictionary key with end of block 2) https://github.com/vim/vim/pull/12729: When saving and restoring 'undolevels', the constructs `&undolevels` and `:set undolevels` are problematic. The construct `&undolevels` reads an unpredictable value; it will be the local option value (if one has been set), or the global option value (otherwise), making it unsuitable for saving a value for later restoration. Similarly, if a local option value has been set for 'undolevels', temporarily modifying the option via `:set undolevels` changes the local value as well as the global value, requiring extra work to restore both values. Saving and restoring the option value in one step via the construct `:let &undolevels = &undolevels` appears to make no changes to the 'undolevels' option, but if a local option has been set to a different value than the global option, it has the unintended effect of changing the global 'undolevels' value to the local value. Update the documentation to explain these issues and recommend explicit use of global and local option values when saving and restoring. Update some unit tests to use `g:undolevels`. 3) https://github.com/vim/vim/pull/12702: Problem: Pip requirements files are not recognized. Solution: Add a pattern to match pip requirements files. 4) https://github.com/vim/vim/pull/12688: Add indent file and tests for ABB Rapid 5) https://github.com/vim/vim/pull/12668: Use Lua 5.1 numeric escapes in tests and add to CI Only Lua 5.2+ and LuaJIT understand hexadecimal escapes in strings. Lua 5.1 only supports decimal escapes: > A character in a string can also be specified by its numerical value > using the escape sequence \ddd, where ddd is a sequence of up to three > decimal digits. (Note that if a numerical escape is to be followed by a > digit, it must be expressed using exactly three digits.) Strings in Lua > can contain any 8-bit value, including embedded zeros, which can be > specified as '\0'. To make sure this works with Lua 5.4 and Lua 5.1 change the Vim CI to run with Lua 5.1 as well as Lua 5.4 6) https://github.com/vim/vim/pull/12631: Add hurl filetype detection 7) https://github.com/vim/vim/pull/12573: Problem: Files for haskell persistent library are not recognized Solution: Add pattern persistentmodels for haskell persistent library closes: vim/vim#12612 closes: vim/vim#12729 closes: vim/vim#12702 closes: vim/vim#12688 closes: vim/vim#12668 closes: vim/vim#12631 closes: vim/vim#12573 Already ported but wasn't marked: vim-patch:ad34abee2583 https://github.com/vim/vim/commit/6efb1980336ff324e9c57a4e282530b952fca816 Co-authored-by: Christian Brabandt <cb@256bit.org> Co-authored-by: lacygoill <lacygoill@lacygoill.me> Co-authored-by: Michael Henry <drmikehenry@drmikehenry.com> Co-authored-by: ObserverOfTime <chronobserver@disroot.org> Co-authored-by: KnoP-01 <knosowski@graeffrobotics.de> Co-authored-by: James McCoy <jamessan@jamessan.com> Co-authored-by: Jacob Pfeifer <jacob@pfeifer.dev> Co-authored-by: Borys Lykah <lykahb@fastmail.com>
* vim-patch:81b8bf5b4a33zeertzjq2023-08-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the vimscript code for restoring cursor position Using xxd(1) to filter and edit binary files causes the input files to have dual nature, so to speak, which effectively makes restoring the cursor position broken. Fix that by ignoring the "xxd" file type in the code that restores the cursor position. Interactive rebasing in git causes files to be edited in vim, which, similarly to commit messages, are rarely the same as the last one edited. Thus, also add "gitrebase" to the list of file types for which the cursor position isn't restored. While there, refactor the code a bit to possibly save a few CPU cycles and to keep the line lengths in check, and use the long form of the commands and variables, to make the code slightly more consistent and more understandable to newcomers. Update the relevant comments in the code and the associated parts of the documentation, to keep them in sync with the updated code. Remove some redundant trailing whitespace as well, as spotted. https://github.com/vim/vim/commit/81b8bf5b4a33552c610dc2ea743ac2698a16aef7 Co-authored-by: Dragan Simic' via vim_dev <vim_dev@googlegroups.com>
* vim-patch:6a500661a9cbzeertzjq2023-08-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Improve the vimscript code in ":h hex-editing" Save and restore the view position before and after saving the buffer, respectively, to keep the current view of the xxd(1)'s hex dump unchanged after doing ":w", which previously caused the window to scroll back to the very beginning of the buffer. I believe it's needless to say how annoying and counterproductive that was. Get rid of the "Press ENTER or type command to continue" message, which was previously displayed after opening larger binary files. The use of "silent" and "redraw" commands is tailored specifically to avoid screen flickering, e.g. when doing ":w", which is caused by the buffer being filtered by an external command. Increase the number of octets per line, produced by xxd(1), from the default value of 16 to 32. This puts bigger chunks of the hex dump on the screen and makes the whole thing much more usable. While there, reformat the code to make it more readable, and use the long form of the commands and variables to make the code slightly more consistent and more understandable to newcomers. https://github.com/vim/vim/commit/6a500661a9cb7b57093cf1095aa67e9c4aabc709 Co-authored-by: Dragan Simic' via vim_dev <vim_dev@googlegroups.com>