local G=game:GetService("\083\101\108\101\099\116\105\111\110")local N=game:GetService("\083\101\114\118\101\114\083\116\111\114\097\103\101")local x=N.SocketPlugin:FindFirstChild("\085\116\105\108\115")local n=require(x.Logger)local h={Name="\071\101\116 \070\117\108\108 \078\097\109\101";Group="\067\111\114\101",Icon="\240\159\164\143";Description="\080\114\105\110\116\115 \116\104\101 \070\117\108\108\078\097\109\101 \111\102 \116\104\101 \115\101\108\101\099\116\101\100 \105\110\115\116\097\110\099\101\040\115\041"}h.Function=function(N,x)local h=G:Get()if#h==0 then n:MacroWarn(N,"\080\108\101\097\115\101 \115\101\108\101\099\116 \097\116\108\101\097\115\116 \111\110\101 \105\110\115\116\097\110\099\101")end for G,x in pairs(h)do n:MacroInfo(N,x:GetFullName())end end return h
---
-- Prints the FullName of the selected instance(s)
---

--------------------------------------------------
-- Dependencies
local Selection = game:GetService("Selection") ---@type Selection
local ServerStorage = game:GetService("ServerStorage")
local Utils = ServerStorage.SocketPlugin:FindFirstChild("Utils")
local Logger = require(Utils.Logger)

--------------------------------------------------
-- Members

---@param macroDefinition MacroDefinition
local macroDefinition = {
    Name = "Get Full Name",
    Group = "Core",
    Icon = "🤏",
    Description = "Prints the FullName of the selected instance(s)",
}

macroDefinition.Function = function(macro, plugin)
    local instances = Selection:Get()
    if #instances == 0 then
        Logger:MacroWarn(macro, "Please select atleast one instance")
    end

    for _, instance in pairs(instances) do
        Logger:MacroInfo(macro, instance:GetFullName())
    end
end

return macroDefinition
