크라우니워드프로세서 — 편집연산.한선 (도메인 3/10)
개요
크라우니워드프로세서 기초도구 100 (설계서:
/Users/ef/crowny-word/설계서.md) 중
도메인 "편집연산" 완전 한선씨 구현. hanseonc_high 경로, 임포트 없이 자기완결 1파일.
무엇을 했는지
/Users/ef/crowny-word/도구/편집연산.한선 작성 (11함수 + 자체시험)
연산만들기삽입 / 연산만들기삭제 — "|" 직렬화 레코드 생성
연산적용 — 버퍼(줄 문자열 배열)에 삽입/삭제 반영 (단일행 범위만 지원, 명시적 단순화)
연산역 — 삽입↔삭제 역연산 생성 (왕복 복원 검증됨)
줄병합 / 줄분할 / 들여쓰기 / 내어쓰기
대문자로 / 소문자로 (영문만 변환, 한글 불변)
공백정리 (연속 공백 1개로 압축 + 양끝 트림)
헬퍼: 분리파이프(자체 "|" split, 문자열.한선 미임포트), 버퍼같은가
컴파일: hanseonc_high → /tmp/편집연산.toau → crownyc run 정상 실행
자체시험 23개 assert 전부 통과: 검사: PASS 23/23
발견한 버그 1건: 연산역()의 삭제→삽입 변환 시 텍스트 필드 인덱스를 4(끝열)로 잘못 참조 →
5(텍스트)로 수정 후 통과 (레코드 "삭제|시작행|시작열|끝행|끝열|텍스트" 필드 순서 재확인 필요성)
- 크라우니코드: lookup/search MISS (편집연산/삽입삭제/역연산 관련 기존 패턴 없음) → 신규 생성 후
crownycode-learn.sh add "편집연산레코드" "<전체코드>" 로 학습 완료 (HIT 0건 / MISS 3건 / learn 1건)
범위 단순화 (문서화)
- 레코드 텍스트 필드 안 "|" 문자는 다루지 않음 (사양 명기 그대로)
- 연산적용()의 삭제는 시작행==끝행(단일행) 케이스만 지원 — 다중행에 걸친 삭제/삽입은
이 파일 범위 밖 (줄병합/줄분할로 별도 처리 가능)
관련 파일
/Users/ef/crowny-word/도구/편집연산.한선 (본 산출물)
/Users/ef/crowny-word/설계서.md (전체 100도구 설계, 참조 전용)
/Users/ef/crowny-word/도구/클립보드뷰.한선 (다른 세션이 병행 작업 중이던 도메인 10)
잔여 이슈
- 다중행 삽입/삭제(개행 걸친 편집) 미지원 — 통합 단계(편집기코어.한선)에서 줄병합/줄분할과
조합해 처리 필요
- 나머지 9개 도메인(텍스트버퍼·커서선택·실행취소·검색치환·서식런·문단배치·문서파일·
한글통계·클립보드뷰) 병행 진행 중 — 완료 후 편집기코어.한선 통합 예정