aboutsummaryrefslogtreecommitdiff
path: root/runtime/doc
Commit message (Collapse)AuthorAge
* Merge branch 'userreg' into mixJosh Rahm2022-09-12
|\
| * Merge remote-tracking branch 'upstream/master' into userregJosh Rahm2022-09-12
| |\
| * | feat(userreg): fix typos userregfun -> userregfuncJosh Rahm2022-08-21
| | |
| * | feat(userreg): Add user-defined registers to Neovim.Josh Rahm2022-08-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change unlocks additional registers for Neovim by allowing a user to define their own behavior for non-builtin registers. This is accopmlished through a new option 'userregfunc' The 'userregfunc' defines the function to call when handling a register for which there is no builtin functionality. The 'userregfunc' function should take 3 arguments: action - Either "yank" or "put" register - The character corresponding to the register content - In the case of action == "yank", the dictionary describing the yanked content, with the following keys: {type} - Either "char", "line" or "block" {lines} - The lines being yanked as a list {width} - The width in case of "block" mode. {additional_data} - Additional data (can be returned in "put" mode) In case of "put" this function should return the content to put. This content can be either: * A dictionary in the same template as content above. * A list of strings. This will be assumed to be "line" mode. * A string. This will be assumed to be "char" mode. An example of a "null" 'userregfunc' that provides an implementation identical to traditional vim registers would be: let s:contents = {} function! MyUserregFunction(action, register, content) abort if a:action == "put" return get(s:contents, a:register, "") else let s:contents[a:register] = a:content endif endfunction set userregfun=MyUserregFunction It is important to note that any valid unicode character can now be a register, including something like @☺. This change also addresses the multibyte parsing issues surrounding let @a = 'xyz' let @🔨 = 'hammer'
* | | Merge remote-tracking branch 'upstream/master' into colorcolcharJosh Rahm2022-09-12
|\ \ \ | | |/ | |/|
| * | Merge pull request #20141 from vigoux/ts-self-inheritsChristian Clason2022-09-12
| |\ \ | | | | | | | | | | | | | | | | fix(treesitter): prevent endless loop on self-inheritence docs(treesitter): suggest using extends to extend queries
| | * | docs(treesitter): suggest using `extends` to extend queriesThomas Vigouroux2022-09-12
| | | |
| * | | vim-patch:8.2.5034: there is no way to get the byte index from a virtual columnzeertzjq2022-09-12
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: There is no way to get the byte index from a virtual column. Solution: Add virtcol2col(). (Yegappan Lakshmanan, closes vim/vim#10477, closes vim/vim#10098) https://github.com/vim/vim/commit/5a6ec10cc80ab02eeff644ab19b82312630ea855 Cherry-pick tv_check_for_number_arg() from Vim. Cherry-pick pathshorten() doc change.
| * | vim-patch:71b6d3397649 (#20144)Christian Clason2022-09-10
| | | | | | | | | | | | Update runtime files https://github.com/vim/vim/commit/71b6d3397649fed68ef587aa863fcbdf5fdb057a
| * | docs(lsp): update rpc.start stdio limitations (#20120)Mathias Fußenegger2022-09-08
| | |
| * | feat(lsp): add range option to lsp.buf.format (#19998)Mathias Fußenegger2022-09-08
| | |
| * | Merge pull request #20093 from neovim/upstream-ts-utilChristian Clason2022-09-08
| |\ \ | | | | | | | | | | | | * feat(treesitter): upstream get_{node,captures} utility functions * refactor(treesitter): get_{nodes,captures}_at_{position,cursor}
| | * | refactor(treesitter): get_{nodes,captures}_at_{position,cursor}Christian Clason2022-09-06
| | | |
| * | | fix(treesitter): use the right loading order for base queries (#20117)bfredl2022-09-08
| | | | | | | | | | | | | | | | | | | | Use the first, not last, query for a language on runtimepath. Typically, this implies that a user query will override a site plugin query, which will override a bundled runtime query.
| * | | feat(treesitter)!: do not merge queries by default (#20105)Thomas Vigouroux2022-09-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Treesitter queries for a given language in runtime were merged together, leading to errors if they targeted different parser versions (e.g., bundled viml queries and those shipped by nvim-treesitter). Solution: Runtime queries now work as follows: * The last query in the rtp without `; extends` in the header will be used as the base query * All queries (without a specific order) with `; extends` are concatenated with the base query BREAKING CHANGE: queries need to be updated if they are meant to extend other queries
| * | | fix(docs): remove duplicate wordRaphael2022-09-08
| | | |
| * | | docs(treesitter): fix doxygenzeertzjq2022-09-08
| | | |
| * | | Use weak tables in tree-sitter code (#17117)Thomas Vigouroux2022-09-07
| | | | | | | | | | | | | | | | | | | | | | | | feat(treesitter): use weak tables when possible Also add the defaulttable function to create a table whose values are created when a key is missing.
| * | | fix(treesitter): don't support legacy syntax in start()Christian Clason2022-09-06
| | | |
| * | | feat(extmarks,ts,spell): full support for spellingThomas Vigouroux2022-09-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Added 'spell' option to extmarks: Extmarks with this set will have the region spellchecked. - Added 'noplainbuffer' option to 'spelloptions': This is used to tell Neovim not to spellcheck the buffer. The old behaviour was to spell check the whole buffer unless :syntax was set. - Added spelling support to the treesitter highlighter: @spell captures in highlights.scm are used to define regions which should be spell checked. - Added support for navigating spell errors for extmarks: Works for both ephemeral and static extmarks - Added '_on_spell_nav' callback for decoration providers: Since ephemeral callbacks are only drawn for the visible screen, providers must implement this callback to instruct Neovim which regions in the buffer need can be spell checked. The callback takes a start position and an end position. Note: this callback is subject to change hence the _ prefix. - Added spell captures for built-in support languages Co-authored-by: Lewis Russell <lewis6991@gmail.com> Co-authored-by: Björn Linse <bjorn.linse@gmail.com>
| * | | Merge pull request #20039 from zeertzjq/cmod-tabbfredl2022-09-06
| |\ \ \ | | |/ / | |/| | fix(api)!: correctly deal with number before :tab
| | * | fix(api)!: correctly deal with number before :tabzeertzjq2022-09-02
| | | | | | | | | | | | | | | | | | | | | | | | Now nvim_parse_cmd and nvim_create_user_command use a "tab" value which is the same as the number passed before :tab modifier instead of the number plus 1, and "tab" value is -1 if :tab modifier is not used.
| * | | Merge pull request #15391 from vigoux/ts-lua-builtinbfredl2022-09-06
| |\ \ \ | | | | | | | | | | feat(treesitter): highlighting for core languages, enabled for Lua
| | * | | feat(treesitter): add vim.treesitter.start(), enable for LuaChristian Clason2022-09-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add vim.treesitter.start() for starting treesitter highlighting via ftplugin or autocommand (can be extended later for fold, indent, matchpairs, ...) * Add vim.treesitter.stop() for manually stopping treesitter highlighting * Enable treesitter highlighting for Lua if `vim.g.ts_highlight_lua = true` is set in `init.lua`
| * | | | vim-patch:partial 0daafaa7d99e (#20083)Christian Clason2022-09-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update runtime files https://github.com/vim/vim/commit/0daafaa7d99ef500f76b1b12f5fe8153e2fcaea0 skip vim9script ftplugin create userfunc.txt from Neovim content (skip section 3, needs 9.0.0379)
| * | | | feat(api): add "move" to nvim_input_mousezeertzjq2022-09-04
| | | | |
| * | | | feat(tui): support 'mousemoveevent'zeertzjq2022-09-04
| | | | |
| * | | | feat(ui-ext): make 'mousemoveevent' a ui_optionzeertzjq2022-09-04
| | | | |
| * | | | vim-patch:8.2.4674: cannot force getting MouseMove eventszeertzjq2022-09-04
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Cannot force getting MouseMove events. Solution: Add the 'mousemoveevent' option with implementaiton for the GUI. (Ernie Rael, closes vim/vim#10044) https://github.com/vim/vim/commit/c4cb544cd5beaa864b3893e4b8d0085393c7dbce This only ports the docs and the option variable. The following commits will actually implement it as a UI option.
| * | | vim-patch:088e8e344352zeertzjq2022-09-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Update runtime files. https://github.com/vim/vim/commit/088e8e3443520dec91a384081e66445a104810bb Also cherry-pick "partial" tag from a later runtime update.
| * | | vim-patch:7.4.{1578,1624}zeertzjq2022-09-04
| |/ / | | | | | | | | | | | | https://github.com/vim/vim/commit/975b5271eed4fa0500c24a8f37be0b1797cb9db7 https://github.com/vim/vim/commit/03602ec28ed25739e88b2c835adb0662d3720bb2
| * | feat(Man): port to Lua (#19912)Lewis Russell2022-09-02
| | | | | | | | | Co-authored-by: zeertzjq <zeertzjq@outlook.com>
| * | feat(api): add support for :horizontal modifierzeertzjq2022-09-01
| | |
| * | vim-patch:9.0.0346: :horizontal modifier not fully supportedzeertzjq2022-09-01
| | | | | | | | | | | | | | | | | | | | | Problem: :horizontal modifier not fully supported. Solution: Also use :horizontal for completion and user commands. (closes vim/vim#11025) https://github.com/vim/vim/commit/d3de178e5352fedf0f30b979f46a2fcbca24ea40
| * | vim-patch:9.0.0342: ":wincmd =" equalizes in two directionszeertzjq2022-09-01
| | | | | | | | | | | | | | | | | | | | | Problem: ":wincmd =" equalizes in two directions. Solution: Make ":vertical wincmd =" equalize vertically only and ":horizontal wincmd =" equalize horizontally only. https://github.com/vim/vim/commit/21c3a80a7fd6b7fc250ce5dc287963511f54b86f
| * | feat(lua): vim.ui_attach to get ui events from luabfredl2022-08-31
| | | | | | | | | | | | Co-authored-by: Famiu Haque <famiuhaque@protonmail.com>
| * | vim-patch:9b03d3e75b42 (#20013)Christian Clason2022-08-31
| | | | | | | | | | | | Update runtime files https://github.com/vim/vim/commit/9b03d3e75b4274493bbe76772d7b92238791964c
| * | docs(lua): present vim.o as default and vim.opt as special-purpose #19982Christian Clason2022-08-30
| | | | | | | | | | | | | | | Problem: People are confused about `vim.o` and `vim.opt` Solution: Clarify that `vim.o` is the default interface, with `vim.opt` specifically meant for interacting with list-style options.
| * | fix(docs): update lsp.rpc.start docs to match return value changes (#20003)Mathias Fußenegger2022-08-30
| | | | | | | | | Follow up to https://github.com/neovim/neovim/pull/19916
| * | docs(lsp): replace formatting_sync example in lsp-faq (#19994)Mathias Fußenegger2022-08-30
| | | | | | | | | `formatting_sync` is deprecated
| * | Merge pull request #19916 from mfussenegger/lsp-tcpMathias Fußenegger2022-08-29
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds TCP support for lsp. Usage example: ``` vim.lsp.start({ name = 'godot', cmd = vim.lsp.rpc.connect('127.0.0.1', 6008) }) ```
| | * | feat(lsp): add tcp supportMathias Fussenegger2022-08-28
| | | |
| | * | refactor(lsp): encapsulate rpc uv handleMathias Fussenegger2022-08-28
| | | | | | | | | | | | | | | | | | | | To prepare for different transports like TCP where the handle won't have a kill method.
| * | | vim-patch:9.0.0285: it is not easy to change the command line from a plugin ↵Shougo2022-08-29
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | (#19979) vim-patch:9.0.0285: it is not easy to change the command line from a plugin Problem: It is not easy to change the command line from a plugin. Solution: Add setcmdline(). (Shougo Matsushita, closes vim/vim#10869) https://github.com/vim/vim/commit/07ea5f1509fe8dafe3262ed2702b4d0fc99e288b
* | | feat(colorcolchar): update runtime/doc/options.txtJoshua Rahm2022-08-28
| | | | | | | | | | | | Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* | | feat(colorcolchar): revert "feat: rename colorcol in fillchars to colorc"Josh Rahm2022-08-27
| | | | | | | | | | | | | | | This reverts commit 234959abbfcf075cb09304b00fc391780580056d and renames the option 'colorc' -> 'colorcol' again.
* | | feat(colorcolchar): rename colorcol in fillchars to colorcJosh Rahm2022-08-27
| | | | | | | | | | | | Rename the colorcol option in fillchars to the more terse colorc.
* | | feat(colorcolchar): fix typo for colorcolchar documentationJosh Rahm2022-08-27
| | |
* | | feat(colorcolchar): add the option "colorcol" to the fillchars settingJosh Rahm2022-08-27
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | This option will let neovim draw a character in the colorcolumn when there is no other character occupying that spot. For example, I'm someone who likes the elegance of seeing a 1px wide line at the 80 character mark, rather than a rectangle the width of a cell at that mark. To accomplish this, I run :set colorcol=80 :set fillchars=colorcol:│ of course ':' and '.' are good ASCII alteratives.
* | docs: fix typos (#19798)dundargoc2022-08-27
| | | | | | | | Co-authored-by: adrian5 <adrian5@users.noreply.github.com> Co-authored-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>