There are still so many syntax highlighting errors in Atelier, which still exists from first beta public release.
$bitlogic(x1|x2)
- doesn't understand logical operators
for { quit:condition }
- some time I see an errors with endless for
understand $ecode
but do not understand short $ec
&html<<!--[if lte IE 9]><link rel='stylesheet' type='text/css' href='css/ie9.css'><![endif]-->>
- shows an error in such line of code
#def1arg function(%args) "%args"
zzdump var
d { } while 0
UPD1 - 4th feb:
s Ptype=..PageType ##; this macro comment here marks as error
$v or $view and command View as well
; find global names
- why word "global" highlighted different here in comment line
set $bit(@BitCacheGN@(aIDHigh),aIDLow)=aBit
zk @TGN
#dim xpathResults As List Of %XML.XPATH.Result = ""
Property totalCount As %String [ Calculated, SqlComputeCode = { s {totalCount}=##class({%%CLASSNAME}).GetTotalCount4SQL({%%ID})}, SqlComputed ];
$$$Open("someObjectId").ReportQueue
- here macros looks something like ##class(someClass).%OpenId(%id)
#Define Multiline(%a,%b,%c) ##Continue
SET line1="%a" ##Continue
SET line2="%b" ##Continue
SET line3="%c"ZQuit
Thanks for your feedback.
On my system with the very latest versions I also see problems for $ec, the HTML, zzdump and the do-while. The $bitlogic, for-command and #def1arg examples color OK for me.
As a workaround, the do-while is fine with 'DO' rather than 'D'.
I will fix the COS problems you mention shortly. The HTML will take a little longer.
Yes, the HTML is an example of an 'embedded' parser. Much work has been done in this area but there is still more to do. The good news is that we have developers working on that now. We understand that the Syntax Coloroing is really important, please be assured that we are giving it all we've got to resolve these issues.
I've checked in a fix for three of the four problems you described: $ec, zzdump and 'd {} while 0'.
Re: UPD1 - 4th feb
The good news is that some of these issues have been fixed in the very latest codebase :-
I'll create Github issues for the rest of the issues.
Thanks for finding these problems, we'll get these fixes into an Atelier release as soon as we can.
When macrocomment appeared in the same line with continue, next line will be marked as an error
for i=1:1:10 {
continue:condition ##; comment
set a=1
}
Interesting example I've found in Ens.Util.Time
GoTo $Case(spec
,"a":getWeekdayAbbrev
,"A":getWeekdayFull
,"b":getMonthAbbrev
,"Z":getTimezoneName
,:getX)
Interesting highlighting error, such code fails all lines of code below
Thanks for finding this and the other two new errors, I'll address them as soon as I can.
I empathize with the ISC developers who are dealing with this aspect of Atelier. I know from personal experience maintaining our tools that COS parsing can be a challenge. And just when you think you've got it cracked, something new gets added to the language, e.g. system class methods, JSON notation.