dotfiles

Personal dotfiles
git clone https://git.bracken.jp/dotfiles.git
Log | Files | Refs | LICENSE

commit 4decd894790d00c0ccd85fbbf5b6a136c49b8347
parent cfa72af4a87b41f7643b09306a42ccea258bbba2
Author: Chris Bracken <chris@bracken.jp>
Date:   Wed, 27 May 2026 14:05:22 +0900

nvim: add markdown-oxide plugin

Configure <leader>dn to jump to daily note.

Diffstat:
M.config/nvim/lua/config/keymaps.lua | 9+++++++++
M.config/nvim/lua/config/options.lua | 4++++
M.config/nvim/lua/plugins/languages.lua | 18++++++++++++++++++
3 files changed, 31 insertions(+), 0 deletions(-)

diff --git a/.config/nvim/lua/config/keymaps.lua b/.config/nvim/lua/config/keymaps.lua @@ -100,3 +100,12 @@ vim.keymap.set('n', '<leader>n', function() opt.number = false end end) + +-- Open today's daily note unconditionally. +vim.keymap.set('n', '<leader>dn', function() + local notes_dir = vim.g.notes_dir or "~/Developer/Notes" + local today = os.date("%Y-%m-%d") + local path = vim.fn.expand(notes_dir .. "/" .. today .. ".md") + vim.cmd("edit " .. vim.fn.fnameescape(path)) +end, { desc = "Open today's daily note", noremap = true, silent = true }) + diff --git a/.config/nvim/lua/config/options.lua b/.config/nvim/lua/config/options.lua @@ -52,3 +52,7 @@ vim.api.nvim_create_autocmd({ "WinEnter", "BufEnter", "WinLeave", "BufLeave" }, vim.opt_local.cursorline = enable_cursorline end }) + +-- Global notes directory path. +vim.g.notes_dir = '~/Developer/notes' + diff --git a/.config/nvim/lua/plugins/languages.lua b/.config/nvim/lua/plugins/languages.lua @@ -89,6 +89,12 @@ return { if vim.fn.executable('basedpyright-langserver') == 1 then vim.lsp.enable('basedpyright') end + if vim.fn.executable('markdown-oxide') == 1 then + vim.lsp.config('markdown_oxide', { + capabilities = vim.lsp.protocol.make_client_capabilities() + }) + vim.lsp.enable('markdown_oxide') + end vim.api.nvim_create_autocmd("LspAttach", { group = vim.api.nvim_create_augroup("UserLspConfig", {}), @@ -111,6 +117,18 @@ return { vim.keymap.set("n", "K", vim.lsp.buf.hover, opts) opts.desc = "Format buffer" vim.keymap.set("n", "<leader>F", vim.lsp.buf.format, opts) + + -- Setup markdown-oxide daily note command if attached. + if client and client.name == "markdown_oxide" then + vim.api.nvim_buf_create_user_command(ev.buf, "Daily", function(args) + local input = args.args + local arguments = {} + if input ~= "" then + arguments = { input } + end + client:exec_cmd({ command = "jump", arguments = arguments }, { bufnr = ev.buf }) + end, { desc = "Open daily note", nargs = "*" }) + end end, }) end,