Skip to content

Commit

Permalink
Merge pull request #34 from Armitxes/development
Browse files Browse the repository at this point in the history
Basic .ext support
  • Loading branch information
Armitxes authored Mar 10, 2019
2 parents 61075d3 + 9cd11e2 commit efd8c14
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 1 deletion.
18 changes: 18 additions & 0 deletions configs/ext.configuration.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"comments": {
"lineComment": "//",
"blockComment": ["/*", "*/"]
},
"brackets": [
["{", "}"]
],
"autoClosingPairs": [
["[", "]"],
["\"", "\""],
["(", ")"]
],
"surroundingPairs": [
["'", "'"],
["\"", "\""]
]
}
27 changes: 26 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"displayName": "SQF Language",
"description": "Full SQF Language support for VS Code.",
"icon": "img/logo.png",
"version": "2.0.1",
"version": "2.0.2",
"publisher": "Armitxes",
"galleryBanner": {
"color": "#647e99",
Expand All @@ -28,6 +28,7 @@
],
"activationEvents": [
"onLanguage:sqf",
"onLanguage:ext",
"onDebugResolve:sqf"
],
"main": "./env/client/init",
Expand Down Expand Up @@ -101,6 +102,14 @@
"editor.detectIndentation": true,
"editor.trimAutoWhitespace": true,
"editor.autoClosingBrackets": "always"
},
"[ext]": {
"editor.quickSuggestions": true,
"editor.tabSize": 4,
"editor.insertSpaces": false,
"editor.detectIndentation": true,
"editor.trimAutoWhitespace": true,
"editor.autoClosingBrackets": "always"
}
},
"debuggers": [
Expand All @@ -116,6 +125,11 @@
"language": "sqf",
"scopeName": "source.sqf",
"path": "./syntaxes/sqf.min.json"
},
{
"language": "ext",
"scopeName": "description.ext",
"path": "./syntaxes/ext.min.json"
}
],
"languages": [
Expand All @@ -131,6 +145,17 @@
".sqm"
],
"configuration": "./configs/sqf.configuration.json"
},
{
"id": "ext",
"aliases": [
"Arma header file"
],
"extensions": [
".ext",
".hpp"
],
"configuration": "./configs/ext.configuration.json"
}
],
"menus": {
Expand Down
1 change: 1 addition & 0 deletions syntaxes/ext.min.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"scopeName":"description.ext","fileTypes":["ext"],"name":"ext","patterns":[{"include":"#strings"},{"include":"#numbers"},{"include":"#comments"},{"name":"storage.type","match":"\\b(class)\\b"},{"begin":"^\\s*((#)\\s*(include(?:_next)?|import))\\b\\s*","beginCaptures":{"1":{"name":"keyword.control.directive.$3.ext"},"2":{"name":"punctuation.definition.directive.ext"}},"end":"(?=(?://|/\\*))|(?<!\\\\)(?=\\n)","name":"meta.preprocessor.include.ext","patterns":[{"include":"#line_continuation_character"},{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ext"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.ext"}},"name":"string.quoted.double.include.ext"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ext"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.ext"}},"name":"string.quoted.other.lt-gt.include.ext"}]},{"begin":"(?x)\n^\\s* ((\\#)\\s*define) \\s+ # define\n((?<id>[a-zA-Z_$][\\w$]*)) # macro name\n(?:\n (\\()\n (\n \\s* \\g<id> \\s* # first argument\n ((,) \\s* \\g<id> \\s*)* # additional arguments\n (?:\\.\\.\\.)? # varargs ellipsis?\n )\n (\\))\n)?","beginCaptures":{"1":{"name":"keyword.control.directive.define.c"},"2":{"name":"punctuation.definition.directive.c"},"3":{"name":"entity.name.function.preprocessor.c"},"5":{"name":"punctuation.definition.parameters.begin.c"},"6":{"name":"variable.parameter.preprocessor.c"},"8":{"name":"punctuation.separator.parameters.c"},"9":{"name":"punctuation.definition.parameters.end.c"}},"end":"(?=(?://|/\\*))|(?<!\\\\)(?=\\n)","name":"meta.preprocessor.macro.ext"}],"repository":{"line_continuation_character":{"patterns":[{"match":"(\\\\)\\n","captures":{"1":{"name":"constant.character.escape.line-continuation.c"}}}]},"numbers":{"patterns":[{"match":"\\b((0(x|X)[0-9a-fA-F]([0-9a-fA-F']*[0-9a-fA-F])?)|(0(b|B)[01]([01']*[01])?)|(([0-9]([0-9']*[0-9])?\\.?[0-9]*([0-9']*[0-9])?)|(\\.[0-9]([0-9']*[0-9])?))((e|E)(\\+|-)?[0-9]([0-9']*[0-9])?)?)(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b","name":"constant.numeric.ext"}]},"comments":{"patterns":[{"captures":{"1":{"name":"meta.toc-list.banner.block.c"}},"match":"^/\\* =(\\s*.*?)\\s*= \\*/$\\n?","name":"comment.block.c"},{"begin":"/\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.c"}},"end":"\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.c"}},"name":"comment.block.c"},{"match":"\\*/.*\\n","name":"invalid.illegal.stray-comment-end.c"},{"captures":{"1":{"name":"meta.toc-list.banner.line.c"}},"match":"^// =(\\s*.*?)\\s*=\\s*$\\n?","name":"comment.line.banner.cpp"},{"begin":"(^[ \\t]+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.cpp"}},"end":"(?!\\G)","patterns":[{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.cpp"}},"end":"(?=\\n)","name":"comment.line.double-slash.cpp","patterns":[{"include":"#line_continuation_character"}]}]}]},"strings":{"patterns":[{"begin":"(u|u8|U|L)?\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ext"},"1":{"name":"meta.encoding.ext"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.ext"}},"name":"string.quoted.double.ext","patterns":[{"match":"\\\\u\\h{4}|\\\\U\\h{8}","name":"constant.character.escape.ext"},{"match":"\\\\['\"?\\\\abfnrtv]","name":"constant.character.escape.ext"},{"match":"\\\\[0-7]{1,3}","name":"constant.character.escape.ext"},{"match":"\\\\x\\h+","name":"constant.character.escape.ext"}]},{"begin":"(u|u8|U|L)?R\"(?:([^ ()\\\\\\t]{0,16})|([^ ()\\\\\\t]*))\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ext"},"1":{"name":"meta.encoding.ext"},"3":{"name":"invalid.illegal.delimiter-too-long.ext"}},"end":"\\)\\2(\\3)\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.ext"},"1":{"name":"invalid.illegal.delimiter-too-long.ext"}},"name":"string.quoted.double.raw.ext"}]}}}

0 comments on commit efd8c14

Please sign in to comment.