diff --git a/.gitignore b/.gitignore index f6aa017..3491655 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,5 @@ resources/icons/*-light /coverage *.js package-lock.json +*.pdf +*.gv diff --git a/pikchr/pikchr.tmLanguage.json b/pikchr/pikchr.tmLanguage.json index f39a7bb..bf2185f 100644 --- a/pikchr/pikchr.tmLanguage.json +++ b/pikchr/pikchr.tmLanguage.json @@ -126,7 +126,7 @@ ] }, "basetype-classname": { - "begin": "(?<=^|;|:)\\s*(?:\\b(arc|arrow|box|circle|cylinder|diamond|dot|ellipse|file|line|move|oval|spline|text)\\b|(\".*\"))\\s*", + "begin": "(?<=^|;|:|{)\\s*(?:\\b(arc|arrow|box|circle|cylinder|diamond|dot|ellipse|file|line|move|oval|spline|text)\\b|(\".*\"))\\s*", "beginCaptures": { "1": { "name": "storage.type.class.pikchr" @@ -393,13 +393,17 @@ }, "boolproperty": { "comment": "Properties with no argument", - "match": "(<->|<-|->)|\\b(cw|ccw|invis(ible)?|thick|thin|solid|same|chop|fit)\\b\\s*", + "match": "(<->|<-|->)|\\b(cw|ccw|invis(ible)?|thick|thin|solid|same|chop|fit)\\b|(&(?:larr|leftarrow|leftrightarrow|rarr|rightarrow);)\\s*", "captures": { "1": { "name": "entity.name.tag.pikchr" }, "2": { "name": "entity.name.tag.pikchr" + }, + "4": { + "comment": "obscure pikchr constants", + "name": "entity.name.tag.pikchr" } } }, diff --git a/pikchr/test/advanced.test.pikchr b/pikchr/test/advanced.test.pikchr index ea0b5e3..4accbfa 100644 --- a/pikchr/test/advanced.test.pikchr +++ b/pikchr/test/advanced.test.pikchr @@ -86,3 +86,11 @@ box "expr" fit with .w at 1.75*$h below BTW.w // ^^^ variable.language.pikchr // ^ punctuation.separator.period.pikchr // ^ entity.name.class.pikchr + +define square { box ht $7 wid $8 $9 } +// <------ keyword.control.directive.define.pikchr +// ^^^^^^ variable.language.pikchr +// ^ punctuation.section.block.begin.bracket.curly.pikchr +// ^^^ storage.type.class.pikchr +// ^^ ^^^ support.constant.property-value.pikchr +// ^^ ^^ ^^ variable.language.pikchr diff --git a/pikchr/test/boolproperty.test.pikchr b/pikchr/test/boolproperty.test.pikchr index 828d5d6..fc57fe9 100644 --- a/pikchr/test/boolproperty.test.pikchr +++ b/pikchr/test/boolproperty.test.pikchr @@ -38,3 +38,18 @@ cylinder same box same; // <--- storage.type.class.pikchr // ^^^^ source.pikchr entity.name.tag.pikchr + +arrow → +// ^^^^^^ entity.name.tag.pikchr + +arrow → +// ^^^^^^^^^^^^ entity.name.tag.pikchr + +arrow ← +// ^^^^^^ entity.name.tag.pikchr + +arrow ← +// ^^^^^^^^^^^ entity.name.tag.pikchr + +arrow ↔ +// ^^^^^^^^^^^^^^^^ entity.name.tag.pikchr