## 経緯
1年半前に[[Obsidian]]の[[Vault]]を管理するため[[markdown-oxide]]を試したことがある。
<div class="link-card-v2">
<div class="link-card-v2-site">
<img class="link-card-v2-site-icon" src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/favicon-64.png" />
<span class="link-card-v2-site-name">Minerva</span>
</div>
<div class="link-card-v2-title">
📜2024-08-19 markdown-oxideをNeovimで使ってみる
</div>
<div class="link-card-v2-content">NeovimのMarkdownに対するLSPはMarksmanを使っていた。しかし、Marksmanにはいくつか不足していると感じる点がある。</div>
<img class="link-card-v2-image" src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/Notes/attachments/activity.webp" />
<a data-href="📜2024-08-19 markdown-oxideをNeovimで使ってみる" class="internal-link"></a>
</div>
%%[[📜2024-08-19 markdown-oxideをNeovimで使ってみる]]%%
このときは機能が不足していたので、結局[[obsidian.nvim]]をforkすることにした。
それからしばらく経ち、[[Vault]]の管理をふたたび[[Obsidian]]に統一した。[[Neovim]]では[[obsidian.nvim]]を使わなくなったので、それにより[[Markdown]]をサポートする[[LSP]]的な存在がなくなっていた。
さらに最近、ファイル内のシンボル検索を[[aerial.nvim]]から[[snacks.picker]]に移行した。[[カレントファイルのシンボル一覧を表示 (snacks.picker)|カレントファイルのシンボル一覧を表示]]できるようになった反面、[[Markdown]]の構造も[[LSP]]で取得するようになったので、[[Markdown]]の見出し一覧を表示することができなくなった。
そこで、[[Markdown]]用の[[LSP]]を再び導入することにした。以前のようにハイレベルの要件は必要なくなったため、ふたたび[[markdown-oxide]]を試してみることにした。
### 環境
| 対象 | バージョン |
| --------------------------------- | --------- |
| [[macOS]] | 15.7.2 |
| [[Neovim]] | 0.11.5 |
| [[nvim-lspconfig]] | `41ceb6b` |
| [[blink.cmp (Neovim)\|blink.cmp]] | `b19413d` |
| [[markdown-oxide]] | 0.25.10 |
| [[Cargo BInstall]] | 1.16.6 |
## インストール
> [GitHub - Feel-ix-343/markdown-oxide: PKM Markdown Language Server](https://github.com/Feel-ix-343/markdown-oxide?tab=readme-ov-file#neovim)
```console
brew install markdown-oxide
```
## [[nvim-lspconfig]]の設定
> [nvim-lspconfig/doc/configs.md at master · neovim/nvim-lspconfig](https://github.com/neovim/nvim-lspconfig/blob/master/doc/configs.md#markdown_oxide)
`after/lsp/markdown_oxide.lua`
```lua
return {}
```
[[LSP]]設定で以下を追加。
```lua
vim.lsp.enable({
"markdown_oxide",
})
```
## オートコンプリートについて
今は不要だと思うのでしない。