dunlin/keymap.fnl

20 lines
324 B
Fennel

(fn recogniser [keymap]
(var m keymap)
{
:accept
(fn [_ c]
(let [v (. m c)]
(match (type v)
"table" (do
(set m v)
(values nil (.. c " ")))
"function" (do
(set m keymap)
v))))
})
{ : recogniser }