summaryrefslogtreecommitdiff
path: root/.envrc
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 /.envrc
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 '.envrc')
-rw-r--r--.envrc11
1 files changed, 11 insertions, 0 deletions
diff --git a/.envrc b/.envrc
index f4cd8d6..823ae65 100644
--- a/.envrc
+++ b/.envrc
@@ -50,6 +50,17 @@
git config --local branchless.test.alias.lintfix 'git clean -ffdx; eval $(direnv export bash); bild Biz/Lint.hs; lint --fix **/*'
git config --local branchless.test.alias.ci 'git clean -ffdx; eval $(direnv export bash); Biz/Ci.sh'
#
+# create third-party tags
+ function MakeExternalTags {
+ "$CODEROOT"/Biz/Ide/MakeTags.py --external $(tr ':' '\n' <<< "$ALL_SOURCES")
+ }
+ hashfile="$CODEROOT"/_/src/hash
+ curhash=$(cat "$hashfile")
+ newhash=$(sha256sum <<< "$ALL_SOURCES")
+ [[ ! -e "$hashfile" ]] && MakeExternalTags
+ [[ -e "$hashfile" ]] && [[ "$curhash" != "$newhash" ]] && MakeExternalTags
+ echo "$newhash" > "$hashfile"
+#
# load local settings
[[ -f ./.envrc.local ]] && . ./.envrc.local || :
##