mirror of
https://github.com/Reuh/candran.git
synced 2025-10-27 17:59:30 +00:00
Complete overhaul
- Changed name to Candran
- Do a real code parsing
* Removed lexer.lua
* Added LuaMinify
- Removed -- and ++ operators (see issue #2)
- Added decorators
- Preprocessor : renamed include to import and rawInclude to include
- Updated test.lua
- Updated table.lua
- Updated README.md
- Fixed tons of things
This commit is contained in:
parent
18d3acf648
commit
1875ea31de
36 changed files with 11601 additions and 1582 deletions
93
lib/LuaMinify/RobloxPlugin/MinifyToolbar.lua
Normal file
93
lib/LuaMinify/RobloxPlugin/MinifyToolbar.lua
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
--
|
||||
-- MinifyToolbar.lua
|
||||
--
|
||||
-- The main script that generates a toolbar for studio that allows minification of selected
|
||||
-- scripts, calling on the _G.Minify function defined in `Minify.lua`
|
||||
--
|
||||
|
||||
local plugin = PluginManager():CreatePlugin()
|
||||
local toolbar = plugin:CreateToolbar("Minify")
|
||||
local minifyButton = toolbar:CreateButton("", "Minify Selected Script", 'MinifyButtonIcon.png')
|
||||
local toggleReplaceButton = toolbar:CreateButton("Replace", "If enabled, selected script will be REPLACED "..
|
||||
"with a minified version",
|
||||
'ReplaceButtonIcon.png')
|
||||
|
||||
local replace = false
|
||||
|
||||
toggleReplaceButton.Click:connect(function()
|
||||
replace = not replace
|
||||
toggleReplaceButton:SetActive(replace)
|
||||
end)
|
||||
|
||||
minifyButton.Click:connect(function()
|
||||
for _, o in pairs(game.Selection:Get()) do
|
||||
if o:IsA('Script') then
|
||||
--can't read linkedsource, bail out
|
||||
if o.LinkedSource ~= '' then
|
||||
Spawn(function()
|
||||
error("Minify Plugin: Cannot Minify a script with a LinkedSource", 0)
|
||||
end)
|
||||
return
|
||||
end
|
||||
|
||||
--see if it has been minified
|
||||
if o.Name:sub(-4,-1) == '_Min' then
|
||||
local original = o:FindFirstChild(o.Name:sub(1,-5))
|
||||
if original then
|
||||
local st, min = _G.Minify(original.Source)
|
||||
if st then
|
||||
game:GetService("ChangeHistoryService"):SetWaypoint("Minify `"..original.Name.."`")
|
||||
if replace then
|
||||
o.Source = min
|
||||
original:Destroy()
|
||||
else
|
||||
o.Source = min
|
||||
end
|
||||
else
|
||||
Spawn(function()
|
||||
error("Minify Plugin: "..min, 0)
|
||||
end)
|
||||
return
|
||||
end
|
||||
else
|
||||
if replace then
|
||||
local st, min = _G.Minify(o.Source)
|
||||
if st then
|
||||
game:GetService("ChangeHistoryService"):SetWaypoint("Minify `"..original.Name.."`")
|
||||
o.Source = min
|
||||
else
|
||||
Spawn(function()
|
||||
error("Minify Plugin: "..min, 0)
|
||||
end)
|
||||
return
|
||||
end
|
||||
else
|
||||
Spawn(function()
|
||||
error("Minify Plugin: Missing original script `"..o.Name:sub(1,-5).."`", 0)
|
||||
end)
|
||||
end
|
||||
end
|
||||
else
|
||||
local st, min = _G.Minify(o.Source)
|
||||
if st then
|
||||
game:GetService("ChangeHistoryService"):SetWaypoint("Minify `"..o.Name.."`")
|
||||
if replace then
|
||||
o.Source = min
|
||||
o.Name = o.Name.."_Min"
|
||||
else
|
||||
local original = o:Clone()
|
||||
original.Parent = o
|
||||
original.Disabled = true
|
||||
o.Name = o.Name.."_Min"
|
||||
o.Source = min
|
||||
end
|
||||
else
|
||||
Spawn(function()
|
||||
error("Minify Plugin: "..min, 0)
|
||||
end)
|
||||
return
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end)
|
||||
Loading…
Add table
Add a link
Reference in a new issue