Git 및 FZF를 사용하여 시간 경과에 따른 python 함수의 기록 보기

저는 git 터미널 워크플로를 수정하고 가능한 모든 곳에서 FZF를 통합하는 데 연결되어 있습니다. 이것은 git 기록에서 초과 근무 시간 동안 Python 함수의 변경 사항을 확인하는 예제 스크립트입니다. 그리고 네, 흥미롭습니다(&바보)

#!/usr/bin/env bash

# FZF Wrapper over git to interactively search code changes inside functions

readarray -t choices < <(git ls-files | fzf \
  --prompt="Choose File: " \
  --height 40% --reverse \
)

printf "%s\n" "$(grep -o -P '(?<=def ).*?(?=\()' $choices)" | fzf \
--ansi --preview "echo {} | xargs -I{} git log --color -L :{}:$choices" \
--prompt="Choose function/method: " \
--bind 'j:down,k:up,ctrl-j:preview-down,ctrl-k:preview-up,ctrl-space:toggle-preview' --preview-window right:60% \



실제 트릭은 grep를 사용하여 주어진 파일에서 모든 파이썬 함수와 메서드 이름을 찾는 것입니다.

$ grep -o -P '(?<=def ).*?(?=\()' rich/columns.py
__init__
add_renderable
__rich_console__
iter_renderables


다음으로 이 git 명령에서 파일 이름과 함께 함수 이름을 연결합니다.

git log -L :funciton_name:relative_file_path


자세히 알아보기git log searching

다음은 rich 패키지에 대해 동일한 데모를 보여주는 스크린캐스트입니다.



여전히 관심이 있으시면 here is the script 해킹하십시오.

I wish this was scalable to all the programming languages but currently I don't have any clue on how to do this
If you want to contribute help me by adding grep patterns to do the same search for you favourite programming language. Thanks

좋은 웹페이지 즐겨찾기