Martijn Laan 1 سال پیش
والد
کامیت
b823466072
2فایلهای تغییر یافته به همراه35 افزوده شده و 38 حذف شده
  1. 26 26
      Components/ScintStylerInnoSetup.pas
  2. 9 12
      Projects/Src/CompForm.pas

+ 26 - 26
Components/ScintStylerInnoSetup.pas

@@ -160,31 +160,31 @@ type
   end;
   end;
 
 
 type
 type
-  TNameValue = record
+  TSectionMapItem = record
     Name: TScintRawString;
     Name: TScintRawString;
-    Value: TInnoSetupStylerSection;
+    Section: TInnoSetupStylerSection;
   end;
   end;
 
 
 const
 const
-  SectionMap: array[0..17] of TNameValue = (
-    (Name: 'Code'; Value: scCode),
-    (Name: 'Components'; Value: scComponents),
-    (Name: 'CustomMessages'; Value: scCustomMessages),
-    (Name: 'Dirs'; Value: scDirs),
-    (Name: 'Files'; Value: scFiles),
-    (Name: 'Icons'; Value: scIcons),
-    (Name: 'INI'; Value: scINI),
-    (Name: 'InstallDelete'; Value: scInstallDelete),
-    (Name: 'LangOptions'; Value: scLangOptions),
-    (Name: 'Languages'; Value: scLanguages),
-    (Name: 'Messages'; Value: scMessages),
-    (Name: 'Registry'; Value: scRegistry),
-    (Name: 'Run'; Value: scRun),
-    (Name: 'Setup'; Value: scSetup),
-    (Name: 'Tasks'; Value: scTasks),
-    (Name: 'Types'; Value: scTypes),
-    (Name: 'UninstallDelete'; Value: scUninstallDelete),
-    (Name: 'UninstallRun'; Value: scUninstallRun));
+  SectionMap: array[0..17] of TSectionMapItem = (
+    (Name: 'Code'; Section: scCode),
+    (Name: 'Components'; Section: scComponents),
+    (Name: 'CustomMessages'; Section: scCustomMessages),
+    (Name: 'Dirs'; Section: scDirs),
+    (Name: 'Files'; Section: scFiles),
+    (Name: 'Icons'; Section: scIcons),
+    (Name: 'INI'; Section: scINI),
+    (Name: 'InstallDelete'; Section: scInstallDelete),
+    (Name: 'LangOptions'; Section: scLangOptions),
+    (Name: 'Languages'; Section: scLanguages),
+    (Name: 'Messages'; Section: scMessages),
+    (Name: 'Registry'; Section: scRegistry),
+    (Name: 'Run'; Section: scRun),
+    (Name: 'Setup'; Section: scSetup),
+    (Name: 'Tasks'; Section: scTasks),
+    (Name: 'Types'; Section: scTypes),
+    (Name: 'UninstallDelete'; Section: scUninstallDelete),
+    (Name: 'UninstallRun'; Section: scUninstallRun));
 
 
   ComponentsSectionParameters: array of TScintRawString = [
   ComponentsSectionParameters: array of TScintRawString = [
     'Check',
     'Check',
@@ -831,8 +831,8 @@ procedure TInnoSetupStyler.BuildSectionsWordList;
 begin
 begin
   var SL := TStringList.Create;
   var SL := TStringList.Create;
   try
   try
-    for var NameValue in SectionMap do
-      AddWordToList(SL, '[' + NameValue.Name + ']');
+    for var Section in SectionMap do
+      AddWordToList(SL, '[' + Section.Name + ']');
     FSectionsWordList := BuildWordList(SL);
     FSectionsWordList := BuildWordList(SL);
   finally
   finally
     SL.Free;
     SL.Free;
@@ -1726,9 +1726,9 @@ procedure TInnoSetupStyler.StyleNeeded;
       Result := scThirdParty
       Result := scThirdParty
     else begin
     else begin
       Result := scUnknown;
       Result := scUnknown;
-      for var NameValue in SectionMap do
-        if SameRawText(S, NameValue.Name) then begin
-          Result := NameValue.Value;
+      for var Section in SectionMap do
+        if SameRawText(S, Section.Name) then begin
+          Result := Section.Section;
           Break;
           Break;
         end;
         end;
     end;
     end;

+ 9 - 12
Projects/Src/CompForm.pas

@@ -73,10 +73,6 @@ type
     StartCallTipWord: Integer;
     StartCallTipWord: Integer;
     FunctionDefinition: AnsiString;
     FunctionDefinition: AnsiString;
     BraceCount: Integer;
     BraceCount: Integer;
-    //the following don't need to be in here if support for multiple calltips isn't added ultimately
-    CurrentCallTipWord: String;
-    LastPosCallTip: Integer;
-    ClassFunction: Boolean;
   end;
   end;
 
 
   TCompileForm = class(TUIStateForm)
   TCompileForm = class(TUIStateForm)
@@ -5018,7 +5014,7 @@ begin
 
 
   { StartAutoComplete }
   { StartAutoComplete }
 
 
-  FCallTipState.CurrentCallTipWord := '';
+  var CurrentCallTipWord := '';
   var Line := FActiveMemo.CaretLineText;
   var Line := FActiveMemo.CaretLineText;
   var Current := FActiveMemo.CaretPositionInLine;
   var Current := FActiveMemo.CaretPositionInLine;
   var CalltipWordCharacters := FActiveMemo.GetWordCharsAsSet;
   var CalltipWordCharacters := FActiveMemo.GetWordCharsAsSet;
@@ -5052,27 +5048,28 @@ begin
   {$ZEROBASEDSTRINGS ON}
   {$ZEROBASEDSTRINGS ON}
 	while (FCallTipState.StartCalltipWord > 0) and CharInSet(Line[FCallTipState.StartCalltipWord-1], CalltipWordCharacters) do
 	while (FCallTipState.StartCalltipWord > 0) and CharInSet(Line[FCallTipState.StartCalltipWord-1], CalltipWordCharacters) do
     Dec(FCallTipState.StartCallTipWord);
     Dec(FCallTipState.StartCallTipWord);
-  FCallTipState.ClassFunction := (FCallTipState.StartCalltipWord > 0) and (Line[FCallTipState.StartCalltipWord-1] = '.');
+  var ClassFunction := (FCallTipState.StartCalltipWord > 0) and (Line[FCallTipState.StartCalltipWord-1] = '.');
   {$ZEROBASEDSTRINGS OFF}
   {$ZEROBASEDSTRINGS OFF}
 
 
   SetLength(Line, Current);
   SetLength(Line, Current);
-  FCallTipState.CurrentCallTipWord := Line.Substring(FCallTipState.StartCallTipWord); { Substring is zero-based }
+  CurrentCallTipWord := Line.Substring(FCallTipState.StartCallTipWord); { Substring is zero-based }
 
 
   FCallTipState.FunctionDefinition := '';
   FCallTipState.FunctionDefinition := '';
 
 
-  { FillFunctionDefinition }
+  { FillFunctionDefinition - if this is separated for multiple calltips support like in SciTE then the following vars
+    need to be moved into FCallTipState: CurrentCallTipWord, ClassFunction, LastPosCallTip }
 
 
-  FCallTipState.LastPosCallTip := Pos;
+  var LastPosCallTip := Pos;
 
 
   // Should get current api definition
   // Should get current api definition
   var Word: AnsiString;
   var Word: AnsiString;
-  if not FCallTipState.ClassFunction then
-    Word := FMemosStyler.ScriptFunctionDefinition[FCallTipState.CurrentCallTipWord]
+  if not ClassFunction then
+    Word := FMemosStyler.ScriptFunctionDefinition[CurrentCallTipWord]
   else
   else
     Word := '';
     Word := '';
   if Word <> '' then begin
   if Word <> '' then begin
     FCallTipState.FunctionDefinition := Word;
     FCallTipState.FunctionDefinition := Word;
-    FActiveMemo.ShowCallTip(FCallTipState.LastPosCallTip - Length(FCallTipState.CurrentCallTipWord), FCallTipState.FunctionDefinition);
+    FActiveMemo.ShowCallTip(LastPosCallTip - Length(CurrentCallTipWord), FCallTipState.FunctionDefinition);
     ContinueCallTip;
     ContinueCallTip;
   end;
   end;
 end;
 end;