#! /bin/zsh # # this file: # https://dataswamp.org/~incal/conf/.zsh/emacs clp () { cd ~/src/emacs local re='pcase|pcase-[a-z0-9*]+' grep -E -h -o -w $re **/*.el | sort | uniq -c | sort -b -n -r echo 'Total:' $(grep -E -h -o -w $re **/*.el | wc -l) } cle () { cd ~/src/emacs local re='cl-[a-z0-9*]+' grep -E -h -o -w $re **/*.el | sort | uniq -c | sort -b -n -r | head -n 100 echo 'Total:' $(grep -E -h -o -w $re **/*.el | wc -l) } elint () { local fs=($@) local elpa=~/.emacs.d/elpa local elint=${elpa}/elisp-lint-20220419.252/elisp-lint.el emacs -Q \ --batch \ --eval "(push \"$elpa/compat-29.1.4.2\" load-path)" \ --eval "(push \"$elpa/dash-20230714.723\" load-path)" \ --eval "(push \"$elpa/package-lint-20231103.1810\" load-path)" \ -l $elint \ -f elisp-lint-files-batch \ --no-byte-compile \ --no-check-declare \ --no-checkdoc \ --no-indent \ --no-indent-character \ --no-package-lint \ $fs } elisp-sloc () { local dir=~/.emacs.d/emacs-init local files=$(ls -1 $dir/**/*.el | wc -l) local sloc=$(wc -l $dir/**/*.el | awk 'END { print $1 }') echo "$files files, $sloc sloc" }