Article
· 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"

ZQuit

Discussion (8)1
Log in or sign up to continue

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
                ,"a":getWeekdayAbbrev
                ,"A":getWeekdayFull
                ,"b":getMonthAbbrev
                ,"Z":getTimezoneName
                ,:getX)