aboutsummaryrefslogtreecommitdiffstats
path: root/oni-php/scripts
diff options
context:
space:
mode:
authorGravatar Tom Willemsen2024-12-30 09:06:26 -0800
committerGravatar Tom Willemsen2024-12-30 09:12:26 -0800
commitac7beb27febab26e3a5f3d1cae070336f27e9e57 (patch)
tree169136cdde1c6ccdaf0488fbc16b7e0873f3c887 /oni-php/scripts
parent3a9faa79c3ec9d40db6a07e24e2697ce7512897f (diff)
downloademacs-config-ac7beb27febab26e3a5f3d1cae070336f27e9e57.tar.gz
emacs-config-ac7beb27febab26e3a5f3d1cae070336f27e9e57.zip
oni-php: Add command to add use statement
Diffstat (limited to 'oni-php/scripts')
-rwxr-xr-xoni-php/scripts/find-php-class19
1 files changed, 19 insertions, 0 deletions
diff --git a/oni-php/scripts/find-php-class b/oni-php/scripts/find-php-class
new file mode 100755
index 0000000..65f43fc
--- /dev/null
+++ b/oni-php/scripts/find-php-class
@@ -0,0 +1,19 @@
+#!/usr/bin/env -S scsh -e main -o srfi-1 -s
+!#
+
+(define (main args)
+ (let* ((class-name (cadr args))
+ (file-names
+ (run/strings (find "." -type f -name ,(string-append class-name ".php")
+ -exec grep "namespace" "{}" ";")
+ (> 2 "/dev/null"))))
+ (format #t "~s"
+ (delete-duplicates
+ (map (lambda (n)
+ (string-append
+ (match:substring
+ (regexp-search (rx "namespace " (submatch (+ any)) ";") n)
+ 1)
+ "\\"
+ class-name))
+ file-names)))))