aboutsummaryrefslogtreecommitdiff
path: root/configs/nvim/config-root/lua/crupest/utils/table.lua
diff options
context:
space:
mode:
Diffstat (limited to 'configs/nvim/config-root/lua/crupest/utils/table.lua')
-rw-r--r--configs/nvim/config-root/lua/crupest/utils/table.lua42
1 files changed, 42 insertions, 0 deletions
diff --git a/configs/nvim/config-root/lua/crupest/utils/table.lua b/configs/nvim/config-root/lua/crupest/utils/table.lua
new file mode 100644
index 0000000..22419b0
--- /dev/null
+++ b/configs/nvim/config-root/lua/crupest/utils/table.lua
@@ -0,0 +1,42 @@
+local function remove_element(tbl, element)
+ local index = nil
+ for i, v in ipairs(tbl) do
+ if element == v then
+ index = i
+ break
+ end
+ end
+ if index then
+ table.remove(tbl, index)
+ end
+ return tbl
+end
+
+local function element_at(tbl, element)
+ local at = nil
+ for i, v in ipairs(tbl) do
+ if element == v then
+ at = i
+ break
+ end
+ end
+ return at
+end
+
+local function includes(tbl, element)
+ for _, v in ipairs(tbl) do
+ if v == element then return true end
+ end
+ return false
+end
+
+local function string_start_with(str, prefix)
+ return string.find(str, prefix, 0, true) == 1
+end
+
+return {
+ remove_element = remove_element,
+ element_at = element_at,
+ includes = includes,
+ string_start_with = string_start_with,
+}