From 183406c250b55415beecaa4e3baca0112bb06291 Mon Sep 17 00:00:00 2001 From: Toby Vincent Date: Thu, 6 Oct 2022 13:55:50 -0500 Subject: feat(nvim): add local_use function for packer with optional fallback --- nvim/.config/nvim/lua/tobyvin/plugins.lua | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'nvim') diff --git a/nvim/.config/nvim/lua/tobyvin/plugins.lua b/nvim/.config/nvim/lua/tobyvin/plugins.lua index 0776b93..7dc5666 100644 --- a/nvim/.config/nvim/lua/tobyvin/plugins.lua +++ b/nvim/.config/nvim/lua/tobyvin/plugins.lua @@ -2,6 +2,31 @@ local utils = require("tobyvin.utils") local M = {} M.plugins = function(use) + ---@diagnostic disable-next-line: unused-local, unused-function + local local_use = function(opts, skip_missing) + skip_missing = vim.F.if_nil(skip_missing, false) + + if type(opts) == "string" then + opts = { opts } + end + + ---@diagnostic disable-next-line: missing-parameter + local local_path = vim.fn.expand("~/src/" .. vim.fs.basename(opts[1])) + if vim.fn.isdirectory(local_path) == 1 then + opts[1] = local_path + else + local notif_opts = { title = "[Packer] Missing local plugin" } + local notif_msg = string.format("Failed to find local plugin: %s", local_path) + if skip_missing then + vim.notify(string.format("%s\nSkipping.", notif_msg), vim.log.levels.WARN, notif_opts) + return + end + vim.notify(string.format("%s\nFalling back to '%s'", notif_msg, opts[1]), vim.log.levels.WARN, notif_opts) + end + + use(opts) + end + use("wbthomason/packer.nvim") use({ -- cgit v1.2.3-70-g09d2