Skip to content

refactor: split large files (tabs.ts / stream_parser.rs / pty.rs) #86

Description

@liplus-lin-lay

観察

実装ファイルが大型化している:

  • src/tabs.ts = 821 行 (TabManager + SessionState + 永続化連携が 1 ファイルに同居)
  • src-tauri/src/stream_parser.rs = 643 行 (NDJSON parser + ANSI strip + channel push detection が同居)
  • src-tauri/src/pty.rs = 548 行

機能凝集が高いため動作には支障なし、ただし Read / 修正の局所性と将来追加機能の局在化が低下する。

提案

各ファイルを責務別に分割:

  • tabs.ts: TabManager / SessionState / SessionManager 連携 / 永続化を別 module へ
    • tabs/tab-manager.ts, tabs/session-state.ts, tabs/persistence.ts
  • stream_parser.rs: NDJSON parser / ANSI strip / channel push detection を分離
    • stream_parser/ndjson.rs, stream_parser/ansi.rs, stream_parser/channel_push.rs
  • pty.rs: 機能別に分離 (具体は内容確認後に決定)

関連ファイル

  • src/tabs.ts
  • src-tauri/src/stream_parser.rs
  • src-tauri/src/pty.rs
  • src-tauri/src/lib.rs (mod 宣言追加)
  • src/main.ts (import 修正)

優先度

低-中 — 動作影響なし、保守性向上目的。

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancement新機能・改善要望memoメモとして開始した状態。見出しは必要なものだけでよい

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions