fish에서도 "git "라고 치는 귀찮은 ...!
그래서, 실은 이 래퍼,
git-
라는 이름의 함수를 만들면 「무인수로 git 를 실행했을 경우의 거동」을 덧쓰기할 수 있습니다.이 특성은 잘 사용할 수 없다고 생각했습니다.
"git" 라고 치는 귀찮은…!
라는 기사를 참고로, 다음의 함수를 써 보았습니다.
git-.fish
function git-
if functions -q __git_mode
functions -e __git_mode
else
function __git_mode -e fish_postexec
commandline "git "
end
end
end
이것을 정의하면
git
를 한 번 실행하면 다음에 명령 줄에 git
가 삽입 된 상태가됩니다. 빈 인수로 git
를 다시 실행하면 git
의 자동 삽입이 취소됩니다. 편리!여담
덧붙여서, 전 재료의 "git" 라고 치는 귀찮은…!에서 소개되고 있는 subsh
커멘드를 fish로 쓰면 다음과 같이 됩니다.
subsh.fishfunction subsh
# 指定した文字列を毎回コマンドライン先頭に挿入するようにする関数
set -l sub "$argv"
# --inherit-variable でフック定義時の値をキャプチャ
function __subsh_hook -e fish_postexec --inherit-variable sub
if test -n "$sub" -a -n "$argv"
commandline "$sub "
else
# 空エンターあるいは引数なしの`subsh`で終了
functions -e __subsh_hook
end
end
end
fish 버전의 흥미로운 점은 후크 함수 __subsh_hook
가 호출되는 타이밍에 변수 sub
가 없지만 함수 내부에서 sub
를 사용할 수 있다는 것입니다. 즉, 옵션 --inherit-variable
으로 전달 된 변수는 함수가 정의 될 때 값이 결정됩니다.
Reference
이 문제에 관하여(fish에서도 "git "라고 치는 귀찮은 ...!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ryotako/items/797281cedd6d9d3e2be9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
function subsh
# 指定した文字列を毎回コマンドライン先頭に挿入するようにする関数
set -l sub "$argv"
# --inherit-variable でフック定義時の値をキャプチャ
function __subsh_hook -e fish_postexec --inherit-variable sub
if test -n "$sub" -a -n "$argv"
commandline "$sub "
else
# 空エンターあるいは引数なしの`subsh`で終了
functions -e __subsh_hook
end
end
end
Reference
이 문제에 관하여(fish에서도 "git "라고 치는 귀찮은 ...!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ryotako/items/797281cedd6d9d3e2be9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)