1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
---@brief
---
--- https://github.com/Feel-ix-343/markdown-oxide
---
--- Editor Agnostic PKM: you bring the text editor and we
--- bring the PKM.
---
--- Inspired by and compatible with Obsidian.
---
--- Check the readme to see how to properly setup.
---@param client vim.lsp.Client
---@param bufnr integer
---@param cmd string
local function command_factory(client, bufnr, cmd)
return client:exec_cmd({
title = ('Markdown-Oxide-%s'):format(cmd),
command = 'jump',
arguments = { cmd },
}, { bufnr = bufnr })
end
---@type vim.lsp.Config
return {
root_markers = { '.git', '.obsidian', '.moxide.toml' },
filetypes = { 'markdown' },
cmd = { 'markdown-oxide' },
on_attach = function(client, bufnr)
for _, cmd in ipairs({ 'today', 'tomorrow', 'yesterday' }) do
vim.api.nvim_buf_create_user_command(bufnr, 'Lsp' .. ('%s'):format(cmd:gsub('^%l', string.upper)), function()
command_factory(client, bufnr, cmd)
end, {
desc = ('Open %s daily note'):format(cmd),
})
end
end,
}
|