refactor(icons): ascii defaults, checkbox overlays, and cleanup (#57)

* docs: remove unnecessary mini.ai recipe from vimdoc

Problem: the `*pending-mini-ai*` section assumed mini.ai intercepts
buffer-local `at`/`it`/`aC`/`iC` mappings, requiring a manual
`vim.b.miniai_config` workaround.

Solution: remove the section. Neovim's keymap resolver already
prioritizes longer buffer-local mappings over mini.ai's global
`a`/`i` handlers — no recipe needed.

* refactor(icons): unify category/header icon and use checkbox overlays

Problem: `header` and `category` were separate icons for the same
concept. The icon overlay replaced `[ ]` with a bare character,
hiding the markdown checkbox syntax. Header format `## ` produced
a double-space with single-char icons.

Solution: merge `header` into `category` (one icon for both header
lines and EOL labels). Overlay renders `[icon]` preserving bracket
syntax. Change header line format from `## ` to `# ` so the
2-char overlay (`# `) maps cleanly.

* ci: remove empty `assets/` placeholder
This commit is contained in:
Barrett Ruth 2026-03-04 18:44:41 -05:00 committed by GitHub
parent ee8b660f7c
commit 3e8fd0a6a3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 61 additions and 152 deletions

View file

@ -115,7 +115,7 @@ local function setup_syntax(bufnr)
vim.cmd([[
syntax clear
syntax match taskId /^\/\d\+\// conceal
syntax match taskHeader /^## .*$/ contains=taskId
syntax match taskHeader /^# .*$/ contains=taskId
syntax match taskCheckbox /\[!\]/ contained containedin=taskLine
syntax match taskLine /^\/\d\+\/- \[.\] .*$/ contains=taskId,taskCheckbox
]])
@ -205,9 +205,8 @@ local function apply_extmarks(bufnr, line_meta)
else
icon, icon_hl = icons.pending, 'Normal'
end
local icon_padded = icon .. ' '
vim.api.nvim_buf_set_extmark(bufnr, task_ns, row, bracket_col, {
virt_text = { { icon_padded, icon_hl } },
virt_text = { { '[' .. icon .. ']', icon_hl } },
virt_text_pos = 'overlay',
priority = 100,
})
@ -218,7 +217,7 @@ local function apply_extmarks(bufnr, line_meta)
hl_group = 'PendingHeader',
})
vim.api.nvim_buf_set_extmark(bufnr, task_ns, row, 0, {
virt_text = { { icons.header .. ' ', 'PendingHeader' } },
virt_text = { { icons.category .. ' ', 'PendingHeader' } },
virt_text_pos = 'overlay',
priority = 100,
})