{"name":"Genero Forms","scopeName":"source.genero-forms","patterns":[{"include":"#Comments"},{"include":"#GridLayout"},{"include":"#Keywords"},{"include":"#Layout"},{"name":"storage.type.per","match":"\\b(DECIMAL|CHAR|DATE|INTEGER)\\b"},{"include":"#StringDoubleQuote"},{"include":"#StringSingleQuote"},{"include":"#FormAttributes"},{"include":"#ComparisonOperators"},{"include":"#Groups"},{"include":"#Tables"},{"name":"keyword.amp.per","match":"(\u0026)"}],"repository":{"Comments":{"patterns":[{"name":"comment.line.number-sign.per","match":"#.*"},{"name":"comment.line.double-dash.per","match":"--.*"}]},"ComparisonOperators":{"patterns":[{"name":"keyword.operator.per","match":"(\\=|\\\u003c|\\\u003e|\\!)"}]},"EscapeCharacters":{"name":"constant.character.escape.4gl","match":"\\\\.{1}"},"FormAttributes":{"match":"(?i)\\s*\\b(AGGREGATE|BUTTON|BUTTONEDIT|CANVAS|CHECKBOX|COMBOBOX|DATEEDIT|EDIT|FIELD|IMAGE|LABEL|PROGRESSBAR|RADIOGROUP|SCROLLGRID|SLIDER|SPINEDIT|TABLE|TEXTEDIT|TIMEEDIT|TREE|WEBCOMPONENT|SCREEN RECORD|PHANTOM)\\b\\s+(\\w+)\\s*(?:(\\:|\\=)|(?:\\())","captures":{"1":{"name":"storage.type.class.per"},"2":{"name":"entity.name.function.per"},"3":{"name":"keyword.operator.per"}}},"FormFields":{"name":"variable.parameter.per","begin":"\\[","end":"\\]","patterns":[{"include":"#StringDoubleQuote"},{"include":"#StringSingleQuote"},{"name":"support.constant.field.divide.per","match":"(\\||:)"},{"name":"variable.parameter.form.grid.per","match":"(?i)\\b([a-z0-9\\#\\/\\'\\_]+)\\b"}],"beginCaptures":{"0":{"name":"string.unquoted.form.grid.field.brackes.per"}},"endCaptures":{"0":{"name":"string.unquoted.form.grid.field.brackets.per"}}},"FormatStrings":{"patterns":[{"name":"support.type.format.per","match":"[\\#\\\u003c\\\u003e\\*\\-\\+]{2,}"},{"name":"constant.lanauge.format.per","match":"\\\u0026"},{"name":"keyword.operator.per","match":"\\,"}]},"GridLayout":{"name":"meta.form.grid.per","begin":"\\{","end":"\\}","patterns":[{"include":"#FormFields"},{"include":"#Tags"}]},"Groups":{"patterns":[{"match":"(?i)\\b(GROUP)\\b\\s+(\\w+)\\s*(\\:)","captures":{"1":{"name":"storage.type.class.per"},"2":{"name":"entity.name.function.per"},"3":{"name":"keyword.operator.per"}}}]},"Keywords":{"patterns":[{"name":"keyword.per","match":"(?i)\\b(DATABASE|SCREEN SIZE|BY|END|ATTRIBUTES|TYPE|INSTRUCTIONS|DELIMITERS|COMMENTS)\\b"},{"name":"keyword.per","match":"(?i)\\b(ACCELERATOR|ACCELERATOR2|ACCELERATOR3|ACCELERATOR4|ACTION|AGGREGATETEXT|AGGREGATETYPE|AUTOSCALE|AUTONEXT|BUTTONTEXTHIDDEN|CENTURY|CLASS|COLOR|COLOR WHERE|CONFIG|CONTEXTMENU|COMMENT|COMPONENTTYPE|DEFAULT|DEFAULTVIEW|DISPLAY LIKE|DOUBLECLICK|DOWNSHIFT|EXPANDEDCOLUMN|FONTPITCH|FORMAT|GRIDCHILDRENINPARENT|HIDDEN|HEIGHT|IDCOLUMN|IMAGE|IMAGECOLUMN|IMAGECOLLAPSED|IMAGEEXPANDED|IMAGELEAF|INCLUDE|INITIALIZER|INVISIBLE|ISNODECOLUMN|ITEMS|JUSTIFY|KEY|MINHEIGHT|MINWIDTH|NOENTRY|NOT NULL|NOTEDITABLE|OPTIONS|ORIENTATION|PARENTIDCOLUMN|PICTURE|PROGRAM|PROPERTIES|QUERYEDITABLE|REQUIRED|REVERSE|SAMPLE|SCROLL|SCROLLBARS|SIZEPOLICY|SPACING|SPLITTER|STEP|STRETCH|STYLE|TABINDEX|TAG|TEXT|TITLE|UNSORTABLE|UNSORTABLECOLUMNS|UNSIZABLE|UNSIZABLECOLUMNS|UNHIDABLE|UNHIDABLECOLUMNS|UNMOVABLE|UNMOVABLECOLUMNS|UPSHIFT|VALIDATE|VALIDATE LIKE|VALUEMIN|VALUEMAX|VALUECHECKED|VALUEUNCHECKED|VERIFY|VERSION|WANTFIXEDPAGESIZE|WANTNORETURNS|WANTTABS|WIDGET|WIDTH|WINDOWSTYLE|WORDWRAP)\\b"},{"name":"constant.language.per","match":"(?i)\\b(FORMONLY|FIXED)\\b"}]},"Layout":{"patterns":[{"name":"keyword.layout.per","match":"(?i)\\b(GRID|TABLE|HBOX|VBOX|LAYOUT|FORM)\\b"},{"name":"keyword.layout.per","match":"(?i)\\b(TABLE|FOLDER)\\b"},{"match":"(?i)(GROUP|TABLE|PAGE)\\s*(\\w*)\\s*\\(","captures":{"1":{"name":"keyword.layout.per"},"2":{"name":"support.type.class.per"}}}]},"StringDoubleQuote":{"patterns":[{"name":"string.quoted.double.content.per","begin":"\"","end":"\"","patterns":[{"include":"#EscapeCharacters"},{"include":"#FormatStrings"}],"beginCaptures":{"0":{"name":"string.quoted.double.per"}},"endCaptures":{"0":{"name":"string.quoted.double.per"}}}]},"StringSingleQuote":{"patterns":[{"name":"string.quoted.single.content.per","begin":"'","end":"'","patterns":[{"include":"#EscapeCharacters"},{"include":"#FormatStrings"}],"beginCaptures":{"0":{"name":"string.quoted.single.per"}},"endCaptures":{"0":{"name":"string.quoted.single.per"}}}]},"Tables":{"name":"support.class.table.per","begin":"(?i)\\bTABLES\\b","end":"(?i)\\bEND\\b","beginCaptures":{"0":{"name":"keyword.per"}},"endCaptures":{"0":{"name":"keyword.per"}}},"Tags":{"begin":"\\\u003c","end":"\\\u003e","patterns":[{"match":"(?i)\\b(G|GROUP|T|TABLE|TREE|S|SCROLLGRID)\\b\\s+(\\w+)","captures":{"0":{"name":"support.function.per"},"1":{"name":"support.variable.per"}}},{"include":"#StringDoubleQuote"},{"include":"#StringSingleQuote"}],"beginCaptures":{"0":{"name":"string.unquoted.form.grid.group.brackes.per"}},"endCaptures":{"0":{"name":"string.unquoted.form.grid.group.brackes.per"}}}}}
