about summary refs log tree commit diff
path: root/profile/.profile.d/60_lisp.sh
diff options
context:
space:
mode:
authorAzat Bahawi <azat@bahawi.net>1970-01-01 03:00:00 +0300
committerAzat Bahawi <azat@bahawi.net>2022-09-20 11:51:54 +0300
commit38bab29776950ac2364ed64195b89887717c33de (patch)
treeedaaf366a55dbe96d268019124536bc504c64e87 /profile/.profile.d/60_lisp.sh
chore: init HEAD master
Diffstat (limited to 'profile/.profile.d/60_lisp.sh')
-rw-r--r--profile/.profile.d/60_lisp.sh25
1 files changed, 25 insertions, 0 deletions
diff --git a/profile/.profile.d/60_lisp.sh b/profile/.profile.d/60_lisp.sh
new file mode 100644
index 0000000..e450d24
--- /dev/null
+++ b/profile/.profile.d/60_lisp.sh
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+_implementations="
+sbcl
+ccl
+clasp
+clisp
+ecl
+abcl
+"
+
+for _implementation in ${_implementations}; do
+	# shellcheck disable=SC2139
+	if command -v "$_implementation" >/dev/null 2>&1; then
+		if command -v rlwrap >/dev/null 2>&1; then
+			alias lisp="rlwrap $_implementation"
+		else
+			alias lisp="$_implementation"
+		fi
+
+		break
+	fi
+done
+
+unset _implementation _implementations

Consider giving Nix/NixOS a try! <3