From 98be3f4254a0012a1025cb26d8adbae787b98c53 Mon Sep 17 00:00:00 2001 From: Youwen Wu Date: Sat, 1 Feb 2025 14:44:45 -0800 Subject: [PATCH] feat: fennelize obsidian --- fnl/plugins/obsidian.fnl | 24 ++++++++++++++++++ lua/plugins/obsidian.lua | 54 +++++++++++----------------------------- 2 files changed, 39 insertions(+), 39 deletions(-) create mode 100644 fnl/plugins/obsidian.fnl diff --git a/fnl/plugins/obsidian.fnl b/fnl/plugins/obsidian.fnl new file mode 100644 index 0000000..61792d5 --- /dev/null +++ b/fnl/plugins/obsidian.fnl @@ -0,0 +1,24 @@ +(fn get-workspaces [] + (let [all-workspaces [{:name :vault + :path (vim.fs.normalize "~/Documents/vaults/vault")} + {:name :alexandria + :path (vim.fs.normalize "~/Documents/alexandria/content")}] + existing-workspaces {}] + (each [i x (ipairs all-workspaces)] + (when (= (vim.fn.isdirectory x.path) 1) + (table.insert existing-workspaces (. all-workspaces i)) + (vim.notify (.. "Detected Obsidian workspace " x.path ", adding " + (vim.inspect (. all-workspaces i)) + " to obsidian workspaces") + vim.log.levels.DEBUG))) + existing-workspaces)) + +{1 :obsidian.nvim + :after (fn [] + (local workspaces (get-workspaces)) + (when (> (length workspaces) 0) + (local opts {:completion {:nvim_cmp false} + :ui {:enable false} + : workspaces}) + ((. (require :obsidian) :setup) opts))) + :ft [:markdown]} diff --git a/lua/plugins/obsidian.lua b/lua/plugins/obsidian.lua index eae4469..ceb03e7 100644 --- a/lua/plugins/obsidian.lua +++ b/lua/plugins/obsidian.lua @@ -1,47 +1,23 @@ +-- [nfnl] Compiled from ./fnl/plugins/obsidian.fnl by https://github.com/Olical/nfnl, do not edit. local function get_workspaces() - local all_workspaces = { - { - name = "vault", - path = vim.fs.normalize("~/Documents/vaults/vault"), - }, - { - name = "alexandria", - path = vim.fs.normalize("~/Documents/alexandria/content"), - }, - } - + local all_workspaces = {{name = "vault", path = vim.fs.normalize("~/Documents/vaults/vault")}, {name = "alexandria", path = vim.fs.normalize("~/Documents/alexandria/content")}} local existing_workspaces = {} - for i, x in ipairs(all_workspaces) do - if vim.fn.isdirectory(x.path) == 1 then + if (vim.fn.isdirectory(x.path) == 1) then table.insert(existing_workspaces, all_workspaces[i]) - vim.notify( - [[Detected Obsidian workspace ]] - .. x.path - .. [[, adding ]] - .. vim.inspect(all_workspaces[i]) - .. [[ to obsidian workspaces]], - vim.log.levels.DEBUG - ) + vim.notify(("Detected Obsidian workspace " .. x.path .. ", adding " .. vim.inspect(all_workspaces[i]) .. " to obsidian workspaces"), vim.log.levels.DEBUG) + else end end - return existing_workspaces end - -return { - "obsidian.nvim", - ft = { "markdown" }, - after = function() - local workspaces = get_workspaces() - - if #workspaces > 0 then - local opts = { - ui = { enable = false }, - workspaces = workspaces, - completion = { nvim_cmp = false }, - } - require("obsidian").setup(opts) - end - end, -} +local function _2_() + local workspaces = get_workspaces() + if (#workspaces > 0) then + local opts = {completion = {nvim_cmp = false}, ui = {enable = false}, workspaces = workspaces} + return require("obsidian").setup(opts) + else + return nil + end +end +return {"obsidian.nvim", after = _2_, ft = {"markdown"}}