Skip to content

feat(tables): add phase 2 table features#114

Merged
YousefHadder merged 4 commits intomainfrom
remove-edit-cell-feature
Nov 8, 2025
Merged

feat(tables): add phase 2 table features#114
YousefHadder merged 4 commits intomainfrom
remove-edit-cell-feature

Conversation

@YousefHadder
Copy link
Owner

This PR implements Phase 2 table features including:

  • Transpose table (tt) - Swap rows and columns
  • Sort by column (tsa/tsd) - Sort ascending/descending
  • CSV conversion (tvx/tvi) - Export to CSV and import from CSV
  • Cell alignment (ta) - Toggle left/center/right alignment
  • Clear cell (tx) - Clear cell content
  • Move rows (tmj/tmk) - Move row down/up
  • Move columns (tmh/tml) - Move column left/right

All features include:

  • Full test coverage (60 table tests, 316 total tests passing)
  • Comprehensive documentation (README, vimdoc)
  • Type annotations (LuaCATS)
  • Configuration option for destructive operations (confirm_destructive)

Quality checks:

  • ✅ Lint: 0 warnings/0 errors
  • ✅ Format: Clean
  • ✅ Tests: 316/316 passing

Copilot AI review requested due to automatic review settings November 8, 2025 22:11
@YousefHadder YousefHadder changed the title feat: add phase 2 table features feat(tables): add phase 2 table features Nov 8, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds Phase 2 table manipulation features to markdown-plus.nvim, introducing advanced table operations beyond basic CRUD. The changes include cell operations (alignment toggling, clearing), row/column movement, table transformations (transpose, sort), and format conversion (CSV ↔ table).

  • Cell operations: toggle alignment, clear content
  • Row/column movement: swap with adjacent rows/columns
  • Advanced operations: transpose, sort by column (numeric/alphabetic)
  • Format conversion: bidirectional CSV ↔ markdown table conversion

Reviewed Changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
spec/minimal_init.lua Improved test environment setup with better plenary.nvim discovery and explicit plugin loading
spec/markdown-plus/table_spec.lua Added comprehensive test coverage for Phase 2 table manipulation features
lua/markdown-plus/types.lua Added confirm_destructive configuration field for destructive operations
lua/markdown-plus/table/manipulation.lua Implemented cell alignment, row/column movement, and cell clearing operations
lua/markdown-plus/table/keymaps.lua Registered keymaps and <Plug> mappings for new table operations
lua/markdown-plus/table/init.lua Exposed new table manipulation functions in the public API
lua/markdown-plus/table/conversion.lua New module for CSV/table format conversion with proper quoting/escaping
lua/markdown-plus/table/calculator.lua New module for transpose and sort operations with numeric detection
lua/markdown-plus/config/validate.lua Added validation for confirm_destructive configuration option
doc/markdown-plus.txt Documented new keymaps and configuration option
README.md Updated documentation with new keymaps and configuration

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 11 out of 11 changed files in this pull request and generated 2 comments.

@YousefHadder YousefHadder force-pushed the remove-edit-cell-feature branch from c398afb to 18ea9fe Compare November 8, 2025 22:52
@YousefHadder YousefHadder merged commit cafe4d2 into main Nov 8, 2025
14 checks passed
@YousefHadder YousefHadder deleted the remove-edit-cell-feature branch November 8, 2025 22:53
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