mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-19 11:49:15 +02:00
* fixes from gabor
This commit is contained in:
parent
cb52b0ac0a
commit
f58e010de1
@ -231,7 +231,7 @@ procedure DoneGDBWindow;
|
||||
procedure InitBreakpoints;
|
||||
procedure DoneBreakpoints;
|
||||
procedure InitWatches;
|
||||
procedure DoneWatches;
|
||||
procedure DoneWatches;
|
||||
|
||||
implementation
|
||||
|
||||
@ -315,10 +315,14 @@ end;
|
||||
|
||||
procedure TDebugController.Continue;
|
||||
begin
|
||||
{$ifdef NODEBUG}
|
||||
NoDebugger;
|
||||
{$else}
|
||||
if not debuggee_started then
|
||||
Run
|
||||
else
|
||||
inherited Continue;
|
||||
{$endif NODEBUG}
|
||||
end;
|
||||
|
||||
procedure TDebugController.UntilReturn;
|
||||
@ -921,26 +925,26 @@ begin
|
||||
end;
|
||||
|
||||
(* function TBreakpointListBox.AddModuleName(const Name: string): PString;
|
||||
var P: PString;
|
||||
var P: PString;
|
||||
begin
|
||||
if ModuleNames<>nil then
|
||||
P:=ModuleNames^.Add(Name)
|
||||
else
|
||||
P:=nil;
|
||||
P:=nil;
|
||||
AddModuleName:=P;
|
||||
end; *)
|
||||
|
||||
function TBreakpointListBox.GetText(Item,MaxLen: Sw_Integer): String;
|
||||
var P: PBreakpointItem;
|
||||
S: string;
|
||||
S: string;
|
||||
begin
|
||||
P:=List^.At(Item);
|
||||
P:=List^.At(Item);
|
||||
S:=P^.GetText(MaxLen);
|
||||
GetText:=copy(S,1,MaxLen);
|
||||
end;
|
||||
|
||||
|
||||
procedure TBreakpointListBox.Clear;
|
||||
begin
|
||||
begin
|
||||
if assigned(List) then
|
||||
Dispose(List, Done);
|
||||
List:=nil;
|
||||
@ -1058,12 +1062,12 @@ var
|
||||
B: TDrawBuffer;
|
||||
Text: String;
|
||||
SCOff: Byte;
|
||||
TC: byte;
|
||||
procedure MT(var C: word); begin if TC<>0 then C:=(C and $ff0f) or (TC and $f0); end;
|
||||
TC: byte;
|
||||
procedure MT(var C: word); begin if TC<>0 then C:=(C and $ff0f) or (TC and $f0); end;
|
||||
begin
|
||||
if (Owner<>nil) then TC:=ord(Owner^.GetColor(6)) else TC:=0;
|
||||
if State and (sfSelected + sfActive) = (sfSelected + sfActive) then
|
||||
begin
|
||||
begin
|
||||
NormalColor := GetColor(1);
|
||||
FocusedColor := GetColor(3);
|
||||
SelectedColor := GetColor(4);
|
||||
@ -1073,19 +1077,19 @@ begin
|
||||
SelectedColor := GetColor(4);
|
||||
end;
|
||||
if Transparent then
|
||||
begin MT(NormalColor); MT(SelectedColor); end;
|
||||
begin MT(NormalColor); MT(SelectedColor); end;
|
||||
if NoSelection then
|
||||
SelectedColor:=NormalColor;
|
||||
if HScrollBar <> nil then Indent := HScrollBar^.Value
|
||||
else Indent := 0;
|
||||
ColWidth := Size.X div NumCols + 1;
|
||||
for I := 0 to Size.Y - 1 do
|
||||
ColWidth := Size.X div NumCols + 1;
|
||||
for I := 0 to Size.Y - 1 do
|
||||
begin
|
||||
for J := 0 to NumCols-1 do
|
||||
begin
|
||||
Item := J*Size.Y + I + TopItem;
|
||||
CurCol := J*ColWidth;
|
||||
if (State and (sfSelected + sfActive) = (sfSelected + sfActive)) and
|
||||
if (State and (sfSelected + sfActive) = (sfSelected + sfActive)) and
|
||||
(Focused = Item) and (Range > 0) then
|
||||
begin
|
||||
Color := FocusedColor;
|
||||
@ -1094,15 +1098,15 @@ begin
|
||||
end
|
||||
else if (Item < Range) and IsSelected(Item) then
|
||||
begin
|
||||
Color := SelectedColor;
|
||||
SCOff := 2;
|
||||
Color := SelectedColor;
|
||||
SCOff := 2;
|
||||
end
|
||||
else
|
||||
begin
|
||||
Color := NormalColor;
|
||||
begin
|
||||
Color := NormalColor;
|
||||
SCOff := 4;
|
||||
end;
|
||||
MoveChar(B[CurCol], ' ', Color, ColWidth);
|
||||
MoveChar(B[CurCol], ' ', Color, ColWidth);
|
||||
if Item < Range then
|
||||
begin
|
||||
Text := GetText(Item, ColWidth + Indent);
|
||||
@ -1212,8 +1216,8 @@ end;
|
||||
procedure TBreakpointsWindow.ClearBreakpoints;
|
||||
begin
|
||||
BreakLB^.Clear;
|
||||
ReDraw;
|
||||
end;
|
||||
ReDraw;
|
||||
end;
|
||||
|
||||
procedure TBreakpointsWindow.ReloadBreakpoints;
|
||||
procedure InsertInBreakLB(P : PBreakpoint);
|
||||
@ -1231,10 +1235,10 @@ procedure TBreakpointsWindow.SizeLimits(var Min, Max: TPoint);
|
||||
begin
|
||||
inherited SizeLimits(Min,Max);
|
||||
Min.X:=40; Min.Y:=18;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TBreakpointsWindow.Close;
|
||||
begin
|
||||
begin
|
||||
Hide;
|
||||
end;
|
||||
|
||||
@ -1273,7 +1277,7 @@ procedure TBreakpointsWindow.Update;
|
||||
begin
|
||||
ClearBreakpoints;
|
||||
ReloadBreakpoints;
|
||||
end;
|
||||
end;
|
||||
|
||||
destructor TBreakpointsWindow.Done;
|
||||
begin
|
||||
@ -1733,8 +1737,8 @@ begin
|
||||
end;
|
||||
end;
|
||||
inherited HandleEvent(Event);
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
(* constructor TWatchesListBox.Load(var S: TStream);
|
||||
procedure TWatchesListBox.Store(var S: TStream); *)
|
||||
destructor TWatchesListBox.Done;
|
||||
@ -1778,7 +1782,7 @@ end;
|
||||
Dispose(WLB,done);
|
||||
inherited done;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
{****************************************************************************
|
||||
TWatchItemDialog
|
||||
@ -1948,7 +1952,10 @@ end.
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.22 1999-07-12 13:14:15 pierre
|
||||
Revision 1.23 1999-07-28 23:11:17 peter
|
||||
* fixes from gabor
|
||||
|
||||
Revision 1.22 1999/07/12 13:14:15 pierre
|
||||
* LineEnd bug corrected, now goes end of text even if selected
|
||||
+ Until Return for debugger
|
||||
+ Code for Quit inside GDB Window
|
||||
|
@ -90,7 +90,7 @@ begin
|
||||
{$ifndef DEV}Exit;{$endif}
|
||||
|
||||
F^.CreateResource(resDesktopFlags,rcBinary,0);
|
||||
F^.AddResourceEntry(resDesktopFlags,langDefault,0,@DesktopFileFlags,
|
||||
F^.AddResourceEntry(resDesktopFlags,langDefault,0,DesktopFileFlags,
|
||||
SizeOf(DesktopFileFlags));
|
||||
end;
|
||||
|
||||
@ -107,7 +107,7 @@ begin
|
||||
{$ifndef DEV}Exit;{$endif}
|
||||
New(F, LoadFile(DesktopPath));
|
||||
OK:=true;
|
||||
|
||||
|
||||
end;
|
||||
|
||||
function SaveDesktop: boolean;
|
||||
@ -137,7 +137,10 @@ end;
|
||||
END.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.5 1999-06-30 23:58:13 pierre
|
||||
Revision 1.6 1999-07-28 23:11:18 peter
|
||||
* fixes from gabor
|
||||
|
||||
Revision 1.5 1999/06/30 23:58:13 pierre
|
||||
+ BreakpointsList Window implemented
|
||||
with Edit/New/Delete functions
|
||||
+ Individual breakpoint dialog with support for all types
|
||||
|
@ -43,11 +43,14 @@ end;
|
||||
|
||||
procedure TIDEApp.DoShowCallStack;
|
||||
begin
|
||||
NotImplemented;
|
||||
NotImplemented;
|
||||
end;
|
||||
|
||||
procedure TIDEApp.DoShowBreakpointList;
|
||||
begin
|
||||
{$ifdef NODEBUG}
|
||||
NoDebugger;
|
||||
{$else}
|
||||
If assigned(BreakpointsWindow) then
|
||||
begin
|
||||
BreakpointsWindow^.Update;
|
||||
@ -59,10 +62,14 @@ begin
|
||||
New(BreakpointsWindow,Init);
|
||||
Desktop^.Insert(BreakpointsWindow);
|
||||
end;
|
||||
{$endif NODEBUG}
|
||||
end;
|
||||
|
||||
procedure TIDEApp.DoShowWatches;
|
||||
begin
|
||||
{$ifdef NODEBUG}
|
||||
NoDebugger;
|
||||
{$else}
|
||||
If assigned(WatchesWindow) then
|
||||
begin
|
||||
WatchesWindow^.Update;
|
||||
@ -73,9 +80,15 @@ begin
|
||||
New(WatchesWindow,Init);
|
||||
Desktop^.Insert(WatchesWindow);
|
||||
end;
|
||||
{$endif NODEBUG}
|
||||
end;
|
||||
|
||||
procedure TIDEApp.DoAddWatch;
|
||||
{$ifdef NODEBUG}
|
||||
begin
|
||||
NoDebugger;
|
||||
end;
|
||||
{$else}
|
||||
var
|
||||
P: PWatch;
|
||||
EditorWindow : PSourceWindow;
|
||||
@ -95,10 +108,14 @@ begin
|
||||
else
|
||||
dispose(P,Done);
|
||||
end;
|
||||
{$endif NODEBUG}
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.6 1999-07-10 01:24:19 pierre
|
||||
Revision 1.7 1999-07-28 23:11:19 peter
|
||||
* fixes from gabor
|
||||
|
||||
Revision 1.6 1999/07/10 01:24:19 pierre
|
||||
+ First implementation of watches window
|
||||
|
||||
Revision 1.5 1999/06/30 23:58:17 pierre
|
||||
|
@ -82,22 +82,21 @@ begin
|
||||
if not debugger^.debuggee_started then
|
||||
Debugger^.StartTrace
|
||||
else
|
||||
Debugger^.TraceStep;
|
||||
{ I think we should not try to go deeper !
|
||||
if the source is not found PM }
|
||||
While (Debugger^.InvalidSourceLine and
|
||||
Debugger^.TraceStep;
|
||||
{ I think we should not try to go deeper !
|
||||
if the source is not found PM }
|
||||
While (Debugger^.InvalidSourceLine and
|
||||
Debugger^.debuggee_started and
|
||||
not Debugger^.error) do
|
||||
begin
|
||||
Inc(Debugger^.HiddenStepsCount);
|
||||
Debugger^.TraceNext;
|
||||
end;
|
||||
Debugger^.AnnotateError;
|
||||
{$else NODEBUG}
|
||||
NoDebugger;
|
||||
{$endif NODEBUG}
|
||||
end;
|
||||
|
||||
begin
|
||||
Inc(Debugger^.HiddenStepsCount);
|
||||
Debugger^.TraceNext;
|
||||
end;
|
||||
Debugger^.AnnotateError;
|
||||
{$else NODEBUG}
|
||||
NoDebugger;
|
||||
{$endif NODEBUG}
|
||||
end;
|
||||
|
||||
procedure TIDEApp.DoRun;
|
||||
begin
|
||||
@ -239,7 +238,10 @@ end;
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.16 1999-07-12 13:14:19 pierre
|
||||
Revision 1.17 1999-07-28 23:11:20 peter
|
||||
* fixes from gabor
|
||||
|
||||
Revision 1.16 1999/07/12 13:14:19 pierre
|
||||
* LineEnd bug corrected, now goes end of text even if selected
|
||||
+ Until Return for debugger
|
||||
+ Code for Quit inside GDB Window
|
||||
|
@ -95,7 +95,7 @@ begin
|
||||
OpenSymbolBrowser(0,0,'Units','Global scope',nil,S,nil,nil,nil);
|
||||
end;
|
||||
|
||||
function SymbolDialog(const S : string) : PDialog;
|
||||
function SymbolDialog(S : string) : PDialog;
|
||||
var D: PDialog;
|
||||
R,R1,R2: TRect;
|
||||
IL: PInputLine;
|
||||
@ -137,7 +137,10 @@ end;
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.10 1999-06-29 12:49:55 pierre
|
||||
Revision 1.11 1999-07-28 23:11:21 peter
|
||||
* fixes from gabor
|
||||
|
||||
Revision 1.10 1999/06/29 12:49:55 pierre
|
||||
* SearchSymbol works
|
||||
|
||||
Revision 1.9 1999/06/28 19:32:22 peter
|
||||
|
@ -193,7 +193,7 @@ begin
|
||||
Dispose(ModulesCollection,done);
|
||||
ModulesCollection:=nil;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
function NewBrowserTabItem(ASign: char; ALink: PView; ANext: PBrowserTabItem): PBrowserTabItem;
|
||||
var P: PBrowserTabItem;
|
||||
@ -681,7 +681,7 @@ end;
|
||||
destructor TSymbolInheritanceView.Done;
|
||||
begin
|
||||
{ do not dispose,
|
||||
belongs to a symbolcollection (PM)
|
||||
belongs to a symbolcollection (PM)
|
||||
if assigned(Root) then
|
||||
dispose(Root,done); }
|
||||
Inherited Done;
|
||||
@ -737,10 +737,10 @@ begin
|
||||
if P=nil then Exit;
|
||||
|
||||
S:=PObjectSymbol(P)^.Symbol;
|
||||
|
||||
|
||||
{ this happens for the top objects view (PM) }
|
||||
if S=nil then exit;
|
||||
|
||||
|
||||
if S^.Ancestor=nil then Anc:=nil else
|
||||
Anc:=SearchObjectForSymbol(S^.Ancestor);
|
||||
OpenSymbolBrowser(Origin.X-1,FOC-Delta.Y+1,
|
||||
@ -1160,7 +1160,10 @@ end;
|
||||
END.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.17 1999-06-28 12:35:05 pierre
|
||||
Revision 1.18 1999-07-28 23:11:22 peter
|
||||
* fixes from gabor
|
||||
|
||||
Revision 1.17 1999/06/28 12:35:05 pierre
|
||||
+ CloseAllBrowsers needed before compilation to avoid problems
|
||||
+ ModulesCollection and GlobalsCollection to avoid memory leaks
|
||||
|
||||
|
@ -111,7 +111,7 @@ type
|
||||
constructor Load(var S: TStream);
|
||||
procedure Store(var S: TStream);
|
||||
destructor Done; virtual;
|
||||
procedure FocusItem(i : sw_integer);
|
||||
procedure FocusItem(i : sw_integer);
|
||||
procedure SizeLimits(var Min, Max: TPoint); virtual;
|
||||
private
|
||||
MsgLB : PToolMessageListBox;
|
||||
@ -1440,8 +1440,8 @@ end;
|
||||
procedure TMessagesWindow.FocusItem(i : sw_integer);
|
||||
begin
|
||||
MsgLB^.FocusItem(i);
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
procedure TMessagesWindow.HandleEvent(var Event: TEvent);
|
||||
begin
|
||||
case Event.What of
|
||||
@ -1505,7 +1505,10 @@ end;
|
||||
END.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.11 1999-07-12 13:14:21 pierre
|
||||
Revision 1.12 1999-07-28 23:11:24 peter
|
||||
* fixes from gabor
|
||||
|
||||
Revision 1.11 1999/07/12 13:14:21 pierre
|
||||
* LineEnd bug corrected, now goes end of text even if selected
|
||||
+ Until Return for debugger
|
||||
+ Code for Quit inside GDB Window
|
||||
|
@ -33,19 +33,19 @@ type
|
||||
const ClipboardWindow : PClipboardWindow = nil;
|
||||
CalcWindow : PCalculator = nil;
|
||||
RecentFileCount : integer = 0;
|
||||
OpenExts : string[80] = '*.pas;*.pp;*.inc';
|
||||
HighlightExts : string[80] = '*.pas;*.pp;*.inc';
|
||||
OpenExts : string{$ifdef GABOR}[24]{$endif} = '*.pas;*.pp;*.inc';
|
||||
HighlightExts : string{$ifdef GABOR}[24]{$endif} = '*.pas;*.pp;*.inc';
|
||||
TabsPattern : string{$ifdef GABOR}[30]{$endif} = 'make*;make*.*';
|
||||
SourceDirs : string{$ifdef GABOR}[30]{$endif} = '';
|
||||
PrimaryFile : string{$ifdef GABOR}[80]{$endif} = '';
|
||||
PrimaryFileMain : string{$ifdef GABOR}[80]{$endif} = '';
|
||||
PrimaryFile : string{$ifdef GABOR}[60]{$endif} = '';
|
||||
PrimaryFileMain : string{$ifdef GABOR}[60]{$endif} = '';
|
||||
PrimaryFileSwitches : string{$ifdef GABOR}[30]{$endif} = '';
|
||||
PrimaryFilePara : string = '';
|
||||
PrimaryFilePara : string{$ifdef GABOR}[40]{$endif} = '';
|
||||
GDBOutputFile : string{$ifdef GABOR}[30]{$endif} = 'gdb$$$.txt';
|
||||
IsEXECompiled : boolean = false;
|
||||
LinkAfter : boolean = true;
|
||||
MainFile : string{$ifdef GABOR}[80]{$endif} = '';
|
||||
EXEFile : string{$ifdef GABOR}[80]{$endif} = '';
|
||||
MainFile : string{$ifdef GABOR}[60]{$endif} = '';
|
||||
EXEFile : string{$ifdef GABOR}[60]{$endif} = '';
|
||||
CompilationPhase : TCompPhase = cpNothing;
|
||||
ProgramInfoWindow: PProgramInfoWindow = nil;
|
||||
GDBWindow : PGDBWindow = nil;
|
||||
@ -55,16 +55,16 @@ const ClipboardWindow : PClipboardWindow = nil;
|
||||
HeapView : PFPHeapView = nil;
|
||||
HelpFiles : WUtils.PUnsortedStringCollection = nil;
|
||||
ShowStatusOnError: boolean = true;
|
||||
StartupDir : string = '.'+DirSep;
|
||||
IDEDir : string = '.'+DirSep;
|
||||
INIPath : string = ININame;
|
||||
SwitchesPath : string = SwitchesName;
|
||||
StartupDir : string{$ifdef GABOR}[50]{$endif} = '.'+DirSep;
|
||||
IDEDir : string{$ifdef GABOR}[50]{$endif} = '.'+DirSep;
|
||||
INIPath : string{$ifdef GABOR}[50]{$endif} = ININame;
|
||||
SwitchesPath : string{$ifdef GABOR}[50]{$endif} = SwitchesName;
|
||||
CtrlMouseAction : integer = acTopicSearch;
|
||||
AltMouseAction : integer = acBrowseSymbol;
|
||||
StartupOptions : longint = 0;
|
||||
LastExitCode : integer = 0;
|
||||
ASCIIChart : PFPASCIIChart = nil;
|
||||
DesktopPath : string = DesktopName;
|
||||
DesktopPath : string{$ifdef GABOR}[50]{$endif} = DesktopName;
|
||||
DesktopFileFlags : longint = dfHistoryLists+dfOpenWindows;
|
||||
DesktopLocation : byte = dlConfigFileDir;
|
||||
AutoSaveOptions : longint = asEnvironment+asDesktop;
|
||||
@ -83,7 +83,10 @@ implementation
|
||||
END.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.19 1999-07-10 01:24:21 pierre
|
||||
Revision 1.20 1999-07-28 23:11:25 peter
|
||||
* fixes from gabor
|
||||
|
||||
Revision 1.19 1999/07/10 01:24:21 pierre
|
||||
+ First implementation of watches window
|
||||
|
||||
Revision 1.18 1999/06/30 23:58:19 pierre
|
||||
|
@ -2047,7 +2047,7 @@ end;
|
||||
procedure TCodeEditor.JumpSelStart;
|
||||
begin
|
||||
if ValidBlock then
|
||||
SetCurPtr(SelStart.X,SelEnd.X);
|
||||
SetCurPtr(SelStart.X,SelStart.Y);
|
||||
end;
|
||||
|
||||
procedure TCodeEditor.JumpSelEnd;
|
||||
@ -2514,7 +2514,7 @@ begin
|
||||
S:=GetLineText(CurPos.Y);
|
||||
if CharIdxToLinePos(CurPos.Y,length(S))<CurPos.X then
|
||||
begin
|
||||
S:=S+CharStr(' ',CurPos.X-CharIdxToLinePos(CurPos.Y,length(S))-1);
|
||||
S:=S+CharStr(' ',CurPos.X-CharIdxToLinePos(CurPos.Y,length(S)){-1});
|
||||
SetLineText(CurPos.Y,S);
|
||||
end;
|
||||
CI:=LinePosToCharIdx(CurPos.Y,CurPos.X);
|
||||
@ -2734,7 +2734,7 @@ var S: string;
|
||||
((AreaStart.Y<Y) and (Y<AreaEnd.Y)) or
|
||||
((AreaEnd.Y=Y) and (X<=AreaEnd.X));
|
||||
end;
|
||||
|
||||
var CurDY: sw_integer;
|
||||
begin
|
||||
Inc(SearchRunCount);
|
||||
|
||||
@ -2800,6 +2800,7 @@ begin
|
||||
Owner^.Lock;
|
||||
if InArea(X,Y) then
|
||||
repeat
|
||||
CurDY:=DY;
|
||||
S:=GetDisplayText(Y);
|
||||
P:=ContainsText(FindStr,S,X+1);
|
||||
Found:=P<>0;
|
||||
@ -2817,6 +2818,11 @@ begin
|
||||
LeftOK:=(A.X<=0) or (not( (S[A.X] in AlphaChars) or (S[A.X] in NumberChars) ));
|
||||
RightOK:=(B.X>=length(S)) or (not( (S[B.X+1] in AlphaChars) or (S[B.X+1] in NumberChars) ));
|
||||
Found:=LeftOK and RightOK;
|
||||
if Found=false then
|
||||
begin
|
||||
CurDY:=0;
|
||||
X:=B.X+1;
|
||||
end;
|
||||
end;
|
||||
|
||||
if Found then
|
||||
@ -2862,9 +2868,9 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
if CanExit=false then
|
||||
if (CanExit=false) and (CurDY<>0) then
|
||||
begin
|
||||
inc(Y,DY);
|
||||
inc(Y,CurDY);
|
||||
if SForward then
|
||||
X:=0
|
||||
else
|
||||
@ -2982,17 +2988,21 @@ var
|
||||
|
||||
var MatchedSymbol: boolean;
|
||||
MatchingSymbol: string;
|
||||
function MatchesAnySpecSymbol(const What: string; SClass: TSpecSymbolClass; PartialMatch: boolean): boolean;
|
||||
function MatchesAnySpecSymbol(What: string; SClass: TSpecSymbolClass; PartialMatch, CaseInsensitive: boolean): boolean;
|
||||
var S: string;
|
||||
I: Sw_integer;
|
||||
Match,Found: boolean;
|
||||
begin
|
||||
Found:=false;
|
||||
if CaseInsensitive then
|
||||
What:=UpcaseStr(What);
|
||||
if What<>'' then
|
||||
for I:=1 to GetSpecSymbolCount(SClass) do
|
||||
begin
|
||||
SymbolIndex:=I;
|
||||
S:=GetSpecSymbol(SClass,I-1);
|
||||
if CaseInsensitive then
|
||||
S:=UpcaseStr(S);
|
||||
if PartialMatch then Match:=MatchSymbol(What,S)
|
||||
else Match:=What=S;
|
||||
if Match then
|
||||
@ -3004,48 +3014,48 @@ var
|
||||
|
||||
function IsCommentPrefix: boolean;
|
||||
begin
|
||||
IsCommentPrefix:=MatchesAnySpecSymbol(SymbolConcat,ssCommentPrefix,true);
|
||||
IsCommentPrefix:=MatchesAnySpecSymbol(SymbolConcat,ssCommentPrefix,true,false);
|
||||
end;
|
||||
|
||||
function IsSingleLineCommentPrefix: boolean;
|
||||
begin
|
||||
IsSingleLineCommentPrefix:=MatchesAnySpecSymbol(SymbolConcat,ssCommentSingleLinePrefix,true);
|
||||
IsSingleLineCommentPrefix:=MatchesAnySpecSymbol(SymbolConcat,ssCommentSingleLinePrefix,true,false);
|
||||
end;
|
||||
|
||||
function IsCommentSuffix: boolean;
|
||||
begin
|
||||
IsCommentSuffix:=(MatchesAnySpecSymbol(SymbolConcat,ssCommentSuffix,true))
|
||||
IsCommentSuffix:=(MatchesAnySpecSymbol(SymbolConcat,ssCommentSuffix,true,false))
|
||||
and (CurrentCommentType=SymbolIndex);
|
||||
end;
|
||||
|
||||
function IsStringPrefix: boolean;
|
||||
begin
|
||||
IsStringPrefix:=MatchesAnySpecSymbol(SymbolConcat,ssStringPrefix,true);
|
||||
IsStringPrefix:=MatchesAnySpecSymbol(SymbolConcat,ssStringPrefix,true,false);
|
||||
end;
|
||||
|
||||
function IsStringSuffix: boolean;
|
||||
begin
|
||||
IsStringSuffix:=MatchesAnySpecSymbol(SymbolConcat,ssStringSuffix,true);
|
||||
IsStringSuffix:=MatchesAnySpecSymbol(SymbolConcat,ssStringSuffix,true,false);
|
||||
end;
|
||||
|
||||
function IsDirectivePrefix: boolean;
|
||||
begin
|
||||
IsDirectivePrefix:=MatchesAnySpecSymbol(SymbolConcat,ssDirectivePrefix,true);
|
||||
IsDirectivePrefix:=MatchesAnySpecSymbol(SymbolConcat,ssDirectivePrefix,true,false);
|
||||
end;
|
||||
|
||||
function IsDirectiveSuffix: boolean;
|
||||
begin
|
||||
IsDirectiveSuffix:=MatchesAnySpecSymbol(SymbolConcat,ssDirectiveSuffix,true);
|
||||
IsDirectiveSuffix:=MatchesAnySpecSymbol(SymbolConcat,ssDirectiveSuffix,true,false);
|
||||
end;
|
||||
|
||||
function IsAsmPrefix(const WordS: string): boolean;
|
||||
begin
|
||||
IsAsmPrefix:=MatchesAnySpecSymbol(WordS,ssAsmPrefix,false);
|
||||
IsAsmPrefix:=MatchesAnySpecSymbol(WordS,ssAsmPrefix,false,true);
|
||||
end;
|
||||
|
||||
function IsAsmSuffix(const WordS: string): boolean;
|
||||
begin
|
||||
IsAsmSuffix:=MatchesAnySpecSymbol(WordS,ssAsmSuffix,false);
|
||||
IsAsmSuffix:=MatchesAnySpecSymbol(WordS,ssAsmSuffix,false,true);
|
||||
end;
|
||||
|
||||
function GetCharClass(C: char): TCharClass;
|
||||
@ -3949,7 +3959,10 @@ end;
|
||||
END.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.38 1999-07-12 13:14:24 pierre
|
||||
Revision 1.39 1999-07-28 23:11:26 peter
|
||||
* fixes from gabor
|
||||
|
||||
Revision 1.38 1999/07/12 13:14:24 pierre
|
||||
* LineEnd bug corrected, now goes end of text even if selected
|
||||
+ Until Return for debugger
|
||||
+ Code for Quit inside GDB Window
|
||||
|
Loading…
Reference in New Issue
Block a user