feat: fennelize obsidian

This commit is contained in:
Youwen Wu 2025-02-01 14:44:45 -08:00
parent 168dd73429
commit 98be3f4254
Signed by: youwen5
GPG key ID: 865658ED1FE61EC3
2 changed files with 39 additions and 39 deletions

24
fnl/plugins/obsidian.fnl Normal file
View file

@ -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]}

View file

@ -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 function get_workspaces()
local all_workspaces = { local all_workspaces = {{name = "vault", path = vim.fs.normalize("~/Documents/vaults/vault")}, {name = "alexandria", path = vim.fs.normalize("~/Documents/alexandria/content")}}
{
name = "vault",
path = vim.fs.normalize("~/Documents/vaults/vault"),
},
{
name = "alexandria",
path = vim.fs.normalize("~/Documents/alexandria/content"),
},
}
local existing_workspaces = {} local existing_workspaces = {}
for i, x in ipairs(all_workspaces) do 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]) table.insert(existing_workspaces, all_workspaces[i])
vim.notify( vim.notify(("Detected Obsidian workspace " .. x.path .. ", adding " .. vim.inspect(all_workspaces[i]) .. " to obsidian workspaces"), vim.log.levels.DEBUG)
[[Detected Obsidian workspace ]] else
.. x.path
.. [[, adding ]]
.. vim.inspect(all_workspaces[i])
.. [[ to obsidian workspaces]],
vim.log.levels.DEBUG
)
end end
end end
return existing_workspaces return existing_workspaces
end end
local function _2_()
return { local workspaces = get_workspaces()
"obsidian.nvim", if (#workspaces > 0) then
ft = { "markdown" }, local opts = {completion = {nvim_cmp = false}, ui = {enable = false}, workspaces = workspaces}
after = function() return require("obsidian").setup(opts)
local workspaces = get_workspaces() else
return nil
if #workspaces > 0 then end
local opts = { end
ui = { enable = false }, return {"obsidian.nvim", after = _2_, ft = {"markdown"}}
workspaces = workspaces,
completion = { nvim_cmp = false },
}
require("obsidian").setup(opts)
end
end,
}