From da7473cf5dc32fe15cdc3f990b68d75bd73d8ae6 Mon Sep 17 00:00:00 2001 From: Stephen Leitnick Date: Fri, 7 Dec 2018 17:24:44 -0500 Subject: [PATCH] Updated plugin --- plugin/AeroGameFrameworkPlugin.rbxmx | 378 ++++++++++++++------------- 1 file changed, 202 insertions(+), 176 deletions(-) diff --git a/plugin/AeroGameFrameworkPlugin.rbxmx b/plugin/AeroGameFrameworkPlugin.rbxmx index 0859952..41594f1 100644 --- a/plugin/AeroGameFrameworkPlugin.rbxmx +++ b/plugin/AeroGameFrameworkPlugin.rbxmx @@ -2,12 +2,12 @@ false null nil - + AeroGameFrameworkPlugin - + false @@ -21,13 +21,17 @@ local DEV = (script:GetFullName() == "ServerStorage.AeroGameFrameworkPlugin.AeroGameFrameworkPlugin") -local Log +local Log, profilebegin, profileend if (DEV) then Log = function(...) print("AGF |", ...) end + profilebegin = debug.profilebegin + profileend = debug.profileend else Log = function() end + profilebegin = function() end + profileend = function() end end local SETTING_OPEN = "open" @@ -548,6 +552,7 @@ function SetupCode() labelPrefab.TextSize = 16 labelPrefab.BackgroundTransparency = 1 labelPrefab.TextXAlignment = Enum.TextXAlignment.Left + labelPrefab.AutoLocalize = false local labelPool = {} local labelPoolNum = 0 @@ -573,6 +578,7 @@ function SetupCode() end local function RepoolLabels(setParentNil) + profilebegin("RepoolLabels") local children = codeFrame:GetChildren() if (setParentNil) then for i = 1,#children do @@ -588,6 +594,7 @@ function SetupCode() labelPool[labelPoolNum] = lbl end end + profileend() end local function ClearPool() @@ -629,6 +636,8 @@ function SetupCode() end local function Update() + local codeFrameParent = codeFrame.Parent + codeFrame.Parent = nil lastUpdate = tick() local code = (selectedScript and selectedScript.Source or ""):gsub("\t", " ") local loc = GetLOC(code) @@ -636,8 +645,12 @@ function SetupCode() local currentLineWidth = 0 local currentLineNum = 0 + local textSize = labelPrefab.TextSize + local textFont = labelPrefab.Font + local charSize = textService:GetTextSize(" ", textSize, textFont, largeSize).X + local function GetTextWidth(text) - return textService:GetTextSize(text, labelPrefab.TextSize, labelPrefab.Font, largeSize).X + return #text * charSize end local function StartNewLine() @@ -661,45 +674,57 @@ function SetupCode() RepoolLabels(false) StartNewLine() + profilebegin("SyntaxHighlight") + local tostring = tostring + local gsub = string.gsub + local sub = string.sub + local match = string.match + local gmatch = string.gmatch + local select = select for token,src in Lexer.scan(code) do - src = tostring(src):gsub("\t", " ") if (token == "space") then - local newLines = select(2, src:gsub("\n", "\n")) - local spacesAtEnd = src:match("\n?([^\n]+)$") + profilebegin("Space") + local newLines = select(2, gsub(src, "\n", "\n")) + local spacesAtEnd = match(src, "\n?([^\n]+)$") for i = 1,newLines do StartNewLine() end if (spacesAtEnd and #spacesAtEnd > 0) then AppendCurrentLine(token, spacesAtEnd) end + profileend() elseif (token == "comment") then - if (src:sub(-1) == "\n") then + profilebegin("Comment") + if (sub(src, -1) == "\n") then src = src:sub(0, -2) end AppendCurrentLine(token, src) StartNewLine() + profileend() elseif (token == "mcomment") then - local lines = {} + profilebegin("MultiComment") local numLines = 0 - if (src:sub(-1) ~= "\n") then src = (src .. "\n") end - for line in src:gmatch("(.-)\n") do - numLines = (numLines + 1) - lines[numLines] = line - end - for i = 1,numLines do - AppendCurrentLine(token, lines[i]) - if (i ~= numLines) then + if (sub(src, -1) ~= "\n") then src = (src .. "\n") end + local notFirst = false + for line in gmatch(src, "(.-)\n") do + if (notFirst) then StartNewLine() end + AppendCurrentLine(token, line) + notFirst = true end + profileend() else + profilebegin("String") if (token == "string") then - src = src:gsub("[^\\]\n", "\\n") - end + src = gsub(src, "[^\\]\n", "\\n") + end AppendCurrentLine(token, src) + profileend() end end --ClearPool() + profileend() for i = 1,labelPoolNum do labelPool[i].Parent = nil end @@ -711,6 +736,7 @@ function SetupCode() 0, (loc * lineHeight) + padding.PaddingTop.Offset + padding.PaddingBottom.Offset ) + codeFrame.Parent = codeFrameParent end if (useDelay) then @@ -969,7 +995,7 @@ pluginGui:GetPropertyChangedSignal("Enabled"):Connect(function() end)]]> - + Item @@ -1344,7 +1370,7 @@ return Item]]> - + true @@ -1368,7 +1394,7 @@ return __MODULENAME]]> - + true @@ -1406,7 +1432,7 @@ return __MODULENAME]]> - + true @@ -1449,7 +1475,7 @@ return __MODULENAME]]> - + true @@ -1483,7 +1509,7 @@ return __MODULENAME]]> - + UpdateChecker @@ -1538,7 +1564,7 @@ end return UpdateChecker]]> - + Version @@ -1621,7 +1647,7 @@ return Version]]> - + Theme @@ -1710,7 +1736,7 @@ return Theme]]> - + Lexer @@ -1979,7 +2005,7 @@ return lexer]]> - + Installer @@ -2418,7 +2444,7 @@ end return Installer]]> - + false @@ -2460,7 +2486,7 @@ return Installer]]> true 1 - + true @@ -2519,7 +2545,7 @@ return Installer]]> 1 - + false @@ -2576,7 +2602,7 @@ return Installer]]> - + true 0 @@ -2588,7 +2614,7 @@ return Installer]]> 1 - + false @@ -2630,7 +2656,7 @@ return Installer]]> true 1 - + false @@ -2672,7 +2698,7 @@ return Installer]]> true 1 - + false @@ -2714,7 +2740,7 @@ return Installer]]> false 1 - + false @@ -2768,7 +2794,7 @@ return Installer]]> true 1 - + 16 1 @@ -2777,7 +2803,7 @@ return Installer]]> - + UIPadding @@ -2799,7 +2825,7 @@ return Installer]]> - + true @@ -2857,7 +2883,7 @@ return Installer]]> true 1 - + 200 @@ -2873,7 +2899,7 @@ return Installer]]> - + false @@ -2915,7 +2941,7 @@ return Installer]]> false 1 - + false @@ -2978,7 +3004,7 @@ return Installer]]> true 1 - + false @@ -3021,7 +3047,7 @@ return Installer]]> 1 - + false @@ -3063,7 +3089,7 @@ return Installer]]> true 2 - + 1 1 @@ -3077,7 +3103,7 @@ return Installer]]> 1 - + false @@ -3119,7 +3145,7 @@ return Installer]]> false 1 - + true @@ -3195,7 +3221,7 @@ return Installer]]> 1 - + false @@ -3251,7 +3277,7 @@ return Installer]]> - + false @@ -3293,7 +3319,7 @@ return Installer]]> false 1 - + true @@ -3369,7 +3395,7 @@ return Installer]]> 1 - + false @@ -3424,7 +3450,7 @@ return Installer]]> 1 - + false @@ -3468,7 +3494,7 @@ return Installer]]> - + false @@ -3510,7 +3536,7 @@ return Installer]]> false 1 - + true @@ -3586,7 +3612,7 @@ return Installer]]> 1 - + false @@ -3644,7 +3670,7 @@ return Installer]]> - + false @@ -3686,7 +3712,7 @@ return Installer]]> true 1 - + false @@ -3741,7 +3767,7 @@ return Installer]]> 2 - + UIPadding @@ -3763,7 +3789,7 @@ return Installer]]> - + true @@ -3822,7 +3848,7 @@ return Installer]]> 1 - + false @@ -3881,7 +3907,7 @@ return Installer]]> - + false @@ -3923,7 +3949,7 @@ return Installer]]> true 1 - + false @@ -3965,7 +3991,7 @@ return Installer]]> true 1 - + false @@ -4028,7 +4054,7 @@ return Installer]]> true 1 - + false @@ -4070,7 +4096,7 @@ return Installer]]> true 2 - + false @@ -4112,7 +4138,7 @@ return Installer]]> true 1 - + false @@ -4167,7 +4193,7 @@ return Installer]]> 1 - + false @@ -4209,7 +4235,7 @@ return Installer]]> true 1 - + false @@ -4272,7 +4298,7 @@ return Installer]]> true 1 - + UIPadding @@ -4294,7 +4320,7 @@ return Installer]]> - + true @@ -4355,7 +4381,7 @@ return Installer]]> - + true @@ -4416,7 +4442,7 @@ return Installer]]> - + false @@ -4458,7 +4484,7 @@ return Installer]]> true 1 - + false @@ -4513,7 +4539,7 @@ return Installer]]> 1 - + false @@ -4555,7 +4581,7 @@ return Installer]]> true 1 - + false @@ -4618,7 +4644,7 @@ return Installer]]> true 1 - + UIPadding @@ -4640,7 +4666,7 @@ return Installer]]> - + true @@ -4701,7 +4727,7 @@ return Installer]]> - + true @@ -4762,7 +4788,7 @@ return Installer]]> - + false @@ -4804,7 +4830,7 @@ return Installer]]> true 1 - + true @@ -4862,7 +4888,7 @@ return Installer]]> true 1 - + false @@ -4917,7 +4943,7 @@ return Installer]]> 1 - + false @@ -4959,7 +4985,7 @@ return Installer]]> true 1 - + true @@ -5021,7 +5047,7 @@ return Installer]]> - + false @@ -5063,7 +5089,7 @@ return Installer]]> true 1 - + false @@ -5118,7 +5144,7 @@ return Installer]]> 1 - + false @@ -5160,7 +5186,7 @@ return Installer]]> true 1 - + false @@ -5223,7 +5249,7 @@ return Installer]]> true 1 - + UIPadding @@ -5245,7 +5271,7 @@ return Installer]]> - + true @@ -5307,7 +5333,7 @@ SetNumber(x)]]> - + true @@ -5368,7 +5394,7 @@ SetNumber(x)]]> - + false @@ -5410,7 +5436,7 @@ SetNumber(x)]]> true 1 - + false @@ -5465,7 +5491,7 @@ SetNumber(x)]]> 1 - + false @@ -5507,7 +5533,7 @@ SetNumber(x)]]> true 1 - + false @@ -5570,7 +5596,7 @@ SetNumber(x)]]> true 1 - + UIPadding @@ -5592,7 +5618,7 @@ SetNumber(x)]]> - + true @@ -5654,7 +5680,7 @@ SetNumber(x)]]> - + true @@ -5715,7 +5741,7 @@ SetNumber(x)]]> - + false @@ -5757,7 +5783,7 @@ SetNumber(x)]]> true 1 - + false @@ -5812,7 +5838,7 @@ SetNumber(x)]]> 1 - + false @@ -5854,7 +5880,7 @@ SetNumber(x)]]> true 1 - + false @@ -5917,7 +5943,7 @@ SetNumber(x)]]> true 1 - + UIPadding @@ -5939,7 +5965,7 @@ SetNumber(x)]]> - + true @@ -6001,7 +6027,7 @@ SetNumber(x)]]> - + true @@ -6062,7 +6088,7 @@ SetNumber(x)]]> - + false @@ -6104,7 +6130,7 @@ SetNumber(x)]]> true 1 - + false @@ -6159,7 +6185,7 @@ SetNumber(x)]]> 1 - + false @@ -6201,7 +6227,7 @@ SetNumber(x)]]> true 1 - + true @@ -6261,7 +6287,7 @@ SetNumber(x)]]> 1 - + true @@ -6322,7 +6348,7 @@ SetNumber(x)]]> - + true @@ -6381,7 +6407,7 @@ SetNumber(x)]]> 1 - + 1 0 @@ -6395,7 +6421,7 @@ SetNumber(x)]]> 1 - + UIPadding @@ -6418,7 +6444,7 @@ SetNumber(x)]]> - + false @@ -6464,14 +6490,14 @@ SetNumber(x)]]> - + false 0 0 - true + false 4294967295 0 4279970357 @@ -6506,14 +6532,14 @@ SetNumber(x)]]> true 1 - + false 0.5 0.5 - true + false 4294967295 0 4279970357 @@ -6548,14 +6574,14 @@ SetNumber(x)]]> true 1 - + false 0 0 - true + false 4294967295 0 4279970357 @@ -6611,14 +6637,14 @@ SetNumber(x)]]> false 1 - + false 0 0 - true + false 4294967295 1 4279970357 @@ -6653,7 +6679,7 @@ SetNumber(x)]]> true 2 - + UIPadding @@ -6675,14 +6701,14 @@ SetNumber(x)]]> - + false 0 0 - true + false 4294967295 1 4279970357 @@ -6719,7 +6745,7 @@ SetNumber(x)]]> - + false @@ -6763,7 +6789,7 @@ SetNumber(x)]]> - + false @@ -6805,7 +6831,7 @@ SetNumber(x)]]> true 1 - + UIPadding @@ -6827,7 +6853,7 @@ SetNumber(x)]]> - + false @@ -6885,7 +6911,7 @@ SetNumber(x)]]> - + false @@ -6927,7 +6953,7 @@ SetNumber(x)]]> true 1 - + false @@ -6969,7 +6995,7 @@ SetNumber(x)]]> true 1 - + false @@ -7032,7 +7058,7 @@ SetNumber(x)]]> true 1 - + false @@ -7074,7 +7100,7 @@ SetNumber(x)]]> true 2 - + UIPadding @@ -7096,7 +7122,7 @@ SetNumber(x)]]> - + false @@ -7138,7 +7164,7 @@ SetNumber(x)]]> true 1 - + false @@ -7180,7 +7206,7 @@ SetNumber(x)]]> false 1 - + false @@ -7234,7 +7260,7 @@ SetNumber(x)]]> true 1 - + 32 1 @@ -7243,7 +7269,7 @@ SetNumber(x)]]> - + true @@ -7303,7 +7329,7 @@ SetNumber(x)]]> - + false @@ -7345,7 +7371,7 @@ SetNumber(x)]]> false 1 - + false @@ -7399,7 +7425,7 @@ SetNumber(x)]]> true 1 - + 32 1 @@ -7408,7 +7434,7 @@ SetNumber(x)]]> - + false @@ -7462,7 +7488,7 @@ SetNumber(x)]]> true 1 - + 22 1 @@ -7471,7 +7497,7 @@ SetNumber(x)]]> - + false @@ -7513,7 +7539,7 @@ SetNumber(x)]]> true 1 - + false @@ -7556,7 +7582,7 @@ SetNumber(x)]]> 1 - + 500 @@ -7571,7 +7597,7 @@ SetNumber(x)]]> - + false @@ -7625,7 +7651,7 @@ SetNumber(x)]]> true 1 - + 22 1 @@ -7635,7 +7661,7 @@ SetNumber(x)]]> - + false @@ -7677,7 +7703,7 @@ SetNumber(x)]]> false 1 - + false @@ -7731,7 +7757,7 @@ SetNumber(x)]]> true 1 - + 32 1 @@ -7740,7 +7766,7 @@ SetNumber(x)]]> - + true @@ -7799,7 +7825,7 @@ SetNumber(x)]]> 1 - + false @@ -7853,7 +7879,7 @@ SetNumber(x)]]> true 1 - + 22 1 @@ -7862,7 +7888,7 @@ SetNumber(x)]]> - + false @@ -7904,7 +7930,7 @@ SetNumber(x)]]> true 1 - + false @@ -7967,7 +7993,7 @@ SetNumber(x)]]> true 1 - + false @@ -8010,7 +8036,7 @@ SetNumber(x)]]> 1 - + false @@ -8052,7 +8078,7 @@ SetNumber(x)]]> true 2 - + 1 1 @@ -8066,7 +8092,7 @@ SetNumber(x)]]> 1 - + false @@ -8108,7 +8134,7 @@ SetNumber(x)]]> true 1 - + true @@ -8167,7 +8193,7 @@ SetNumber(x)]]> 1 - + false @@ -8227,7 +8253,7 @@ SetNumber(x)]]> - + false @@ -8269,7 +8295,7 @@ SetNumber(x)]]> false 1 - + false @@ -8323,7 +8349,7 @@ SetNumber(x)]]> true 1 - + 32 1 @@ -8332,7 +8358,7 @@ SetNumber(x)]]> - + true @@ -8391,7 +8417,7 @@ SetNumber(x)]]> 1 - + false @@ -8445,7 +8471,7 @@ SetNumber(x)]]> true 1 - + 22 1 @@ -8455,7 +8481,7 @@ SetNumber(x)]]> - + false @@ -8497,7 +8523,7 @@ SetNumber(x)]]> true 1 - + false @@ -8551,7 +8577,7 @@ SetNumber(x)]]> true 1 - + 32 1 @@ -8560,7 +8586,7 @@ SetNumber(x)]]> - + true @@ -8619,7 +8645,7 @@ SetNumber(x)]]> 1 - + false @@ -8673,7 +8699,7 @@ SetNumber(x)]]> true 1 - + 22 1 @@ -8685,7 +8711,7 @@ SetNumber(x)]]> - + false