{ "fileTypes": [ "i", "swg" ], "foldingStartMarker": "(/\\*\\*|%?\\{\\s*$)", "foldingStopMarker": "(\\*\\*/|^\\s*%?\\})", "keyEquivalent": "^~S", "name": "SWIG", "patterns": [ { "comment": "SWIG files contain C or C++ code, so it's logical to derive from the C++ rules", "include": "source.c++" }, { "captures": { "1": { "name": "punctuation.definition.keyword.swig" } }, "match": "(%)(header|init|inline|native|runtime|wrapper)\\b", "name": "keyword.other.directive.inlinecode.swig" }, { "captures": { "1": { "name": "punctuation.definition.keyword.swig" } }, "match": "(\\$)([\\*&]*[1-9]+(_name|_type|_ltype|_basetype|_mangle|_descriptor){0,1}|action|input|result|symname)\\b", "name": "keyword.other.function-parameter.swig" }, { "match": "\\b(in|out|typecheck|arginit|default|check|argout|freearg|newfree|memberin|varin|varout|throws|numinputs)\\b", "name": "support.function.type.swig" }, { "captures": { "1": { "name": "punctuation.definition.keyword.swig" } }, "match": "(%)(apply|callback|clear|constant|contract|define|enddef|extend|feature|ignore|insert|makedefault|module|nocallback|nodefault|rename|typemap|varargs|template)\\b", "name": "keyword.other.directive.swig" }, { "captures": { "1": { "name": "keyword.control.import.swig" } }, "match": "\\(\\s*(allegrocl|chicken|csharp|guile|java|modula3|mzscheme|ocaml|perl|php|pike|python|ruby|sexp|tcl|xml)\\b", "name": "meta.preprocessor.swig" }, { "begin": "^\\s*(%)\\s*(include|import)\\b\\s+(\"?[A-Za-z0-9\\._]+\"?)", "captures": { "1": { "name": "punctuation.definition.preprocessor.swig" }, "2": { "name": "keyword.control.import.swig" }, "3": { "name": "string.quoted.double.swig" } }, "end": "$", "name": "meta.preprocessor.swig" }, { "captures": { "1": { "name": "punctuation.definition.preprocessor.swig" } }, "match": "(%)([A-Za-z]+[A-Za-z0-9_]*)\\b", "name": "meta.preprocessor.macro.swig" }, { "match": "\\bSWIG_TYPECHECK_(POINTER|VOIDPTR|BOOL|UINT8|INT8|UINT16|INT16|UINT32|INT32|UINT64|INT64|UINT128|INT128|INTEGER|FLOAT|DOUBLE|COMPLEX|UNICHAR|UNISTRING|CHAR|STRING|BOOL_ARRAY|INT8_ARRAY|INT16_ARRAY|INT32_ARRAY|INT64_ARRAY|INT128_ARRAY|FLOAT_ARRAY|DOUBLE_ARRAY|CHAR_ARRAY|STRING_ARRAY)\\b", "name": "storage.type.swig" }, { "captures": { "1": { "name": "punctuation.section.embedded.swig" } }, "match": "(%\\{|%\\})", "name": "source.swig.codeblock" } ], "scopeName": "source.swig", "uuid": "C781B0D0-BED9-11D9-A141-000393A143CC" }