| Crates.io | obsidian-lsp |
| lib.rs | obsidian-lsp |
| version | 0.1.0 |
| created_at | 2025-09-01 13:25:56.852321+00 |
| updated_at | 2025-09-01 13:25:56.852321+00 |
| description | Language Server Protocol (LSP) implementation for Obsidian markdown files |
| homepage | |
| repository | https://github.com/vincent-uden/obsidian-lsp |
| max_upload_size | |
| id | 1819598 |
| size | 200,406 |
A Language Server Protocol (LSP) implementation for Obsidian markdown files, providing features like go-to-definition, references, completion, and more for enhanced editing experience in editors like Neovim.
cargo install obsidian-lsp
git clone https://github.com/vincent-uden/obsidian-lsp
cd obsidian-lsp
cargo build --release
Create a file for the lsp configuration at nvim/lsp/obsidian.lua. It should contain:
return {
cmd = { 'path/to/repo/obsidian-lsp/target/debug/obsidian-lsp' },
filetypes = { 'markdown', 'md' },
root_markers = { '.obsidian-marker' },
}
Modify the path with backslahes on Windows.
Then, in init.lua add
vim.lsp.config('obsidian', {})
and optionally a keybinding to restart the lsp
vim.keymap.set('n', '<leader>m', function()
vim.lsp.enable('obsidian', false)
vim.lsp.enable('obsidian', true)
end, { desc = 'Restart obsidian lsp' })