Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions modules/plugins/completion/blink-cmp/blink-cmp.nix
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{lib, ...}: let
inherit (lib.options) mkEnableOption mkOption literalMD;
{lib, pkgs, ...}: let
inherit (lib.options) mkEnableOption mkOption mkPackageOption literalMD;
inherit (lib.types) bool listOf str either attrsOf submodule enum anything int nullOr;
inherit (lib.nvim.types) mkPluginSetupOption luaInline pluginType;
inherit (lib.nvim.binds) mkMappingOption;
Expand Down Expand Up @@ -29,6 +29,7 @@
in {
options.vim.autocomplete.blink-cmp = {
enable = mkEnableOption "blink.cmp";
package = mkPackageOption pkgs ["vimPlugins" "blink-cmp"] { nullable = true; };
setupOpts = mkPluginSetupOption "blink.cmp" {
sources = {
default = mkOption {
Expand Down
12 changes: 8 additions & 4 deletions modules/plugins/completion/blink-cmp/config.nix
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,9 @@
inherit (cfg) mappings;

getPluginName = plugin:
if typeOf plugin == "string"
if cfg.package != null
then cfg.package.pname
else if typeOf plugin == "string"
then plugin
else if (plugin ? pname && (tryEval plugin.pname).success)
then plugin.pname
Expand All @@ -43,9 +45,11 @@ in {

vim = mkIf cfg.enable {
startPlugins = ["blink-compat"] ++ blinkSourcePlugins ++ (optional cfg.friendly-snippets.enable "friendly-snippets");
lazy.plugins = {
blink-cmp = {
package = "blink-cmp";
lazy.plugins = let
pluginName = if cfg.package != null then cfg.package.pname else "blink-cmp";
in {
"${pluginName}" = {
package = if cfg.package == null then "blink-cmp" else cfg.package;
setupModule = "blink.cmp";
inherit (cfg) setupOpts;

Expand Down