Skip to content

feat(tui): devbase list 実行時に画面をクリアしてプロンプトを先頭行に表示#72

Merged
takemi-ohama merged 1 commit into
mainfrom
feat/devbase-list-clear-screen
Jun 14, 2026
Merged

feat(tui): devbase list 実行時に画面をクリアしてプロンプトを先頭行に表示#72
takemi-ohama merged 1 commit into
mainfrom
feat/devbase-list-clear-screen

Conversation

@takemi-ohama

Copy link
Copy Markdown
Contributor

Pull Request

概要

devbase list (= 階層メニュー TUI) を起動・再描画する際に、端末画面をクリア (CTRL+L 相当) してメニュープロンプトを画面の先頭行から表示するようにした。従来は前のコマンド出力が画面に残ったまま一覧が下方に描画され、視認性が悪かった。

関連 Issue

  • Closes #

変更点

  • lib/devbase/tui/app.py_clear_screen() を追加。\033[3J\033[2J\033[H を出力して表示領域・スクロールバックを消去し、カーソルを左上へ移動する。stdout が非 TTY の場合は何もしない (リダイレクト時の制御文字混入を防止)。
  • _top_menu_loop() のループ先頭で _clear_screen() を呼び、トップ一覧の再描画前に必ず画面をクリアする。

動作確認

  • ローカルで ./bin/devbase --help が正常に動作する
  • devbase list 実行時に画面がクリアされ、プロンプトが先頭行に表示される
  • 構文チェック (ast.parse) が通る
  • CI が green である

スクリーンショット・ログ(任意)

補足

非 TTY (パイプ・リダイレクト) では制御シーケンスを出力しないため、既存のスクリプト用途に影響しない。

トップ一覧の再描画前に `_clear_screen()` を呼び、表示領域とスクロール
バックを消去してカーソルを先頭行へ戻す (CTRL+L 相当)。非 TTY 時は何も
しない。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@takemi-ohama takemi-ohama merged commit d6dbcfd into main Jun 14, 2026
5 checks passed
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