aboutsummaryrefslogtreecommitdiff
path: root/runtime
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): add runtime files for userregJosh Rahm2022-08-21
| | |
| * | 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 branch 'usermarks' into mixJosh Rahm2022-09-12
|\ \ \
| * \ \ Merge remote-tracking branch 'upstream/master' into usermarksJosh Rahm2022-09-12
| |\ \ \ | | | |/ | | |/|
| * | | feat(usermarks) remove echo statement from usermark.vimJosh Rahm2022-08-22
| | | |
| * | | feat(usermarks) fix bugs with usermarks runtimeJosh Rahm2022-08-22
| | | |
| * | | feat(usermarks): add runtime files for usermarksJosh Rahm2022-08-21
| | |/ | |/|
* | | 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
| | | |
| | * | fix(treesitter): prevent endless loop on self-inheritenceThomas Vigouroux2022-09-11
| | | | | | | | | | | | | | | | Fixes #20139
| * | | vim-patch:9.0.0448: SubRip files are not recognized (#20167)Christian Clason2022-09-12
| | | | | | | | | | | | | | | | | | | | Problem: SubRip files are not recognized. Solution: Add a pattern for SubRip. (closes vim/vim#11113) https://github.com/vim/vim/commit/5a4eb55122e45444d3a6c56ce108ce29bc8e52ab
| * | | 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:9.0.0443: blueprint files are not recognized (#20155)Christian Clason2022-09-11
| |/ / | | | | | | | | | | | | Problem: Blueprint files are not recognized. Solution: Add a pattern for blueprint files. (Gabriele Musco, closes vim/vim#11107) https://github.com/vim/vim/commit/cce82a55b8105560a2ef724999c856966337b48e
| * | fix(lsp): schedule removal of client object (#20148)Gregory Anders2022-09-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The execution of the LspDetach autocommands in the LSP client's on_exit function are scheduled on the event loop to avoid making API calls in a fast context; however, this means that by the time the LspDetach autocommands finally run the client object has already been deleted. To address this, we also schedule the deletion of the client on the event loop so that it is guaranteed to occur after all of the LspDetach autocommands have fired.
| * | vim-patch:71b6d3397649 (#20144)Christian Clason2022-09-10
| | | | | | | | | | | | Update runtime files https://github.com/vim/vim/commit/71b6d3397649fed68ef587aa863fcbdf5fdb057a
| * | vim-patch:9.0.0434: gitignore files are not recognized (#20143)Christian Clason2022-09-10
| | | | | | | | | | | | | | | Problem: gitignore files are not recognized. Solution: Add patterns for the gitignore filetype. (closes vim/vim#11102) https://github.com/vim/vim/commit/9ba2786f15f0b53a90fd221832a5bedfc6dbfe20
| * | vim-patch:9.0.0427: Drupal theme files are not recognized (#20138)Christian Clason2022-09-09
| | | | | | | | | | | | | | | | | | Problem: Drupal theme files are not recognized. Solution: Use php filetype for Drupl theme files. Remove trailing spaces. (Rodrigo Aguilera, closes vim/vim#11096) https://github.com/vim/vim/commit/8995c4cd4e697141faf74da9a87e0c1221bfb161
| * | vim-patch:9.0.0424: gitattributes files are not recognized (#20134)Christian Clason2022-09-09
| | | | | | | | | | | | | | | Problem: gitattributes files are not recognized. Solution: Add patterns to match gitattributes files. (closes vim/vim#11085) https://github.com/vim/vim/commit/7d56cfc861e57145f003315efd835cf5dfd5b145
| * | build(deps): bump tree-sitter-viml to 0.2.0 (#20121)Christian Clason2022-09-08
| | |
| * | docs(lsp): update rpc.start stdio limitations (#20120)Mathias Fußenegger2022-09-08
| | |
| * | fix(lsp): when buffer detach remove buffer from client attached buffers (#20081)Raphael2022-09-08
| | | | | | | | | Co-authored-by: Mathias Fussenegger <f.mathias@zignar.net>
| * | vim-patch:9.0.0417: Jsonnet files are not recognized (#20119)Christian Clason2022-09-08
| | | | | | | | | | | | | | | | | | Problem: Jsonnet files are not recognized. Solution: Add a pattern for Jsonnet files. (Cezary Drożak, closes vim/vim#11073, closes vim/vim#11081) https://github.com/vim/vim/commit/2a4c885d54171f68ec2c2d6eb4ae281c7fefb802
| * | 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
| | | |
| | * | feat(treesitter): upstream get_node_at_cursor()Quentin Rasmont2022-09-06
| | | | | | | | | | | | | | | | Util from the nvim-treesitter project.
| * | | 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
| | | |
| * | | fix(options): mark `winhighlight` as list style (#19477)ii142022-09-07
| | | | | | | | | | | | | | | | | | | | Also add missing fcs, lcs and winhighlight to list of key-value options for `vim.opt`. Co-authored-by: ii14 <ii14@users.noreply.github.com>
| * | | vim-patch:9.0.0402: javascript module files are not recoginzed (#20108)Christian Clason2022-09-07
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Javascript module files are not recoginzed. Solution: Recognize "*.jsm" files as Javascript. (Brett Holman, closes vim/vim#11069) https://github.com/vim/vim/commit/bb6c4073e79e86ef69c315338e00c12f0d8d6395
| * | | 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(diagnostic): remove buf from cache on `BufWipeout` (#20099)Sean Dewar2022-09-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Doing so on `BufDelete` has issues: - `BufDelete` is also fired for listed buffers that are made unlisted. - `BufDelete` is not fired for unlisted buffers that are deleted. This means that diagnostics will be lost for a buffer that becomes unlisted. It also means that if an entry exists for an unlisted buffer, deleting that buffer later will not remove its entry from the cache (and you may see "Invalid buffer id" errors when using diagnostic functions if it was wiped). Instead, remove a buffer from the cache if it is wiped out. This means simply `:bd`ing a buffer will not clear its diagnostics now.
| * | | fix(ts): do not clobber spelloptions (#20095)Lewis Russell2022-09-06
| | | |
| * | | 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`
| | * | | feat(treesitter): add injectionsChristian Clason2022-09-06
| | | | |
| | * | | feat(treesitter): add viml parser and queriesChristian Clason2022-09-06
| | | | |
| | * | | feat(treesitter): bundle Lua parser and queriesThomas Vigouroux2022-09-06
| | | | | | | | | | | | | | | | | | | | | | | | | parser from https://github.com/MunifTanjim/tree-sitter-lua queries from nvim-treesitter
| * | | | 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
| | | | |