编辑器
修正namespace导致变慢的问题
This commit is contained in:
@@ -3955,6 +3955,7 @@ type TEditer=class(TCustomcontrol) //
|
||||
begin
|
||||
for i,v in fs do
|
||||
begin
|
||||
if not FIsFinding then break;
|
||||
ri := matchword(i,d);
|
||||
if ri then
|
||||
begin
|
||||
|
||||
+26
-16
@@ -1795,7 +1795,6 @@ type TTsfFileParser = class() //
|
||||
end
|
||||
"parserstring":
|
||||
begin
|
||||
mtic;
|
||||
r := parserstring(o,d);
|
||||
return r;
|
||||
end
|
||||
@@ -1863,7 +1862,7 @@ type TTsfFileParser = class() //
|
||||
function parserstring(o,d);
|
||||
begin
|
||||
rti := 0;
|
||||
rt := array();
|
||||
rt := array();
|
||||
m := d["minus"];
|
||||
if ifstring(m) then m := lowercase(m);
|
||||
filechanged(m);
|
||||
@@ -2147,7 +2146,7 @@ type TTsfFileParser = class() //
|
||||
begin
|
||||
return ReadParseredFile((n+".tsf"),true);
|
||||
end
|
||||
end
|
||||
end
|
||||
function parserafile(dir,v);
|
||||
begin
|
||||
fn := lowercase( v["FileName"]);
|
||||
@@ -2242,11 +2241,8 @@ type TTsfFileParser = class() //
|
||||
if FCacheDir then
|
||||
begin
|
||||
fn := FCacheDir+fiofs+"lasttime"+fiofs+ModifyFname(n)+".t";
|
||||
if importfile(ftstream(),"",fn,d)=1 and ifarray(d) then
|
||||
begin
|
||||
nns := d["nspace"];
|
||||
nn := d["name"];
|
||||
FNsCaches[nn][nns] := 1;
|
||||
if importfile(ftstream(),"",fn,d)=1 then
|
||||
begin
|
||||
return d;
|
||||
end
|
||||
end
|
||||
@@ -2254,22 +2250,36 @@ type TTsfFileParser = class() //
|
||||
function ReadParseredFile(n,g); //读取解析的文件
|
||||
begin
|
||||
if FCacheDir then
|
||||
begin
|
||||
begin
|
||||
ln := lowercase(n);
|
||||
if not ifarray(FFilePaths) then FFilePaths := array();
|
||||
if not(FFileNames[lowercase(n)]) then return ;
|
||||
if not(FFileNames[ln]) then return ;
|
||||
if not ifarray(FCacheS ) then FCacheS := array();
|
||||
d := FCacheS[lowercase(n)];
|
||||
if d then
|
||||
fp := FCacheS[ln,"fullpath"];
|
||||
if fp then
|
||||
begin
|
||||
FFilePaths[lowercase(n)] := d["fullpath"];
|
||||
if g then return d;
|
||||
FFilePaths[ln] := fp;
|
||||
nns := FCacheS[ln,"nspace"];
|
||||
if nns then
|
||||
begin
|
||||
nn := FCacheS[ln,"name"];
|
||||
FNsCaches[nn][nns] := 1;
|
||||
end
|
||||
if g then return FCacheS[ln];
|
||||
return 1;
|
||||
end
|
||||
fn := FCacheDir+fiofs+ModifyFname(n)+".p";
|
||||
if importfile(ftstream(),"",fn,d)=1 and ifarray(d) then
|
||||
begin
|
||||
FCacheS[lowercase(n)] := d;//new tparserdobject(d);
|
||||
FFilePaths[lowercase(n)] := d["fullpath"];
|
||||
FCacheS[ln] := d;//new tparserdobject(d);
|
||||
FFilePaths[ln] := d["fullpath"];
|
||||
nns := d["nspace"];
|
||||
if nns then
|
||||
begin
|
||||
nn := d["name"];
|
||||
FNsCaches[nn][nns] := 1;
|
||||
end
|
||||
|
||||
if g then return d;
|
||||
return 1;
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user