{"name":"IDL DLM","scopeName":"source.idl-dlm","patterns":[{"include":"#comment"},{"include":"#header_keyword"},{"include":"#routine_declaration"},{"include":"#structure_declaration"}],"repository":{"comment":{"patterns":[{"name":"comment.line.banner.divider.idl-dlm","match":"^#(=)\\s*$\\n","captures":{"1":{"name":"meta.toc-list.banner.divider.idl-dlm"}}},{"name":"comment.line.banner.idl-dlm","match":"^#=\\s*(.*?)\\s*$\\n?","captures":{"0":{"name":"meta.toc-list.banner.line.idl-dlm"}}},{"begin":"(^[ \\t]+)?(?\u003c!\\S)(?=#)(?!#\\{)","end":"(?!\\G)","patterns":[{"name":"comment.line.idl-dlm","begin":"#","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.idl-dlm"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.idl-dlm"}}}]},"header_keyword":{"match":"(?i)\\b(module|description|version|source|build_date|checksum)(.*)\\b","captures":{"0":{"name":"meta.toc-list.banner.line.idl-dlm"},"1":{"name":"keyword.control.idl-dlm"}}},"routine_declaration":{"match":"(?i)^\\s*(function|procedure)\\s+([a-zA-Z0-9_$]+:?:?[a-zA-Z0-9_$]*)\\s+([0-9]+)\\s+([0-9]+|IDL_MAXPARAMS)\\s+(((keywords|obsolete)\\s+)*)","captures":{"1":{"name":"keyword.control.idl-dlm"},"2":{"name":"entity.name.function.idl"},"3":{"name":"constant.numeric.idl"},"4":{"name":"constant.numeric.idl"},"5":{"name":"entity.other.attribute"}}},"structure_declaration":{"match":"(?i)^\\s*(structure)\\s+([a-zA-Z0-9_$]+)","captures":{"1":{"name":"keyword.control.idl-dlm"},"2":{"name":"support.function.idl"}}}}}
