Dmitry Maslennikov · Feb 1, 2016 1m read

Atelier Syntax highlighting errors

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"


0 275
Discussion (8)4
Log in or sign up to continue

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 :-

  • s Ptype=..PageType ##; this macro comment here marks as error
  • ; find global names - why word "global" highlighted different here in comment line
  • zk @TGN
  • multiline macro definitions

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


Interesting highlighting error, such code fails all lines of code below

set $p(@$na(^tmp(&quot;test&quot;)),&quot;,&quot;,1)=&quot;val&quot;

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.