]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
weird cfg file ;)
authorRudolf Polzer <divverent@xonotic.org>
Fri, 14 Sep 2012 11:05:11 +0000 (13:05 +0200)
committerRudolf Polzer <divverent@xonotic.org>
Fri, 14 Sep 2012 11:05:11 +0000 (13:05 +0200)
ifthenelse.cfg [new file with mode: 0644]

diff --git a/ifthenelse.cfg b/ifthenelse.cfg
new file mode 100644 (file)
index 0000000..8bdd2ae
--- /dev/null
@@ -0,0 +1,33 @@
+alias _dont        ""
+alias _do          "$*"
+                  
+set _ifstack       ""
+alias :            "$_ifstack $*"
+
+alias :ifeq        "set _ifnew_$1 _dont; set _ifnew_$2 _do; _ifeq_2 _ifnew_$1"
+alias :ifneq       "set _ifnew_$1 _do; set _ifnew_$2 _dont; _ifeq_2 _ifnew_$1"
+alias _ifeq_2      "set _ifstack \"${$1} $_ifstack\""
+alias :else        "_else_2$_ifstack"
+alias _else_2_do   "set _ifstack \"_dont ${* q?}\""
+alias _else_2_dont "set _ifstack \"_do ${* q?}\""
+alias :endif       "_endif_2 $_ifstack"
+alias _endif_2     "set _ifstack \"${2- q?}\""
+
+// EXAMPLE:
+//     :ifeq "$a" "$b"
+//     :ifeq "$a" "$c"
+//     :       echo "a == b == c"
+//     :else
+//     :       echo "a == b != c"
+//     :endif
+//     :else
+//     :ifeq "$a" "$c"
+//     :       echo "a == c != b"
+//     :else
+//     :ifeq "$b" "$c"
+//     :       echo "b == c != a"
+//     :else
+//     :       echo "a != b != c != a"
+//     :endif
+//     :endif
+//     :endif