나는 종종 RobSisgencomp
와 함께 명령을 사용하여 ZSH zsh-completion-generator
완성 정의를 생성하며 대부분의 경우 훌륭하게 작동합니다! 그러나 내가 알아 차린 작은 경고 가 있습니다.
이슈 :
대시로 시작되는 옵션과 명령 (의 경우 예를 들어, " subl --new-window
") 명령을 입력 한 경우에만 완료 옵션을 트리거 탭을 눌러 및 적어도 하나 개의 대시 문자 ( 예 를 눌러 TAB
입력 한 후 " subl -
").
내 질문 :
대시를 입력하기 전에 탭 완성을 표시하는 방법을 아는 사람이 있습니까 ( 예 :TAB
" subl
" 입력 후 누르기 )?
compdef
이러한 완성 정의 중 하나에 대한 파일 내용 의 예는 아래를 참조하십시오 .이 경우에는 Sublime Text의 subl
명령입니다.
#compdef subl
# zsh completions for 'subl'
# automatically generated with http://github.com/RobSis/zsh-completion-generator
local arguments
arguments=(
'--project[Load the given project]'
'--command[Run the given command]'
{-n,--new-window}'[: Open a new window]'
{-a,--add}'[: Add folders to the current window]'
{-w,--wait}'[: Wait for the files to be closed before returning]'
{-b,--background}'[: Dont activate the application]'
{-s,--stay}'[: Keep the application activated after closing the file]'
{-h,--help}'[: Show help (this message) and exit]'
{-v,--version}'[: Show version and exit]'
'--wait[implied if reading from stdin. Use --stay to not switch back]'
'*:filename:_files'
)
_arguments -s $arguments
1
불행히도 나는이 질문에 대답 할 수 없지만 IMHO 이것은 zsh 완성 시스템 의 일반적인 행동입니다 . 옵션이나 파일 이름을 완성할지 여부를 쉘에 어떻게 알리고 싶을까요?! (다른 키 바인딩이 수행 할 수도 있습니다 ...)
—
mpy
파일 이름을 완성하려면 파일 이름을 접두사로 사용
—
blizzrdof77
./
하거나 전체 / 상대 경로를 제공 할 수 있습니다. 🤔