Skip to content

[FEATURE] Suggest existing tags while creating or editing notes #173

Description

@mors119

Summary

Add tag autocomplete when users create or edit a FrilVault note.

Users should be able to reuse existing project tags without memorizing their exact spelling or accidentally creating near-duplicates.

Example

Tag: per

Suggestions:

performance
permission
persistence

Requirements

  • Suggest tags already used in the current workspace.
  • Filter suggestions as the user types.
  • Support keyboard navigation and selection.
  • Allow creation of a new tag when no suggestion is appropriate.
  • Prevent duplicate tags within the same note.
  • Normalize optional leading #.
  • Preserve tag casing rules consistently.
  • Use the same tag normalization logic in the CLI, core, and extension.

CLI Consideration

The CLI does not require interactive completion in the first implementation, but its validation and normalization behavior must match VS Code.

Shell completion can be handled separately later.

Acceptance Criteria

  • Existing tags appear as suggestions in the note editor.
  • Suggestions filter as text is entered.
  • A user can still create a new tag.
  • Duplicate tags cannot be added to one note.
  • tag and #tag do not become separate values.
  • Suggestions refresh after tags are added, renamed, or removed.
  • Tag normalization is covered by tests.

Design Principle

Reusing a tag should be easier than accidentally inventing a duplicate.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions