mirror of
https://github.com/NotAShelf/neovim-flake.git
synced 2024-12-22 05:19:48 +01:00
ui/noice: add missing treesitter grammars
This commit is contained in:
parent
5e12c2315a
commit
ad9d0c6cdb
1 changed files with 75 additions and 57 deletions
|
@ -1,75 +1,93 @@
|
||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
inherit (lib.modules) mkIf;
|
inherit (lib.modules) mkIf;
|
||||||
|
inherit (lib.lists) optionals;
|
||||||
|
inherit (lib.strings) optionalString;
|
||||||
inherit (lib.trivial) boolToString;
|
inherit (lib.trivial) boolToString;
|
||||||
inherit (lib.nvim.dag) entryAnywhere;
|
inherit (lib.nvim.dag) entryAnywhere;
|
||||||
|
|
||||||
cfg = config.vim.ui.noice;
|
cfg = config.vim.ui.noice;
|
||||||
|
tscfg = config.vim.treesitter;
|
||||||
|
cmptype = config.vim.autocomplete.type;
|
||||||
|
|
||||||
|
defaultGrammars = with pkgs.vimPlugins.nvim-treesitter.builtGrammars; [vim regex lua bash markdown];
|
||||||
in {
|
in {
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
vim.startPlugins = [
|
vim = {
|
||||||
"noice-nvim"
|
startPlugins = [
|
||||||
"nui-nvim"
|
"noice-nvim"
|
||||||
];
|
"nui-nvim"
|
||||||
|
];
|
||||||
|
|
||||||
vim.luaConfigRC.noice-nvim = entryAnywhere ''
|
treesitter.grammars = optionals tscfg.addDefaultGrammars defaultGrammars;
|
||||||
require("noice").setup({
|
|
||||||
lsp = {
|
|
||||||
override = {
|
|
||||||
["vim.lsp.util.convert_input_to_markdown_lines"] = true,
|
|
||||||
["vim.lsp.util.stylize_markdown"] = true,
|
|
||||||
["cmp.entry.get_documentation"] = true,
|
|
||||||
},
|
|
||||||
|
|
||||||
signature = {
|
luaConfigRC.noice-nvim = entryAnywhere ''
|
||||||
enabled = false, -- FIXME: enabling this file throws an error which I couldn't figure out
|
require("noice").setup({
|
||||||
},
|
lsp = {
|
||||||
},
|
override = {
|
||||||
|
["vim.lsp.util.convert_input_to_markdown_lines"] = true,
|
||||||
presets = {
|
["vim.lsp.util.stylize_markdown"] = true,
|
||||||
bottom_search = true, -- use a classic bottom cmdline for search
|
${optionalString (cmptype == "nvim-cmp") "[\"cmp.entry.get_documentation\"] = true,"}
|
||||||
command_palette = true, -- position the cmdline and popupmenu together
|
},
|
||||||
long_message_to_split = true, -- long messages will be sent to a split
|
|
||||||
inc_rename = false, -- enables an input dialog for inc-rename.nvim
|
signature = {
|
||||||
lsp_doc_border = ${boolToString config.vim.ui.borders.enable}, -- add a border to hover docs and signature help
|
enabled = false, -- FIXME: enabling this file throws an error which I couldn't figure out
|
||||||
},
|
|
||||||
|
|
||||||
format = {
|
|
||||||
cmdline = { pattern = "^:", icon = "", lang = "vim" },
|
|
||||||
search_down = { kind = "search", pattern = "^/", icon = " ", lang = "regex" },
|
|
||||||
search_up = { kind = "search", pattern = "^%?", icon = " ", lang = "regex" },
|
|
||||||
filter = { pattern = "^:%s*!", icon = "", lang = "bash" },
|
|
||||||
lua = { pattern = "^:%s*lua%s+", icon = "", lang = "lua" },
|
|
||||||
help = { pattern = "^:%s*he?l?p?%s+", icon = "" },
|
|
||||||
input = {},
|
|
||||||
},
|
|
||||||
|
|
||||||
messages = {
|
|
||||||
-- NOTE: If you enable messages, then the cmdline is enabled automatically.
|
|
||||||
-- This is a current Neovim limitation.
|
|
||||||
enabled = false, -- enables the Noice messages UI
|
|
||||||
view = "notify", -- default view for messages
|
|
||||||
view_error = "notify", -- view for errors
|
|
||||||
view_warn = "notify", -- view for warnings
|
|
||||||
view_history = "messages", -- view for :messages
|
|
||||||
view_search = "virtualtext", -- view for search count messages. Set to `false` to disable
|
|
||||||
},
|
|
||||||
|
|
||||||
-- Hide written messages
|
|
||||||
routes = {
|
|
||||||
{
|
|
||||||
filter = {
|
|
||||||
event = "msg_show",
|
|
||||||
kind = "",
|
|
||||||
find = "written",
|
|
||||||
},
|
},
|
||||||
opts = { skip = true },
|
|
||||||
},
|
},
|
||||||
},
|
|
||||||
})
|
hover = {
|
||||||
'';
|
enabled = true,
|
||||||
|
silent = false, -- set to true to not show a message if hover is not available
|
||||||
|
view = nil, -- when nil, use defaults from documentation
|
||||||
|
opts = {}, -- merged with defaults from documentation
|
||||||
|
},
|
||||||
|
|
||||||
|
presets = {
|
||||||
|
bottom_search = true, -- use a classic bottom cmdline for search
|
||||||
|
command_palette = true, -- position the cmdline and popupmenu together
|
||||||
|
long_message_to_split = true, -- long messages will be sent to a split
|
||||||
|
inc_rename = false, -- enables an input dialog for inc-rename.nvim
|
||||||
|
lsp_doc_border = ${boolToString config.vim.ui.borders.enable}, -- add a border to hover docs and signature help
|
||||||
|
},
|
||||||
|
|
||||||
|
format = {
|
||||||
|
cmdline = { pattern = "^:", icon = "", lang = "vim" },
|
||||||
|
search_down = { kind = "search", pattern = "^/", icon = " ", lang = "regex" },
|
||||||
|
search_up = { kind = "search", pattern = "^%?", icon = " ", lang = "regex" },
|
||||||
|
filter = { pattern = "^:%s*!", icon = "", lang = "bash" },
|
||||||
|
lua = { pattern = "^:%s*lua%s+", icon = "", lang = "lua" },
|
||||||
|
help = { pattern = "^:%s*he?l?p?%s+", icon = "" },
|
||||||
|
input = {},
|
||||||
|
},
|
||||||
|
|
||||||
|
messages = {
|
||||||
|
-- NOTE: If you enable messages, then the cmdline is enabled automatically.
|
||||||
|
-- This is a current Neovim limitation.
|
||||||
|
enabled = true, -- enables the Noice messages UI
|
||||||
|
view = "notify", -- default view for messages
|
||||||
|
view_error = "notify", -- view for errors
|
||||||
|
view_warn = "notify", -- view for warnings
|
||||||
|
view_history = "messages", -- view for :messages
|
||||||
|
view_search = "virtualtext", -- view for search count messages. Set to `false` to disable
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Hide written messages
|
||||||
|
routes = {
|
||||||
|
{
|
||||||
|
filter = {
|
||||||
|
event = "msg_show",
|
||||||
|
kind = "",
|
||||||
|
find = "written",
|
||||||
|
},
|
||||||
|
opts = { skip = true },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue