Note: Github is mirror, original repo on codeberg
Personal Knowledge Mangement(PKM) Language Server (LSP) with markdown files in golang
- Using go
CGO_ENABLED=1 go build
vim.lsp.config.sylmark = {
cmd = { "path/to/binary" },
root_markers = { '.sylroot.toml' },
filetypes = { 'markdown' },
on_attach = function(client, bufnr)
vim.api.nvim_create_user_command(
"Daily",
function(args)
local input = args.args
client:exec_cmd({
title = "Show",
command = "show",
arguments = { input }, -- Also works with `vim.NIL`
}, { bufnr = bufnr })
end,
{ desc = 'Open daily note', nargs = "*" }
)
vim.api.nvim_create_user_command(
"Graph",
function(args)
local input = args.args
client:exec_cmd({
title = "Open Graph",
command = "graph",
arguments = { input }, -- Also works with `vim.NIL`
}, { bufnr = bufnr })
end,
{ desc = 'Start graph server and open', nargs = "*" }
)
end
}
vim.lsp.enable({
"sylmark",
})- Minimal Treesitter parser
- Hover
- Tag
- Wikilinks
- Headings (references)
- Completions
- Hash Tags
- Wikilinks File
- Wikilinks with sub headings
- Common dates links
- Go To Definitions
- Wikilinks File
- Wikilinks with sub headings
- Go to references
- Tags
- Wikilinks
- Headings
- Dim unresolved wikilinks
- Diagnostics
- Code actions
- Created unresolved
- Update internal data
- Append heading
- Update internal data
- Created unresolved
- Wikilinks within file
- Completions
- References
- Symbols
- Dynamic workspace symbols
- Switch to official Treesitter markdown parsers
- True Relative Inline link (Markdown style links )
- Any file
- Images file link include !
- Markdown files
- Make proper links in store
- References
- Hover
- Definitions
- Interoperability with wikilinks
- Headings
- Support with or without .md extension
- Support hugo content compatible linking
- Shortcuts/Footnotes
- Configuration (.sylroot.toml)
- Rename heading across workspace
- Rename file changes across workspace
- Better nested tag support
- [/] Sylgraph
- Graph view of all nodes
- Files
- Links
- Tags
- Click to open in editor
- Local mode
- Graph filters
- Color based on groups
- Graph view of all nodes
- Hash Tags
#sylmark #lsp - Wikilinks File
[[Example]] - Wikilinks with sub headings
[[Example#Objective]] - Wikilinks within file
[[#Work Items]] - Links Any File
[Go mod file](./go.mod)