diff options
| author | Marc Pervaz Boocha <mboocha@sudomsg.com> | 2025-08-20 22:27:47 +0530 |
|---|---|---|
| committer | Marc Pervaz Boocha <mboocha@sudomsg.com> | 2025-08-20 22:27:47 +0530 |
| commit | 13ee27b4a14e82a8bd46b1c23ad6f8489cadecbb (patch) | |
| tree | 1c93f5705bdd4ea2818c8c23515e35bff1d0a3b3 /.config/nvim/lua/set.lua | |
| parent | Added exrc files to gitignore (diff) | |
| download | dotfiles-13ee27b4a14e82a8bd46b1c23ad6f8489cadecbb.tar dotfiles-13ee27b4a14e82a8bd46b1c23ad6f8489cadecbb.tar.gz dotfiles-13ee27b4a14e82a8bd46b1c23ad6f8489cadecbb.tar.bz2 dotfiles-13ee27b4a14e82a8bd46b1c23ad6f8489cadecbb.tar.lz dotfiles-13ee27b4a14e82a8bd46b1c23ad6f8489cadecbb.tar.xz dotfiles-13ee27b4a14e82a8bd46b1c23ad6f8489cadecbb.tar.zst dotfiles-13ee27b4a14e82a8bd46b1c23ad6f8489cadecbb.zip | |
Switched to ghostty
Diffstat (limited to '.config/nvim/lua/set.lua')
| -rw-r--r-- | .config/nvim/lua/set.lua | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/.config/nvim/lua/set.lua b/.config/nvim/lua/set.lua deleted file mode 100644 index 1e829d5..0000000 --- a/.config/nvim/lua/set.lua +++ /dev/null @@ -1,79 +0,0 @@ ----@class Set ----@field elements table<any, boolean> -Set = {} -Set.__index = Set - ---- Constructor for creating a new set ----@param initialList table|nil -- Accepts a table (list) or nil for empty set ----@return Set -function Set:new(initialList) - local instance = setmetatable({}, self) - instance.elements = {} - - -- Populate the set with elements from initialList if provided - if initialList then - for _, element in ipairs(initialList) do - instance:add(element) - end - end - - return instance -end - ---- Add an element to the set ----@param element any -function Set:add(element) - self.elements[element] = true -- Setting key to true enforces uniqueness -end - ---- Remove an element from the set ----@param element any -function Set:remove(element) - self.elements[element] = nil -end - ----Check if the set contains an element ----@param element any -function Set:has(element) - return self.elements[element] ~= nil -end - ----Union operation: combines two sets ----@param otherSet Set ----@return Set -function Set:union(otherSet) - local resultSet = Set:new() - for key in pairs(self.elements) do - resultSet:add(key) - end - for key in pairs(otherSet.elements) do - resultSet:add(key) - end - return resultSet -end - --- Intersection operation: elements common to both sets -function Set:intersection(otherSet) - local resultSet = Set:new() - for key in pairs(self.elements) do - if otherSet:contains(key) then - resultSet:add(key) - end - end - return resultSet -end - --- Difference operation: elements in this set but not in otherSet ----@param otherSet Set ----@return Set -function Set:difference(otherSet) - local resultSet = Set:new() - for key in pairs(self.elements) do - if not otherSet:has(key) then - resultSet:add(key) - end - end - return resultSet -end - -return Set |
