更新ログ:バージョン履歴と変更記録
学習後の成果
- プラグインのバージョン進化の過程を追跡できる
- 各バージョンの新機能と修正を理解できる
- 既知の制限事項と技術的な詳細を把握できる
- 将来の機能強化の可能性を理解できる
[0.1.0] - 2025-01-07
新機能
これは opencode-md-table-formatter の初期リリースバージョンで、以下のコア機能が含まれています:
- 自動テーブルフォーマット:
experimental.text.completeフックを使用して、AI が生成した Markdown テーブルを自動的にフォーマット - 非表示モード対応:幅計算時に非表示の Markdown 記号(
**、*など)を正しく処理 - ネストされた Markdown 処理:任意の深さのネストされた Markdown 構文をサポートし、多段階のストリップアルゴリズムを使用
- コードブロック保護:インラインコード(
`code`)内の Markdown 記号はリテラル形式で保持され、幅計算には参加しない - 配置方式対応:左揃え(
---または:---)、中央揃え(:---:)、右揃え(---:)をサポート - 幅キャッシュ最適化:文字列表示幅の計算結果をキャッシュしてパフォーマンスを向上
- 無効なテーブル検証:テーブル構造を自動的に検証し、無効なテーブルにはエラーコメントを追加
- 複数文字対応:Emoji、Unicode 文字、空セル、超長コンテンツをサポート
- 静的エラー処理:フォーマット失敗時でも OpenCode ワークフローを中断しない
技術詳細
このバージョンには約 230 行の本番対応 TypeScript コードが含まれています:
- 12 の関数:責任が明確で、適切に分離されている
- タイプセーフ:
Hooksインターフェースを正しく使用 - スマートキャッシュクリア:操作数が 100 回を超えるか、キャッシュエントリが 1000 を超えるとクリアがトリガーされる
- 多段階正規表現処理:任意のネスト深さの Markdown 記号ストリップをサポート
キャッシュメカニズム
キャッシュは繰り返しコンテンツの幅計算を最適化するために設計されています。例えば、テーブル内で同じセルテキストが複数回出現する場合、幅は一度だけ計算され、その後はキャッシュから直接読み取られます。
既知の制限事項
このバージョンは以下のシナリオをサポートしていません:
- HTML テーブル:Markdown パイプテーブル(Pipe Table)のみをサポート
- 複数行セル:
<br>タグを含むセルはサポートされていない - 区切り行なしテーブル:テーブルをフォーマットするには区切り行(
|---|)が必要 - 依存関係要件:
@opencode-ai/plugin>= 0.13.7 が必要(公開されていないexperimental.text.completeフックを使用)
バージョン要件
プラグインは OpenCode >= 1.0.137 と @opencode-ai/plugin >= 0.13.7 に依存して正常に動作します。
今後の計画
以下の機能は将来のバージョンで実装される予定です:
- 設定オプション:最小/最大列幅のカスタマイズ、特定機能の無効化をサポート
- ヘッダーなしテーブル対応:ヘッダー行のないテーブルをフォーマット
- パフォーマンス最適化:超大規模テーブル(100 行以上)のパフォーマンス分析と最適化
- より多くの配置オプション:配置方式の構文と機能を拡張
コントリビューション
機能提案やコード貢献をお考えの場合は、GitHub Issues でアイデアを共有してください。
変更記録フォーマットの説明
このプロジェクトの更新ログは Keep a Changelog フォーマットに従い、バージョン番号は セマンティックバージョニング (Semantic Versioning) に従います。
バージョン番号フォーマット:MAJOR.MINOR.PATCH
- MAJOR:互換性のない API 変更
- MINOR:後方互換性のある新機能
- PATCH:後方互換性のある問題修正
変更タイプ:
- Added:新機能
- Changed:既存機能の変更
- Deprecated:削除予定の機能
- Removed:削除された機能
- Fixed:問題修正
- Security:セキュリティ関連の修正
推奨学習順序
新規ユーザーの場合、以下の順序で学習することをお勧めします:
- 1分で始める:インストールと設定 —— クイックスタート
- 機能概要:自動フォーマットの魔法 —— コア機能を理解
- よくある質問:テーブルがフォーマットされない場合 —— トラブルシューティング
- 既知の制限事項:プラグインの境界 —— 制限事項を理解