summaryrefslogtreecommitdiff
path: root/find-version.sh
diff options
context:
space:
mode:
authorJSDurand <mmemmew@gmail.com>2022-11-15 12:01:28 +0800
committerJSDurand <mmemmew@gmail.com>2022-11-15 12:01:28 +0800
commitcb7bcfad4ab0041aaf3fde3185e27ee46bb37788 (patch)
treea4fd99b138b72617b6c4c2b04f5d2655d0fedcc5 /find-version.sh
Initial commit
Basic GNU standard files are added, and we now stop worrying about monadic anamorphisms. The current focus is on testing the correctness of the algorithm, so I need convenient support for manipulating, interpreting, examining, and per chance animating nondeterministic automata.
Diffstat (limited to 'find-version.sh')
-rwxr-xr-xfind-version.sh20
1 files changed, 20 insertions, 0 deletions
diff --git a/find-version.sh b/find-version.sh
new file mode 100755
index 0000000..4ac390e
--- /dev/null
+++ b/find-version.sh
@@ -0,0 +1,20 @@
+#!/bin/sh
+":"; exec emacs --quick --script "$0" -- "$@" # -*- mode: emacs-lisp; lexical-binding: t; -*-
+
+(with-temp-buffer
+ (insert-file-contents "Cargo.toml")
+ (goto-char (point-min))
+ (cond
+ ((search-forward "version =" nil t)
+ (re-search-forward " *" (line-end-position) t)
+ (cond
+ ((= (char-after) 34))
+ ((error "Invalid syntax at %d" (point))))
+ (let ((end (line-end-position)))
+ (cond
+ ((= (char-before end) 34))
+ ((error "Invalid syntax at %d" (1- end))))
+ (princ
+ (buffer-substring-no-properties
+ (1+ (point)) (1- end)))))
+ ((print "Unknown"))))