summaryrefslogtreecommitdiffstats
path: root/runtime
AgeCommit message (Collapse)Author
2023-08-20patch 9.0.1762: Not able to get the virtual text propertyv9.0.1762Yegappan Lakshmanan
Problem: Not able to get the virtual text property Solution: Make prop_list() return virtual text and alignment closes: #12860 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-08-20patch 9.0.1761: g<kEnd> behaves different from g<end>v9.0.1761zeertzjq
Problem: g<kEnd> behaves different from g<end> Solution: Make g<kEnd> behave like g<End> closes: #12861 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-08-20patch 9.0.1760: vim9 class problem with new() constructorv9.0.1760Yegappan Lakshmanan
Problem: vim9 class problem with new() constructor Solution: Don't allow a return type for the new() class constructor. closes: #12863 closes: #12040 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-08-19patch 9.0.1753: can't move to last non-blank charv9.0.1753Christian Brabandt
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: #12593 Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-19Runtime: add new sed ftplugin (#12843)dkearns
2023-08-18Add TODO, FIXME to Haskell syntax file (#8055)Bruno-366
Adding TODO, XXX, FIXME to Haskell syntax file #8054
2023-08-18bindzone runtime: add new DNS record types (#7351)Stuart Henderson
Recognize some newer DNS record types - CAA (RFC8659, certificate authority authorization), OPENPGPKEY (RFC7929), SMIMEA (RFC8162). Sort SSHFP alphabetically while there.
2023-08-18Keywords 'of' and 'yield' for Javascript. (#7873)Yuri Klimov
* Keyword 'of' in for...of statement. * Keyword 'yield' for generator function.
2023-08-17man.vim: Recognise hyphenated-at-eol cross-references (#12609)goweol
Manual pages requested for output may undergo formatting arranged by some roff-descendant program. Lines longer than MANWIDTH or COLUMNS or real-estate width of a device (with support for horizontal scrolling considered) can be divided at either blank characters and/or at groups of word characters (syllables) according to supported hyphenation rules (although page authors are free to disable hyphenation or prevent particular words from being hyphenated). Groff‘s manual describes it as follows: 5.1.2 Hyphenation Since the odds are not great for finding a set of words, for every output line, which fit nicely on a line without inserting excessive amounts of space between words, gtroff hyphenates words so that it can justify lines without inserting too much space between words. It uses an internal hyphenation algorithm (a simplified version of the algorithm used within TeX) to indicate which words can be hyphenated and how to do so. When a word is hyphenated, the first part of the word is added to the current filled line being output (with an attached hyphen), and the other portion is added to the next line to be filled. It would be expedient for autoload/dist/man.vim (along with syntax/man.vim‘s highlighting and ftplugin/man.vim‘s Ctrl-], \K mappings) to allow for hyphenation of cross-references to manual pages. For example, # Launch Vim [v9.0; patched: 1-1378, 1499] as follows: MANWIDTH=80 vim --not-a-term +MANPAGER '+Man man' '+/conv(1)' '+norm B' # Press Ctrl-] with cursor on _m_: "... use man‐ # conv(1) directly."_______________________[^] # # (Man v2.11.2) # Launch Vim as follows: MANWIDTH=80 vim --not-a-term +MANPAGER '+Man git' '+/config(1)' '+norm B' # Press Ctrl-] with cursor on _g_: "... in git- # config(1) for a more ..."_______________[^] # # (Git v2.39.2) Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
2023-08-17man.vim: Uniformly place cursor at the same column with `Ctrl-t` (#12608)goweol
Functions col and cursor count each tab (0x9) as a byte, and are complementary. On the other hand, the | command motion takes into consideration how many screen columns a tab does occupy and may move cursor to a column closer to the start of line than col would report at that position. The provided changes prefer the cursor function to the | command. Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
2023-08-17patch 9.0.1728: missing winid argument for virtcol()v9.0.1728zeertzjq
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: #12633 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-08-17patch 9.0.1727: minor problems with the teapotv9.0.1727Sean Dewar
Problem: minor problems with the teapot() Solution: remove the null check, update documentation Update the builtin-function-list entry. (It implicitly returns 0, but such functions usually use "none") Also, tv_get_string_strict() can not return NULL, so remove that check closes: #12647 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Sean Dewar <seandewar@users.noreply.github.com>
2023-08-17Use string interpolation (#12823)Yegappan Lakshmanan
2023-08-15Update FreeBASIC syntax file (#12781)dkearns
2023-08-15The keyboard layout "russian-typograph" has been updated to version 3.3 (#12796)Restorer
Co-authored-by: RestorerZ <restorer@mail2k.ru>
2023-08-15Update syntax/muttrc.vim to latest mutt (#12797)lunasophia
Nothing complicated, just lots of tedium keeping the lines wrapped at reasonable lengths.
2023-08-15Update syntax/fortran.vim (#12798)Ajit-Thakkar
Several small improvements including better discrimination of "real" used as a type and as an intrinsic
2023-08-15patch 9.0.1717: virtcol2col returns last byte of a multi-byte charv9.0.1717Yegappan Lakshmanan
Problem: virtcol2col returns last byte of a multi-byte char Solution: Make it return the first byte for a multi-byte char closes: #12786 closes: #12799 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-08-13patch 9.0.1710: scrolloff options work slightly differentv9.0.1710Christian Brabandt
Problem: sidescrolloff and scrolloff options work slightly different than other global-local options Solution: Make it behave consistent for all global-local options It was noticed, that sidescrolloff and scrolloff options behave differently in comparison to other global-local window options like 'listchars' So make those two behave like other global-local options. Also add some extra documentation for a few special local-window options. Add a few tests to make sure all global-local window options behave similar closes: #12956 closes: #12643 Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-13patch 9.0.1706: typos in the xxd manpagev9.0.1706Matthias Braun
Problem: typos in the xxd manpage Solution: Fix typos and formatting closes: #12645 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Matthias Braun <mb720@users.noreply.github.com>
2023-08-13runtime: Remove Brams email in indent/README.txtChristian Brabandt
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-13patch 9.0.1704: Cannot use positional arguments for printf()v9.0.1704Christ van Willegen
Problem: Cannot use positional arguments for printf() Solution: Support positional arguments in string formatting closes: #12140 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Christ van Willegen <cvwillegen@gmail.com>
2023-08-13runtime: Add a few more remarks about Bram and new runtime filesChristian Brabandt
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-13runtime(pymanifest): fix mistake in syntax definitionObserverOfTime
Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: ObserverOfTime <chronobserver@disroot.org>
2023-08-13Farewell to Bram and dedicate upcoming Vim 9.1 to him (#12749)Christian Brabandt
* Dedicate upcoming Vim 9.1 to Bram Also replace in a few more places Brams email address and mention new maintainers. * Remove Bram from any Maintainer role * runtime: Align Header * it's mailing list not mailinglist
2023-08-13Add syntax & ftplugin for pymanifest (#12773)ObserverOfTime
2023-08-13Update iss syntax file (#11890)ObserverOfTime
- Add 'ExternalSize:' parameter - Add 'setntfscompression' files flag - Fix escaped left brace highlight - Fix 'String:' parameter highlight - Remove trailing whitespace
2023-08-11patch 9.0.1688: cannot store custom data in quickfix listv9.0.1688Tom Praschan
Problem: cannot store custom data in quickfix list Solution: add `user_data` field for the quickfix list closes: #11818 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Tom Praschan <13141438+tom-anders@users.noreply.github.com>
2023-08-11Add commentstring for nix file format (#12696)Keith Smiley
2023-08-11patch 9.0.1686: undotree() only works for the current bufferv9.0.1686Devin J. Pohly
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: #4001 closes: #12292 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: zeertzjq <zeertzjq@outlook.com> Co-authored-by: Devin J. Pohly <djpohly@gmail.com>
2023-08-11Update my name and email in runtime files (#12763)Lily Ballard
2023-08-11Update syntax/dosini.vim to the latest version (#12764)Hong Xu
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!
2023-08-10Update the vimscript code for restoring cursor positionDragan Simic' via vim_dev
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.
2023-08-10Improve the vimscript code in ":h hex-editing"Dragan Simic' via vim_dev
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.
2023-08-10Updated runtime filesv9.0.1683Christian Brabandt
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: #12612 closes: #12729 closes: #12702 closes: #12688 closes: #12668 closes: #12631 closes: #12573 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>
2023-08-09Update krl and add rapid syntax files (#12750)Patrick Meiser-Knosowski
2023-08-09defaults.vim: Update comment to simplify reverting augroupBalki
closes: #12673
2023-08-09Change "the" to "then" under ':help bufload()' (#12662)Daniel Steinberg
2023-08-09Manpager: apply g flag conditionally to s command (#12679)Filip Gospodinov
Problem: The `s` command with `g` flag only substitutes one occurrence when `gdefault` is set. Solution: Use `g` flag conditionally.
2023-08-09update matchit (#12611)Christian Brabandt
2023-08-09Fix alignment in filetype.txt (#12618)zeertzjq
There are three spaces because the "<" is concealed.
2023-08-09feat: recognize geojson extension as json filetype (#12636)Dominique Pellé
2023-08-09Add filetype detection for eyaml files (#12659)Max Gautier
https://github.com/voxpupuli/hiera-eyaml/ uses and produces the eyaml format, which is simply yaml with some encrypted values. It's convenient to edit the file without decrypting when not touching encrypted values (or when you don't have access to the decryption key), which is why vim should treat those files as yaml files.
2023-08-09Highlight editorconfig properties with dashes (#12691)ObserverOfTime
Problem: editorconfig properties with dashes are not highlighted Solution: update the property pattern to include dashes
2023-08-09detect filetype for `*.vsh` and `*.vv` files (#12692)Turiiya
Co-authored-by: Turiiya <34311583+tobealive@users.noreply.github.com>
2023-08-09PyPA manifest files are not recognized (#12707)ObserverOfTime
Problem: PyPA manifest files are not recognized. Solution: Add a pattern to match PyPA manifest files.
2023-08-09Unison support (#12715)Anton Parkhomenko
2023-08-09feat(heex): borrow matchit support from html (#12717)Chris Vincent
* feat(heex): borrow matchit support from html Makes % support behave the same in heex as in html. For example, quickly moving the cursor between opening and closing tags. * Remove unnecessary line; define b:undo_ftplugin first * Remove b:html_set_match_words
2023-08-09Add WebGPU Shading Language (WGSL) filetype (#12723)Gergő Sályi
The current W3C Working Draft for the WebGPU Shading Language (WGSL) specifies 'text/wgsl' media type for WGSL modules with the '.wgsl' file extension: https://www.w3.org/TR/WGSL/#text-wgsl-media-type It has also been registered at the Internet Assigned Numbers Authority (IANA): https://www.iana.org/assignments/media-types/text/wgsl Neovim's nvim-lspconfig already associates wgsl language servers with 'filetype wgsl': https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#wgsl_analyzer However currenly setting 'filetype wgsl' for *.wgsl files by defalut in Neovim is blocked by adding this filetype to the vim project first: https://github.com/neovim/neovim/pull/23331 This commit adds this missing wgsl filetype.
2023-08-09update .wast files syntax highlighting (#12741)Linda_pp