🔥 셸 자동 완성 스크립트 사용하기
455자
5분
Swift 패키지 매니저(이하 SwiftPM)는 Bash와 ZSH 셸에서 사용할 수 있는 자동 완성 스크립트를 제공합니다. 이 스크립트를 사용하려면 먼저 생성해야 하는데요. 지금부터 차근차근 살펴보겠습니다.
Bash에서 자동 완성 스크립트 사용하기
Bash에서는 다음 명령을 사용하여 자동 완성 스크립트를 ~/.swift-package-complete.bash
파일에 설치하고, ~/.bash_profile
파일을 통해 자동으로 로드할 수 있습니다.
swift package completion-tool generate-bash-script > ~/.swift-package-complete.bash echo -e "source ~/.swift-package-complete.bash\n" >> ~/.bash_profile source ~/.swift-package-complete.bash
shell
위 명령어를 하나씩 뜯어보면 이런 의미입니다.
# Swift 패키지 매니저의 자동 완성 스크립트를 생성하여 # ~/.swift-package-complete.bash 파일에 저장합니다. swift package completion-tool generate-bash-script > ~/.swift-package-complete.bash # ~/.bash_profile 파일 맨 끝에 다음 내용을 추가합니다. # source ~/.swift-package-complete.bash echo -e "source ~/.swift-package-complete.bash\n" >> ~/.bash_profile # 방금 수정한 ~/.bash_profile을 다시 로드합니다. source ~/.swift-package-complete.bash
shell
또는 ~/.bash_profile
파일에 다음 명령을 직접 추가하여 자동 완성 기능을 바로 로드할 수도 있습니다.
# Source Swift completion if [ -n "`which swift`" ]; then eval "`swift package completion-tool generate-bash-script`" fi
shell
# Swift 명령어가 설치되어 있는지 확인하고, if [ -n "`which swift`" ]; then # 설치되어 있다면 자동 완성 스크립트를 생성하여 바로 로드합니다. eval "`swift package completion-tool generate-bash-script`" fi
shell
ZSH에서 자동 완성 스크립트 사용하기
ZSH에서는 ~/.zsh/_swift
경로에 자동 완성 스크립트를 설치하면 됩니다. 폴더는 다른 곳으로 지정해도 되지만, 파일 이름은 반드시 _swift
여야 해요. 그리고 ~/.zshrc
파일을 통해 ~/.zsh
폴더를 $fpath
에 추가하는 것도 잊지 마세요!
mkdir ~/.zsh swift package completion-tool generate-zsh-script > ~/.zsh/_swift echo -e "fpath=(~/.zsh \\$fpath)\n" >> ~/.zshrc compinit
shell
위 명령어를 하나하나 살펴보면 이렇습니다.
# ~/.zsh 폴더를 생성합니다. mkdir ~/.zsh # Swift 패키지 매니저의 자동 완성 스크립트를 생성하여 # ~/.zsh/_swift 파일에 저장합니다. swift package completion-tool generate-zsh-script > ~/.zsh/_swift # ~/.zshrc 파일 맨 끝에 다음 내용을 추가합니다. # fpath=(~/.zsh $fpath) echo -e "fpath=(~/.zsh \\$fpath)\n" >> ~/.zshrc # 자동 완성 기능을 초기화합니다. compinit
shell
이렇게 하면 SwiftPM의 자동 완성 기능을 Bash나 ZSH 셸에서 편리하게 사용할 수 있답니다. 터미널에서 swift package
를 입력하고 탭 키를 눌러보세요. 그러면 아래와 같이 입력할 수 있는 명령어 목록을 출력합니다.
% swift package <TAB을 눌러보세요> archive-source -- Create a source archive for the package clean -- Delete build artifacts completion-tool -- Completion tool (for shell completions) compute-checksum -- Compute the checksum for a binary artifact config -- Manipulate configuration of the package describe -- Describe the current package diagnose-api-breaking-changes -- Diagnose API-breaking changes to Swift mod dump-package -- Print parsed Package.swift as JSON dump-symbol-graph -- Dump Symbol Graph edit -- Put a package in editable mode init -- Initialize a new package plugin -- Invoke a command plugin or perform other a purge-cache -- Purge the global repository cache. reset -- Reset the complete cache/build directory resolve -- Resolve package dependencies show-dependencies -- Print the resolved dependency graph tools-version -- Manipulate tools version of the current pa unedit -- Remove a package from editable mode update -- Update package dependencies
text