summaryrefslogtreecommitdiff
path: root/dot_config/nvim/lua/toast/core.lua
diff options
context:
space:
mode:
authorChloƩ Vulquin <code@toast.bunkerlabs.net>2024-07-24 19:34:51 +0200
committerChloƩ Vulquin <code@toast.bunkerlabs.net>2024-07-24 19:34:51 +0200
commitf490412f54b2c9479159bd6481cb85c42fd281ab (patch)
tree5b3732219ae2c999e533462174373309b59274f6 /dot_config/nvim/lua/toast/core.lua
parentnvim: rewrite config in fennel (diff)
nvim: add empty? and update group
Until now you couldn't do `(tbl 1 2)`. Now you can.
Diffstat (limited to 'dot_config/nvim/lua/toast/core.lua')
-rw-r--r--dot_config/nvim/lua/toast/core.lua48
1 files changed, 27 insertions, 21 deletions
diff --git a/dot_config/nvim/lua/toast/core.lua b/dot_config/nvim/lua/toast/core.lua
index c666faa..3313de7 100644
--- a/dot_config/nvim/lua/toast/core.lua
+++ b/dot_config/nvim/lua/toast/core.lua
@@ -17,6 +17,9 @@ local function drop(n, xs)
end
return out
end
+local function empty_3f(xs)
+ return (0 == #xs)
+end
local function first(xs)
return xs[1]
end
@@ -24,40 +27,43 @@ local function last(xs)
return xs[#xs]
end
local function group(n, xs)
- local ll
- local function _3_(_241)
- return #last(_241)
- end
- ll = _3_
- local donext
- local function _4_(_241)
- return (ll(_241) == n)
- end
- donext = _4_
- local out = {{}}
- for _, v in ipairs(xs) do
- if donext(out) then
- insert(out, {})
- else
+ if empty_3f(xs) then
+ return {}
+ else
+ local ll
+ local function _3_(_241)
+ return #last(_241)
end
- insert(last(out), v)
- out = out
+ ll = _3_
+ local donext
+ local function _4_(_241)
+ return (ll(_241) == n)
+ end
+ donext = _4_
+ local out = {{}}
+ for _, v in ipairs(xs) do
+ if donext(out) then
+ insert(out, {})
+ else
+ end
+ out = insert(last(out), v, out)
+ end
+ return out
end
- return out
end
local function map(f, xs)
local out = {}
for _, v in ipairs(xs) do
local mapped = f(v)
- local function _6_()
+ local function _7_()
if (0 == select("#", mapped)) then
return nil
else
return mapped
end
end
- out = insert(out, _6_())
+ out = insert(out, _7_())
end
return out
end
-return {dec = dec, inc = inc, drop = drop, group = group, first = first, last = last}
+return {dec = dec, inc = inc, drop = drop, ["empty?"] = empty_3f, group = group, first = first, last = last}