Skip to content

Command name 'Regenerate (force)' is unclear and inconsistent with sibling commands #25

Description

@bobthearsonist

Observation

The command registered as name: "Regenerate (force)" in plugins/obsidian-plugin/src/main.ts:198 shows up in Obsidian's command palette as "Visual Notes (issue-21): Regenerate (force)". Surfaced during manual QA — I told the user to search for "Force regenerate sidecar" and the actual name didn't match.

Why it's awkward

Compare command names registered together in main.ts:

Extract from current note                               ← clear: verb + scope
Extract from current note using Daily Context           ← clear: verb + scope + modifier
Regenerate (force)                                       ← unclear: verb + parenthetical
Pin this overview                                        ← clear: verb + scope
Unpin this overview                                      ← clear: verb + scope
Delete sidecar                                           ← clear: verb + scope

Issues with Regenerate (force):

  1. No scope noun: "Regenerate" what? The other commands name what they act on (note / overview / sidecar). This one doesn't.
  2. Parens are unusual for command names: Obsidian command palette convention is action-then-noun, not action-then-parenthetical-modifier. Compare: "Save current file" vs "Save (force)".
  3. Search discoverability: "Force regenerate" doesn't match. Users guessing the command have to find it by partial match on "regenerate" or "force" — and "force" alone is too generic to surface from the global palette.

Candidate fixes

  • Force regenerate overview — verb-first, clear scope, no parens
  • Regenerate overview (force) — keeps the verb-noun-modifier shape, parens at end
  • Force regenerate sidecar — uses the technical noun ("sidecar") matching Delete sidecar

The third option matches the existing Delete sidecar pattern, which is the closest sibling.

Bonus observation

There's no non-force regenerate command. The two "Extract" commands cover the normal regen path (hash check + skip if unchanged), and this "Regenerate (force)" is the bypass-the-hash-check version. Worth considering whether the name should reflect the relationship: e.g., "Re-extract (ignore cache)" or "Force re-extract" — more honest about what it does.

Out of scope

UX polish, doesn't block #21 / PR #23. Filed for the next focused naming/UX pass.

References

  • Source: plugins/obsidian-plugin/src/main.ts:196-200
  • Repro: command palette → search "regenerate" with plugin enabled

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions