]> git.rmz.io Git - dotfiles.git/blobdiff - nvim/lua/rmz/util/init.lua
lazyvim: port dedup utility
[dotfiles.git] / nvim / lua / rmz / util / init.lua
index 7afa985d889550be92481780569a2d465d720f85..8c21c0974647e7d8c9cf06ad98334add8677909c 100644 (file)
@@ -1,4 +1,20 @@
 ---@class rmz.util
 local M = {}
 
 ---@class rmz.util
 local M = {}
 
+--- Deduplicates a list.
+---@generic T
+---@param list T[]
+---@return T[]
+function M.dedup(list)
+  local ret = {}
+  local seen = {}
+  for _, v in ipairs(list) do
+    if not seen[v] then
+      table.insert(ret, v)
+      seen[v] = true
+    end
+  end
+  return ret
+end
+
 return M
 return M