nvim-orgmode / nvim-orgmode/orgmode

Allow setting org_todo_keyword_faces directly with `@org.keyword.face.*` highlight groups

Open
#983 0 comments 1 reaction 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.