blocks
셸이 알려 주는 신호를 받아 “어디부터 어디까지가 한 명령인가”를 알아냅니다 — 명령마다 시작·끝 위치, 종료 코드, 그때의 작업 디렉토리, 그리고 사용자가 친 명령 문구까지.
지금 무엇이 달라지나
이 플러그인은 정보를 모으는 쪽이고, 그것을 화면에 그리는 일은 클라이언트 몫입니다. 지금 배포되는 파이썬 클라이언트는 이 정보를 요청하지 않으므로, 켜 두어도 화면은 종전과 완전히 같습니다 (프레임도 한 바이트 늘지 않습니다 — 클라이언트가 접속할 때 “나는 블록을 그린다”고 밝힌 경우에만 서버가 보냅니다). 블록을 실제로 그리는 것은 따로 배포되는 러스트 TUI 클라이언트이고, 이 페이지는 그 준비를 위한 셸 쪽 설정을 설명합니다. 설치해 두면 나중에 그 클라이언트로 붙었을 때 바로 동작합니다.
셸 통합 설치
안 깔아도 아무것도 깨지지 않습니다 — 블록이 안 생길 뿐입니다.
쓰는 규약은 OSC 133 시맨틱 프롬프트로, iTerm2 가 만들고 kitty · WezTerm · VS Code 가 따르는
사실상 표준입니다. 그래서 같은 설정을 다른 터미널에서 써도 문제가 없습니다.
bash · zsh
PowerShell (Windows)
스크립트는 pytmuxlib/plugins/blocks/ 안에 있습니다
(shell-integration.sh · shell-integration.ps1).
PowerShell 판은 기존 prompt 함수와 PSReadLine 편집·히스토리를 덮지 않고 감싸므로,
쓰던 프롬프트가 그대로 유지됩니다. 두 판 모두 같은 신호를 보내 서버 쪽에는 셸별 분기가 없습니다.
셸이 보내는 신호
| 신호 | 뜻 |
|---|---|
OSC 133 ; A / B | 프롬프트 시작 / 명령 입력 시작 |
OSC 133 ; C | 명령 실행 시작(여기부터 출력) |
OSC 133 ; D ; <종료코드> | 명령 끝 — 성공·실패가 여기서 갈립니다 |
OSC 7 | 그 시점의 작업 디렉토리(Windows 드라이브 경로 포함) |
OSC 633 ; E | 사용자가 친 명령 문구 그대로(VS Code 셸 통합과 같은 확장) |
경계는 서버가 판정합니다 — 클라이언트마다 따로 추정하면 서로 다른 블록을 보게 되기 때문입니다. 위치는 화면이 아니라 스크롤백 절대 행으로 잡아, 스크롤해도 블록이 따라 움직이지 않습니다.
끄기 · 제거
:plugins 관리 팝업에서 끄거나(가역), pytmuxlib/plugins/blocks/
디렉토리를 지우면(delete-to-disable) 조용히 사라집니다. 셸 쪽 설정만 남아 있어도 무해합니다 —
다른 터미널이 같은 신호를 이해하기 때문입니다. ← 플러그인 개요