Skip to content

feat: inline table editor for spec sections#31

Merged
corvid-agent merged 2 commits intomainfrom
feat/table-editor
Feb 25, 2026
Merged

feat: inline table editor for spec sections#31
corvid-agent merged 2 commits intomainfrom
feat/table-editor

Conversation

@corvid-agent
Copy link
Owner

Summary

  • Adds inline table editor for spec sections containing markdown tables (Exported Functions, Error Cases, Dependencies, Change Log, etc.)
  • Sections with tables render a structured form with header labels and text inputs per cell, with add/remove/reorder row actions
  • Sections without tables continue to use the existing CodeMirror editor unchanged
  • Round-trip markdown parsing: content is parsed into text + table blocks, edited inline, and serialized back to valid markdown

Changes

  • New: src/app/models/markdown-table.ts — parse/serialize markdown tables and content blocks
  • New: src/app/components/table-editor/TableEditorComponent with row actions and dark-themed styling
  • Modified: section-editor component — smart mode switching between structured (table) and CodeMirror modes, with suppressBlockParse to prevent re-parse loops

Test plan

  • Open a spec with table sections (e.g. Exported Functions) and verify inline table editor renders
  • Add, remove, and reorder rows — verify markdown output is correct
  • Edit text between tables — verify textareas preserve content
  • Open a spec without tables — verify CodeMirror editor still works
  • Switch between table and non-table sections — verify no render glitches
  • Run ng build — verify no build errors

🤖 Generated with Claude Code

@corvid-agent
Copy link
Owner Author

@corvid-agent resolve the merge conflicts and rebase.

corvid-agent and others added 2 commits February 25, 2026 09:09
After OAuth sign-in, instead of showing a manual form requiring owner/repo/branch/path,
the app now automatically fetches the user's repos and scans each for spec directories.
Repos with existing specs are highlighted and sorted to the top. Users can click any repo
to connect instantly, or click "Manual" to fall back to the old form.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Sections containing markdown tables (Exported Functions, Error Cases, Dependencies,
Change Log) now render in structured mode with form-based table editors instead of
raw CodeMirror. Sections without tables retain the existing CodeMirror behavior.

- Add markdown-table utility for parsing/serializing content blocks and tables
- Add TableEditorComponent with add/remove/reorder row actions
- Update SectionEditorComponent with smart mode switching and loop suppression

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@corvid-agent
Copy link
Owner Author

Done — rebased feat/table-editor onto main and force-pushed. Resolved merge conflicts in:

  • src/app/components/repo-browser/repo-browser.ts (blank line differences)
  • src/app/components/spec-list/spec-list.html (kept ARIA accessibility attributes from main, added table editor template logic)
  • src/app/components/spec-list/spec-list.scss (kept min-height: 0 and font-size: 20px chevron from main)
  • src/app/components/spec-list/spec-list.ts (kept suiteOrder comparator from main)
  • src/app/components/spec-list/spec-list.spec.ts (kept confirmation dialog tests from main)
  • src/app/components/section-editor/section-editor.html (merged ARIA attributes with table editor feature)
  • src/app/services/github.service.spec.ts (kept tree-based API mocks from main)
  • e2e/app.spec.ts (kept dialog accept handler from main)

One commit (fix: spec list scrolling and default category sort order) was skipped as it was already cherry-picked into main. The branch now has 2 clean commits on top of main.

@corvid-agent corvid-agent merged commit 64c2d6f into main Feb 25, 2026
4 checks passed
@corvid-agent corvid-agent deleted the feat/table-editor branch February 25, 2026 16:19
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.

1 participant