mirror of
https://github.com/NotAShelf/nvf.git
synced 2025-12-10 14:13:54 +00:00
feat(autocompletion): allow blink-cmp package override
This commit is contained in:
parent
09470524a2
commit
b9d1104be2
2 changed files with 11 additions and 6 deletions
|
|
@ -1,5 +1,5 @@
|
||||||
{lib, ...}: let
|
{lib, pkgs, ...}: let
|
||||||
inherit (lib.options) mkEnableOption mkOption literalMD;
|
inherit (lib.options) mkEnableOption mkOption mkPackageOption literalMD;
|
||||||
inherit (lib.types) bool listOf str either attrsOf submodule enum anything int nullOr;
|
inherit (lib.types) bool listOf str either attrsOf submodule enum anything int nullOr;
|
||||||
inherit (lib.nvim.types) mkPluginSetupOption luaInline pluginType;
|
inherit (lib.nvim.types) mkPluginSetupOption luaInline pluginType;
|
||||||
inherit (lib.nvim.binds) mkMappingOption;
|
inherit (lib.nvim.binds) mkMappingOption;
|
||||||
|
|
@ -29,6 +29,7 @@
|
||||||
in {
|
in {
|
||||||
options.vim.autocomplete.blink-cmp = {
|
options.vim.autocomplete.blink-cmp = {
|
||||||
enable = mkEnableOption "blink.cmp";
|
enable = mkEnableOption "blink.cmp";
|
||||||
|
package = mkPackageOption pkgs ["vimPlugins" "blink-cmp"] { nullable = true; };
|
||||||
setupOpts = mkPluginSetupOption "blink.cmp" {
|
setupOpts = mkPluginSetupOption "blink.cmp" {
|
||||||
sources = {
|
sources = {
|
||||||
default = mkOption {
|
default = mkOption {
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,9 @@
|
||||||
inherit (cfg) mappings;
|
inherit (cfg) mappings;
|
||||||
|
|
||||||
getPluginName = plugin:
|
getPluginName = plugin:
|
||||||
if typeOf plugin == "string"
|
if cfg.package != null
|
||||||
|
then cfg.package.pname
|
||||||
|
else if typeOf plugin == "string"
|
||||||
then plugin
|
then plugin
|
||||||
else if (plugin ? pname && (tryEval plugin.pname).success)
|
else if (plugin ? pname && (tryEval plugin.pname).success)
|
||||||
then plugin.pname
|
then plugin.pname
|
||||||
|
|
@ -43,9 +45,11 @@ in {
|
||||||
|
|
||||||
vim = mkIf cfg.enable {
|
vim = mkIf cfg.enable {
|
||||||
startPlugins = ["blink-compat"] ++ blinkSourcePlugins ++ (optional cfg.friendly-snippets.enable "friendly-snippets");
|
startPlugins = ["blink-compat"] ++ blinkSourcePlugins ++ (optional cfg.friendly-snippets.enable "friendly-snippets");
|
||||||
lazy.plugins = {
|
lazy.plugins = let
|
||||||
blink-cmp = {
|
pluginName = if cfg.package != null then cfg.package.pname else "blink-cmp";
|
||||||
package = "blink-cmp";
|
in {
|
||||||
|
"${pluginName}" = {
|
||||||
|
package = if cfg.package == null then "blink-cmp" else cfg.package;
|
||||||
setupModule = "blink.cmp";
|
setupModule = "blink.cmp";
|
||||||
inherit (cfg) setupOpts;
|
inherit (cfg) setupOpts;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue