diff --git a/config/nvim/init.lua b/config/nvim/init.lua index 97b47d5..ff95f58 100644 --- a/config/nvim/init.lua +++ b/config/nvim/init.lua @@ -185,7 +185,6 @@ vim.pack.add({ { src = 'https://github.com/nvim-treesitter/nvim-treesitter-context' }, { src = 'https://github.com/nvim-treesitter/nvim-treesitter-textobjects', version = 'main' }, { src = 'https://github.com/romus204/tree-sitter-manager.nvim' }, - { src = 'https://github.com/obsidian-nvim/obsidian.nvim' }, { src = 'https://github.com/otavioschwanck/arrow.nvim' }, { src = 'https://github.com/rafamadriz/friendly-snippets' }, { src = 'https://github.com/rafikdraoui/jj-diffconflicts' }, diff --git a/config/nvim/plugin/fabric-ai.lua b/config/nvim/plugin/fabric-ai.lua index 48728a7..eba8fcf 100644 --- a/config/nvim/plugin/fabric-ai.lua +++ b/config/nvim/plugin/fabric-ai.lua @@ -1,15 +1,17 @@ -require('fabric-ai').setup({ - -- Default configuration (all optional) - fabric_path = "fabric-ai", -- Path to Fabric CLI - patterns_path = nil, -- Custom patterns dir (auto-detect if nil) - timeout = 300000, -- Command timeout in ms (5 minutes) - window = { - width = 0.8, -- 80% of editor width - height = 0.8, -- 80% of editor height - border = "rounded", - }, -}) +if vim.fn.executable("fabric-ai") == 1 then + require('fabric-ai').setup({ + -- Default configuration (all optional) + fabric_path = "fabric-ai", -- Path to Fabric CLI + patterns_path = nil, -- Custom patterns dir (auto-detect if nil) + timeout = 300000, -- Command timeout in ms (5 minutes) + window = { + width = 0.8, -- 80% of editor width + height = 0.8, -- 80% of editor height + border = "rounded", + }, + }) -vim.keymap.set({ 'v' }, "fa", ":'<,'>Fabric", { desc = "Fabric AI" }) -vim.keymap.set({ 'n' }, 'fa', ':Fabric', { desc = "Fabric AI" }) -vim.keymap.set({ 'n' }, 'fu', ':Fabric url', { desc = "Fabric URL" }) + vim.keymap.set({ 'v' }, "fa", ":'<,'>Fabric", { desc = "Fabric AI" }) + vim.keymap.set({ 'n' }, 'fa', ':Fabric', { desc = "Fabric AI" }) + vim.keymap.set({ 'n' }, 'fu', ':Fabric url', { desc = "Fabric URL" }) +end diff --git a/config/nvim/plugin/obsidian.lua b/config/nvim/plugin/obsidian.lua index 6a24a12..cdfeea0 100644 --- a/config/nvim/plugin/obsidian.lua +++ b/config/nvim/plugin/obsidian.lua @@ -1,76 +1,90 @@ -require("obsidian").setup({ - legacy_commands = false, - picker = { - name = "snacks.pick", - }, - ui = { - enable = true, - }, - workspaces = { - { - name = "Steve Beaulac 2nd Brain", - path = vim.fn.expand "~" .. "/Documents/sjb-brain/", +if vim.fn.isdirectory(vim.fn.expand "~" .. "/Documents/sjb-brain/") == 1 then + + vim.pack.add({ { src = 'https://github.com/obsidian-nvim/obsidian.nvim' } }) + + require("obsidian").setup({ + legacy_commands = false, + picker = { + name = "snacks.pick", }, - }, - notes_subdir = "Inbox", - daily_notes = { - folder = "Dailies", - date_format = "%Y-%m-%d-%a", - alias_fomat = "%B %-d, %Y", - default_tags = { "daily-notes" }, - }, - new_notes_location = "notes_subdir", - templates = { - subdir = "Templates", - date_format = "%Y-%m-%d-%a", - time_format = "%H:%M", - tags = "", - }, - completion = { - -- nvim_cmp = false, - -- blink = true, - min_chars = 2, - }, - link = { - style = "wiki", - }, - note_id_func = function(title) - local suffix = "" - if title ~= nil then - suffix = title:gsub(" ", "-"):gsub("[^A-Za-z0-9-]", ""):lower() - else - for _ = 1, 4 do - suffix = suffix .. string.char(math.random(65, 90)) - suffix = tostring(os.time()) .. "-" .. suffix + ui = { + enable = true, + }, + workspaces = { + { + name = "Steve Beaulac 2nd Brain", + path = vim.fn.expand "~" .. "/Documents/sjb-brain/", + }, + }, + notes_subdir = "Inbox", + daily_notes = { + folder = "Dailies", + date_format = "%Y-%m-%d-%a", + alias_fomat = "%B %-d, %Y", + default_tags = { "daily-notes" }, + }, + new_notes_location = "notes_subdir", + templates = { + subdir = "Templates", + date_format = "%Y-%m-%d-%a", + time_format = "%H:%M", + tags = "", + }, + completion = { + -- nvim_cmp = false, + -- blink = true, + min_chars = 2, + }, + link = { + style = "wiki", + }, + note_id_func = function(title) + local suffix = "" + if title ~= nil then + suffix = title:gsub(" ", "-"):gsub("[^A-Za-z0-9-]", ""):lower() + else + for _ = 1, 4 do + suffix = suffix .. string.char(math.random(65, 90)) + suffix = tostring(os.time()) .. "-" .. suffix + end end - end - return suffix - end, - - callbacks = { - enter_note = function(note) - vim.keymap.set('n', 'k.', 'Obsidian toggle_checkbox', { desc = 'toggle checkbox', buffer = note.bufnr, silent = true }) - vim.keymap.set('n', 'kp', 'Obsidian paste_img', { desc = 'paste img', buffer = note.bufnr, silent = true }) - vim.keymap.set('n', 'kt', 'Obsidian tags', { desc = 'tags', buffer = note.bufnr, silent = true }) - vim.keymap.set('n', 'k`', 'Obsidian backlinks', { desc = 'backlinks', buffer = note.bufnr, silent = true }) - vim.keymap.set('n', 'kx', 'Obsidian follow_link', { desc = 'follow link', buffer = note.bufnr, silent = true }) - vim.keymap.set('n', 'ksl', 'Obsidian links', { desc = 'links', buffer = note.bufnr, silent = true }) - vim.keymap.set('n', 'kr', 'Obsidian rename', { desc = 'rename', buffer = note.bufnr, silent = true }) - vim.keymap.set('n', 'ksc', 'Obsidian toc', { desc = 'toc', buffer = note.bufnr, silent = true }) - vim.keymap.set('v', 'kx', 'Obsidian link', { desc = 'links', buffer = note.bufnr, silent = true }) - vim.keymap.set('v', 'kl', 'Obsidian link_new', { desc = 'links', buffer = note.bufnr, silent = true }) + return suffix end, - }, -}) -vim.keymap.set("v", "kx", "Obsidian extract_note", { desc = "Extract Note" }) -vim.keymap.set("n", "knn", "Obsidian new", { desc = "New Obsidian note" }) -vim.keymap.set("n", "knt", "Obsidian new_from_template", { desc = "New from template" }) -vim.keymap.set("n", "ksq", "Obsidian quick_switch", { desc = "Quick Switch" }) -vim.keymap.set("n", "kss", "Obsidian search", { desc = "Search Obsidian notes" }) -vim.keymap.set("n", "kdt", "Obsidian today", { desc = "Daily Today" }) -vim.keymap.set("n", "kdy", "Obsidian yesterday", { desc = "Daily Yesterday" }) -vim.keymap.set("n", "kdw", "Obsidian tomorrow", { desc = "Daily Tomorrow" }) -vim.keymap.set("n", "kdd", "Obsidian dailies", { desc = "Dailies" }) -vim.keymap.set("n", "kw", "Obsidian workspace", { desc = "Change Workspace" }) + callbacks = { + enter_note = function(note) + vim.keymap.set('n', 'k.', 'Obsidian toggle_checkbox', + { desc = 'toggle checkbox', buffer = note.bufnr, silent = true }) + vim.keymap.set('n', 'kp', 'Obsidian paste_img', + { desc = 'paste img', buffer = note.bufnr, silent = true }) + vim.keymap.set('n', 'kt', 'Obsidian tags', + { desc = 'tags', buffer = note.bufnr, silent = true }) + vim.keymap.set('n', 'k`', 'Obsidian backlinks', + { desc = 'backlinks', buffer = note.bufnr, silent = true }) + vim.keymap.set('n', 'kx', 'Obsidian follow_link', + { desc = 'follow link', buffer = note.bufnr, silent = true }) + vim.keymap.set('n', 'ksl', 'Obsidian links', + { desc = 'links', buffer = note.bufnr, silent = true }) + vim.keymap.set('n', 'kr', 'Obsidian rename', + { desc = 'rename', buffer = note.bufnr, silent = true }) + vim.keymap.set('n', 'ksc', 'Obsidian toc', + { desc = 'toc', buffer = note.bufnr, silent = true }) + vim.keymap.set('v', 'kx', 'Obsidian link', + { desc = 'links', buffer = note.bufnr, silent = true }) + vim.keymap.set('v', 'kl', 'Obsidian link_new', + { desc = 'links', buffer = note.bufnr, silent = true }) + end, + }, + }) + vim.keymap.set("v", "kx", "Obsidian extract_note", { desc = "Extract Note" }) + vim.keymap.set("n", "knn", "Obsidian new", { desc = "New Obsidian note" }) + vim.keymap.set("n", "knt", "Obsidian new_from_template", { desc = "New from template" }) + vim.keymap.set("n", "ksq", "Obsidian quick_switch", { desc = "Quick Switch" }) + vim.keymap.set("n", "kss", "Obsidian search", { desc = "Search Obsidian notes" }) + vim.keymap.set("n", "kdt", "Obsidian today", { desc = "Daily Today" }) + vim.keymap.set("n", "kdy", "Obsidian yesterday", { desc = "Daily Yesterday" }) + vim.keymap.set("n", "kdw", "Obsidian tomorrow", { desc = "Daily Tomorrow" }) + vim.keymap.set("n", "kdd", "Obsidian dailies", { desc = "Dailies" }) + vim.keymap.set("n", "kw", "Obsidian workspace", { desc = "Change Workspace" }) +end