Fish 4.0.0 릴리스

2 weeks ago 4

  • Rust로의 포팅: fish의 핵심 코드가 C++에서 Rust로 포팅됨. 이는 종속성과 빌드 방식에 큰 변화를 가져오지만 사용자에게 직접적인 영향은 없음.
  • 비호환 변경 사항:
    • bind 명령어의 새로운 키 표기법 도입.
    • ctrl-c가 이제 clear-commandline을 호출하며, 이전 동작은 cancel-commandline으로 사용 가능.
    • random 함수의 시드 값에 따른 결과가 이전 버전과 다르게 나올 수 있음.
    • 명령어 위치에 있는 변수는 이제 서브커맨드 키워드로 확장될 수 없음.
    • functions --handlers가 이제 정의된 순서대로 핸들러를 나열함.
    • qmark-noglob 기능이 기본적으로 활성화됨.

개선 사항 및 수정

  • 키보드 프로토콜: XTerm의 modifyOtherKeys와 kitty의 키보드 프로토콜 지원.
  • 자체 설치 바이너리: fish를 자체 설치 가능한 바이너리로 빌드 가능.
  • 명령어 히스토리: fish_should_add_to_history 함수로 히스토리에 추가할 명령어 결정 가능.
  • 되돌리기 기능: 명령어 실행 후에도 히스토리가 유지됨.
  • 약어 제한: 특정 명령어에만 약어 확장 가능.

비추천 및 제거된 기능

  • commandline --tokenize가 commandline --tokens-expanded로 대체됨.
  • bind -k 구문을 통한 키 이름 지정이 비추천됨.
  • 붙여넣기 모드가 제거됨.

스크립팅 개선

  • 새로운 히스토리 명령어: history append로 명령어를 실행하지 않고 히스토리에 추가 가능.
  • 새로운 리다이렉션: `

Read Entire Article