summaryrefslogtreecommitdiff
path: root/Biz/Ide/hooks/post-checkout
diff options
context:
space:
mode:
authorBen Sima <ben@bsima.me>2024-12-21 11:06:19 -0400
committerBen Sima <ben@bsima.me>2024-12-21 10:06:19 -0500
commit7f0fd2bb6de504541f9c9fa8eaf5126087ae81a3 (patch)
tree759f07f538353304aed1961916466e8b47c787a5 /Biz/Ide/hooks/post-checkout
parent2f6cd392ad63d5f2d21a2a5b45038dc127a2c3a9 (diff)
Rewrite mktags.sh to MakeTags.py
This makes tags for all third-party dependencies, and uses universal-ctags instead of fast-tags. It's so nice having tags for /everything/. It's also pretty fast, and caches the result for third-party deps anyway. Oh yeah this also added an explicit list of third-party Python packages. I need to filter the entire pkgset down to just the ones I'm using in order to make tags for them.
Diffstat (limited to 'Biz/Ide/hooks/post-checkout')
-rwxr-xr-xBiz/Ide/hooks/post-checkout8
1 files changed, 5 insertions, 3 deletions
diff --git a/Biz/Ide/hooks/post-checkout b/Biz/Ide/hooks/post-checkout
index 72ec5a7..4f58c74 100755
--- a/Biz/Ide/hooks/post-checkout
+++ b/Biz/Ide/hooks/post-checkout
@@ -1,16 +1,18 @@
#!/usr/bin/env bash
set -e
-mktags=${CODEROOT:?}/Biz/Ide/mktags.sh
+function MakeTags {
+ ${CODEROOT:?}/Biz/Ide/MakeTags.py
+}
old=$1
new=$2
# filter out only the changed haskell files
mapfile -t changed < <(git diff --diff-filter=d --name-only "$old" "$new" -- '*.hs')
if [[ ! -r tags ]] || [[ ! -r TAGS ]]
then
- $mktags "$CODEROOT"/**/*
+ MakeTags "$CODEROOT"/**/*
elif [[ ${#changed[@]} -gt 0 ]]
then
- $mktags "${changed[@]}"
+ MakeTags "${changed[@]}"
fi
## START BRANCHLESS CONFIG