mirror of
				https://github.com/NotAShelf/nvf.git
				synced 2025-10-31 19:12:38 +00:00 
			
		
		
		
	Merge branch 'main' into oil-nvim
This commit is contained in:
		
				commit
				
					
						bac61f3c13
					
				
			
		
					 13 changed files with 216 additions and 99 deletions
				
			
		|  | @ -239,8 +239,9 @@ | ||||||
| 
 | 
 | ||||||
| [alfarel](https://github.com/alfarelcynthesis): | [alfarel](https://github.com/alfarelcynthesis): | ||||||
| 
 | 
 | ||||||
| - Add missing `yazi.nvim` dependency (`snacks.nvim`). | [conform.nvim]: https://github.com/stevearc/conform.nvim | ||||||
| 
 | 
 | ||||||
|  | - Add missing `yazi.nvim` dependency (`snacks.nvim`). | ||||||
| - Add [mkdir.nvim](https://github.com/jghauser/mkdir.nvim) plugin for automatic | - Add [mkdir.nvim](https://github.com/jghauser/mkdir.nvim) plugin for automatic | ||||||
|   creation of parent directories when editing a nested file. |   creation of parent directories when editing a nested file. | ||||||
| - Add [nix-develop.nvim](https://github.com/figsoda/nix-develop.nvim) plugin for | - Add [nix-develop.nvim](https://github.com/figsoda/nix-develop.nvim) plugin for | ||||||
|  | @ -252,6 +253,8 @@ | ||||||
|   [friendly-snippets](https://github.com/rafamadriz/friendly-snippets) so |   [friendly-snippets](https://github.com/rafamadriz/friendly-snippets) so | ||||||
|   blink.cmp can source snippets from it. |   blink.cmp can source snippets from it. | ||||||
| - Fix [blink.cmp] breaking when built-in sources were modified. | - Fix [blink.cmp] breaking when built-in sources were modified. | ||||||
|  | - Fix [conform.nvim] not allowing disabling formatting on and after save. | ||||||
|  |   Use `null` value to disable them if conform is enabled. | ||||||
| 
 | 
 | ||||||
| [TheColorman](https://github.com/TheColorman): | [TheColorman](https://github.com/TheColorman): | ||||||
| 
 | 
 | ||||||
|  | @ -284,3 +287,16 @@ | ||||||
| [Sc3l3t0n](https://github.com/Sc3l3t0n): | [Sc3l3t0n](https://github.com/Sc3l3t0n): | ||||||
| 
 | 
 | ||||||
| - Add F# support under `vim.languages.fsharp`. | - Add F# support under `vim.languages.fsharp`. | ||||||
|  | 
 | ||||||
|  | [venkyr77](https://github.com/venkyr77): | ||||||
|  | 
 | ||||||
|  | - Add lint (luacheck) and formatting (stylua) support for Lua. | ||||||
|  | - Add lint (markdownlint-cli2) support for Markdown. | ||||||
|  | 
 | ||||||
|  | [tebuevd](https://github.com/tebuevd): | ||||||
|  | 
 | ||||||
|  | - Fix `pickers` configuration for `telescope` by nesting it under `setupOpts` | ||||||
|  | - Fix `find_command` configuration for `telescope` by nesting it under | ||||||
|  |   `setupOpts.pickers.find_files` | ||||||
|  | - Update default `telescope.setupOpts.pickers.find_files.find_command` to only | ||||||
|  |   include files (and therefore exclude directories from results) | ||||||
|  |  | ||||||
|  | @ -43,19 +43,6 @@ in { | ||||||
|           default = {}; |           default = {}; | ||||||
|           description = "Settings for completion providers."; |           description = "Settings for completion providers."; | ||||||
|         }; |         }; | ||||||
| 
 |  | ||||||
|         transform_items = mkOption { |  | ||||||
|           type = nullOr luaInline; |  | ||||||
|           default = mkLuaInline "function(_, items) return items end"; |  | ||||||
|           defaultText = '' |  | ||||||
|             Our default does nothing. If you want blink.cmp's default, which |  | ||||||
|             lowers the score for snippets, set this option to null. |  | ||||||
|           ''; |  | ||||||
|           description = '' |  | ||||||
|             Function to use when transforming the items before they're returned |  | ||||||
|             for all providers. |  | ||||||
|           ''; |  | ||||||
|         }; |  | ||||||
|       }; |       }; | ||||||
| 
 | 
 | ||||||
|       cmdline = { |       cmdline = { | ||||||
|  |  | ||||||
|  | @ -31,7 +31,7 @@ in { | ||||||
|         ''; |         ''; | ||||||
|       }; |       }; | ||||||
|     }) |     }) | ||||||
|     (mkIf cfg.lint_after_save { |     (mkIf (cfg.enable && cfg.lint_after_save) { | ||||||
|       vim = { |       vim = { | ||||||
|         augroups = [{name = "nvf_nvim_lint";}]; |         augroups = [{name = "nvf_nvim_lint";}]; | ||||||
|         autocmds = [ |         autocmds = [ | ||||||
|  |  | ||||||
|  | @ -4,7 +4,7 @@ | ||||||
|   ... |   ... | ||||||
| }: let | }: let | ||||||
|   inherit (lib.options) mkOption mkEnableOption literalExpression; |   inherit (lib.options) mkOption mkEnableOption literalExpression; | ||||||
|   inherit (lib.types) attrs enum; |   inherit (lib.types) attrs enum nullOr; | ||||||
|   inherit (lib.nvim.types) mkPluginSetupOption; |   inherit (lib.nvim.types) mkPluginSetupOption; | ||||||
|   inherit (lib.nvim.lua) mkLuaInline; |   inherit (lib.nvim.lua) mkLuaInline; | ||||||
| in { | in { | ||||||
|  | @ -31,7 +31,7 @@ in { | ||||||
|       }; |       }; | ||||||
| 
 | 
 | ||||||
|       format_on_save = mkOption { |       format_on_save = mkOption { | ||||||
|         type = attrs; |         type = nullOr attrs; | ||||||
|         default = { |         default = { | ||||||
|           lsp_format = "fallback"; |           lsp_format = "fallback"; | ||||||
|           timeout_ms = 500; |           timeout_ms = 500; | ||||||
|  | @ -43,7 +43,7 @@ in { | ||||||
|       }; |       }; | ||||||
| 
 | 
 | ||||||
|       format_after_save = mkOption { |       format_after_save = mkOption { | ||||||
|         type = attrs; |         type = nullOr attrs; | ||||||
|         default = {lsp_format = "fallback";}; |         default = {lsp_format = "fallback";}; | ||||||
|         description = '' |         description = '' | ||||||
|           Table that will be passed to `conform.format()`. If this |           Table that will be passed to `conform.format()`. If this | ||||||
|  |  | ||||||
|  | @ -5,6 +5,7 @@ | ||||||
| }: let | }: let | ||||||
|   inherit (builtins) toJSON; |   inherit (builtins) toJSON; | ||||||
|   inherit (lib.modules) mkIf mkMerge; |   inherit (lib.modules) mkIf mkMerge; | ||||||
|  |   inherit (lib.generators) mkLuaInline; | ||||||
|   inherit (lib.nvim.binds) addDescriptionsToMappings mkSetExprBinding mkSetLuaBinding pushDownDefault; |   inherit (lib.nvim.binds) addDescriptionsToMappings mkSetExprBinding mkSetLuaBinding pushDownDefault; | ||||||
|   inherit (lib.nvim.dag) entryAnywhere; |   inherit (lib.nvim.dag) entryAnywhere; | ||||||
|   inherit (lib.nvim.lua) toLuaObject; |   inherit (lib.nvim.lua) toLuaObject; | ||||||
|  | @ -32,6 +33,7 @@ in { | ||||||
|                 return '<Ignore>' |                 return '<Ignore>' | ||||||
|               end |               end | ||||||
|             '') |             '') | ||||||
|  | 
 | ||||||
|             (mkSetExprBinding gsMappings.previousHunk '' |             (mkSetExprBinding gsMappings.previousHunk '' | ||||||
|               function() |               function() | ||||||
|                 if vim.wo.diff then return ${toJSON gsMappings.previousHunk.value} end |                 if vim.wo.diff then return ${toJSON gsMappings.previousHunk.value} end | ||||||
|  | @ -77,13 +79,12 @@ in { | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     (mkIf cfg.codeActions.enable { |     (mkIf cfg.codeActions.enable { | ||||||
|       vim.lsp.null-ls.enable = true; |       vim.lsp.null-ls = { | ||||||
|       vim.lsp.null-ls.sources.gitsigns-ca = '' |         enable = true; | ||||||
|         table.insert( |         setupOpts.sources.gitsigns-ca = mkLuaInline '' | ||||||
|           ls_sources, |           require("null-ls").builtins.code_actions.gitsigns | ||||||
|           null_ls.builtins.code_actions.gitsigns |  | ||||||
|         ) |  | ||||||
|         ''; |         ''; | ||||||
|  |       }; | ||||||
|     }) |     }) | ||||||
|   ]); |   ]); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -4,16 +4,30 @@ | ||||||
|   lib, |   lib, | ||||||
|   ... |   ... | ||||||
| }: let | }: let | ||||||
|  |   inherit (builtins) attrNames; | ||||||
|   inherit (lib.options) mkEnableOption mkOption; |   inherit (lib.options) mkEnableOption mkOption; | ||||||
|   inherit (lib.modules) mkIf mkMerge; |   inherit (lib.modules) mkIf mkMerge; | ||||||
|   inherit (lib.meta) getExe; |   inherit (lib.meta) getExe; | ||||||
|   inherit (lib.lists) isList; |   inherit (lib.lists) isList; | ||||||
|   inherit (lib.types) either listOf package str; |   inherit (lib.types) bool either enum listOf package str; | ||||||
|   inherit (lib.nvim.types) mkGrammarOption; |   inherit (lib.nvim.types) diagnostics mkGrammarOption; | ||||||
|   inherit (lib.nvim.lua) expToLua; |   inherit (lib.nvim.lua) expToLua; | ||||||
|   inherit (lib.nvim.dag) entryBefore; |   inherit (lib.nvim.dag) entryBefore; | ||||||
| 
 | 
 | ||||||
|   cfg = config.vim.languages.lua; |   cfg = config.vim.languages.lua; | ||||||
|  |   defaultFormat = "stylua"; | ||||||
|  |   formats = { | ||||||
|  |     stylua = { | ||||||
|  |       package = pkgs.stylua; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   defaultDiagnosticsProvider = ["luacheck"]; | ||||||
|  |   diagnosticsProviders = { | ||||||
|  |     luacheck = { | ||||||
|  |       package = pkgs.luajitPackages.luacheck; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
| in { | in { | ||||||
|   imports = [ |   imports = [ | ||||||
|     (lib.mkRemovedOptionModule ["vim" "languages" "lua" "lsp" "neodev"] '' |     (lib.mkRemovedOptionModule ["vim" "languages" "lua" "lsp" "neodev"] '' | ||||||
|  | @ -39,6 +53,34 @@ in { | ||||||
| 
 | 
 | ||||||
|       lazydev.enable = mkEnableOption "lazydev.nvim integration, useful for neovim plugin developers"; |       lazydev.enable = mkEnableOption "lazydev.nvim integration, useful for neovim plugin developers"; | ||||||
|     }; |     }; | ||||||
|  | 
 | ||||||
|  |     format = { | ||||||
|  |       enable = mkOption { | ||||||
|  |         type = bool; | ||||||
|  |         default = config.vim.languages.enableFormat; | ||||||
|  |         description = "Enable Lua formatting"; | ||||||
|  |       }; | ||||||
|  |       type = mkOption { | ||||||
|  |         type = enum (attrNames formats); | ||||||
|  |         default = defaultFormat; | ||||||
|  |         description = "Lua formatter to use"; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       package = mkOption { | ||||||
|  |         type = package; | ||||||
|  |         default = formats.${cfg.format.type}.package; | ||||||
|  |         description = "Lua formatter package"; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     extraDiagnostics = { | ||||||
|  |       enable = mkEnableOption "extra Lua diagnostics" // {default = config.vim.languages.enableExtraDiagnostics;}; | ||||||
|  |       types = diagnostics { | ||||||
|  |         langDesc = "Lua"; | ||||||
|  |         inherit diagnosticsProviders; | ||||||
|  |         inherit defaultDiagnosticsProvider; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   config = mkMerge [ |   config = mkMerge [ | ||||||
|  | @ -74,6 +116,27 @@ in { | ||||||
|           }) |           }) | ||||||
|         ''; |         ''; | ||||||
|       }) |       }) | ||||||
|  | 
 | ||||||
|  |       (mkIf cfg.format.enable { | ||||||
|  |         vim.formatter.conform-nvim = { | ||||||
|  |           enable = true; | ||||||
|  |           setupOpts.formatters_by_ft.lua = [cfg.format.type]; | ||||||
|  |           setupOpts.formatters.${cfg.format.type} = { | ||||||
|  |             command = getExe cfg.format.package; | ||||||
|  |           }; | ||||||
|  |         }; | ||||||
|  |       }) | ||||||
|  | 
 | ||||||
|  |       (mkIf cfg.extraDiagnostics.enable { | ||||||
|  |         vim.diagnostics.nvim-lint = { | ||||||
|  |           enable = true; | ||||||
|  |           linters_by_ft.lua = cfg.extraDiagnostics.types; | ||||||
|  |           linters = mkMerge (map (name: { | ||||||
|  |               ${name}.cmd = getExe diagnosticsProviders.${name}.package; | ||||||
|  |             }) | ||||||
|  |             cfg.extraDiagnostics.types); | ||||||
|  |         }; | ||||||
|  |       }) | ||||||
|     ])) |     ])) | ||||||
|   ]; |   ]; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -11,7 +11,7 @@ | ||||||
|   inherit (lib.lists) isList; |   inherit (lib.lists) isList; | ||||||
|   inherit (lib.types) bool enum either package listOf str; |   inherit (lib.types) bool enum either package listOf str; | ||||||
|   inherit (lib.nvim.lua) expToLua toLuaObject; |   inherit (lib.nvim.lua) expToLua toLuaObject; | ||||||
|   inherit (lib.nvim.types) mkGrammarOption mkPluginSetupOption; |   inherit (lib.nvim.types) diagnostics mkGrammarOption mkPluginSetupOption; | ||||||
|   inherit (lib.nvim.dag) entryAnywhere; |   inherit (lib.nvim.dag) entryAnywhere; | ||||||
| 
 | 
 | ||||||
|   cfg = config.vim.languages.markdown; |   cfg = config.vim.languages.markdown; | ||||||
|  | @ -46,6 +46,12 @@ | ||||||
|       package = pkgs.prettierd; |       package = pkgs.prettierd; | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
|  |   defaultDiagnosticsProvider = ["markdownlint-cli2"]; | ||||||
|  |   diagnosticsProviders = { | ||||||
|  |     markdownlint-cli2 = { | ||||||
|  |       package = pkgs.markdownlint-cli2; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
| in { | in { | ||||||
|   options.vim.languages.markdown = { |   options.vim.languages.markdown = { | ||||||
|     enable = mkEnableOption "Markdown markup language support"; |     enable = mkEnableOption "Markdown markup language support"; | ||||||
|  | @ -121,6 +127,15 @@ in { | ||||||
|         }; |         }; | ||||||
|       }; |       }; | ||||||
|     }; |     }; | ||||||
|  | 
 | ||||||
|  |     extraDiagnostics = { | ||||||
|  |       enable = mkEnableOption "extra Markdown diagnostics" // {default = config.vim.languages.enableExtraDiagnostics;}; | ||||||
|  |       types = diagnostics { | ||||||
|  |         langDesc = "Markdown"; | ||||||
|  |         inherit diagnosticsProviders; | ||||||
|  |         inherit defaultDiagnosticsProvider; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   config = mkIf cfg.enable (mkMerge [ |   config = mkIf cfg.enable (mkMerge [ | ||||||
|  | @ -155,5 +170,16 @@ in { | ||||||
|         require("render-markdown").setup(${toLuaObject cfg.extensions.render-markdown-nvim.setupOpts}) |         require("render-markdown").setup(${toLuaObject cfg.extensions.render-markdown-nvim.setupOpts}) | ||||||
|       ''; |       ''; | ||||||
|     }) |     }) | ||||||
|  | 
 | ||||||
|  |     (mkIf cfg.extraDiagnostics.enable { | ||||||
|  |       vim.diagnostics.nvim-lint = { | ||||||
|  |         enable = true; | ||||||
|  |         linters_by_ft.markdown = cfg.extraDiagnostics.types; | ||||||
|  |         linters = mkMerge (map (name: { | ||||||
|  |             ${name}.cmd = getExe diagnosticsProviders.${name}.package; | ||||||
|  |           }) | ||||||
|  |           cfg.extraDiagnostics.types); | ||||||
|  |       }; | ||||||
|  |     }) | ||||||
|   ]); |   ]); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -4,13 +4,12 @@ | ||||||
|   ... |   ... | ||||||
| }: let | }: let | ||||||
|   inherit (lib.modules) mkIf mkMerge; |   inherit (lib.modules) mkIf mkMerge; | ||||||
|   inherit (lib.attrsets) mapAttrs; |   inherit (lib.nvim.lua) toLuaObject; | ||||||
|   inherit (lib.trivial) boolToString; |   inherit (lib.nvim.dag) entryAfter; | ||||||
|   inherit (lib.nvim.dag) entryAnywhere entryAfter entryBetween; |  | ||||||
| 
 | 
 | ||||||
|   cfg = config.vim.lsp; |   cfg = config.vim.lsp.null-ls; | ||||||
| in { | in { | ||||||
|   config = mkIf cfg.null-ls.enable (mkMerge [ |   config = mkIf cfg.enable (mkMerge [ | ||||||
|     { |     { | ||||||
|       vim = { |       vim = { | ||||||
|         startPlugins = [ |         startPlugins = [ | ||||||
|  | @ -18,35 +17,14 @@ in { | ||||||
|           "plenary-nvim" |           "plenary-nvim" | ||||||
|         ]; |         ]; | ||||||
| 
 | 
 | ||||||
|         # null-ls implies LSP already being set up |         # null-ls implies that LSP is already being set up | ||||||
|         # since it will hook into LSPs to receive information |         # as it will hook into LSPs to receive information. | ||||||
|         lsp.enable = true; |         lsp.enable = true; | ||||||
| 
 | 
 | ||||||
|         pluginRC = { |         pluginRC.null_ls = entryAfter ["lsp-setup"] '' | ||||||
|           # early setup for null-ls |           require('null-ls').setup(${toLuaObject cfg.setupOpts}) | ||||||
|           null_ls-setup = entryAnywhere '' |  | ||||||
|             local null_ls = require("null-ls") |  | ||||||
|             local null_helpers = require("null-ls.helpers") |  | ||||||
|             local null_methods = require("null-ls.methods") |  | ||||||
|             local ls_sources = {} |  | ||||||
|           ''; |  | ||||||
| 
 |  | ||||||
|           # null-ls setup |  | ||||||
|           null_ls = entryAfter ["null_ls-setup" "lsp-setup"] '' |  | ||||||
|             require('null-ls').setup({ |  | ||||||
|               debug = ${boolToString cfg.null-ls.debug}, |  | ||||||
|               diagnostics_format = "${cfg.null-ls.diagnostics_format}", |  | ||||||
|               debounce = ${toString cfg.null-ls.debounce}, |  | ||||||
|               default_timeout = ${toString cfg.null-ls.default_timeout}, |  | ||||||
|               sources = ls_sources, |  | ||||||
|               on_attach = default_on_attach |  | ||||||
|             }) |  | ||||||
|         ''; |         ''; | ||||||
|       }; |       }; | ||||||
|       }; |  | ||||||
|     } |  | ||||||
|     { |  | ||||||
|       vim.pluginRC = mapAttrs (_: v: (entryBetween ["null_ls"] ["null_ls-setup"] v)) cfg.null-ls.sources; |  | ||||||
|     } |     } | ||||||
|   ]); |   ]); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -1,34 +1,87 @@ | ||||||
| {lib, ...}: let | {lib, ...}: let | ||||||
|   inherit (lib.options) mkEnableOption mkOption; |   inherit (lib.options) mkOption mkEnableOption; | ||||||
|   inherit (lib.types) attrsOf str int; |   inherit (lib.types) attrsOf str int nullOr; | ||||||
| in { |   inherit (lib.generators) mkLuaInline; | ||||||
|   options.vim.lsp.null-ls = { |   inherit (lib.nvim.types) luaInline mkPluginSetupOption; | ||||||
|     enable = mkEnableOption "null-ls, also enabled automatically"; |   inherit (lib.nvim.config) batchRenameOptions; | ||||||
| 
 | 
 | ||||||
|     debug = mkEnableOption "debugging information for `null-ls"; |   migrationTable = { | ||||||
|  |     debug = "debug"; | ||||||
|  |     diagnostics_format = "diagnostics_format"; | ||||||
|  |     debounce = "debounce"; | ||||||
|  |     default_timeout = "default_timeout"; | ||||||
|  |     sources = "sources"; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   renamedSetupOpts = | ||||||
|  |     batchRenameOptions | ||||||
|  |     ["vim" "lsp" "null-ls"] | ||||||
|  |     ["vim" "lsp" "null-ls" "setupOpts"] | ||||||
|  |     migrationTable; | ||||||
|  | in { | ||||||
|  |   imports = renamedSetupOpts; | ||||||
|  | 
 | ||||||
|  |   options.vim.lsp.null-ls = { | ||||||
|  |     enable = mkEnableOption '' | ||||||
|  |       null-ls, plugin to use Neovim as a language server to inject LSP diagnostics, | ||||||
|  |       code actions, and more via Lua. | ||||||
|  |     ''; | ||||||
|  | 
 | ||||||
|  |     setupOpts = mkPluginSetupOption "null-ls" { | ||||||
|  |       debug = mkEnableOption '' | ||||||
|  |         debugging information for null-ls. | ||||||
|  | 
 | ||||||
|  |         Displays all possible log messages and writes them to the null-ls log, | ||||||
|  |         which you can view with the command `:NullLsLog` | ||||||
|  |       ''; | ||||||
| 
 | 
 | ||||||
|       diagnostics_format = mkOption { |       diagnostics_format = mkOption { | ||||||
|         type = str; |         type = str; | ||||||
|         default = "[#{m}] #{s} (#{c})"; |         default = "[#{m}] #{s} (#{c})"; | ||||||
|       description = "Diagnostic output format for null-ls"; |         description = '' | ||||||
|  |           Sets the default format used for diagnostics. null-ls will replace th | ||||||
|  |           e following special components with the relevant diagnostic information: | ||||||
|  | 
 | ||||||
|  |           * `#{m}`: message | ||||||
|  |           * `#{s}`: source name (defaults to null-ls if not specified) | ||||||
|  |           * `#{c}`: code (if available) | ||||||
|  |         ''; | ||||||
|       }; |       }; | ||||||
| 
 | 
 | ||||||
|       debounce = mkOption { |       debounce = mkOption { | ||||||
|         type = int; |         type = int; | ||||||
|         default = 250; |         default = 250; | ||||||
|       description = "Default debounce"; |         description = '' | ||||||
|  |           Amount of time between the last change to a buffer and the next `textDocument/didChange` notification. | ||||||
|  |         ''; | ||||||
|       }; |       }; | ||||||
| 
 | 
 | ||||||
|       default_timeout = mkOption { |       default_timeout = mkOption { | ||||||
|         type = int; |         type = int; | ||||||
|         default = 5000; |         default = 5000; | ||||||
|       description = "Default timeout value, in milliseconds"; |         description = '' | ||||||
|  |           Amount of time (in milliseconds) after which built-in sources will time out. | ||||||
|  | 
 | ||||||
|  |           :::{.note} | ||||||
|  |           Built-in sources can define their own timeout period and users can override | ||||||
|  |           the timeout period on a per-source basis | ||||||
|  |           ::: | ||||||
|  |         ''; | ||||||
|       }; |       }; | ||||||
| 
 | 
 | ||||||
|       sources = mkOption { |       sources = mkOption { | ||||||
|       description = "null-ls sources"; |         type = nullOr (attrsOf luaInline); | ||||||
|       type = attrsOf str; |         default = null; | ||||||
|       default = {}; |         description = "Sources for null-ls to register"; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       on_attach = mkOption { | ||||||
|  |         type = nullOr luaInline; | ||||||
|  |         default = mkLuaInline "on_attach"; | ||||||
|  |         description = '' | ||||||
|  |           Defines an on_attach callback to run whenever null-ls attaches to a buffer. | ||||||
|  |         ''; | ||||||
|  |       }; | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -8,6 +8,12 @@ | ||||||
|   inherit (lib.nvim.binds) mkMappingOption; |   inherit (lib.nvim.binds) mkMappingOption; | ||||||
|   inherit (lib.nvim.types) mkPluginSetupOption luaInline; |   inherit (lib.nvim.types) mkPluginSetupOption luaInline; | ||||||
|   setupOptions = { |   setupOptions = { | ||||||
|  |     pickers.find_files.find_command = mkOption { | ||||||
|  |       description = "cmd to use for finding files"; | ||||||
|  |       type = either (listOf str) luaInline; | ||||||
|  |       default = ["${pkgs.fd}/bin/fd" "--type=file"]; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|     defaults = { |     defaults = { | ||||||
|       vimgrep_arguments = mkOption { |       vimgrep_arguments = mkOption { | ||||||
|         description = '' |         description = '' | ||||||
|  | @ -27,11 +33,6 @@ | ||||||
|           "--no-ignore" |           "--no-ignore" | ||||||
|         ]; |         ]; | ||||||
|       }; |       }; | ||||||
|       pickers.find_command = mkOption { |  | ||||||
|         description = "cmd to use for finding files"; |  | ||||||
|         type = either (listOf str) luaInline; |  | ||||||
|         default = ["${pkgs.fd}/bin/fd"]; |  | ||||||
|       }; |  | ||||||
|       prompt_prefix = mkOption { |       prompt_prefix = mkOption { | ||||||
|         description = "Shown in front of Telescope's prompt"; |         description = "Shown in front of Telescope's prompt"; | ||||||
|         type = str; |         type = str; | ||||||
|  |  | ||||||
|  | @ -12,8 +12,7 @@ in { | ||||||
|   config = mkIf cfg.enable { |   config = mkIf cfg.enable { | ||||||
|     vim = { |     vim = { | ||||||
|       startPlugins = ["nvim-scrollbar"]; |       startPlugins = ["nvim-scrollbar"]; | ||||||
| 
 |       pluginRC.nvim-scrollbar = entryAnywhere '' | ||||||
|       pluginRC.cursorline = entryAnywhere '' |  | ||||||
|         require("scrollbar").setup(${toLuaObject cfg.setupOpts}) |         require("scrollbar").setup(${toLuaObject cfg.setupOpts}) | ||||||
|       ''; |       ''; | ||||||
|     }; |     }; | ||||||
|  |  | ||||||
|  | @ -13,7 +13,7 @@ in { | ||||||
|     setupOpts = mkPluginSetupOption "scrollbar-nvim" { |     setupOpts = mkPluginSetupOption "scrollbar-nvim" { | ||||||
|       excluded_filetypes = mkOption { |       excluded_filetypes = mkOption { | ||||||
|         type = listOf str; |         type = listOf str; | ||||||
|         default = ["prompt" "TelescopePrompt" "noice" "noice" "NvimTree" "neo-tree" "alpha" "notify" "Navbuddy"]; |         default = ["prompt" "TelescopePrompt" "noice" "NvimTree" "neo-tree" "alpha" "notify" "Navbuddy" "fastaction_popup"]; | ||||||
|         description = "Filetypes to hide the scrollbar on"; |         description = "Filetypes to hide the scrollbar on"; | ||||||
|       }; |       }; | ||||||
|     }; |     }; | ||||||
|  |  | ||||||
|  | @ -48,16 +48,9 @@ | ||||||
|       patches = [./patches/flutter-tools.patch]; |       patches = [./patches/flutter-tools.patch]; | ||||||
| 
 | 
 | ||||||
|       # Disable failing require check hook checks |       # Disable failing require check hook checks | ||||||
|       nvimSkipModule = [ |       doCheck = false; | ||||||
|         "flutter-tools.devices" |  | ||||||
|         "flutter-tools.dap" |  | ||||||
|         "flutter-tools.runners.job_runner" |  | ||||||
|         "flutter-tools.decorations" |  | ||||||
|         "flutter-tools.commands" |  | ||||||
|         "flutter-tools.executable" |  | ||||||
|         "flutter-tools.dev_tools" |  | ||||||
|       ]; |  | ||||||
|     }; |     }; | ||||||
|  | 
 | ||||||
|     inherit (inputs.self.legacyPackages.${pkgs.stdenv.system}) blink-cmp; |     inherit (inputs.self.legacyPackages.${pkgs.stdenv.system}) blink-cmp; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 raf
				raf