mirror of
https://github.com/neovim/nvim-lspconfig.git
synced 2025-12-24 15:01:00 +01:00
38 lines
1.0 KiB
Lua
38 lines
1.0 KiB
Lua
---@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,
|
|
}
|