Subject | Re: [IBO] ANN: TIB_SynMemo ready for download |
---|---|
Author | Frank Ingermann |
Post date | 2001-04-14T09:42:28Z |
Hi Claudio,
(sorry for also off-topic... i didn't put an OT: in the subject, though, since
this always seems to start a new thread - yahauagroops again...)
"Claudio Valderrama C." wrote:
Highlighter. You can easily fix it with the following modification:
in SynHighlighterSQL.Pas: ( the //@fi stuff )
procedure TSynSQLSyn.StringProc;
begin
fTokenID := tkString;
Inc(Run);
while not (fLine[Run] in [#0, #10, #13]) do begin
case fLine[Run] of
'\': if fLine[Run + 1] = #34 then
Inc(Run);
#34: if fLine[Run + 1] <> #34 then
begin
Inc(Run);
break;
//@fi mod start
//@fi end;
end
else //@fi next char *is* a "
Inc(Run); //@fi skip second " (this was missing)
//@fi mod end
end;
Inc(Run);
end;
end;
...at least this way it displays
SELECT "there's lots of """"""double"""""" quotes in here" FROM TTEST
correctly :) i only hope i didn't break other sql string implementations with
this, as the same highlighter is also for oracle, sqlserver etc. ( but then
again i personally don't care, Firebird rules! ;-) however, to make sure
i'll post it to the synedit-devel list so someone using oracle can check it.
btw. did you take a look at TIB_SynMemo ? (or anyone else?)
(or maybe i'm the only one to store sql statements in text blobs ??)
anyway - thanks & regards,
(and i hope you have better weather over in Brasil for Easter -
here in Germany it'll be snowing !)
fingerman
(sorry for also off-topic... i didn't put an OT: in the subject, though, since
this always seems to start a new thread - yahauagroops again...)
"Claudio Valderrama C." wrote:
>after some testing it appears you have found a bug in the TSynSQLSyn
> Sorry for jumping off-topic, but I need to ask something: is SynEdit a
> reliable highlighting editor? The reason I ask is that I understood that
> "IBConsolation" was using SynEdit, too and short after I used some IB syntax
> that included a quoted field with an embedded quote, the IBConsole editor
> puked (okay, not very polited word) and I observed the following:
>
> expcted colors in text before problem
> conflicting identifier, ex: "a quote "" inside"
> all the rest of the script in blue
>
> If you put a space between the two inner quotes, the editor is happy but IB
> will complain, because here "" is a scape sequence, you change the meaning
> if you put such a blank in the middle.
>
Highlighter. You can easily fix it with the following modification:
in SynHighlighterSQL.Pas: ( the //@fi stuff )
procedure TSynSQLSyn.StringProc;
begin
fTokenID := tkString;
Inc(Run);
while not (fLine[Run] in [#0, #10, #13]) do begin
case fLine[Run] of
'\': if fLine[Run + 1] = #34 then
Inc(Run);
#34: if fLine[Run + 1] <> #34 then
begin
Inc(Run);
break;
//@fi mod start
//@fi end;
end
else //@fi next char *is* a "
Inc(Run); //@fi skip second " (this was missing)
//@fi mod end
end;
Inc(Run);
end;
end;
...at least this way it displays
SELECT "there's lots of """"""double"""""" quotes in here" FROM TTEST
correctly :) i only hope i didn't break other sql string implementations with
this, as the same highlighter is also for oracle, sqlserver etc. ( but then
again i personally don't care, Firebird rules! ;-) however, to make sure
i'll post it to the synedit-devel list so someone using oracle can check it.
btw. did you take a look at TIB_SynMemo ? (or anyone else?)
(or maybe i'm the only one to store sql statements in text blobs ??)
anyway - thanks & regards,
(and i hope you have better weather over in Brasil for Easter -
here in Germany it'll be snowing !)
fingerman