mirror of
https://github.com/NotAShelf/nvf.git
synced 2025-04-15 00:58:37 +00:00
Merge branch 'NotAShelf:main' into main
This commit is contained in:
commit
5f7f83f1b4
14 changed files with 125 additions and 16 deletions
|
@ -106,6 +106,7 @@
|
||||||
- Add [blink.cmp] support.
|
- Add [blink.cmp] support.
|
||||||
- Add `LazyFile` user event.
|
- Add `LazyFile` user event.
|
||||||
- Migrate language modules from none-ls to conform/nvim-lint
|
- Migrate language modules from none-ls to conform/nvim-lint
|
||||||
|
- Add tsx support in conform and lint
|
||||||
|
|
||||||
[diniamo](https://github.com/diniamo):
|
[diniamo](https://github.com/diniamo):
|
||||||
|
|
||||||
|
@ -198,6 +199,7 @@
|
||||||
Inspiration from `vim.languages.clang.dap` implementation.
|
Inspiration from `vim.languages.clang.dap` implementation.
|
||||||
- Add [leetcode.nvim] plugin under `vim.utility.leetcode-nvim`.
|
- Add [leetcode.nvim] plugin under `vim.utility.leetcode-nvim`.
|
||||||
- Add [codecompanion.nvim] plugin under `vim.assistant.codecompanion-nvim`.
|
- Add [codecompanion.nvim] plugin under `vim.assistant.codecompanion-nvim`.
|
||||||
|
- Fix [codecompanion-nvim] plugin: nvim-cmp error and setupOpts defaults.
|
||||||
|
|
||||||
[nezia1](https://github.com/nezia1):
|
[nezia1](https://github.com/nezia1):
|
||||||
|
|
||||||
|
@ -287,6 +289,7 @@
|
||||||
[rice-cracker-dev](https://github.com/rice-cracker-dev):
|
[rice-cracker-dev](https://github.com/rice-cracker-dev):
|
||||||
|
|
||||||
- `eslint_d` now checks for configuration files to load.
|
- `eslint_d` now checks for configuration files to load.
|
||||||
|
- Fixed an error where `eslint_d` fails to load.
|
||||||
|
|
||||||
[Sc3l3t0n](https://github.com/Sc3l3t0n):
|
[Sc3l3t0n](https://github.com/Sc3l3t0n):
|
||||||
|
|
||||||
|
@ -300,7 +303,9 @@
|
||||||
- Add neo-tree integration for Bufferline.
|
- Add neo-tree integration for Bufferline.
|
||||||
- Add more applicable filetypes to illuminate denylist.
|
- Add more applicable filetypes to illuminate denylist.
|
||||||
- Disable mini.indentscope for applicable filetypes.
|
- Disable mini.indentscope for applicable filetypes.
|
||||||
|
- Fix fzf-lua having a hard dependency on fzf.
|
||||||
- Enable inlay hints support - `config.vim.lsp.inlayHints`.
|
- Enable inlay hints support - `config.vim.lsp.inlayHints`.
|
||||||
|
- Add `neo-tree` extension to `lualine`.
|
||||||
|
|
||||||
[tebuevd](https://github.com/tebuevd):
|
[tebuevd](https://github.com/tebuevd):
|
||||||
|
|
||||||
|
@ -313,9 +318,12 @@
|
||||||
[ckoehler](https://github.com/ckoehler):
|
[ckoehler](https://github.com/ckoehler):
|
||||||
|
|
||||||
[flash.nvim]: https://github.com/folke/flash.nvim
|
[flash.nvim]: https://github.com/folke/flash.nvim
|
||||||
|
[gitlinker.nvim]: https://github.com/linrongbin16/gitlinker.nvim
|
||||||
|
|
||||||
- Fix oil config referencing snacks
|
- Fix oil config referencing snacks
|
||||||
- Add [flash.nvim] plugin to `vim.utility.motion.flash-nvim`
|
- Add [flash.nvim] plugin to `vim.utility.motion.flash-nvim`
|
||||||
|
- Fix default telescope ignore list entry for '.git/' to properly match
|
||||||
|
- Add [gitlinker.nvim] plugin to `vim.git.gitlinker-nvim`
|
||||||
|
|
||||||
[rrvsh](https://github.com/rrvsh):
|
[rrvsh](https://github.com/rrvsh):
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,14 @@ in {
|
||||||
|
|
||||||
setupOpts = mkPluginSetupOption "codecompanion-nvim" {
|
setupOpts = mkPluginSetupOption "codecompanion-nvim" {
|
||||||
opts = {
|
opts = {
|
||||||
send_code = mkEnableOption "code from being sent to the LLM.";
|
send_code =
|
||||||
|
mkEnableOption ""
|
||||||
|
// {
|
||||||
|
default = true;
|
||||||
|
description = ''
|
||||||
|
Whether to enable code being sent to the LLM.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
log_level = mkOption {
|
log_level = mkOption {
|
||||||
type = enum ["DEBUG" "INFO" "ERROR" "TRACE"];
|
type = enum ["DEBUG" "INFO" "ERROR" "TRACE"];
|
||||||
|
@ -30,7 +37,10 @@ in {
|
||||||
mkEnableOption ""
|
mkEnableOption ""
|
||||||
// {
|
// {
|
||||||
default = true;
|
default = true;
|
||||||
description = "a diff view to see the changes made by the LLM.";
|
description = ''
|
||||||
|
Whether to enable a diff view
|
||||||
|
to see the changes made by the LLM.
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
close_chat_at = mkOption {
|
close_chat_at = mkOption {
|
||||||
|
@ -64,7 +74,12 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
chat = {
|
chat = {
|
||||||
auto_scroll = mkEnableOption "automatic page scrolling.";
|
auto_scroll =
|
||||||
|
mkEnableOption ""
|
||||||
|
// {
|
||||||
|
default = true;
|
||||||
|
description = "Whether to enable automatic page scrolling.";
|
||||||
|
};
|
||||||
|
|
||||||
show_settings = mkEnableOption ''
|
show_settings = mkEnableOption ''
|
||||||
LLM settings to appear at the top of the chat buffer.
|
LLM settings to appear at the top of the chat buffer.
|
||||||
|
@ -85,14 +100,18 @@ in {
|
||||||
mkEnableOption ""
|
mkEnableOption ""
|
||||||
// {
|
// {
|
||||||
default = true;
|
default = true;
|
||||||
description = "references in the chat buffer.";
|
description = ''
|
||||||
|
Whether to enable references in the chat buffer.
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
show_token_count =
|
show_token_count =
|
||||||
mkEnableOption ""
|
mkEnableOption ""
|
||||||
// {
|
// {
|
||||||
default = true;
|
default = true;
|
||||||
description = "the token count for each response.";
|
description = ''
|
||||||
|
Whether to enable the token count for each response.
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
intro_message = mkOption {
|
intro_message = mkOption {
|
||||||
|
@ -155,7 +174,10 @@ in {
|
||||||
mkEnableOption ""
|
mkEnableOption ""
|
||||||
// {
|
// {
|
||||||
default = true;
|
default = true;
|
||||||
description = "showing default actions in the action palette.";
|
description = ''
|
||||||
|
Whether to enable showing default
|
||||||
|
actions in the action palette.
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
show_default_prompt_library =
|
show_default_prompt_library =
|
||||||
|
@ -163,7 +185,8 @@ in {
|
||||||
// {
|
// {
|
||||||
default = true;
|
default = true;
|
||||||
description = ''
|
description = ''
|
||||||
showing default prompt library in the action palette.
|
Whether to enable showing default
|
||||||
|
prompt library in the action palette.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -22,6 +22,11 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
treesitter.enable = true;
|
treesitter.enable = true;
|
||||||
|
|
||||||
|
autocomplete.nvim-cmp = {
|
||||||
|
sources = {codecompanion-nvim = "[codecompanion]";};
|
||||||
|
sourcePlugins = ["codecompanion-nvim"];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,7 @@ in {
|
||||||
./gitsigns
|
./gitsigns
|
||||||
./vim-fugitive
|
./vim-fugitive
|
||||||
./git-conflict
|
./git-conflict
|
||||||
|
./gitlinker-nvim
|
||||||
];
|
];
|
||||||
|
|
||||||
options.vim.git = {
|
options.vim.git = {
|
||||||
|
@ -15,6 +16,7 @@ in {
|
||||||
* gitsigns
|
* gitsigns
|
||||||
* vim-fugitive
|
* vim-fugitive
|
||||||
* git-conflict
|
* git-conflict
|
||||||
|
* gitlinker-nvim
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
23
modules/plugins/git/gitlinker-nvim/config.nix
Normal file
23
modules/plugins/git/gitlinker-nvim/config.nix
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
inherit (lib.modules) mkIf;
|
||||||
|
|
||||||
|
cfg = config.vim.git.gitlinker-nvim;
|
||||||
|
in {
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
vim = {
|
||||||
|
startPlugins = ["gitlinker-nvim"];
|
||||||
|
lazy.plugins = {
|
||||||
|
"gitlinker-nvim" = {
|
||||||
|
package = "gitlinker-nvim";
|
||||||
|
setupModule = "gitlinker";
|
||||||
|
inherit (cfg) setupOpts;
|
||||||
|
cmd = ["GitLink"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
6
modules/plugins/git/gitlinker-nvim/default.nix
Normal file
6
modules/plugins/git/gitlinker-nvim/default.nix
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./config.nix
|
||||||
|
./gitlinker-nvim.nix
|
||||||
|
];
|
||||||
|
}
|
13
modules/plugins/git/gitlinker-nvim/gitlinker-nvim.nix
Normal file
13
modules/plugins/git/gitlinker-nvim/gitlinker-nvim.nix
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
inherit (lib.options) mkEnableOption;
|
||||||
|
inherit (lib.nvim.types) mkPluginSetupOption;
|
||||||
|
in {
|
||||||
|
options.vim.git.gitlinker-nvim = {
|
||||||
|
enable = mkEnableOption "gitlinker-nvim" // {default = config.vim.git.enable;};
|
||||||
|
setupOpts = mkPluginSetupOption "gitlinker-nvim" {};
|
||||||
|
};
|
||||||
|
}
|
|
@ -62,7 +62,7 @@
|
||||||
local markers = { "eslint.config.js", "eslint.config.mjs",
|
local markers = { "eslint.config.js", "eslint.config.mjs",
|
||||||
".eslintrc", ".eslintrc.json", ".eslintrc.js", ".eslintrc.yml", }
|
".eslintrc", ".eslintrc.json", ".eslintrc.js", ".eslintrc.yml", }
|
||||||
for _, filename in ipairs(markers) do
|
for _, filename in ipairs(markers) do
|
||||||
local path = vim.fs.join(cwd, filename)
|
local path = vim.fs.joinpath(cwd, filename)
|
||||||
if vim.loop.fs_stat(path) then
|
if vim.loop.fs_stat(path) then
|
||||||
return require("lint.linters.eslint_d").parser(output, bufnr, cwd)
|
return require("lint.linters.eslint_d").parser(output, bufnr, cwd)
|
||||||
end
|
end
|
||||||
|
|
|
@ -61,7 +61,7 @@
|
||||||
local markers = { "eslint.config.js", "eslint.config.mjs",
|
local markers = { "eslint.config.js", "eslint.config.mjs",
|
||||||
".eslintrc", ".eslintrc.json", ".eslintrc.js", ".eslintrc.yml", }
|
".eslintrc", ".eslintrc.json", ".eslintrc.js", ".eslintrc.yml", }
|
||||||
for _, filename in ipairs(markers) do
|
for _, filename in ipairs(markers) do
|
||||||
local path = vim.fs.join(cwd, filename)
|
local path = vim.fs.joinpath(cwd, filename)
|
||||||
if vim.loop.fs_stat(path) then
|
if vim.loop.fs_stat(path) then
|
||||||
return require("lint.linters.eslint_d").parser(output, bufnr, cwd)
|
return require("lint.linters.eslint_d").parser(output, bufnr, cwd)
|
||||||
end
|
end
|
||||||
|
|
|
@ -103,7 +103,7 @@
|
||||||
local markers = { "eslint.config.js", "eslint.config.mjs",
|
local markers = { "eslint.config.js", "eslint.config.mjs",
|
||||||
".eslintrc", ".eslintrc.json", ".eslintrc.js", ".eslintrc.yml", }
|
".eslintrc", ".eslintrc.json", ".eslintrc.js", ".eslintrc.yml", }
|
||||||
for _, filename in ipairs(markers) do
|
for _, filename in ipairs(markers) do
|
||||||
local path = vim.fs.join(cwd, filename)
|
local path = vim.fs.joinpath(cwd, filename)
|
||||||
if vim.loop.fs_stat(path) then
|
if vim.loop.fs_stat(path) then
|
||||||
return require("lint.linters.eslint_d").parser(output, bufnr, cwd)
|
return require("lint.linters.eslint_d").parser(output, bufnr, cwd)
|
||||||
end
|
end
|
||||||
|
@ -204,9 +204,13 @@ in {
|
||||||
(mkIf cfg.format.enable {
|
(mkIf cfg.format.enable {
|
||||||
vim.formatter.conform-nvim = {
|
vim.formatter.conform-nvim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
setupOpts.formatters_by_ft.typescript = [cfg.format.type];
|
setupOpts = {
|
||||||
setupOpts.formatters.${cfg.format.type} = {
|
formatters_by_ft.typescript = [cfg.format.type];
|
||||||
command = getExe cfg.format.package;
|
# .tsx files
|
||||||
|
formatters_by_ft.typescriptreact = [cfg.format.type];
|
||||||
|
formatters.${cfg.format.type} = {
|
||||||
|
command = getExe cfg.format.package;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
@ -215,6 +219,7 @@ in {
|
||||||
vim.diagnostics.nvim-lint = {
|
vim.diagnostics.nvim-lint = {
|
||||||
enable = true;
|
enable = true;
|
||||||
linters_by_ft.typescript = cfg.extraDiagnostics.types;
|
linters_by_ft.typescript = cfg.extraDiagnostics.types;
|
||||||
|
linters_by_ft.typescriptreact = cfg.extraDiagnostics.types;
|
||||||
|
|
||||||
linters = mkMerge (map (name: {
|
linters = mkMerge (map (name: {
|
||||||
${name}.cmd = getExe diagnosticsProviders.${name}.package;
|
${name}.cmd = getExe diagnosticsProviders.${name}.package;
|
||||||
|
|
|
@ -14,13 +14,18 @@
|
||||||
bCfg = config.vim.ui.breadcrumbs;
|
bCfg = config.vim.ui.breadcrumbs;
|
||||||
in {
|
in {
|
||||||
config = mkMerge [
|
config = mkMerge [
|
||||||
# TODO: move into nvim-tree file
|
|
||||||
(mkIf config.vim.filetree.nvimTree.enable {
|
(mkIf config.vim.filetree.nvimTree.enable {
|
||||||
vim.statusline.lualine.setupOpts = {
|
vim.statusline.lualine.setupOpts = {
|
||||||
extensions = ["nvim-tree"];
|
extensions = ["nvim-tree"];
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|
||||||
|
(mkIf config.vim.filetree.neo-tree.enable {
|
||||||
|
vim.statusline.lualine.setupOpts = {
|
||||||
|
extensions = ["neo-tree"];
|
||||||
|
};
|
||||||
|
})
|
||||||
|
|
||||||
(mkIf (bCfg.enable && bCfg.lualine.winbar.enable && bCfg.source == "nvim-navic") {
|
(mkIf (bCfg.enable && bCfg.lualine.winbar.enable && bCfg.source == "nvim-navic") {
|
||||||
vim.statusline.lualine.setupOpts = {
|
vim.statusline.lualine.setupOpts = {
|
||||||
# TODO: rewrite in new syntax
|
# TODO: rewrite in new syntax
|
||||||
|
|
|
@ -1,15 +1,21 @@
|
||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
|
pkgs,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
inherit (lib.types) nullOr enum;
|
inherit (lib.types) enum str;
|
||||||
inherit (lib.options) mkEnableOption mkOption;
|
inherit (lib.options) mkEnableOption mkOption;
|
||||||
inherit (lib.nvim.types) mkPluginSetupOption borderType;
|
inherit (lib.nvim.types) mkPluginSetupOption borderType;
|
||||||
in {
|
in {
|
||||||
options.vim.fzf-lua = {
|
options.vim.fzf-lua = {
|
||||||
enable = mkEnableOption "fzf-lua";
|
enable = mkEnableOption "fzf-lua";
|
||||||
setupOpts = mkPluginSetupOption "fzf-lua" {
|
setupOpts = mkPluginSetupOption "fzf-lua" {
|
||||||
|
fzf_bin = mkOption {
|
||||||
|
type = str;
|
||||||
|
default = "${lib.getExe pkgs.fzf}";
|
||||||
|
description = "Path to fzf executable";
|
||||||
|
};
|
||||||
winopts.border = mkOption {
|
winopts.border = mkOption {
|
||||||
type = borderType;
|
type = borderType;
|
||||||
default = config.vim.ui.borders.globalStyle;
|
default = config.vim.ui.borders.globalStyle;
|
||||||
|
|
|
@ -117,7 +117,7 @@
|
||||||
file_ignore_patterns = mkOption {
|
file_ignore_patterns = mkOption {
|
||||||
description = "A table of lua regex that define the files that should be ignored.";
|
description = "A table of lua regex that define the files that should be ignored.";
|
||||||
type = listOf str;
|
type = listOf str;
|
||||||
default = ["node_modules" ".git/" "dist/" "build/" "target/" "result/"];
|
default = ["node_modules" "%.git/" "dist/" "build/" "target/" "result/"];
|
||||||
};
|
};
|
||||||
color_devicons = mkOption {
|
color_devicons = mkOption {
|
||||||
description = "Boolean if devicons should be enabled or not.";
|
description = "Boolean if devicons should be enabled or not.";
|
||||||
|
|
|
@ -562,6 +562,19 @@
|
||||||
"url": "https://github.com/projekt0n/github-nvim-theme/archive/c106c9472154d6b2c74b74565616b877ae8ed31d.tar.gz",
|
"url": "https://github.com/projekt0n/github-nvim-theme/archive/c106c9472154d6b2c74b74565616b877ae8ed31d.tar.gz",
|
||||||
"hash": "1w7lz4bgfm8hq1mir4hcr8ik585d4l4w7bjl8yl3g3zklj8223pw"
|
"hash": "1w7lz4bgfm8hq1mir4hcr8ik585d4l4w7bjl8yl3g3zklj8223pw"
|
||||||
},
|
},
|
||||||
|
"gitlinker-nvim": {
|
||||||
|
"type": "Git",
|
||||||
|
"repository": {
|
||||||
|
"type": "GitHub",
|
||||||
|
"owner": "linrongbin16",
|
||||||
|
"repo": "gitlinker.nvim"
|
||||||
|
},
|
||||||
|
"branch": "master",
|
||||||
|
"submodules": false,
|
||||||
|
"revision": "23982c86f50a9c3f4bc531d41b7a4a68ddd12355",
|
||||||
|
"url": "https://github.com/linrongbin16/gitlinker.nvim/archive/23982c86f50a9c3f4bc531d41b7a4a68ddd12355.tar.gz",
|
||||||
|
"hash": "1kz3gpdysxzpb27izhq0jgk59xw01mmnfvg5yrqvxnfhyjblxvqh"
|
||||||
|
},
|
||||||
"gitsigns-nvim": {
|
"gitsigns-nvim": {
|
||||||
"type": "Git",
|
"type": "Git",
|
||||||
"repository": {
|
"repository": {
|
||||||
|
|
Loading…
Add table
Reference in a new issue