검색 정책 분기

IGNORE_CASE는 설정 읽기와 검색 실행 사이를 잇는다

환경 변수는 Config::build에서 한 번 읽고, run은 저장된 ignore_case 값만 보고 두 검색 함수 중 하나를 호출한다.

1

실패 테스트로 새 요구를 고정

case_insensitiverUsTRustTrust me.를 모두 찾는지 먼저 확인한다.

2

비교 전에 같은 형태로 변환

query.to_lowercase()line.to_lowercase()로 대소문자 차이를 검색 조건에서 제거한다.

3

Config에 실행 옵션 보관

ignore_case: bool을 추가해 명령줄 인수와 환경 변수 해석 결과를 실행 단계로 넘긴다.

4

run에서 검색 함수만 선택

config.ignore_case가 참이면 search_case_insensitive, 거짓이면 기존 search를 사용한다.