mirror of https://gitlab.com/basile.b/dexed.git
extend the syntax used to define switches for a runnable, close #91
This commit is contained in:
parent
64ba94705d
commit
28ac7bbbef
|
|
@ -2523,6 +2523,7 @@ var
|
||||||
firstLineFlags: string = '';
|
firstLineFlags: string = '';
|
||||||
asObj: boolean = false;
|
asObj: boolean = false;
|
||||||
hasMain: THasMain;
|
hasMain: THasMain;
|
||||||
|
rng: TStringRange = (ptr:nil; pos:0; len: 0);
|
||||||
begin
|
begin
|
||||||
|
|
||||||
result := false;
|
result := false;
|
||||||
|
|
@ -2532,10 +2533,16 @@ begin
|
||||||
if fDoc.Lines.Count = 0 then exit;
|
if fDoc.Lines.Count = 0 then exit;
|
||||||
|
|
||||||
firstlineFlags := fDoc.Lines[0];
|
firstlineFlags := fDoc.Lines[0];
|
||||||
i := firstlineFlags.length;
|
rng.init(firstLineFlags);
|
||||||
if (i > 18) and (firstlineFlags.upperCase[1..17] = '#!RUNNABLE-FLAGS:') then
|
if rng.startsWith('#!') then
|
||||||
begin
|
begin
|
||||||
firstlineFlags := fSymStringExpander.expand(firstlineFlags[18..i]);
|
rng.popFront;
|
||||||
|
rng.popFront;
|
||||||
|
rng.popWhile([' ', #9]);
|
||||||
|
rng.popUntil([' ', #9, ':']);
|
||||||
|
rng.popWhile([' ', #9, ':']);
|
||||||
|
firstlineFlags := rng.takeUntil(#0).yield;
|
||||||
|
firstlineFlags := fSymStringExpander.expand(firstlineFlags);
|
||||||
lst := TStringList.Create;
|
lst := TStringList.Create;
|
||||||
CommandToList(firstlineFlags, lst);
|
CommandToList(firstlineFlags, lst);
|
||||||
for i:= lst.Count-1 downto 0 do
|
for i:= lst.Count-1 downto 0 do
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue