nvim-orgmode / nvim-orgmode/orgmode
Allow setting org_todo_keyword_faces directly with `@org.keyword.face.*` highlight groups
Nobody has claimed this yet.
- Dominant language
- Lua
- Stars
- 3.9k
- Forks
- 190
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 7
Description
Each @org.keyword.face.<name> highlight group is only considered in orgmode's highlight specs when <name> is defined inside org_todo_keyword_faces option with at least 1 attribute. Since the option is static, it cannot adapt to users changing Neovim colorschemes at runtime.
My workaround for now is to put a temporary face value (.e.g :weight bold) for each keyword and redefine the corresponding @org.keyword.face.<name> highlight groups in my colorscheme file.
It'd be nice if orgmode can register a single @org.keyword.face.* highlight group unconditionally for each entry in org_todo_keywords option, first considering the highlight settings of org_todo_keyword_faces, and if not available, linking to either @org.keyword.todo and @org.keyword.done by default. The users are free to override the highlight groups in their colorscheme configuration.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the code that processes org_todo_keyword_faces and registers highlights for entries in org_todo_keywords. Trace how the existing face settings and default todo/done links are selected. Done means each keyword receives an overridable @org.keyword.face. group, with the stated fallback behavior when no face attributes are configured.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- lua
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100