diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..8384213 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,13 @@ +// A launch configuration that launches the extension inside a new window +{ + "version": "0.1.0", + "configurations": [ + { + "name": "Launch Extension", + "type": "extensionHost", + "request": "launch", + "runtimeExecutable": "${execPath}", + "args": ["--extensionDevelopmentPath=${workspaceRoot}" ] + } + ] +} \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..a121bc3 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,4 @@ +# Change Log + +## [1.0.0] - 2017-08-07 +- Initial release \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..b871579 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2017 RoscoP - https://github.com/RoscoP/FASTBuild + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..76c4969 --- /dev/null +++ b/README.md @@ -0,0 +1,9 @@ +# FASTBuild README + +Syntax highlighting for [FASTBuild](http://www.fastbuild.org) configuration (bff) files. + +## Release Notes + +### 1.0.0 + +Initial release diff --git a/language-configuration.json b/language-configuration.json new file mode 100644 index 0000000..aa25710 --- /dev/null +++ b/language-configuration.json @@ -0,0 +1,30 @@ +{ + "comments": { + // symbol used for single line comment. Remove this entry if your language does not support line comments + "lineComment": "//", + // symbols used for start and end a block comment. Remove this entry if your language does not support block comments + "blockComment": [ "/*", "*/" ] + }, + // symbols used as brackets + "brackets": [ + ["{", "}"], + ["[", "]"], + ["(", ")"] + ], + // symbols that are auto closed when typing + "autoClosingPairs": [ + ["{", "}"], + ["[", "]"], + ["(", ")"], + ["\"", "\""], + ["'", "'"] + ], + // symbols that that can be used to surround a selection + "surroundingPairs": [ + ["{", "}"], + ["[", "]"], + ["(", ")"], + ["\"", "\""], + ["'", "'"] + ] +} \ No newline at end of file diff --git a/media/icon.png b/media/icon.png new file mode 100644 index 0000000..aefa633 Binary files /dev/null and b/media/icon.png differ diff --git a/package.json b/package.json new file mode 100644 index 0000000..e25704d --- /dev/null +++ b/package.json @@ -0,0 +1,31 @@ +{ + "name": "fastbuild", + "displayName": "FASTBuild", + "description": "FASTBuild configuration syntax highlighting", + "version": "1.0.0", + "publisher": "RoscoP", + "engines": { + "vscode": "^1.14.0" + }, + "categories": [ + "Languages" + ], + "icon": "media/icon.png", + "repository": { + "type": "git", + "url": "https://github.com/RoscoP/FASTBuild" + }, + "contributes": { + "languages": [{ + "id": "fastbuild", + "aliases": ["FASTBuild", "fastbuild"], + "extensions": ["bff"], + "configuration": "./language-configuration.json" + }], + "grammars": [{ + "language": "fastbuild", + "scopeName": "source.fastbuild", + "path": "./syntaxes/fastbuild.tmLanguage.json" + }] + } +} \ No newline at end of file diff --git a/syntaxes/fastbuild.tmLanguage.json b/syntaxes/fastbuild.tmLanguage.json new file mode 100644 index 0000000..35f9d7a --- /dev/null +++ b/syntaxes/fastbuild.tmLanguage.json @@ -0,0 +1,119 @@ +{ + "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json", + "name": "FASTBuild", + "foldingStartMarker": "/\\*\\*(?!\\*)|^(?![^{]*?//|[^{]*?/\\*(?!.*?\\*/.*?\\{)).*?\\{\\s*($|//|/\\*(?!.*?\\*/.*\\S))", + "foldingStopMarker": "(?