mirror of
https://github.com/janet-lang/janet
synced 2025-05-05 17:04:15 +00:00
Add toggle macro.
This commit is contained in:
parent
5b2a402930
commit
e0b7533c39
@ -75,6 +75,11 @@
|
|||||||
[name & more]
|
[name & more]
|
||||||
~(var ,name :private ,;more))
|
~(var ,name :private ,;more))
|
||||||
|
|
||||||
|
(defmacro toggle
|
||||||
|
"Set a value to its boolean inverse. Same as `(set value (not value))`."
|
||||||
|
[value]
|
||||||
|
~(set ,value (,not ,value)))
|
||||||
|
|
||||||
(defn defglobal
|
(defn defglobal
|
||||||
"Dynamically create a global def."
|
"Dynamically create a global def."
|
||||||
[name value]
|
[name value]
|
||||||
@ -2950,7 +2955,7 @@
|
|||||||
:italics ["*" "*"]
|
:italics ["*" "*"]
|
||||||
:bold ["**" "**"]}))
|
:bold ["**" "**"]}))
|
||||||
(def modes @{})
|
(def modes @{})
|
||||||
(defn toggle [mode]
|
(defn toggle-mode [mode]
|
||||||
(def active (get modes mode))
|
(def active (get modes mode))
|
||||||
(def delims (get delimiters mode))
|
(def delims (get delimiters mode))
|
||||||
(put modes mode (not active))
|
(put modes mode (not active))
|
||||||
@ -3060,7 +3065,7 @@
|
|||||||
(def token @"")
|
(def token @"")
|
||||||
(var token-length 0)
|
(var token-length 0)
|
||||||
(defn delim [mode]
|
(defn delim [mode]
|
||||||
(def d (toggle mode))
|
(def d (toggle-mode mode))
|
||||||
(if-not has-color (+= token-length (length d)))
|
(if-not has-color (+= token-length (length d)))
|
||||||
(buffer/push token d))
|
(buffer/push token d))
|
||||||
(defn endtoken []
|
(defn endtoken []
|
||||||
|
Loading…
x
Reference in New Issue
Block a user