Thanks to visit codestin.com
Credit goes to github.com

Skip to content

sylveryte/sylmark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Note: Github is mirror, original repo on codeberg

Sylmark

Personal Knowledge Mangement(PKM) Language Server (LSP) with markdown files in golang

Build

  • Using go CGO_ENABLED=1 go build

Neovim Setup

    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",
    })

Roadmap

  • 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
  • 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

Entities

  • 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)

Packages

No packages published

Languages