mirror of
https://github.com/NotAShelf/nvf.git
synced 2026-05-18 21:17:23 +00:00
treesitter: add filetype mappings
This commit is contained in:
parent
27b4dc9fb0
commit
9ff0dcb60c
3 changed files with 64 additions and 40 deletions
|
|
@ -283,6 +283,10 @@
|
|||
- Added {option}`vim.languages.tera.treesitter.injection` to configure, what
|
||||
language the content is.
|
||||
|
||||
- Added {option}`vim.treesitter.filetypeMappings` to support mappings similar to
|
||||
<https://github.com/nvim-treesitter/nvim-treesitter/blob/main/plugin/filetypes.lua>.
|
||||
This is mostly use full for Markdown code block injections.
|
||||
|
||||
- Added `vim.lsp.presets.<name>` to contain LSP configurations. This allows for
|
||||
more flexibility in nvf and reuse of LSPs across languages. Dropped
|
||||
`deprecatedSingleOrListOf` in favor of `listOf` for the affected LSP options.
|
||||
|
|
|
|||
|
|
@ -24,7 +24,8 @@ in {
|
|||
|
||||
treesitter.grammars = optionals cfg.addDefaultGrammars cfg.defaultGrammars;
|
||||
|
||||
pluginRC.treesitter-autocommands = entryAfter ["basic"] ''
|
||||
pluginRC = {
|
||||
treesitter-autocommands = entryAfter ["basic"] ''
|
||||
vim.api.nvim_create_augroup("nvf_treesitter", { clear = true })
|
||||
|
||||
${lib.optionalString cfg.highlight.enable ''
|
||||
|
|
@ -67,6 +68,12 @@ in {
|
|||
})
|
||||
''}
|
||||
'';
|
||||
treesitter-filetype-mappings = entryAfter ["basic"] ''
|
||||
for lang, ft in pairs(${toLuaObject cfg.filetypeMappings}) do
|
||||
vim.treesitter.language.register(lang, ft)
|
||||
end
|
||||
'';
|
||||
};
|
||||
|
||||
additionalRuntimePaths = mkIf (cfg.queries != []) [
|
||||
(let
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
...
|
||||
}: let
|
||||
inherit (lib.options) mkOption mkEnableOption literalExpression;
|
||||
inherit (lib.types) listOf nullOr package bool str lines enum submodule oneOf;
|
||||
inherit (lib.types) listOf nullOr package bool str lines enum submodule oneOf attrsOf;
|
||||
|
||||
queriesType = submodule {
|
||||
options = {
|
||||
|
|
@ -111,5 +111,18 @@ in {
|
|||
default = [];
|
||||
description = "A list of Neovim treesitter queries to be registered.";
|
||||
};
|
||||
|
||||
filetypeMappings = mkOption {
|
||||
type = attrsOf (listOf str);
|
||||
default = {};
|
||||
example = {
|
||||
"sh" = ["ash" "dash"];
|
||||
};
|
||||
description = ''
|
||||
Register alternative parser names for a filetype.
|
||||
For more information see `:h vim.treesitter.language.register()`.
|
||||
See treesitter builtin mappings here: <https://github.com/nvim-treesitter/nvim-treesitter/blob/main/plugin/filetypes.lua>
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue