Skip to content

대화형 REPL 입력에 줄 편집과 기록을 붙였다 (ADR-0071) - #123

Merged
SonAIengine merged 2 commits into
mainfrom
feat/repl-line-editing
Oct 27, 2026
Merged

SonAIengine merged 2 commits into
mainfrom
feat/repl-line-editing

Conversation

@SonAIengine

Copy link
Copy Markdown
Contributor

요약

  • 터미널 입력을 rustyline 18.0.1로 읽어 화살표 편집, 위 화살표 기록, 입력 중 Ctrl+C 줄 취소를 지원
  • 기록은 state root repl-history.txt(0600), 목표·명령만 저장(승인 응답 제외)
  • 파이프 입력·테스트 경로는 그대로

검증

  • cargo test / clippy -D warnings / fmt 통과, PendingPrompt 단위 테스트 추가
  • tmux 실사용(DeepSeek, 비trust)으로 편집·기록·승인 prompt 표시 확인

🤖 Generated with Claude Code

SonAIengine and others added 2 commits October 27, 2026 14:21
터미널에서는 rustyline 18.0.1(기본 기능 끔, with-file-history만)로 한 줄씩 읽는다.
왼쪽 화살표가 ^[[D로 입력에 섞이던 문제가 사라지고, 위 화살표로 이전 목표를 다시 부른다.

- REPL이 쓴 prompt를 PromptTrackingOutput이 기억하고 escape를 뺀 뒤 editor가 다시 그린다
- 입력 중 Ctrl+C는 그 줄만 지우고, 실행 중 취소는 기존 SIGINT 경로 그대로
- 기록은 state root의 repl-history.txt(0600), 목표·명령만 저장하고 승인 응답은 제외
- 파이프·테스트 입력은 기존 stdin reader 유지

tmux 실사용으로 편집·기록·승인 prompt 표시를 확인했고 PendingPrompt 단위 테스트 1개를 더했다.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
clipboard-win 5.4.3과 error-code 3.4.0이 BSL-1.0이라 Quality 라이선스 검사가 실패했다.
BSL-1.0은 OSI 승인, 바이너리 배포 고지 의무가 없는 라이선스라 about.toml에 더하고
THIRD_PARTY_LICENSES.txt를 다시 생성했다(+78줄, rustyline 포함 3개 crate).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@SonAIengine
SonAIengine merged commit 75f1f73 into main Oct 27, 2026
10 checks passed
@SonAIengine
SonAIengine deleted the feat/repl-line-editing branch October 27, 2026 05:44
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