{"name":"KiCad PCB (Board)","scopeName":"source.pcb.board","patterns":[{"contentName":"source.eagle.pcb.board","begin":"\\A(?=\u003c\\?xml\\s+version=\"[\\d.]+\"\\s)","end":"(?=A)B","patterns":[{"include":"text.xml"}]},{"include":"#main"}],"repository":{"comment":{"name":"comment.line.number-sign.pcb.board","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.pcb.board"}}},"fields":{"patterns":[{"match":"^\\s*(PcbPlotParams)\\s+(.+)$","captures":{"1":{"name":"entity.name.var.pcb.board"},"2":{"patterns":[{"include":"source.pcb.sexp"}]}}},{"match":"^\\s*(Layer)(\\[)([0-9]+)(\\])(?=\\s)","captures":{"1":{"name":"entity.name.var.pcb.board"},"2":{"name":"punctuation.section.begin.brace.bracket.square.pcb.board"},"3":{"name":"constant.numeric.integer.decimal.pcb.board"},"4":{"name":"punctuation.section.end.brace.bracket.square.pcb.board"}}},{"match":"^\\s*(Cd)\\s+(\\S.*)\\s*$","captures":{"1":{"name":"entity.name.var.pcb.board"},"2":{"name":"string.unquoted.pcb.board"}}},{"match":"^\\s*([^$\\s]\\S*)","captures":{"1":{"name":"entity.name.var.pcb.board"}}},{"name":"string.quoted.double.pcb.board","match":"(\")((?:[^\"\\\\]|\\\\.)*)(\"|(?=$))","captures":{"1":{"name":"punctuation.definition.string.begin.pcb.board"},"2":{"patterns":[{"name":"constant.character.escape.pcb.board","match":"\\\\."}]},"3":{"name":"punctuation.definition.string.end.pcb.board"}}},{"name":"constant.numeric.float.decimal.pcb.board","match":"[-+]?\\d*\\.\\d+"},{"include":"#integer"},{"name":"constant.numeric.integer.hex.pcb.board","match":"[-+]?(?:(/)?[A-F0-9]+|0x[A-Fa-f0-9]+)(?=\\s|$)","captures":{"1":{"name":"punctuation.definition.constant.pcb.board"}}},{"name":"constant.language.other.pcb.board","match":"(?\u003c=\\s|^)[A-Z]+(?=\\s|$)"},{"name":"variable.parameter.pcb.board","match":"[^$\\s]\\S*"},{"include":"$self"}]},"header":{"name":"meta.header.pcb.board","match":"^\\s*(PCBNEW-BOARD)\\s+(Version)\\s+([\\d.]+)\\s+(date)\\s+(\\S.*)\\s*$","captures":{"1":{"name":"storage.type.class.pcb.board"},"2":{"name":"entity.name.var.pcb.board"},"3":{"name":"constant.numeric.decimal.pcb.board"},"4":{"name":"entity.name.var.pcb.board"},"5":{"name":"constant.numeric.date.timestamp.pcb.board"}}},"integer":{"name":"constant.numeric.integer.decimal.pcb.board","match":"[-+]?\\d+(?=\\s|$)"},"main":{"patterns":[{"include":"#header"},{"include":"#comment"},{"include":"#sections"}]},"sections":{"patterns":[{"name":"meta.section.module.pcb.board","begin":"^\\s*((\\$)MODULE)\\s+(\\S+)","end":"^\\s*((\\$)EndMODULE)\\s+(\\3)(?=\\s|$)","patterns":[{"match":"^\\s*(Po\\s+.+\\s+)([~F][~P])\\s*$","captures":{"1":{"patterns":[{"include":"#fields"}]},"2":{"name":"keyword.operator.position-type.pcb.board"}}},{"include":"#fields"}],"beginCaptures":{"1":{"name":"keyword.control.section.module.pcb.board"},"2":{"name":"punctuation.section.begin.pcb.board"},"3":{"name":"entity.name.type.class.pcb.board"}},"endCaptures":{"1":{"name":"keyword.control.section.module.pcb.board"},"2":{"name":"punctuation.section.end.pcb.board"},"3":{"name":"entity.name.type.class.pcb.board"}}},{"name":"meta.section.polyscorners.pcb.board","begin":"^\\s*((\\$)POLYSCORNERS)\\s*$","end":"^\\s*((\\$)endPOLYSCORNERS)(?=\\s|$)","patterns":[{"include":"#integer"}],"beginCaptures":{"1":{"name":"keyword.control.section.pcb.board"},"2":{"name":"punctuation.section.begin.pcb.board"}},"endCaptures":{"1":{"name":"keyword.control.section.pcb.board"},"2":{"name":"punctuation.section.end.pcb.board"}}},{"name":"meta.section.${3:/downcase}.pcb.board","begin":"^\\s*((\\$)([A-Z][A-Z0-9_]*+))(?=\\s|$)","end":"^\\s*((\\$)[Ee]nd\\3)(?=\\s|$)","patterns":[{"include":"#fields"}],"beginCaptures":{"1":{"name":"keyword.control.section.pcb.board"},"2":{"name":"punctuation.section.begin.pcb.board"}},"endCaptures":{"1":{"name":"keyword.control.section.pcb.board"},"2":{"name":"punctuation.section.end.pcb.board"}}},{"match":"^\\s*((\\$)EndBOARD)(?=\\s|$)","captures":{"1":{"name":"keyword.control.eof.pcb.board"},"2":{"name":"punctuation.section.end.pcb.board"}}}]}}}
