Skip to content

Claude/language specific suggestions rh pxb - #3

Closed
jimblom wants to merge 3 commits into
mainfrom
claude/language-specific-suggestions-rhPxb
Closed

Claude/language specific suggestions rh pxb#3
jimblom wants to merge 3 commits into
mainfrom
claude/language-specific-suggestions-rhPxb

Conversation

@jimblom

@jimblom jimblom commented Mar 12, 2026

Copy link
Copy Markdown
Owner

No description provided.

claude added 3 commits March 9, 2026 16:48
Registers a CompletionItemProvider for the hexfield-markdown language that
suggests existing project names (e.g. #hexfield, #deep13) when the user
types #. Suggestions are sourced from both the hexfield-deck.projects
configuration and project tags already present in the current document.

https://claude.ai/code/session_01YEqwQNQaFCKrE5u8kQQnpS
@jimblom jimblom closed this Mar 12, 2026
jimblom added a commit that referenced this pull request Mar 12, 2026
…rchitecture

Replaces the monolithic CompletionItemProvider with a structured service layer
that makes the completion system extensible without touching extension.ts.

- src/completions/completionService.ts — defines the HexfieldSubProvider
  interface and HexfieldCompletionService, which registers once with VS Code
  and fans out to all registered sub-providers. Trigger characters are derived
  automatically from the active provider set.

- src/completions/providers/projectTagProvider.ts — implements HexfieldSubProvider
  for #tag completions. Incorporates the replace-range logic from PR #3 so
  partial input is replaced rather than appended.

- Removes src/providers/completionProvider.ts (the earlier monolithic provider
  that handled tags, est:, and checkboxes in one class).

Only the ProjectTagProvider is registered. Stub comments in extension.ts mark
where EstimateProvider, CheckboxProvider, and DateProvider will plug in.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
jimblom added a commit that referenced this pull request Mar 13, 2026
…ar (#4)

* feat: v0.2–v0.5 roadmap features — decorations, intelligence, commands, status bar

v0.2 — Visual completeness
- [x] task lines now render with strikethrough and a muted foreground color;
  configurable via hexfield.colors.doneTask
- Frontmatter block gets a subtle background tint across all its lines

v0.3 — Editor intelligence
- Hover tooltips on due dates (human-readable proximity: "3 days overdue"),
  time estimates (expanded: "1h 30m"), and project tags (color + URL from config)
- Autocomplete for #project tags (from hexfield-deck.projects config + document),
  est: presets (15m → 8h), and [ ] / [/] / [x] checkbox states
  Trigger characters: #, :, [

v0.4 — Commands & snippets
- Hexfield: Insert Date — quick-pick menu (today, tomorrow, end of week, etc.)
  inserts [YYYY-MM-DD] at cursor; available only in hexfield-markdown files
- Hexfield: Jump to Today — scrolls to the day-section heading for today
- Snippet pack: hfm (frontmatter), hfd (day section), hft (full task),
  est (estimate with preset choice list), phi / pme / plo (priorities)

v0.5 — Status bar
- Right-side status bar item shows overdue date count, in-progress task count,
  and open task count whenever a Hexfield planner file is active

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* refactor(completions): introduce HexfieldCompletionService provider architecture

Replaces the monolithic CompletionItemProvider with a structured service layer
that makes the completion system extensible without touching extension.ts.

- src/completions/completionService.ts — defines the HexfieldSubProvider
  interface and HexfieldCompletionService, which registers once with VS Code
  and fans out to all registered sub-providers. Trigger characters are derived
  automatically from the active provider set.

- src/completions/providers/projectTagProvider.ts — implements HexfieldSubProvider
  for #tag completions. Incorporates the replace-range logic from PR #3 so
  partial input is replaced rather than appended.

- Removes src/providers/completionProvider.ts (the earlier monolithic provider
  that handled tags, est:, and checkboxes in one class).

Only the ProjectTagProvider is registered. Stub comments in extension.ts mark
where EstimateProvider, CheckboxProvider, and DateProvider will plug in.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* style: fix prettier formatting to pass CI

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat(comments): add // line comment support

Adds C-style line comment syntax to hexfield-markdown files. Everything from
// to end of line is treated as a comment and rendered in comment green
(#6A9955 — same as C/C++ comments in VS Code Dark+).

- Grammar: adds a line-comment rule to the inline injection grammar, listed
  first so it takes precedence over all other inline token patterns
- Decorator: adds lineComment as a static token, applied last in decorate()
  so the comment color wins over any token decorations in the same range
  (e.g. // #tag !!! all renders green, not mixed colors)
- Config: hexfield.colors.lineComment for user override

Example usage:
  - [ ] Refactor nacelle couplings est:2h  // blocked on Joel's sign-off
  - [x] Deploy to SOL bridge #hexfield     // shipped Friday

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(comments): exclude :// from line comment trigger to avoid eating URLs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(grammar): anchor [/] match to list item position to fix MD link rendering

The bare \[/\] pattern matched anywhere in a line, including in the middle of
lines where the markdown grammar's link detection was still in play. This caused
[text](url) links on the same line as a [/] checkbox to not render correctly.

Restrict the match with a lookbehind requiring a list item marker (- * +)
immediately before [/]. The oniguruma engine (used by VS Code) supports
variable-length lookbehinds so this is safe. [/] in any other position
(e.g. inside a note, near a URL) is now left to the markdown grammar.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore: bump version to 0.2.0 and update CHANGELOG

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants