如何从本地或远程有条件地使用 Packer 加载 NeoVim 插件?

问题描述 投票:0回答:1

我正在开发一个实验性 NeoVim 插件 https://github.com/KaiWalter/azure-functions.nvim 并希望在开发系统上加载本地源代码并从其他计算机上的存储库远程加载它。

我怎样才能实现这个目标?

lua neovim neovim-plugin
1个回答
0
投票

我决定使用VIM API

vim.fn.isdirectory
来检查本地目录是否存在。

...
return require('packer').startup(function(use)
  use 'wbthomason/packer.nvim'

  -- My plugins here
...
  local path = "~/src/azure-functions.nvim"
  if vim.fn.isdirectory(path) ~= 0 then
    use {
      path,
      config = function()
        require("azure-functions").setup({})
      end,
    }
  else
    use {
      "kaiwalter/azure-functions.nvim",
      config = function()
        require("azure-functions").setup({})
      end,
    }
  end
...
end)

我无法通过类似

cond
的条件实现这一目标

  use {
    path,
    opt = true,
    cond = function()
      return vim.fn.isdirectory(path) ~= 0,
    end,
    config = function()
      require("azure-functions").setup({})
    end,
  }

因为

cond
规范似乎并不影响软件包是否安装。

© www.soinside.com 2019 - 2024. All rights reserved.