aboutsummaryrefslogtreecommitdiff
path: root/configs/nvim/lua/crupest/utils/table.lua
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2024-09-07 02:59:28 +0800
committercrupest <crupest@outlook.com>2024-09-07 02:59:28 +0800
commit8c7363cab0c31db715484f6c3b59cc4f983d7373 (patch)
treef1c05e14d3e4a2955e49121ddf8341e7fc8e951b /configs/nvim/lua/crupest/utils/table.lua
parent166d458acb6480bef7b1a1aee5ce63569e5e0323 (diff)
downloadcrupest-8c7363cab0c31db715484f6c3b59cc4f983d7373.tar.gz
crupest-8c7363cab0c31db715484f6c3b59cc4f983d7373.tar.bz2
crupest-8c7363cab0c31db715484f6c3b59cc4f983d7373.zip
config(nvim): refactor a lot.
Diffstat (limited to 'configs/nvim/lua/crupest/utils/table.lua')
-rw-r--r--configs/nvim/lua/crupest/utils/table.lua42
1 files changed, 42 insertions, 0 deletions
diff --git a/configs/nvim/lua/crupest/utils/table.lua b/configs/nvim/lua/crupest/utils/table.lua
new file mode 100644
index 0000000..22419b0
--- /dev/null
+++ b/configs/nvim/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,
+}