mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-10-26 12:22:36 +01:00
IDE: run file: added RunFlag Messages to show output in Messages window
git-svn-id: trunk@50446 -
This commit is contained in:
parent
be79f48411
commit
e20508a446
@ -28,7 +28,7 @@ const
|
|||||||
SubToolMake = 'make';
|
SubToolMake = 'make';
|
||||||
SubToolMakePriority = 1000; // higher than FPC
|
SubToolMakePriority = 1000; // higher than FPC
|
||||||
|
|
||||||
SubToolDefault = 'External Tool';
|
SubToolDefault = 'External Tool'; // this parser simply writes all output to Messages window
|
||||||
SubToolDefaultPriority = 0;
|
SubToolDefaultPriority = 0;
|
||||||
|
|
||||||
AbortedExitCode = 12321;
|
AbortedExitCode = 12321;
|
||||||
|
|||||||
@ -46,7 +46,8 @@ type
|
|||||||
|
|
||||||
TIDEDirRunFlag = (
|
TIDEDirRunFlag = (
|
||||||
idedrfNone,
|
idedrfNone,
|
||||||
idedrfBuildBeforeRun // BUILD+ means on (default), BUILD- means off
|
idedrfBuildBeforeRun, // BUILD+ means on (default for non script), BUILD- means off
|
||||||
|
idedrfMessages // show output in Messages window
|
||||||
);
|
);
|
||||||
TIDEDirRunFlags = set of TIDEDirRunFlag;
|
TIDEDirRunFlags = set of TIDEDirRunFlag;
|
||||||
const
|
const
|
||||||
@ -66,7 +67,8 @@ const
|
|||||||
);
|
);
|
||||||
IDEDirRunFlagNames: array[TIDEDirRunFlag] of string = (
|
IDEDirRunFlagNames: array[TIDEDirRunFlag] of string = (
|
||||||
'',
|
'',
|
||||||
'BUILD'
|
'BUILD',
|
||||||
|
'MESSAGES'
|
||||||
);
|
);
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|||||||
11
ide/main.pp
11
ide/main.pp
@ -7419,13 +7419,14 @@ begin
|
|||||||
FirstLine:='';
|
FirstLine:='';
|
||||||
HasShebang:=copy(FirstLine,1,2)='#!';
|
HasShebang:=copy(FirstLine,1,2)='#!';
|
||||||
DefRunFlags:=IDEDirRunFlagDefValues;
|
DefRunFlags:=IDEDirRunFlagDefValues;
|
||||||
if HasShebang then Exclude(DefRunFlags,idedrfBuildBeforeRun);
|
if HasShebang then
|
||||||
|
Exclude(DefRunFlags,idedrfBuildBeforeRun);
|
||||||
RunFlags:=GetIDEDirRunFlagFromString(
|
RunFlags:=GetIDEDirRunFlagFromString(
|
||||||
GetIDEStringDirective(DirectiveList,IDEDirectiveNames[idedRunFlags],''),
|
GetIDEStringDirective(DirectiveList,IDEDirectiveNames[idedRunFlags],''),
|
||||||
DefRunFlags);
|
DefRunFlags);
|
||||||
AlwaysBuildBeforeRun:=idedrfBuildBeforeRun in RunFlags;
|
AlwaysBuildBeforeRun:=idedrfBuildBeforeRun in RunFlags;
|
||||||
if AlwaysBuildBeforeRun then begin
|
if AlwaysBuildBeforeRun then begin
|
||||||
Result:=DoBuildFile(true);
|
Result:=DoBuildFile(true,Filename);
|
||||||
if Result<>mrOk then exit;
|
if Result<>mrOk then exit;
|
||||||
end;
|
end;
|
||||||
RunWorkingDir:=GetIDEStringDirective(DirectiveList,
|
RunWorkingDir:=GetIDEStringDirective(DirectiveList,
|
||||||
@ -7437,7 +7438,7 @@ begin
|
|||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
if HasShebang then
|
if HasShebang then
|
||||||
DefRunCommand:='instantfpc'+ExeExt+' '+ActiveUnitInfo.Filename
|
DefRunCommand:='instantfpc'+ExeExt+' '+Filename
|
||||||
else
|
else
|
||||||
DefRunCommand:=IDEDirDefaultRunCommand;
|
DefRunCommand:=IDEDirDefaultRunCommand;
|
||||||
RunCommand:=GetIDEStringDirective(DirectiveList,
|
RunCommand:=GetIDEStringDirective(DirectiveList,
|
||||||
@ -7454,10 +7455,12 @@ begin
|
|||||||
|
|
||||||
ExtTool:=TIDEExternalToolOptions.Create;
|
ExtTool:=TIDEExternalToolOptions.Create;
|
||||||
try
|
try
|
||||||
ExtTool.Title:='Run File '+ActiveUnitInfo.Filename;
|
ExtTool.Title:='Run File '+Filename;
|
||||||
ExtTool.WorkingDirectory:=RunWorkingDir;
|
ExtTool.WorkingDirectory:=RunWorkingDir;
|
||||||
ExtTool.CmdLineParams:=Params;
|
ExtTool.CmdLineParams:=Params;
|
||||||
ExtTool.Executable:=ProgramFilename;
|
ExtTool.Executable:=ProgramFilename;
|
||||||
|
if idedrfMessages in RunFlags then
|
||||||
|
ExtTool.Scanners.Add(SubToolDefault);
|
||||||
if RunExternalTool(ExtTool) then
|
if RunExternalTool(ExtTool) then
|
||||||
Result:=mrOk
|
Result:=mrOk
|
||||||
else
|
else
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user