anitnilay20 / anitnilay20/thoth
Add support for additional file formats (CSV, XML, YAML)
- Vorherrschende Sprache
- Rust
- Sterne
- 70
- Forks
- 5
- Ø Merge
- 10 Std. 33 Min.
- Gemergte PRs (30 T.)
- 2
Beschreibung
## Description
Building on the FileViewer architecture established in the recent refactoring, add support for viewing additional file formats beyond JSON/NDJSON.
## Background
The codebase has been refactored to separate generic file viewing logic (FileViewer) from format-specific rendering (JsonTreeViewer). This architecture makes it straightforward to add new file format viewers.
## Proposed File Formats
### Priority 1 - High Value
- **CSV/TSV** - Tabular data display with column headers, sorting, filtering
- **XML** - Tree-based viewer similar to JSON, with attribute support
- **YAML** - Tree viewer with YAML-specific syntax handling
### Priority 2 - Nice to Have
- **TOML** - Config file support
- **Plain Text** - Basic text viewer with syntax highlighting
- **Markdown** - Rendered preview
## Implementation Plan
Each format viewer should:
1. Implement a dedicated viewer (e.g., `CsvTableViewer`, `XmlTreeViewer`)
2. Integrate with `FileViewer` via format detection
3. Support common operations: search, copy, export
4. Maintain consistent UI/UX with existing JSON viewer
## Technical Notes
Current architecture:
- `FileViewer` (generic parent) - handles loading, caching, selection
- `JsonTreeViewer` (JSON-specific) - renders JSON tree structure
- `ViewerState` (shared) - common state across viewers
New viewers should follow this pattern and reuse the existing infrastructure.
## Related Issues
- Closes #19 (Modularize JsonViewer) ✅
- Related to #18 (Refactor file module)
## Acceptance Criteria
- [x] CSV/TSV files display in tabular format
- [ ] XML files display in tree structure
- [ ] YAML files display in tree structure
- [ ] File type auto-detection works correctly
- [ ] Search functionality works across all formats
- [ ] Performance remains good for large files (lazy loading where applicable)
- [ ] All keyboard shortcuts work consistently
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Bewertung
Dieses Issue wurde noch nicht bewertet.