1
0
mirror of https://github.com/moparisthebest/Simba synced 2025-02-07 02:30:19 -05:00

Added base for code completion. I believe find declaration works (control+click).

This commit is contained in:
Niels 2010-03-26 21:34:41 +01:00
parent e1d5f0788f
commit 70599f5a92
13 changed files with 1455 additions and 1307 deletions

View File

@ -424,8 +424,8 @@ begin
end; end;
J := AnsiString(UpCase(I))[1]; J := AnsiString(UpCase(I))[1];
case I of case I of
'a'..'z', 'A'..'Z', '_': mHashTable[I] := Ord(J) - 64; 'a'..'z', 'A'..'Z', '_': mHashTable[I] := Ord(J) - 64;
'0'..'9': mHashTable[I] := Ord(J) - 47; '0'..'9': mHashTable[I] := Ord(J) - 47;
else mHashTable[Char(I)] := 0; else mHashTable[Char(I)] := 0;
end; end;
end; end;
@ -2238,7 +2238,7 @@ end;
function TmwBasePasLex.GetIsJunk: Boolean; function TmwBasePasLex.GetIsJunk: Boolean;
begin begin
result := IsTokenIDJunk(FTokenID) or (FUseDefines and (FDefineStack > 0) and (TokenID <> tokNull) and (TokenID <> tok_DONE)); result := IsTokenIDJunk(FTokenID) or (FUseDefines and (FDefineStack > 0) and (TokenID <> tokNull) and (TokenID <> tok_DONE));
// Result := fTokenID in [tokAnsiComment, tokBorComment, tokCRLF, tokCRLFCo, tokSlashesComment, tokSpace]; //XM 20001210 // Result := fTokenID in [tokAnsiComment, tokBorComment, tokCRLF, tokCRLFCo, tokSlashesComment, tokSpace]; //XM 20001210
end; end;

View File

@ -11,6 +11,7 @@
<TargetFileExt Value=".exe"/> <TargetFileExt Value=".exe"/>
<ResourceType Value="res"/> <ResourceType Value="res"/>
<UseXPManifest Value="True"/> <UseXPManifest Value="True"/>
<Icon Value="0"/>
<ActiveEditorIndexAtStart Value="0"/> <ActiveEditorIndexAtStart Value="0"/>
</General> </General>
<VersionInfo> <VersionInfo>
@ -39,14 +40,16 @@
<PackageName Value="LCL"/> <PackageName Value="LCL"/>
</Item2> </Item2>
</RequiredPackages> </RequiredPackages>
<Units Count="44"> <Units Count="45">
<Unit0> <Unit0>
<Filename Value="Valistus.lpr"/> <Filename Value="Valistus.lpr"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="Valistus"/> <UnitName Value="Valistus"/>
<CursorPos X="21" Y="17"/> <CursorPos X="31" Y="4"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<UsageCount Value="126"/> <EditorIndex Value="3"/>
<UsageCount Value="140"/>
<Loaded Value="True"/>
</Unit0> </Unit0>
<Unit1> <Unit1>
<Filename Value="main.pas"/> <Filename Value="main.pas"/>
@ -54,36 +57,36 @@
<ComponentName Value="MainForm"/> <ComponentName Value="MainForm"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="Main"/> <UnitName Value="Main"/>
<CursorPos X="37" Y="426"/> <CursorPos X="38" Y="26"/>
<TopLine Value="404"/> <TopLine Value="10"/>
<EditorIndex Value="0"/> <EditorIndex Value="0"/>
<UsageCount Value="126"/> <UsageCount Value="140"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit1> </Unit1>
<Unit2> <Unit2>
<Filename Value="..\v_Constants.pas"/> <Filename Value="..\v_Constants.pas"/>
<UnitName Value="v_Constants"/> <UnitName Value="v_Constants"/>
<UsageCount Value="10"/> <UsageCount Value="9"/>
</Unit2> </Unit2>
<Unit3> <Unit3>
<Filename Value="..\v_SynPlugins.pas"/> <Filename Value="..\v_SynPlugins.pas"/>
<UnitName Value="v_SynPlugins"/> <UnitName Value="v_SynPlugins"/>
<UsageCount Value="10"/> <UsageCount Value="9"/>
</Unit3> </Unit3>
<Unit4> <Unit4>
<Filename Value="..\v_ideCodeParser.pas"/> <Filename Value="..\v_ideCodeParser.pas"/>
<UnitName Value="v_ideCodeParser"/> <UnitName Value="v_ideCodeParser"/>
<UsageCount Value="10"/> <UsageCount Value="9"/>
</Unit4> </Unit4>
<Unit5> <Unit5>
<Filename Value="..\v_ideCodeInsight.pas"/> <Filename Value="..\v_ideCodeInsight.pas"/>
<UnitName Value="v_ideCodeInsight"/> <UnitName Value="v_ideCodeInsight"/>
<UsageCount Value="10"/> <UsageCount Value="9"/>
</Unit5> </Unit5>
<Unit6> <Unit6>
<Filename Value="..\v_MiscFunctions.pas"/> <Filename Value="..\v_MiscFunctions.pas"/>
<UnitName Value="v_MiscFunctions"/> <UnitName Value="v_MiscFunctions"/>
<UsageCount Value="10"/> <UsageCount Value="9"/>
</Unit6> </Unit6>
<Unit7> <Unit7>
<Filename Value="v_Constants.pas"/> <Filename Value="v_Constants.pas"/>
@ -91,65 +94,63 @@
<UnitName Value="v_Constants"/> <UnitName Value="v_Constants"/>
<CursorPos X="5" Y="7"/> <CursorPos X="5" Y="7"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<UsageCount Value="126"/> <UsageCount Value="140"/>
</Unit7> </Unit7>
<Unit8> <Unit8>
<Filename Value="CastaliaPasLex.pas"/> <Filename Value="CastaliaPasLex.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="CastaliaPasLex"/> <UnitName Value="CastaliaPasLex"/>
<CursorPos X="3" Y="374"/> <CursorPos X="20" Y="2241"/>
<TopLine Value="355"/> <TopLine Value="2222"/>
<UsageCount Value="126"/> <UsageCount Value="140"/>
</Unit8> </Unit8>
<Unit9> <Unit9>
<Filename Value="CastaliaPasLexTypes.pas"/> <Filename Value="CastaliaPasLexTypes.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="CastaliaPasLexTypes"/> <UnitName Value="CastaliaPasLexTypes"/>
<CursorPos X="61" Y="140"/> <CursorPos X="26" Y="308"/>
<TopLine Value="177"/> <TopLine Value="284"/>
<UsageCount Value="126"/> <UsageCount Value="140"/>
</Unit9> </Unit9>
<Unit10> <Unit10>
<Filename Value="CastaliaSimplePasPar.pas"/> <Filename Value="CastaliaSimplePasPar.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="CastaliaSimplePasPar"/> <UnitName Value="CastaliaSimplePasPar"/>
<CursorPos X="15" Y="517"/> <CursorPos X="40" Y="4617"/>
<TopLine Value="500"/> <TopLine Value="4679"/>
<UsageCount Value="126"/> <UsageCount Value="140"/>
</Unit10> </Unit10>
<Unit11> <Unit11>
<Filename Value="CastaliaSimplePasParTypes.pas"/> <Filename Value="CastaliaSimplePasParTypes.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="CastaliaSimplePasParTypes"/> <UnitName Value="CastaliaSimplePasParTypes"/>
<CursorPos X="1" Y="19"/> <CursorPos X="54" Y="10"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<UsageCount Value="126"/> <UsageCount Value="140"/>
</Unit11> </Unit11>
<Unit12> <Unit12>
<Filename Value="v_SynPlugins.pas"/> <Filename Value="v_SynPlugins.pas"/>
<UnitName Value="v_SynPlugins"/> <UnitName Value="v_SynPlugins"/>
<CursorPos X="15" Y="27"/> <CursorPos X="15" Y="27"/>
<TopLine Value="8"/> <TopLine Value="8"/>
<UsageCount Value="10"/> <UsageCount Value="9"/>
</Unit12> </Unit12>
<Unit13> <Unit13>
<Filename Value="v_ideCodeParser.pas"/> <Filename Value="v_ideCodeParser.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="v_ideCodeParser"/> <UnitName Value="v_ideCodeParser"/>
<CursorPos X="22" Y="273"/> <CursorPos X="17" Y="208"/>
<TopLine Value="255"/> <TopLine Value="189"/>
<EditorIndex Value="3"/> <UsageCount Value="140"/>
<UsageCount Value="126"/>
<Loaded Value="True"/>
</Unit13> </Unit13>
<Unit14> <Unit14>
<Filename Value="v_ideCodeInsight.pas"/> <Filename Value="v_ideCodeInsight.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="v_ideCodeInsight"/> <UnitName Value="v_ideCodeInsight"/>
<CursorPos X="41" Y="285"/> <CursorPos X="31" Y="19"/>
<TopLine Value="259"/> <TopLine Value="4"/>
<EditorIndex Value="2"/> <EditorIndex Value="2"/>
<UsageCount Value="126"/> <UsageCount Value="140"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit14> </Unit14>
<Unit15> <Unit15>
@ -158,48 +159,46 @@
<UnitName Value="v_MiscFunctions"/> <UnitName Value="v_MiscFunctions"/>
<CursorPos X="27" Y="5"/> <CursorPos X="27" Y="5"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<UsageCount Value="126"/> <UsageCount Value="140"/>
</Unit15> </Unit15>
<Unit16> <Unit16>
<Filename Value="ValistusDefines.inc"/> <Filename Value="ValistusDefines.inc"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<CursorPos X="2" Y="2"/> <CursorPos X="2" Y="2"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<EditorIndex Value="4"/> <UsageCount Value="140"/>
<UsageCount Value="126"/>
<Loaded Value="True"/>
</Unit16> </Unit16>
<Unit17> <Unit17>
<Filename Value="C:\Lazarus\FPC\Source\rtl\inc\objpash.inc"/> <Filename Value="..\..\..\FPC\Source\rtl\inc\objpash.inc"/>
<CursorPos X="23" Y="192"/> <CursorPos X="23" Y="192"/>
<TopLine Value="173"/> <TopLine Value="173"/>
<UsageCount Value="8"/> <UsageCount Value="7"/>
</Unit17> </Unit17>
<Unit18> <Unit18>
<Filename Value="C:\Lazarus\FPC\Source\rtl\inc\systemh.inc"/> <Filename Value="..\..\..\FPC\Source\rtl\inc\systemh.inc"/>
<CursorPos X="11" Y="825"/> <CursorPos X="11" Y="825"/>
<TopLine Value="806"/> <TopLine Value="806"/>
<UsageCount Value="6"/> <UsageCount Value="5"/>
</Unit18> </Unit18>
<Unit19> <Unit19>
<Filename Value="C:\Lazarus\FPC\Source\rtl\objpas\classes\classesh.inc"/> <Filename Value="..\..\..\FPC\Source\rtl\objpas\classes\classesh.inc"/>
<CursorPos X="25" Y="598"/> <CursorPos X="25" Y="598"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<UsageCount Value="7"/> <UsageCount Value="6"/>
</Unit19> </Unit19>
<Unit20> <Unit20>
<Filename Value="C:\Lazarus\LazSVN\lcl\stdctrls.pp"/> <Filename Value="..\..\..\LazSVN\lcl\stdctrls.pp"/>
<UnitName Value="StdCtrls"/> <UnitName Value="StdCtrls"/>
<CursorPos X="20" Y="33"/> <CursorPos X="20" Y="33"/>
<TopLine Value="16"/> <TopLine Value="16"/>
<UsageCount Value="8"/> <UsageCount Value="7"/>
</Unit20> </Unit20>
<Unit21> <Unit21>
<Filename Value="C:\Lazarus\LazSVN\lcl\lcltype.pp"/> <Filename Value="..\..\..\LazSVN\lcl\lcltype.pp"/>
<UnitName Value="LCLType"/> <UnitName Value="LCLType"/>
<CursorPos X="17" Y="607"/> <CursorPos X="17" Y="607"/>
<TopLine Value="579"/> <TopLine Value="579"/>
<UsageCount Value="9"/> <UsageCount Value="8"/>
</Unit21> </Unit21>
<Unit22> <Unit22>
<Filename Value="v_autocompleteform.pas"/> <Filename Value="v_autocompleteform.pas"/>
@ -208,273 +207,184 @@
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="v_AutoCompleteForm"/> <UnitName Value="v_AutoCompleteForm"/>
<CursorPos X="46" Y="574"/> <CursorPos X="46" Y="574"/>
<TopLine Value="543"/> <TopLine Value="1"/>
<EditorIndex Value="1"/> <EditorIndex Value="1"/>
<UsageCount Value="122"/> <UsageCount Value="136"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit22> </Unit22>
<Unit23> <Unit23>
<Filename Value="C:\Lazarus\LazSVN\lcl\include\winapih.inc"/> <Filename Value="..\..\..\LazSVN\lcl\include\winapih.inc"/>
<CursorPos X="18" Y="235"/> <CursorPos X="18" Y="235"/>
<TopLine Value="3"/> <TopLine Value="3"/>
<UsageCount Value="7"/> <UsageCount Value="6"/>
</Unit23> </Unit23>
<Unit24> <Unit24>
<Filename Value="C:\Lazarus\LazSVN\lcl\controls.pp"/> <Filename Value="..\..\..\LazSVN\lcl\controls.pp"/>
<UnitName Value="Controls"/> <UnitName Value="Controls"/>
<CursorPos X="15" Y="1800"/> <CursorPos X="15" Y="1800"/>
<TopLine Value="1781"/> <TopLine Value="1781"/>
<UsageCount Value="15"/> <UsageCount Value="14"/>
</Unit24> </Unit24>
<Unit25> <Unit25>
<Filename Value="C:\Lazarus\LazSVN\lcl\graphics.pp"/> <Filename Value="..\..\..\LazSVN\lcl\graphics.pp"/>
<UnitName Value="Graphics"/> <UnitName Value="Graphics"/>
<CursorPos X="3" Y="92"/> <CursorPos X="3" Y="92"/>
<TopLine Value="82"/> <TopLine Value="82"/>
<UsageCount Value="2"/> <UsageCount Value="1"/>
</Unit25> </Unit25>
<Unit26> <Unit26>
<Filename Value="C:\Lazarus\LazSVN\lcl\forms.pp"/> <Filename Value="..\..\..\LazSVN\lcl\forms.pp"/>
<UnitName Value="Forms"/> <UnitName Value="Forms"/>
<CursorPos X="15" Y="582"/> <CursorPos X="15" Y="582"/>
<TopLine Value="527"/> <TopLine Value="527"/>
<UsageCount Value="13"/> <UsageCount Value="12"/>
</Unit26> </Unit26>
<Unit27> <Unit27>
<Filename Value="C:\Lazarus\LazSVN\lcl\lclclasses.pp"/> <Filename Value="..\..\..\LazSVN\lcl\lclclasses.pp"/>
<UnitName Value="LCLClasses"/> <UnitName Value="LCLClasses"/>
<CursorPos X="31" Y="38"/> <CursorPos X="31" Y="38"/>
<TopLine Value="22"/> <TopLine Value="22"/>
<UsageCount Value="3"/> <UsageCount Value="2"/>
</Unit27> </Unit27>
<Unit28> <Unit28>
<Filename Value="C:\Lazarus\LazSVN\lcl\lmessages.pp"/> <Filename Value="..\..\..\LazSVN\lcl\lmessages.pp"/>
<UnitName Value="LMessages"/> <UnitName Value="LMessages"/>
<CursorPos X="3" Y="327"/> <CursorPos X="3" Y="327"/>
<TopLine Value="83"/> <TopLine Value="83"/>
<UsageCount Value="7"/> <UsageCount Value="6"/>
</Unit28> </Unit28>
<Unit29> <Unit29>
<Filename Value="C:\Lazarus\FPC\Source\packages\fcl-image\src\fpcanvas.pp"/> <Filename Value="..\..\..\FPC\Source\packages\fcl-image\src\fpcanvas.pp"/>
<UnitName Value="FPCanvas"/> <UnitName Value="FPCanvas"/>
<CursorPos X="32" Y="78"/> <CursorPos X="32" Y="78"/>
<TopLine Value="59"/> <TopLine Value="59"/>
<UsageCount Value="1"/> <UsageCount Value="10"/>
</Unit29> </Unit29>
<Unit30> <Unit30>
<Filename Value="C:\Lazarus\FPC\Source\rtl\objpas\objpas.pp"/> <Filename Value="..\..\..\FPC\Source\rtl\objpas\objpas.pp"/>
<UnitName Value="objpas"/> <UnitName Value="objpas"/>
<CursorPos X="8" Y="36"/> <CursorPos X="8" Y="36"/>
<TopLine Value="17"/> <TopLine Value="17"/>
<UsageCount Value="2"/> <UsageCount Value="1"/>
</Unit30> </Unit30>
<Unit31> <Unit31>
<Filename Value="C:\Lazarus\LazSVN\lcl\stringhashlist.pas"/> <Filename Value="..\..\..\LazSVN\lcl\stringhashlist.pas"/>
<UnitName Value="StringHashList"/> <UnitName Value="StringHashList"/>
<CursorPos X="44" Y="57"/> <CursorPos X="44" Y="57"/>
<TopLine Value="40"/> <TopLine Value="40"/>
<UsageCount Value="2"/> <UsageCount Value="1"/>
</Unit31> </Unit31>
<Unit32> <Unit32>
<Filename Value="C:\Lazarus\FPC\Source\rtl\objpas\strutils.pp"/> <Filename Value="..\..\..\FPC\Source\rtl\objpas\strutils.pp"/>
<UnitName Value="strutils"/> <UnitName Value="strutils"/>
<CursorPos X="10" Y="72"/> <CursorPos X="10" Y="72"/>
<TopLine Value="53"/> <TopLine Value="53"/>
<UsageCount Value="2"/> <UsageCount Value="1"/>
</Unit32> </Unit32>
<Unit33> <Unit33>
<Filename Value="C:\Lazarus\FPC\Source\rtl\objpas\sysutils\syspchh.inc"/> <Filename Value="..\..\..\FPC\Source\rtl\objpas\sysutils\syspchh.inc"/>
<CursorPos X="18" Y="32"/> <CursorPos X="18" Y="32"/>
<TopLine Value="11"/> <TopLine Value="11"/>
<UsageCount Value="2"/> <UsageCount Value="1"/>
</Unit33> </Unit33>
<Unit34> <Unit34>
<Filename Value="C:\Lazarus\LazSVN\components\synedit\synedit.pp"/> <Filename Value="..\..\..\LazSVN\components\synedit\synedit.pp"/>
<UnitName Value="SynEdit"/> <UnitName Value="SynEdit"/>
<CursorPos X="45" Y="5647"/> <CursorPos X="45" Y="5647"/>
<TopLine Value="5621"/> <TopLine Value="5621"/>
<UsageCount Value="14"/> <UsageCount Value="13"/>
</Unit34> </Unit34>
<Unit35> <Unit35>
<Filename Value="C:\Lazarus\LazSVN\components\synedit\synedithighlighter.pp"/> <Filename Value="..\..\..\LazSVN\components\synedit\synedithighlighter.pp"/>
<UnitName Value="SynEditHighlighter"/> <UnitName Value="SynEditHighlighter"/>
<CursorPos X="33" Y="230"/> <CursorPos X="33" Y="230"/>
<TopLine Value="303"/> <TopLine Value="303"/>
<UsageCount Value="7"/> <UsageCount Value="6"/>
</Unit35> </Unit35>
<Unit36> <Unit36>
<Filename Value="C:\Lazarus\FPC\Source\rtl\win32\system.pp"/> <Filename Value="..\..\..\FPC\Source\rtl\win32\system.pp"/>
<UnitName Value="System"/> <UnitName Value="System"/>
<CursorPos X="2" Y="35"/> <CursorPos X="2" Y="35"/>
<TopLine Value="16"/> <TopLine Value="16"/>
<UsageCount Value="7"/> <UsageCount Value="6"/>
</Unit36> </Unit36>
<Unit37> <Unit37>
<Filename Value="C:\Lazarus\LazSVN\components\synedit\syneditkeycmds.pp"/> <Filename Value="..\..\..\LazSVN\components\synedit\syneditkeycmds.pp"/>
<UnitName Value="SynEditKeyCmds"/> <UnitName Value="SynEditKeyCmds"/>
<CursorPos X="11" Y="261"/> <CursorPos X="11" Y="261"/>
<TopLine Value="135"/> <TopLine Value="135"/>
<UsageCount Value="9"/> <UsageCount Value="8"/>
</Unit37> </Unit37>
<Unit38> <Unit38>
<Filename Value="C:\Lazarus\LazSVN\components\synedit\syneditmiscclasses.pp"/> <Filename Value="..\..\..\LazSVN\components\synedit\syneditmiscclasses.pp"/>
<UnitName Value="SynEditMiscClasses"/> <UnitName Value="SynEditMiscClasses"/>
<CursorPos X="34" Y="996"/> <CursorPos X="34" Y="996"/>
<TopLine Value="1007"/> <TopLine Value="1007"/>
<UsageCount Value="10"/> <UsageCount Value="9"/>
</Unit38> </Unit38>
<Unit39> <Unit39>
<Filename Value="C:\Lazarus\FPC\Source\rtl\objpas\sysutils\sysstrh.inc"/> <Filename Value="..\..\..\FPC\Source\rtl\objpas\sysutils\sysstrh.inc"/>
<CursorPos X="10" Y="223"/> <CursorPos X="10" Y="223"/>
<TopLine Value="204"/> <TopLine Value="204"/>
<UsageCount Value="5"/> <UsageCount Value="4"/>
</Unit39> </Unit39>
<Unit40> <Unit40>
<Filename Value="C:\Lazarus\LazSVN\components\synedit\syneditautocomplete.pp"/> <Filename Value="..\..\..\LazSVN\components\synedit\syneditautocomplete.pp"/>
<UnitName Value="SynEditAutoComplete"/> <UnitName Value="SynEditAutoComplete"/>
<CursorPos X="13" Y="182"/> <CursorPos X="13" Y="182"/>
<TopLine Value="157"/> <TopLine Value="157"/>
<UsageCount Value="6"/> <UsageCount Value="5"/>
</Unit40> </Unit40>
<Unit41> <Unit41>
<Filename Value="C:\Lazarus\LazSVN\lcl\extendedstrings.pas"/> <Filename Value="..\..\..\LazSVN\lcl\extendedstrings.pas"/>
<UnitName Value="ExtendedStrings"/> <UnitName Value="ExtendedStrings"/>
<CursorPos X="34" Y="42"/> <CursorPos X="34" Y="42"/>
<TopLine Value="31"/> <TopLine Value="31"/>
<UsageCount Value="8"/> <UsageCount Value="7"/>
</Unit41> </Unit41>
<Unit42> <Unit42>
<Filename Value="C:\Lazarus\LazSVN\lcl\widgetset\wsreferences.pp"/> <Filename Value="..\..\..\LazSVN\lcl\widgetset\wsreferences.pp"/>
<UnitName Value="WSReferences"/> <UnitName Value="WSReferences"/>
<CursorPos X="14" Y="90"/> <CursorPos X="14" Y="90"/>
<TopLine Value="71"/> <TopLine Value="71"/>
<UsageCount Value="8"/> <UsageCount Value="7"/>
</Unit42> </Unit42>
<Unit43> <Unit43>
<Filename Value="C:\Lazarus\LazSVN\lcl\lresources.pp"/> <Filename Value="..\..\..\LazSVN\lcl\lresources.pp"/>
<UnitName Value="LResources"/> <UnitName Value="LResources"/>
<CursorPos X="1" Y="1"/> <CursorPos X="1" Y="1"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<UsageCount Value="9"/> <UsageCount Value="8"/>
</Unit43> </Unit43>
<Unit44>
<Filename Value="..\..\..\LazSVN\components\synedit\synhighlighterpas.pp"/>
<UnitName Value="SynHighlighterPas"/>
<CursorPos X="32" Y="2760"/>
<TopLine Value="2741"/>
<UsageCount Value="10"/>
</Unit44>
</Units> </Units>
<JumpHistory Count="29" HistoryIndex="28"> <JumpHistory Count="5" HistoryIndex="4">
<Position1> <Position1>
<Filename Value="main.pas"/> <Filename Value="Valistus.lpr"/>
<Caret Line="411" Column="36" TopLine="396"/> <Caret Line="17" Column="21" TopLine="1"/>
</Position1> </Position1>
<Position2> <Position2>
<Filename Value="v_ideCodeParser.pas"/> <Filename Value="v_ideCodeInsight.pas"/>
<Caret Line="43" Column="33" TopLine="24"/> <Caret Line="19" Column="31" TopLine="4"/>
</Position2> </Position2>
<Position3> <Position3>
<Filename Value="main.pas"/> <Filename Value="main.pas"/>
<Caret Line="414" Column="34" TopLine="396"/> <Caret Line="414" Column="114" TopLine="408"/>
</Position3> </Position3>
<Position4> <Position4>
<Filename Value="v_ideCodeParser.pas"/> <Filename Value="main.pas"/>
<Caret Line="104" Column="25" TopLine="85"/> <Caret Line="27" Column="29" TopLine="10"/>
</Position4> </Position4>
<Position5> <Position5>
<Filename Value="v_ideCodeParser.pas"/> <Filename Value="main.pas"/>
<Caret Line="705" Column="21" TopLine="686"/> <Caret Line="26" Column="79" TopLine="10"/>
</Position5> </Position5>
<Position6>
<Filename Value="main.pas"/>
<Caret Line="414" Column="37" TopLine="396"/>
</Position6>
<Position7>
<Filename Value="v_ideCodeParser.pas"/>
<Caret Line="104" Column="21" TopLine="85"/>
</Position7>
<Position8>
<Filename Value="v_ideCodeParser.pas"/>
<Caret Line="705" Column="21" TopLine="686"/>
</Position8>
<Position9>
<Filename Value="main.pas"/>
<Caret Line="419" Column="135" TopLine="393"/>
</Position9>
<Position10>
<Filename Value="main.pas"/>
<Caret Line="380" Column="69" TopLine="361"/>
</Position10>
<Position11>
<Filename Value="v_autocompleteform.pas"/>
<Caret Line="528" Column="6" TopLine="492"/>
</Position11>
<Position12>
<Filename Value="v_autocompleteform.pas"/>
<Caret Line="520" Column="26" TopLine="492"/>
</Position12>
<Position13>
<Filename Value="v_autocompleteform.pas"/>
<Caret Line="529" Column="49" TopLine="513"/>
</Position13>
<Position14>
<Filename Value="v_autocompleteform.pas"/>
<Caret Line="530" Column="25" TopLine="514"/>
</Position14>
<Position15>
<Filename Value="v_autocompleteform.pas"/>
<Caret Line="82" Column="18" TopLine="63"/>
</Position15>
<Position16>
<Filename Value="v_autocompleteform.pas"/>
<Caret Line="88" Column="49" TopLine="63"/>
</Position16>
<Position17>
<Filename Value="v_autocompleteform.pas"/>
<Caret Line="532" Column="49" TopLine="516"/>
</Position17>
<Position18>
<Filename Value="v_autocompleteform.pas"/>
<Caret Line="548" Column="37" TopLine="516"/>
</Position18>
<Position19>
<Filename Value="v_autocompleteform.pas"/>
<Caret Line="530" Column="24" TopLine="516"/>
</Position19>
<Position20>
<Filename Value="v_autocompleteform.pas"/>
<Caret Line="79" Column="28" TopLine="63"/>
</Position20>
<Position21>
<Filename Value="v_autocompleteform.pas"/>
<Caret Line="79" Column="28" TopLine="63"/>
</Position21>
<Position22>
<Filename Value="v_autocompleteform.pas"/>
<Caret Line="534" Column="53" TopLine="516"/>
</Position22>
<Position23>
<Filename Value="v_autocompleteform.pas"/>
<Caret Line="556" Column="11" TopLine="529"/>
</Position23>
<Position24>
<Filename Value="v_autocompleteform.pas"/>
<Caret Line="532" Column="10" TopLine="513"/>
</Position24>
<Position25>
<Filename Value="v_autocompleteform.pas"/>
<Caret Line="537" Column="25" TopLine="518"/>
</Position25>
<Position26>
<Filename Value="v_autocompleteform.pas"/>
<Caret Line="544" Column="11" TopLine="525"/>
</Position26>
<Position27>
<Filename Value="main.pas"/>
<Caret Line="434" Column="12" TopLine="403"/>
</Position27>
<Position28>
<Filename Value="main.pas"/>
<Caret Line="437" Column="9" TopLine="403"/>
</Position28>
<Position29>
<Filename Value="v_autocompleteform.pas"/>
<Caret Line="574" Column="46" TopLine="543"/>
</Position29>
</JumpHistory> </JumpHistory>
</ProjectOptions> </ProjectOptions>
<CompilerOptions> <CompilerOptions>

Binary file not shown.

View File

@ -597,12 +597,13 @@ object MainForm: TMainForm
Lines.Strings = ( Lines.Strings = (
'program New;' 'program New;'
'' ''
'procedure c(d); forward;' 'procedure TestingTest(a: Integer = 2; b: string = ''test'');'
''
'function a(b): Boolean;'
'begin' 'begin'
'end;' 'end;'
'' ''
'var'
' TIA: array of Integer = (1, 2, 3);'
''
'type' 'type'
' x = (thiz, iz, enum);' ' x = (thiz, iz, enum);'
' y = set of x;' ' y = set of x;'
@ -621,7 +622,8 @@ object MainForm: TMainForm
' xx: x;' ' xx: x;'
' yy: y;' ' yy: y;'
' zz: TIntegerArray;' ' zz: TIntegerArray;'
' i: Integer;' ' i: Integer = 123;'
' stringetiestring: string = ''test'';'
'begin' 'begin'
' with a, b[zz[i]], c do' ' with a, b[zz[i]], c do'
' d := ''test'';' ' d := ''test'';'

View File

@ -426,15 +426,15 @@ begin
begin begin
if (d.Owner is TciProcedureDeclaration) and (not (d is TciProcedureDeclaration)) then if (d.Owner is TciProcedureDeclaration) and (not (d is TciProcedureDeclaration)) then
d := d.Owner; d := d.Owner;
with TParamHint.Create(Self) do //with TParamHint.Create(Self) do
begin //begin
if (TciProcedureDeclaration(d).SynParams <> '') then if (TciProcedureDeclaration(d).SynParams <> '') then
//txtDebug.Lines.Add(TciProcedureDeclaration(d).SynParams) txtDebug.Lines.Add(TciProcedureDeclaration(d).SynParams)
Caption := TciProcedureDeclaration(d).SynParams //Caption := TciProcedureDeclaration(d).SynParams
else else
//txtDebug.Lines.Add('<no parameters expected>'); txtDebug.Lines.Add('<no parameters expected>');
Caption := '<no parameters expected>'; //Caption := '<no parameters expected>';
end; //end;
end; end;
finally finally
FreeAndNil(ms); FreeAndNil(ms);

View File

@ -269,8 +269,8 @@ begin
else else
fDeclarationAtPos := nil; fDeclarationAtPos := nil;
if (fDeclarationatPos is TciJunk) and (fDeclarationatPos.Owner <> nil) {and (fDeclarationatPos.EndPos = fPos)} then (*if (fDeclarationatPos is TciJunk) and (fDeclarationatPos.Owner <> nil) {and (fDeclarationatPos.EndPos = fPos)} then
fDeclarationAtPos := fDeclarationatPos.Owner; fDeclarationAtPos := fDeclarationatPos.Owner;*)
if (fDeclarationAtPos <> nil) and (not (fDeclarationAtPos is TciJunk)) then if (fDeclarationAtPos <> nil) and (not (fDeclarationAtPos is TciJunk)) then
begin begin

View File

@ -1024,7 +1024,7 @@ begin
Lexer.Next; Lexer.Next;
if Lexer.IsJunk and (not InDeclaration(TciJunk)) then if Lexer.IsJunk and (not InDeclaration(TciJunk)) then
begin begin
if (not InDeclaration(nil)) then {if (not InDeclaration(nil)) then
PushStack(TciJunk); PushStack(TciJunk);
while (Lexer.IsJunk) do while (Lexer.IsJunk) do
begin begin
@ -1044,6 +1044,18 @@ begin
fStack.Top.Free; fStack.Top.Free;
fStack.Pop; fStack.Pop;
end; end;
end;}
while Lexer.IsJunk do
begin
if (Lexer.TokenID in [tokAnsiComment, tokBorComment, tokSlashesComment]) then
begin
if (not InDeclaration(TciJunk)) then
PushStack(TciJunk);
end
else if InDeclaration(TciJunk) then
PopStack;
Lexer.Next;
end; end;
end; end;
end; end;

View File

@ -25,6 +25,9 @@ object ScriptFrame: TScriptFrame
OnDragDrop = SynEditDragDrop OnDragDrop = SynEditDragDrop
OnDragOver = SynEditDragOver OnDragOver = SynEditDragOver
OnKeyDown = SynEditKeyDown OnKeyDown = SynEditKeyDown
OnKeyPress = SynEditKeyPress
OnClickLink = SynEditClickLink
OnMouseLink = SynEditMouseLink
Gutter.Width = 57 Gutter.Width = 57
Gutter.MouseActions = < Gutter.MouseActions = <
item item

View File

@ -9,149 +9,150 @@ LazarusResources.Add('TScriptFrame','FORMDATA',[
+'h'#7#7'fpFixed'#12'Font.Quality'#7#16'fqNonAntialiased'#11'ParentColor'#8#10 +'h'#7#7'fpFixed'#12'Font.Quality'#7#16'fqNonAntialiased'#11'ParentColor'#8#10
+'ParentFont'#8#9'PopupMenu'#7#17'Form1.ScriptPopup'#8'TabOrder'#2#0#10'OnDra' +'ParentFont'#8#9'PopupMenu'#7#17'Form1.ScriptPopup'#8'TabOrder'#2#0#10'OnDra'
+'gDrop'#7#15'SynEditDragDrop'#10'OnDragOver'#7#15'SynEditDragOver'#9'OnKeyDo' +'gDrop'#7#15'SynEditDragDrop'#10'OnDragOver'#7#15'SynEditDragOver'#9'OnKeyDo'
+'wn'#7#14'SynEditKeyDown'#12'Gutter.Width'#2'9'#19'Gutter.MouseActions'#14#1 +'wn'#7#14'SynEditKeyDown'#10'OnKeyPress'#7#15'SynEditKeyPress'#11'OnClickLin'
+#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#5'cc' +'k'#7#16'SynEditClickLink'#11'OnMouseLink'#7#16'SynEditMouseLink'#12'Gutter.'
+'Any'#8'ClickDir'#7#6'cdDown'#7'Command'#2#13#9'MoveCaret'#8#6'Option'#2#0#8 +'Width'#2'9'#19'Gutter.MouseActions'#14#1#5'Shift'#11#0#9'ShiftMask'#11#0#6
+'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#7'mbRight'#10 +'Button'#7#6'mbLeft'#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6'cdDown'#7'Com'
+'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#4'cdUp'#7'Command'#2#12#9'MoveCaret' +'mand'#2#13#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#0#9
+#8#6'Option'#2#0#8'Priority'#2#0#0#0#11'Highlighter'#7#17'SynFreePascalSyn1' +'ShiftMask'#11#0#6'Button'#7#7'mbRight'#10'ClickCount'#7#8'ccSingle'#8'Click'
+#10'Keystrokes'#14#1#7'Command'#7#4'ecUp'#8'ShortCut'#2'&'#0#1#7'Command'#7#7 +'Dir'#7#4'cdUp'#7'Command'#2#12#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0
+'ecSelUp'#8'ShortCut'#3'& '#0#1#7'Command'#7#10'ecScrollUp'#8'ShortCut'#3'&@' +#0#0#11'Highlighter'#7#17'SynFreePascalSyn1'#10'Keystrokes'#14#1#7'Command'#7
+#0#1#7'Command'#7#6'ecDown'#8'ShortCut'#2'('#0#1#7'Command'#7#9'ecSelDown'#8 +#4'ecUp'#8'ShortCut'#2'&'#0#1#7'Command'#7#7'ecSelUp'#8'ShortCut'#3'& '#0#1#7
+'ShortCut'#3'( '#0#1#7'Command'#7#12'ecScrollDown'#8'ShortCut'#3'(@'#0#1#7'C' +'Command'#7#10'ecScrollUp'#8'ShortCut'#3'&@'#0#1#7'Command'#7#6'ecDown'#8'Sh'
+'ommand'#7#6'ecLeft'#8'ShortCut'#2'%'#0#1#7'Command'#7#9'ecSelLeft'#8'ShortC' +'ortCut'#2'('#0#1#7'Command'#7#9'ecSelDown'#8'ShortCut'#3'( '#0#1#7'Command'
+'ut'#3'% '#0#1#7'Command'#7#10'ecWordLeft'#8'ShortCut'#3'%@'#0#1#7'Command'#7 +#7#12'ecScrollDown'#8'ShortCut'#3'(@'#0#1#7'Command'#7#6'ecLeft'#8'ShortCut'
+#13'ecSelWordLeft'#8'ShortCut'#3'%`'#0#1#7'Command'#7#7'ecRight'#8'ShortCut' +#2'%'#0#1#7'Command'#7#9'ecSelLeft'#8'ShortCut'#3'% '#0#1#7'Command'#7#10'ec'
+#2''''#0#1#7'Command'#7#10'ecSelRight'#8'ShortCut'#3''' '#0#1#7'Command'#7#11 +'WordLeft'#8'ShortCut'#3'%@'#0#1#7'Command'#7#13'ecSelWordLeft'#8'ShortCut'#3
+'ecWordRight'#8'ShortCut'#3'''@'#0#1#7'Command'#7#14'ecSelWordRight'#8'Short' +'%`'#0#1#7'Command'#7#7'ecRight'#8'ShortCut'#2''''#0#1#7'Command'#7#10'ecSel'
+'Cut'#3'''`'#0#1#7'Command'#7#10'ecPageDown'#8'ShortCut'#2'"'#0#1#7'Command' +'Right'#8'ShortCut'#3''' '#0#1#7'Command'#7#11'ecWordRight'#8'ShortCut'#3''''
+#7#13'ecSelPageDown'#8'ShortCut'#3'" '#0#1#7'Command'#7#12'ecPageBottom'#8'S' +'@'#0#1#7'Command'#7#14'ecSelWordRight'#8'ShortCut'#3'''`'#0#1#7'Command'#7
+'hortCut'#3'"@'#0#1#7'Command'#7#15'ecSelPageBottom'#8'ShortCut'#3'"`'#0#1#7 +#10'ecPageDown'#8'ShortCut'#2'"'#0#1#7'Command'#7#13'ecSelPageDown'#8'ShortC'
+'Command'#7#8'ecPageUp'#8'ShortCut'#2'!'#0#1#7'Command'#7#11'ecSelPageUp'#8 +'ut'#3'" '#0#1#7'Command'#7#12'ecPageBottom'#8'ShortCut'#3'"@'#0#1#7'Command'
+'ShortCut'#3'! '#0#1#7'Command'#7#9'ecPageTop'#8'ShortCut'#3'!@'#0#1#7'Comma' +#7#15'ecSelPageBottom'#8'ShortCut'#3'"`'#0#1#7'Command'#7#8'ecPageUp'#8'Shor'
+'nd'#7#12'ecSelPageTop'#8'ShortCut'#3'!`'#0#1#7'Command'#7#11'ecLineStart'#8 +'tCut'#2'!'#0#1#7'Command'#7#11'ecSelPageUp'#8'ShortCut'#3'! '#0#1#7'Command'
+'ShortCut'#2'$'#0#1#7'Command'#7#14'ecSelLineStart'#8'ShortCut'#3'$ '#0#1#7 +#7#9'ecPageTop'#8'ShortCut'#3'!@'#0#1#7'Command'#7#12'ecSelPageTop'#8'ShortC'
+'Command'#7#11'ecEditorTop'#8'ShortCut'#3'$@'#0#1#7'Command'#7#14'ecSelEdito' +'ut'#3'!`'#0#1#7'Command'#7#11'ecLineStart'#8'ShortCut'#2'$'#0#1#7'Command'#7
+'rTop'#8'ShortCut'#3'$`'#0#1#7'Command'#7#9'ecLineEnd'#8'ShortCut'#2'#'#0#1#7 +#14'ecSelLineStart'#8'ShortCut'#3'$ '#0#1#7'Command'#7#11'ecEditorTop'#8'Sho'
+'Command'#7#12'ecSelLineEnd'#8'ShortCut'#3'# '#0#1#7'Command'#7#14'ecEditorB' +'rtCut'#3'$@'#0#1#7'Command'#7#14'ecSelEditorTop'#8'ShortCut'#3'$`'#0#1#7'Co'
+'ottom'#8'ShortCut'#3'#@'#0#1#7'Command'#7#17'ecSelEditorBottom'#8'ShortCut' +'mmand'#7#9'ecLineEnd'#8'ShortCut'#2'#'#0#1#7'Command'#7#12'ecSelLineEnd'#8
+#3'#`'#0#1#7'Command'#7#12'ecToggleMode'#8'ShortCut'#2'-'#0#1#7'Command'#7#6 +'ShortCut'#3'# '#0#1#7'Command'#7#14'ecEditorBottom'#8'ShortCut'#3'#@'#0#1#7
+'ecCopy'#8'ShortCut'#3'-@'#0#1#7'Command'#7#7'ecPaste'#8'ShortCut'#3'- '#0#1 +'Command'#7#17'ecSelEditorBottom'#8'ShortCut'#3'#`'#0#1#7'Command'#7#12'ecTo'
+#7'Command'#7#12'ecDeleteChar'#8'ShortCut'#2'.'#0#1#7'Command'#7#5'ecCut'#8 +'ggleMode'#8'ShortCut'#2'-'#0#1#7'Command'#7#6'ecCopy'#8'ShortCut'#3'-@'#0#1
+'ShortCut'#3'. '#0#1#7'Command'#7#16'ecDeleteLastChar'#8'ShortCut'#2#8#0#1#7 +#7'Command'#7#7'ecPaste'#8'ShortCut'#3'- '#0#1#7'Command'#7#12'ecDeleteChar'
+'Command'#7#16'ecDeleteLastChar'#8'ShortCut'#3#8' '#0#1#7'Command'#7#16'ecDe' +#8'ShortCut'#2'.'#0#1#7'Command'#7#5'ecCut'#8'ShortCut'#3'. '#0#1#7'Command'
+'leteLastWord'#8'ShortCut'#3#8'@'#0#1#7'Command'#7#6'ecUndo'#8'ShortCut'#4#8 +#7#16'ecDeleteLastChar'#8'ShortCut'#2#8#0#1#7'Command'#7#16'ecDeleteLastChar'
+#128#0#0#0#1#7'Command'#7#6'ecRedo'#8'ShortCut'#4#8#160#0#0#0#1#7'Command'#7 +#8'ShortCut'#3#8' '#0#1#7'Command'#7#16'ecDeleteLastWord'#8'ShortCut'#3#8'@'
+#11'ecLineBreak'#8'ShortCut'#2#13#0#1#7'Command'#7#11'ecSelectAll'#8'ShortCu' +#0#1#7'Command'#7#6'ecUndo'#8'ShortCut'#4#8#128#0#0#0#1#7'Command'#7#6'ecRed'
+'t'#3'A@'#0#1#7'Command'#7#6'ecCopy'#8'ShortCut'#3'C@'#0#1#7'Command'#7#13'e' +'o'#8'ShortCut'#4#8#160#0#0#0#1#7'Command'#7#11'ecLineBreak'#8'ShortCut'#2#13
+'cBlockIndent'#8'ShortCut'#3'I@'#0#1#7'Command'#7#11'ecLineBreak'#8'ShortCut' +#0#1#7'Command'#7#11'ecSelectAll'#8'ShortCut'#3'A@'#0#1#7'Command'#7#6'ecCop'
+#3'M@'#0#1#7'Command'#7#15'ecBlockUnindent'#8'ShortCut'#3'U@'#0#1#7'Command' +'y'#8'ShortCut'#3'C@'#0#1#7'Command'#7#13'ecBlockIndent'#8'ShortCut'#3'I@'#0
+#7#7'ecPaste'#8'ShortCut'#3'V@'#0#1#7'Command'#7#5'ecCut'#8'ShortCut'#3'X@'#0 +#1#7'Command'#7#11'ecLineBreak'#8'ShortCut'#3'M@'#0#1#7'Command'#7#15'ecBloc'
+#1#7'Command'#7#12'ecDeleteLine'#8'ShortCut'#3'Y@'#0#1#7'Command'#7#11'ecDel' +'kUnindent'#8'ShortCut'#3'U@'#0#1#7'Command'#7#7'ecPaste'#8'ShortCut'#3'V@'#0
+'eteEOL'#8'ShortCut'#3'Y`'#0#1#7'Command'#7#6'ecUndo'#8'ShortCut'#3'Z@'#0#1#7 +#1#7'Command'#7#5'ecCut'#8'ShortCut'#3'X@'#0#1#7'Command'#7#12'ecDeleteLine'
+'Command'#7#6'ecRedo'#8'ShortCut'#3'Z`'#0#1#7'Command'#7#13'ecGotoMarker0'#8 +#8'ShortCut'#3'Y@'#0#1#7'Command'#7#11'ecDeleteEOL'#8'ShortCut'#3'Y`'#0#1#7
+'ShortCut'#3'0@'#0#1#7'Command'#7#13'ecGotoMarker1'#8'ShortCut'#3'1@'#0#1#7 +'Command'#7#6'ecUndo'#8'ShortCut'#3'Z@'#0#1#7'Command'#7#6'ecRedo'#8'ShortCu'
+'Command'#7#13'ecGotoMarker2'#8'ShortCut'#3'2@'#0#1#7'Command'#7#13'ecGotoMa' +'t'#3'Z`'#0#1#7'Command'#7#13'ecGotoMarker0'#8'ShortCut'#3'0@'#0#1#7'Command'
+'rker3'#8'ShortCut'#3'3@'#0#1#7'Command'#7#13'ecGotoMarker4'#8'ShortCut'#3'4' +#7#13'ecGotoMarker1'#8'ShortCut'#3'1@'#0#1#7'Command'#7#13'ecGotoMarker2'#8
+'@'#0#1#7'Command'#7#13'ecGotoMarker5'#8'ShortCut'#3'5@'#0#1#7'Command'#7#13 +'ShortCut'#3'2@'#0#1#7'Command'#7#13'ecGotoMarker3'#8'ShortCut'#3'3@'#0#1#7
+'ecGotoMarker6'#8'ShortCut'#3'6@'#0#1#7'Command'#7#13'ecGotoMarker7'#8'Short' +'Command'#7#13'ecGotoMarker4'#8'ShortCut'#3'4@'#0#1#7'Command'#7#13'ecGotoMa'
+'Cut'#3'7@'#0#1#7'Command'#7#13'ecGotoMarker8'#8'ShortCut'#3'8@'#0#1#7'Comma' +'rker5'#8'ShortCut'#3'5@'#0#1#7'Command'#7#13'ecGotoMarker6'#8'ShortCut'#3'6'
+'nd'#7#13'ecGotoMarker9'#8'ShortCut'#3'9@'#0#1#7'Command'#7#12'ecSetMarker0' +'@'#0#1#7'Command'#7#13'ecGotoMarker7'#8'ShortCut'#3'7@'#0#1#7'Command'#7#13
+#8'ShortCut'#3'0`'#0#1#7'Command'#7#12'ecSetMarker1'#8'ShortCut'#3'1`'#0#1#7 +'ecGotoMarker8'#8'ShortCut'#3'8@'#0#1#7'Command'#7#13'ecGotoMarker9'#8'Short'
+'Command'#7#12'ecSetMarker2'#8'ShortCut'#3'2`'#0#1#7'Command'#7#12'ecSetMark' +'Cut'#3'9@'#0#1#7'Command'#7#12'ecSetMarker0'#8'ShortCut'#3'0`'#0#1#7'Comman'
+'er3'#8'ShortCut'#3'3`'#0#1#7'Command'#7#12'ecSetMarker4'#8'ShortCut'#3'4`'#0 +'d'#7#12'ecSetMarker1'#8'ShortCut'#3'1`'#0#1#7'Command'#7#12'ecSetMarker2'#8
+#1#7'Command'#7#12'ecSetMarker5'#8'ShortCut'#3'5`'#0#1#7'Command'#7#12'ecSet' +'ShortCut'#3'2`'#0#1#7'Command'#7#12'ecSetMarker3'#8'ShortCut'#3'3`'#0#1#7'C'
+'Marker6'#8'ShortCut'#3'6`'#0#1#7'Command'#7#12'ecSetMarker7'#8'ShortCut'#3 +'ommand'#7#12'ecSetMarker4'#8'ShortCut'#3'4`'#0#1#7'Command'#7#12'ecSetMarke'
+'7`'#0#1#7'Command'#7#12'ecSetMarker8'#8'ShortCut'#3'8`'#0#1#7'Command'#7#12 +'r5'#8'ShortCut'#3'5`'#0#1#7'Command'#7#12'ecSetMarker6'#8'ShortCut'#3'6`'#0
+'ecSetMarker9'#8'ShortCut'#3'9`'#0#1#7'Command'#7#12'EcFoldLevel1'#8'ShortCu' +#1#7'Command'#7#12'ecSetMarker7'#8'ShortCut'#3'7`'#0#1#7'Command'#7#12'ecSet'
+'t'#4'1'#160#0#0#0#1#7'Command'#7#12'EcFoldLevel2'#8'ShortCut'#4'2'#160#0#0#0 +'Marker8'#8'ShortCut'#3'8`'#0#1#7'Command'#7#12'ecSetMarker9'#8'ShortCut'#3
,#1#7'Command'#7#12'EcFoldLevel1'#8'ShortCut'#4'3'#160#0#0#0#1#7'Command'#7#12 ,'9`'#0#1#7'Command'#7#12'EcFoldLevel1'#8'ShortCut'#4'1'#160#0#0#0#1#7'Comman'
+'EcFoldLevel1'#8'ShortCut'#4'4'#160#0#0#0#1#7'Command'#7#12'EcFoldLevel1'#8 +'d'#7#12'EcFoldLevel2'#8'ShortCut'#4'2'#160#0#0#0#1#7'Command'#7#12'EcFoldLe'
+'ShortCut'#4'5'#160#0#0#0#1#7'Command'#7#12'EcFoldLevel6'#8'ShortCut'#4'6' +'vel1'#8'ShortCut'#4'3'#160#0#0#0#1#7'Command'#7#12'EcFoldLevel1'#8'ShortCut'
+#160#0#0#0#1#7'Command'#7#12'EcFoldLevel7'#8'ShortCut'#4'7'#160#0#0#0#1#7'Co' +#4'4'#160#0#0#0#1#7'Command'#7#12'EcFoldLevel1'#8'ShortCut'#4'5'#160#0#0#0#1
+'mmand'#7#12'EcFoldLevel8'#8'ShortCut'#4'8'#160#0#0#0#1#7'Command'#7#12'EcFo' +#7'Command'#7#12'EcFoldLevel6'#8'ShortCut'#4'6'#160#0#0#0#1#7'Command'#7#12
+'ldLevel9'#8'ShortCut'#4'9'#160#0#0#0#1#7'Command'#7#12'EcFoldLevel0'#8'Shor' +'EcFoldLevel7'#8'ShortCut'#4'7'#160#0#0#0#1#7'Command'#7#12'EcFoldLevel8'#8
+'tCut'#4'0'#160#0#0#0#1#7'Command'#7#13'EcFoldCurrent'#8'ShortCut'#4'-'#160#0 +'ShortCut'#4'8'#160#0#0#0#1#7'Command'#7#12'EcFoldLevel9'#8'ShortCut'#4'9'
+#0#0#1#7'Command'#7#15'EcUnFoldCurrent'#8'ShortCut'#4'+'#160#0#0#0#1#7'Comma' +#160#0#0#0#1#7'Command'#7#12'EcFoldLevel0'#8'ShortCut'#4'0'#160#0#0#0#1#7'Co'
+'nd'#7#18'EcToggleMarkupWord'#8'ShortCut'#4'M'#128#0#0#0#1#7'Command'#7#14'e' +'mmand'#7#13'EcFoldCurrent'#8'ShortCut'#4'-'#160#0#0#0#1#7'Command'#7#15'EcU'
+'cNormalSelect'#8'ShortCut'#3'N`'#0#1#7'Command'#7#14'ecColumnSelect'#8'Shor' +'nFoldCurrent'#8'ShortCut'#4'+'#160#0#0#0#1#7'Command'#7#18'EcToggleMarkupWo'
+'tCut'#3'C`'#0#1#7'Command'#7#12'ecLineSelect'#8'ShortCut'#3'L`'#0#1#7'Comma' +'rd'#8'ShortCut'#4'M'#128#0#0#0#1#7'Command'#7#14'ecNormalSelect'#8'ShortCut'
+'nd'#7#5'ecTab'#8'ShortCut'#2#9#0#1#7'Command'#7#10'ecShiftTab'#8'ShortCut'#3 +#3'N`'#0#1#7'Command'#7#14'ecColumnSelect'#8'ShortCut'#3'C`'#0#1#7'Command'#7
+#9' '#0#1#7'Command'#7#14'ecMatchBracket'#8'ShortCut'#3'B`'#0#1#7'Command'#7 +#12'ecLineSelect'#8'ShortCut'#3'L`'#0#1#7'Command'#7#5'ecTab'#8'ShortCut'#2#9
+#10'ecColSelUp'#8'ShortCut'#4'&'#160#0#0#0#1#7'Command'#7#12'ecColSelDown'#8 +#0#1#7'Command'#7#10'ecShiftTab'#8'ShortCut'#3#9' '#0#1#7'Command'#7#14'ecMa'
+'ShortCut'#4'('#160#0#0#0#1#7'Command'#7#12'ecColSelLeft'#8'ShortCut'#4'%' +'tchBracket'#8'ShortCut'#3'B`'#0#1#7'Command'#7#10'ecColSelUp'#8'ShortCut'#4
+#160#0#0#0#1#7'Command'#7#13'ecColSelRight'#8'ShortCut'#4''''#160#0#0#0#1#7 +'&'#160#0#0#0#1#7'Command'#7#12'ecColSelDown'#8'ShortCut'#4'('#160#0#0#0#1#7
+'Command'#7#16'ecColSelPageDown'#8'ShortCut'#4'"'#160#0#0#0#1#7'Command'#7#18 +'Command'#7#12'ecColSelLeft'#8'ShortCut'#4'%'#160#0#0#0#1#7'Command'#7#13'ec'
+'ecColSelPageBottom'#8'ShortCut'#4'"'#224#0#0#0#1#7'Command'#7#14'ecColSelPa' +'ColSelRight'#8'ShortCut'#4''''#160#0#0#0#1#7'Command'#7#16'ecColSelPageDown'
+'geUp'#8'ShortCut'#4'!'#160#0#0#0#1#7'Command'#7#15'ecColSelPageTop'#8'Short' +#8'ShortCut'#4'"'#160#0#0#0#1#7'Command'#7#18'ecColSelPageBottom'#8'ShortCut'
+'Cut'#4'!'#224#0#0#0#1#7'Command'#7#17'ecColSelLineStart'#8'ShortCut'#4'$' +#4'"'#224#0#0#0#1#7'Command'#7#14'ecColSelPageUp'#8'ShortCut'#4'!'#160#0#0#0
+#160#0#0#0#1#7'Command'#7#15'ecColSelLineEnd'#8'ShortCut'#4'#'#160#0#0#0#1#7 +#1#7'Command'#7#15'ecColSelPageTop'#8'ShortCut'#4'!'#224#0#0#0#1#7'Command'#7
+'Command'#7#17'ecColSelEditorTop'#8'ShortCut'#4'$'#224#0#0#0#1#7'Command'#7 +#17'ecColSelLineStart'#8'ShortCut'#4'$'#160#0#0#0#1#7'Command'#7#15'ecColSel'
+#20'ecColSelEditorBottom'#8'ShortCut'#4'#'#224#0#0#0#0#12'MouseActions'#14#1 +'LineEnd'#8'ShortCut'#4'#'#160#0#0#0#1#7'Command'#7#17'ecColSelEditorTop'#8
+#5'Shift'#11#0#9'ShiftMask'#11#7'ssShift'#5'ssAlt'#0#6'Button'#7#6'mbLeft'#10 +'ShortCut'#4'$'#224#0#0#0#1#7'Command'#7#20'ecColSelEditorBottom'#8'ShortCut'
+'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#6'cdDown'#7'Command'#2#1#9'MoveCare' +#4'#'#224#0#0#0#0#12'MouseActions'#14#1#5'Shift'#11#0#9'ShiftMask'#11#7'ssSh'
+'t'#9#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#7'ssShift'#0#9'ShiftMask' +'ift'#5'ssAlt'#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#8'ccSingle'#8'ClickD'
+#11#7'ssShift'#5'ssAlt'#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#8'ccSingle' +'ir'#7#6'cdDown'#7'Command'#2#1#9'MoveCaret'#9#6'Option'#2#0#8'Priority'#2#0
+#8'ClickDir'#7#6'cdDown'#7'Command'#2#1#9'MoveCaret'#9#6'Option'#2#1#8'Prior' +#0#1#5'Shift'#11#7'ssShift'#0#9'ShiftMask'#11#7'ssShift'#5'ssAlt'#0#6'Button'
+'ity'#2#0#0#1#5'Shift'#11#5'ssAlt'#0#9'ShiftMask'#11#7'ssShift'#5'ssAlt'#0#6 +#7#6'mbLeft'#10'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#6'cdDown'#7'Command'
+#2#1#9'MoveCaret'#9#6'Option'#2#1#8'Priority'#2#0#0#1#5'Shift'#11#5'ssAlt'#0
+#9'ShiftMask'#11#7'ssShift'#5'ssAlt'#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7
+#8'ccSingle'#8'ClickDir'#7#6'cdDown'#7'Command'#2#3#9'MoveCaret'#9#6'Option'
+#2#0#8'Priority'#2#0#0#1#5'Shift'#11#7'ssShift'#5'ssAlt'#0#9'ShiftMask'#11#7
+'ssShift'#5'ssAlt'#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#8'ccSingle'#8'Cl'
+'ickDir'#7#6'cdDown'#7'Command'#2#3#9'MoveCaret'#9#6'Option'#2#1#8'Priority'
+#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#7'mbRight'#10'ClickCoun'
+'t'#7#8'ccSingle'#8'ClickDir'#7#4'cdUp'#7'Command'#2#12#9'MoveCaret'#8#6'Opt'
+'ion'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#6
+'mbLeft'#10'ClickCount'#7#8'ccDouble'#8'ClickDir'#7#6'cdDown'#7'Command'#2#6
+#9'MoveCaret'#9#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'
+#11#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#8'ccTriple'#8'ClickDir'#7#6'cdD'
+'own'#7'Command'#2#7#9'MoveCaret'#9#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shif'
+'t'#11#0#9'ShiftMask'#11#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#6'ccQuad'#8
+'ClickDir'#7#6'cdDown'#7'Command'#2#8#9'MoveCaret'#9#6'Option'#2#0#8'Priorit'
+'y'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#8'mbMiddle'#10'Click'
+'Count'#7#8'ccSingle'#8'ClickDir'#7#6'cdDown'#7'Command'#2#10#9'MoveCaret'#9
+#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#6'ssCtrl'#0#9'ShiftMask'#11#7
+'ssShift'#5'ssAlt'#6'ssCtrl'#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#8'ccSi'
+'ngle'#8'ClickDir'#7#4'cdUp'#7'Command'#2#11#9'MoveCaret'#8#6'Option'#2#0#8
+'Priority'#2#0#0#0#15'MouseSelActions'#14#1#5'Shift'#11#0#9'ShiftMask'#11#0#6
+'Button'#7#6'mbLeft'#10'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#6'cdDown'#7 +'Button'#7#6'mbLeft'#10'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#6'cdDown'#7
+'Command'#2#3#9'MoveCaret'#9#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#7 +'Command'#2#9#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#0#13'Lines.Stri'
+'ssShift'#5'ssAlt'#0#9'ShiftMask'#11#7'ssShift'#5'ssAlt'#0#6'Button'#7#6'mbL' +'ngs'#1#6#12'program new;'#6#5'begin'#6#4'end.'#0#7'Options'#11#12'eoAutoInd'
+'eft'#10'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#6'cdDown'#7'Command'#2#3#9 +'ent'#11'eoGroupUndo'#15'eoScrollPastEol'#11'eoSmartTabs'#11'eoTabIndent'#14
+'MoveCaret'#9#6'Option'#2#1#8'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11 +'eoTabsToSpaces'#20'eoTrimTrailingSpaces'#18'eoBracketHighlight'#0#21'Bracke'
+#0#6'Button'#7#7'mbRight'#10'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#4'cdUp' +'tHighlightStyle'#7#8'sbhsBoth'#8'OnChange'#7#13'SynEditChange'#16'OnProcess'
+#7'Command'#2#12#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11 +'Command'#7#21'SynEditProcessCommand'#20'OnProcessUserCommand'#7#25'SynEditP'
+#0#9'ShiftMask'#11#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#8'ccDouble'#8'Cl' +'rocessUserCommand'#19'OnSpecialLineColors'#7#24'SynEditSpecialLineColors'#14
+'ickDir'#7#6'cdDown'#7'Command'#2#6#9'MoveCaret'#9#6'Option'#2#0#8'Priority' +'OnStatusChange'#7#19'SynEditStatusChange'#0#244#18'TSynGutterPartList'#0#0
+#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#6'mbLeft'#10'ClickCount' +#15'TSynGutterMarks'#0#5'Width'#2#23#0#0#20'TSynGutterLineNumber'#0#5'Width'
+#7#8'ccTriple'#8'ClickDir'#7#6'cdDown'#7'Command'#2#7#9'MoveCaret'#9#6'Optio' +#2#17#12'MouseActions'#14#0#21'MarkupInfo.Background'#7#9'clBtnFace'#21'Mark'
+'n'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#6'mb' +'upInfo.Foreground'#7#6'clNone'#10'DigitCount'#2#2#30'ShowOnlyLineNumbersMul'
+'Left'#10'ClickCount'#7#6'ccQuad'#8'ClickDir'#7#6'cdDown'#7'Command'#2#8#9'M' +'tiplesOf'#2#1#9'ZeroStart'#8#12'LeadingZeros'#8#0#0#17'TSynGutterChanges'#0
+'oveCaret'#9#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11 +#5'Width'#2#4#13'ModifiedColor'#4#252#233#0#0#10'SavedColor'#7#7'clGreen'#0#0
+#0#6'Button'#7#8'mbMiddle'#10'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#6'cdDo' ,#19'TSynGutterSeparator'#0#5'Width'#2#2#0#0#21'TSynGutterCodeFolding'#0#12'M'
+'wn'#7'Command'#2#10#9'MoveCaret'#9#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shif' +'ouseActions'#14#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#7'mbRight'#10
+'t'#11#6'ssCtrl'#0#9'ShiftMask'#11#7'ssShift'#5'ssAlt'#6'ssCtrl'#0#6'Button' +'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#4'cdUp'#7'Command'#2#16#9'MoveCaret'
+#7#6'mbLeft'#10'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#4'cdUp'#7'Command'#2 +#8#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#7'ssShift'
+#11#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#0#15'MouseSelActions'#14#1
+#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#8'cc'
+'Single'#8'ClickDir'#7#6'cdDown'#7'Command'#2#9#9'MoveCaret'#8#6'Option'#2#0
+#8'Priority'#2#0#0#0#13'Lines.Strings'#1#6#12'program new;'#6#5'begin'#6#4'e'
+'nd.'#0#7'Options'#11#12'eoAutoIndent'#11'eoGroupUndo'#15'eoScrollPastEol'#11
+'eoSmartTabs'#11'eoTabIndent'#14'eoTabsToSpaces'#20'eoTrimTrailingSpaces'#18
+'eoBracketHighlight'#0#21'BracketHighlightStyle'#7#8'sbhsBoth'#8'OnChange'#7
+#13'SynEditChange'#16'OnProcessCommand'#7#21'SynEditProcessCommand'#20'OnPro'
+'cessUserCommand'#7#25'SynEditProcessUserCommand'#19'OnSpecialLineColors'#7
+#24'SynEditSpecialLineColors'#14'OnStatusChange'#7#19'SynEditStatusChange'#0
+#244#18'TSynGutterPartList'#0#0#15'TSynGutterMarks'#0#5'Width'#2#23#0#0#20'T'
+'SynGutterLineNumber'#0#5'Width'#2#17#12'MouseActions'#14#0#21'MarkupInfo.Ba'
+'ckground'#7#9'clBtnFace'#21'MarkupInfo.Foreground'#7#6'clNone'#10'DigitCoun'
+'t'#2#2#30'ShowOnlyLineNumbersMultiplesOf'#2#1#9'ZeroStart'#8#12'LeadingZero'
+'s'#8#0#0#17'TSynGutterChanges'#0#5'Width'#2#4#13'ModifiedColor'#4#252#233#0
+#0#10'SavedColor'#7#7'clGreen'#0#0#19'TSynGutterSeparator'#0#5'Width'#2#2#0#0
+#21'TSynGutterCodeFolding'#0#12'MouseActions'#14#1#5'Shift'#11#0#9'ShiftMask'
,#11#0#6'Button'#7#7'mbRight'#10'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#4'cd'
+'Up'#7'Command'#2#16#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shif'
+'t'#11#0#9'ShiftMask'#11#7'ssShift'#0#6'Button'#7#8'mbMiddle'#10'ClickCount'
+#7#5'ccAny'#8'ClickDir'#7#6'cdDown'#7'Command'#2#14#9'MoveCaret'#8#6'Option'
+#2#0#8'Priority'#2#0#0#1#5'Shift'#11#7'ssShift'#0#9'ShiftMask'#11#7'ssShift'
+#0#6'Button'#7#8'mbMiddle'#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6'cdDown' +#0#6'Button'#7#8'mbMiddle'#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6'cdDown'
+#7'Command'#2#14#9'MoveCaret'#8#6'Option'#2#1#8'Priority'#2#0#0#1#5'Shift'#11 +#7'Command'#2#14#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11
+#0#9'ShiftMask'#11#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#5'ccAny'#8'Click' +#7'ssShift'#0#9'ShiftMask'#11#7'ssShift'#0#6'Button'#7#8'mbMiddle'#10'ClickC'
+'Dir'#7#6'cdDown'#7'Command'#2#0#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0 +'ount'#7#5'ccAny'#8'ClickDir'#7#6'cdDown'#7'Command'#2#14#9'MoveCaret'#8#6'O'
+#0#0#21'MarkupInfo.Background'#7#6'clNone'#21'MarkupInfo.Foreground'#7#6'clG' +'ption'#2#1#8'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#6
+'ray'#20'MouseActionsExpanded'#14#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button' +'mbLeft'#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6'cdDown'#7'Command'#2#0#9
+#7#6'mbLeft'#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6'cdDown'#7'Command'#2 +'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#0#21'MarkupInfo.Background'#7#6
+#14#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#0#21'MouseActionsCollapse' +'clNone'#21'MarkupInfo.Foreground'#7#6'clGray'#20'MouseActionsExpanded'#14#1
+'d'#14#1#5'Shift'#11#6'ssCtrl'#0#9'ShiftMask'#11#6'ssCtrl'#0#6'Button'#7#6'm' +#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#5'cc'
+'bLeft'#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6'cdDown'#7'Command'#2#15#9 +'Any'#8'ClickDir'#7#6'cdDown'#7'Command'#2#14#9'MoveCaret'#8#6'Option'#2#0#8
+'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11 +'Priority'#2#0#0#0#21'MouseActionsCollapsed'#14#1#5'Shift'#11#6'ssCtrl'#0#9
+#6'ssCtrl'#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6 +'ShiftMask'#11#6'ssCtrl'#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#5'ccAny'#8
+'cdDown'#7'Command'#2#15#9'MoveCaret'#8#6'Option'#2#1#8'Priority'#2#0#0#0#0#0 +'ClickDir'#7#6'cdDown'#7'Command'#2#15#9'MoveCaret'#8#6'Option'#2#0#8'Priori'
+#0#0#17'TSynFreePascalSyn'#17'SynFreePascalSyn1'#7'Enabled'#8#23'CommentAttr' +'ty'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#6'ssCtrl'#0#6'Button'#7#6'mbLeft'
+'i.Foreground'#7#6'clBlue'#18'CommentAttri.Style'#11#6'fsBold'#0#26'Identifi' +#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6'cdDown'#7'Command'#2#15#9'MoveCar'
+'erAttri.Foreground'#7#9'clDefault'#22'NumberAttri.Foreground'#7#6'clNavy'#22 +'et'#8#6'Option'#2#1#8'Priority'#2#0#0#0#0#0#0#0#17'TSynFreePascalSyn'#17'Sy'
+'StringAttri.Foreground'#7#6'clBlue'#22'SymbolAttri.Foreground'#7#5'clRed'#25 +'nFreePascalSyn1'#7'Enabled'#8#23'CommentAttri.Foreground'#7#6'clBlue'#18'Co'
+'DirectiveAttri.Foreground'#7#5'clRed'#20'DirectiveAttri.Style'#11#6'fsBold' +'mmentAttri.Style'#11#6'fsBold'#0#26'IdentifierAttri.Foreground'#7#9'clDefau'
+#0#12'CompilerMode'#7#9'pcmObjFPC'#14'NestedComments'#9#4'left'#3'@'#1#3'top' +'lt'#22'NumberAttri.Foreground'#7#6'clNavy'#22'StringAttri.Foreground'#7#6'c'
+#2#16#0#0#0 +'lBlue'#22'SymbolAttri.Foreground'#7#5'clRed'#25'DirectiveAttri.Foreground'#7
+#5'clRed'#20'DirectiveAttri.Style'#11#6'fsBold'#0#12'CompilerMode'#7#9'pcmOb'
+'jFPC'#14'NestedComments'#9#4'left'#3'@'#1#3'top'#2#16#0#0#0
]); ]);

View File

@ -28,7 +28,8 @@ interface
uses uses
Classes, SysUtils, FileUtil, LResources, Forms, SynHighlighterPas, SynEdit, SynEditMarkupHighAll, Classes, SysUtils, FileUtil, LResources, Forms, SynHighlighterPas, SynEdit, SynEditMarkupHighAll,
mmlpsthread,ComCtrls, SynEditKeyCmds, LCLType,MufasaBase, SynEditMarkupSpecialLine, Graphics, Controls; mmlpsthread,ComCtrls, SynEditKeyCmds, LCLType,MufasaBase, SynEditMarkupSpecialLine, Graphics, Controls,
v_ideCodeInsight, v_ideCodeParser, CastaliaPasLexTypes, CastaliaSimplePasPar, SynEditHighlighter;
const const
ecCodeCompletion = ecUserFirst; ecCodeCompletion = ecUserFirst;
type type
@ -46,11 +47,16 @@ type
SynEdit: TSynEdit; SynEdit: TSynEdit;
SynFreePascalSyn1: TSynFreePascalSyn; SynFreePascalSyn1: TSynFreePascalSyn;
procedure SynEditChange(Sender: TObject); procedure SynEditChange(Sender: TObject);
procedure SynEditClickLink(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure SynEditDragDrop(Sender, Source: TObject; X, Y: Integer); procedure SynEditDragDrop(Sender, Source: TObject; X, Y: Integer);
procedure SynEditDragOver(Sender, Source: TObject; X, Y: Integer; procedure SynEditDragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean); State: TDragState; var Accept: Boolean);
procedure SynEditKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState procedure SynEditKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState
); );
procedure SynEditKeyPress(Sender: TObject; var Key: char);
procedure SynEditMouseLink(Sender: TObject; X, Y: Integer;
var AllowMouseLink: Boolean);
procedure SynEditProcessCommand(Sender: TObject; procedure SynEditProcessCommand(Sender: TObject;
var Command: TSynEditorCommand; var AChar: TUTF8Char; Data: pointer); var Command: TSynEditorCommand; var AChar: TUTF8Char; Data: pointer);
procedure SynEditProcessUserCommand(Sender: TObject; procedure SynEditProcessUserCommand(Sender: TObject;
@ -81,10 +87,43 @@ type
{ public declarations } { public declarations }
end; end;
function WordAtCaret(e: TSynEdit; var sp, ep: Integer; Start: Integer = -1): string;
implementation implementation
uses uses
TestUnit, SynEditTypes, LCLIntF, StrUtils,framefunctionlist; TestUnit, SynEditTypes, LCLIntF, StrUtils,framefunctionlist;
function WordAtCaret(e: TSynEdit; var sp, ep: Integer; Start: Integer = -1): string;
var
s: string;
l: Integer;
begin
Result := '';
if (Start = -1) then
Start := e.CaretX;
sp := Start - 1;
ep := Start - 1;
s := e.Lines[e.CaretY - 1];
l := Length(s);
//if (sp > l) then
// Dec(sp);
if (sp < 1) or (sp > l) or (not (s[sp] in ['a'..'z', 'A'..'Z', '0'..'9', '_'])) then
begin
Inc(sp);
Inc(ep);
if (sp < 1) or (sp > l) or (not (s[sp] in ['a'..'z', 'A'..'Z', '0'..'9', '_'])) then
Exit('');
end;
while (sp > 1) and (sp <= l) and (s[sp - 1] in ['a'..'z', 'A'..'Z', '0'..'9', '_']) do
Dec(sp);
while (ep >= 1) and (ep < l) and (s[ep + 1] in ['a'..'z', 'A'..'Z', '0'..'9', '_']) do
Inc(ep);
Result := Copy(s, sp, ep - sp + 1);
end;
{ TScriptFrame } { TScriptFrame }
procedure TScriptFrame.SynEditChange(Sender: TObject); procedure TScriptFrame.SynEditChange(Sender: TObject);
@ -98,6 +137,44 @@ begin
end; end;
end; end;
procedure TScriptFrame.SynEditClickLink(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
mp: TCodeInsight;
ms: TMemoryStream;
d: TDeclaration;
sp, ep: Integer;
begin
mp := TCodeInsight.Create;
mp.OnMessage := @Form1.OnCCMessage;
mp.OnFindInclude := @Form1.OnCCFindInclude;
ms := TMemoryStream.Create;
SynEdit.Lines.SaveToStream(ms);
try
SynEdit.GetWordBoundsAtRowCol(SynEdit.CaretXY, sp, ep);
mp.Run(ms);
mp.Position := SynEdit.SelStart + (ep - SynEdit.CaretX) - 1;
d := mp.FindVarBase(mp.GetExpressionAtPos);
if (d <> nil) then
begin
if (TCodeInsight(d.Parser).FileName <> mp.FileName) then
mDebugLn('Declared in "' + TCodeInsight(d.Parser).FileName + '" at ' + IntToStr(d.StartPos))
else
begin
SynEdit.SelStart := d.StartPos + 1;
SynEdit.SelEnd := d.StartPos + Length(TrimRight(d.RawText)) + 1;
end;
end;
finally
FreeAndNil(ms);
FreeAndNil(mp);
end;
end;
procedure TScriptFrame.SynEditDragDrop(Sender, Source: TObject; X, Y: Integer); procedure TScriptFrame.SynEditDragDrop(Sender, Source: TObject; X, Y: Integer);
begin begin
if Source is TFunctionListFrame then if Source is TFunctionListFrame then
@ -125,6 +202,22 @@ begin
Form1.ActionFindNextExecute(Sender); Form1.ActionFindNextExecute(Sender);
key := 0; key := 0;
end; end;
Form1.CodeCompletionForm.HandleKeyDown(Sender, Key, Shift);
end;
procedure TScriptFrame.SynEditKeyPress(Sender: TObject; var Key: char);
begin
Form1.CodeCompletionForm.HandleKeyPress(Sender, Key);
end;
procedure TScriptFrame.SynEditMouseLink(Sender: TObject; X, Y: Integer;
var AllowMouseLink: Boolean);
var
s: string;
Attri: TSynHighlighterAttributes;
begin
AllowMouseLink := SynEdit.GetHighlighterAttriAtRowCol(Point(X, Y), s, Attri) and (Attri.Name = 'Identifier');
end; end;
procedure TScriptFrame.SynEditProcessCommand(Sender: TObject; procedure TScriptFrame.SynEditProcessCommand(Sender: TObject;
@ -144,14 +237,22 @@ end;
procedure TScriptFrame.SynEditProcessUserCommand(Sender: TObject; procedure TScriptFrame.SynEditProcessUserCommand(Sender: TObject;
var Command: TSynEditorCommand; var AChar: TUTF8Char; Data: pointer); var Command: TSynEditorCommand; var AChar: TUTF8Char; Data: pointer);
var {var
LineText,SearchText : string; LineText,SearchText : string;
Caret : TPoint; Caret : TPoint;
i,endI : integer; i,endI : integer;}
var
mp: TCodeInsight;
ms: TMemoryStream;
ItemList, InsertList: TStringList;
sp, ep: Integer;
p: TPoint;
s, Filter: string;
Attri: TSynHighlighterAttributes;
begin begin
if Command = ecCodeCompletion then if (Command = ecCodeCompletion) and ((not SynEdit.GetHighlighterAttriAtRowCol(SynEdit.CaretXY, s, Attri)) or (Attri.Name = 'Identifier')) then
begin begin
form1.FunctionListShown(True); {form1.FunctionListShown(True);
with form1.frmFunctionList do with form1.frmFunctionList do
if editSearchList.CanFocus then if editSearchList.CanFocus then
begin; begin;
@ -187,8 +288,63 @@ begin
SynEdit.SelectedColor.Foreground:= clBlack; SynEdit.SelectedColor.Foreground:= clBlack;
SynEdit.SelectedColor.Background:= clWhite; SynEdit.SelectedColor.Background:= clWhite;
Synedit.MarkupByClass[TSynEditMarkupHighlightAllCaret].TempDisable; Synedit.MarkupByClass[TSynEditMarkupHighlightAllCaret].TempDisable;
end;}
mp := TCodeInsight.Create;
mp.OnMessage := @Form1.OnCCMessage;
mp.OnFindInclude := @Form1.OnCCFindInclude;
ms := TMemoryStream.Create;
ItemList := TStringList.Create;
InsertList := TStringList.Create;
InsertList.Sorted := True;
Synedit.Lines.SaveToStream(ms);
try
Filter := WordAtCaret(Synedit, sp, ep);
Form1.CodeCompletionStart := Point(sp, Synedit.CaretY);
mp.Run(ms, nil, Synedit.SelStart + (ep - Synedit.CaretX) - 1);
s := mp.GetExpressionAtPos;
if (s <> '') then
begin
sp := LastDelimiter('.', s);
if (sp > 0) then
Delete(s, sp, Length(s) - sp + 1)
else
s := '';
end; end;
mp.FillSynCompletionProposal(ItemList, InsertList, s);
p := SynEdit.ClientToScreen(SynEdit.RowColumnToPixels(Point(ep, SynEdit.CaretY)));
p.y := p.y + SynEdit.LineHeight;
Form1.CodeCompletionForm.Show(p, ItemList, InsertList, Filter, SynEdit);
finally
FreeAndNil(ms);
FreeAndNil(mp);
ItemList.Free;
InsertList.Free;
end;
end; end;
if Form1.CodeCompletionForm.Visible then
case Command of
ecDeleteChar, ecDeleteWord, ecDeleteEOL:
begin
if (SynEdit.CaretY = Form1.CodeCompletionStart.y) then
begin
//e.GetWordBoundsAtRowCol(acp_start, sp, ep);
s := WordAtCaret(SynEdit, sp, ep, Form1.CodeCompletionStart.x);
if (SynEdit.CaretX >= Form1.CodeCompletionStart.x) and (SynEdit.CaretX <= ep) then
begin
Form1.CodeCompletionForm.ListBox.Filter := s;
Exit;
end;
end;
Form1.CodeCompletionForm.Hide;
end;
end;
end; end;
procedure TScriptFrame.SynEditSpecialLineColors(Sender: TObject; procedure TScriptFrame.SynEditSpecialLineColors(Sender: TObject;
@ -204,6 +360,9 @@ end;
procedure TScriptFrame.SynEditStatusChange(Sender: TObject; procedure TScriptFrame.SynEditStatusChange(Sender: TObject;
Changes: TSynStatusChanges); Changes: TSynStatusChanges);
var
sp, ep: Integer;
s: string;
begin begin
{$IFDEF UpdateEditButtons} {$IFDEF UpdateEditButtons}
if scSelection in changes then if scSelection in changes then
@ -213,8 +372,25 @@ begin
form1.TT_Paste.Enabled:= SynEdit.CanPaste; form1.TT_Paste.Enabled:= SynEdit.CanPaste;
end; end;
{$ENDIF} {$ENDIF}
end;
if Form1.CodeCompletionForm.Visible then
if (scAll in Changes) or (scTopLine in Changes) then
Form1.CodeCompletionForm.Visible := False
else if (scCaretX in Changes) or (scCaretY in Changes) or (scSelection in Changes) or (scModified in Changes) then
begin
if (SynEdit.CaretY = Form1.CodeCompletionStart.y) then
begin
s := WordAtCaret(SynEdit, sp, ep, Form1.CodeCompletionStart.x);
if (SynEdit.CaretX >= Form1.CodeCompletionStart.x) and (SynEdit.CaretX - 1 <= ep) then
begin
Form1.CodeCompletionForm.ListBox.Filter := s;
Exit;
end;
end;
Form1.CodeCompletionForm.Hide;
end;
end;
procedure TScriptFrame.undo; procedure TScriptFrame.undo;
begin begin

View File

@ -207,8 +207,8 @@ object Form1: TForm1
end end
object StatusBar: TStatusBar object StatusBar: TStatusBar
Left = 0 Left = 0
Height = 23 Height = 22
Top = 512 Top = 513
Width = 739 Width = 739
Panels = < Panels = <
item item
@ -230,7 +230,7 @@ object Form1: TForm1
object PanelMemo: TPanel object PanelMemo: TPanel
Left = 0 Left = 0
Height = 154 Height = 154
Top = 358 Top = 359
Width = 739 Width = 739
Align = alBottom Align = alBottom
ClientHeight = 154 ClientHeight = 154
@ -250,19 +250,19 @@ object Form1: TForm1
Cursor = crVSplit Cursor = crVSplit
Left = 0 Left = 0
Height = 5 Height = 5
Top = 353 Top = 354
Width = 739 Width = 739
Align = alBottom Align = alBottom
ResizeAnchor = akBottom ResizeAnchor = akBottom
end end
object ScriptPanel: TPanel object ScriptPanel: TPanel
Left = 0 Left = 0
Height = 329 Height = 330
Top = 24 Top = 24
Width = 739 Width = 739
Align = alClient Align = alClient
BevelOuter = bvNone BevelOuter = bvNone
ClientHeight = 329 ClientHeight = 330
ClientWidth = 739 ClientWidth = 739
DockSite = True DockSite = True
TabOrder = 4 TabOrder = 4
@ -270,7 +270,7 @@ object Form1: TForm1
OnDockOver = ScriptPanelDockOver OnDockOver = ScriptPanelDockOver
object PageControl1: TPageControl object PageControl1: TPageControl
Left = 155 Left = 155
Height = 294 Height = 295
Top = 0 Top = 0
Width = 584 Width = 584
Align = alClient Align = alClient
@ -289,7 +289,7 @@ object Form1: TForm1
object SearchPanel: TPanel object SearchPanel: TPanel
Left = 0 Left = 0
Height = 35 Height = 35
Top = 294 Top = 295
Width = 739 Width = 739
Align = alBottom Align = alBottom
BevelOuter = bvSpace BevelOuter = bvSpace
@ -385,7 +385,7 @@ object Form1: TForm1
end end
object LabeledEditSearch: TLabeledEdit object LabeledEditSearch: TLabeledEdit
Left = 104 Left = 104
Height = 21 Height = 23
Top = 6 Top = 6
Width = 174 Width = 174
EditLabel.AnchorSideLeft.Control = LabeledEditSearch EditLabel.AnchorSideLeft.Control = LabeledEditSearch
@ -393,10 +393,10 @@ object Form1: TForm1
EditLabel.AnchorSideTop.Side = asrCenter EditLabel.AnchorSideTop.Side = asrCenter
EditLabel.AnchorSideRight.Control = LabeledEditSearch EditLabel.AnchorSideRight.Control = LabeledEditSearch
EditLabel.AnchorSideBottom.Control = LabeledEditSearch EditLabel.AnchorSideBottom.Control = LabeledEditSearch
EditLabel.Left = 73 EditLabel.Left = 71
EditLabel.Height = 14 EditLabel.Height = 16
EditLabel.Top = 9 EditLabel.Top = 9
EditLabel.Width = 28 EditLabel.Width = 30
EditLabel.Caption = 'Find: ' EditLabel.Caption = 'Find: '
EditLabel.ParentColor = False EditLabel.ParentColor = False
LabelPosition = lpLeft LabelPosition = lpLeft
@ -409,9 +409,9 @@ object Form1: TForm1
end end
object CheckBoxMatchCase: TCheckBox object CheckBoxMatchCase: TCheckBox
Left = 320 Left = 320
Height = 17 Height = 19
Top = 7 Top = 7
Width = 72 Width = 80
Caption = 'Match case' Caption = 'Match case'
OnClick = CheckBoxMatchCaseClick OnClick = CheckBoxMatchCaseClick
TabOrder = 1 TabOrder = 1
@ -419,28 +419,28 @@ object Form1: TForm1
end end
object SplitterFunctionList: TSplitter object SplitterFunctionList: TSplitter
Left = 150 Left = 150
Height = 294 Height = 295
Top = 0 Top = 0
Width = 5 Width = 5
OnCanResize = SplitterFunctionListCanResize OnCanResize = SplitterFunctionListCanResize
Visible = False Visible = False
end end
inline frmFunctionList: TFunctionListFrame inline frmFunctionList: TFunctionListFrame
Height = 294 Height = 295
Width = 150 Width = 150
ClientHeight = 294 ClientHeight = 295
ClientWidth = 150 ClientWidth = 150
OnEndDock = nil OnEndDock = nil
TabOrder = 3 TabOrder = 3
inherited FunctionList: TTreeView inherited FunctionList: TTreeView
Height = 255 Height = 252
Width = 150 Width = 150
OnChange = FunctionListChange OnChange = FunctionListChange
OnEnter = FunctionListEnter OnEnter = FunctionListEnter
OnExit = FunctionListExit OnExit = FunctionListExit
end end
inherited editSearchList: TEdit inherited editSearchList: TEdit
Top = 273 Top = 272
Width = 150 Width = 150
OnExit = editSearchListExit OnExit = editSearchListExit
OnKeyDown = editSearchListKeyDown OnKeyDown = editSearchListKeyDown

File diff suppressed because it is too large Load Diff

View File

@ -42,7 +42,7 @@ uses
SynEditMarkupHighAll, LMessages, Buttons, SynEditMarkupHighAll, LMessages, Buttons,
stringutil,mufasatypesutil,mufasabase, stringutil,mufasatypesutil,mufasabase,
about, framefunctionlist, ocr, updateform, simbasettings, psextension, virtualextension, about, framefunctionlist, ocr, updateform, simbasettings, psextension, virtualextension,
extensionmanager, settingssandbox; extensionmanager, settingssandbox, v_ideCodeInsight, v_ideCodeParser, CastaliaPasLexTypes, CastaliaSimplePasPar, v_AutoCompleteForm, PSDump;
const const
SimbaVersion = 587; SimbaVersion = 587;
@ -314,6 +314,10 @@ type
procedure TT_UpdateClick(Sender: TObject); procedure TT_UpdateClick(Sender: TObject);
procedure UpdateMenuButtonClick(Sender: TObject); procedure UpdateMenuButtonClick(Sender: TObject);
procedure UpdateTimerCheck(Sender: TObject); procedure UpdateTimerCheck(Sender: TObject);
procedure OnCCMessage(Sender: TObject; const Typ: TMessageEventType; const Msg: string; X, Y: Integer);
procedure OnCompleteCode(Str: string);
function OnCCFindInclude(Sender: TObject; var FileName: string): Boolean;
private private
PopupTab : integer; PopupTab : integer;
RecentFileItems : array of TMenuItem; RecentFileItems : array of TMenuItem;
@ -330,6 +334,8 @@ type
SearchString : string; SearchString : string;
CurrScript : TScriptFrame; //The current scriptframe CurrScript : TScriptFrame; //The current scriptframe
CurrTab : TMufasaTab; //The current TMufasaTab CurrTab : TMufasaTab; //The current TMufasaTab
CodeCompletionForm: TAutoCompletePopup;
CodeCompletionStart: TPoint;
Tabs : TList; Tabs : TList;
Manager: TIOManager; Manager: TIOManager;
OCR_Fonts: TMOCR; OCR_Fonts: TMOCR;
@ -427,8 +433,41 @@ end;
var var
DebugCriticalSection: syncobjs.TCriticalSection; DebugCriticalSection: syncobjs.TCriticalSection;
procedure TForm1.ProcessDebugStream(Sender: TObject); procedure TForm1.OnCCMessage(Sender: TObject; const Typ: TMessageEventType; const Msg: string; X, Y: Integer);
begin
if (Typ = meNotSupported) then
Exit;
if (Sender is TmwSimplePasPar) then
if (TmwSimplePasPar(Sender).Lexer.TokenID = tok_DONE) then
Exit;
mDebugLn('ERROR: '+Format('%d:%d %s', [Y + 1, X, Msg])+' in '+TCodeInsight(Sender).FileName);
end;
procedure TForm1.OnCompleteCode(Str: string);
var
sp, ep: Integer;
s: string;
begin
if (Str <> '') then
begin
s := WordAtCaret(CurrScript.SynEdit, sp, ep);
if (s <> '') then
begin
CurrScript.SynEdit.SelStart := CurrScript.SynEdit.SelStart + (sp - CurrScript.SynEdit.CaretX);
CurrScript.SynEdit.SelEnd := CurrScript.SynEdit.SelStart + (ep - CurrScript.SynEdit.CaretX) + 1;
CurrScript.SynEdit.SelText := Str;
end
else
CurrScript.SynEdit.InsertTextAtCaret(Str);
end;
end;
function TForm1.OnCCFindInclude(Sender: TObject; var FileName: string): Boolean;
begin
Result := False;
end;
procedure TForm1.ProcessDebugStream(Sender: TObject);
begin begin
if length(DebugStream) = 0 then if length(DebugStream) = 0 then
Exit; Exit;
@ -1482,6 +1521,7 @@ end;
procedure TForm1.StopCodeCompletion; procedure TForm1.StopCodeCompletion;
begin begin
CodeCompletionForm.Hide;
if frmFunctionList.InCodeCompletion then if frmFunctionList.InCodeCompletion then
with CurrScript,frmFunctionList do with CurrScript,frmFunctionList do
begin; begin;
@ -1699,6 +1739,11 @@ begin
MainDir:= ExtractFileDir(Application.ExeName); MainDir:= ExtractFileDir(Application.ExeName);
RecentFiles := TStringList.Create; RecentFiles := TStringList.Create;
SimbaSettingsFile := MainDir + DS + 'settings.xml'; SimbaSettingsFile := MainDir + DS + 'settings.xml';
//AutoCompletionStart := Point(-1, -1);
CodeCompletionForm := TAutoCompletePopup.Create(Self);
CodeCompletionForm.InsertProc := @OnCompleteCode;
{$ifdef MSWindows} {$ifdef MSWindows}
ConsoleVisible := True; ConsoleVisible := True;
PrevWndProc := Windows.WNDPROC(GetWindowLong(self.handle,GWL_WNDPROC)); PrevWndProc := Windows.WNDPROC(GetWindowLong(self.handle,GWL_WNDPROC));
@ -1748,7 +1793,6 @@ begin
FirstRun := true;//Our next run is the first run. FirstRun := true;//Our next run is the first run.
HandleParameters; HandleParameters;
TT_Update.Visible:= false; TT_Update.Visible:= false;
end; end;
procedure TForm1.FormDestroy(Sender: TObject); procedure TForm1.FormDestroy(Sender: TObject);