diff --git a/extensions/less/package.json b/extensions/less/package.json index 865edef01d1..b23dfe356b9 100644 --- a/extensions/less/package.json +++ b/extensions/less/package.json @@ -18,6 +18,21 @@ "language": "less", "scopeName": "source.css.less", "path": "./syntaxes/less.tmLanguage.json" - }] + }], + "problemMatchers": [ + { + "name": "lessc", + "label": "Lessc compiler", + "owner": "lessc", + "fileLocation": "absolute", + "pattern": { + "regexp": "(.*)\\sin\\s(.*)\\son line\\s(\\d+),\\scolumn\\s(\\d+)", + "message": 1, + "file": 2, + "line": 3, + "column": 4 + } + } + ] } } \ No newline at end of file diff --git a/extensions/scss/package.json b/extensions/scss/package.json index dc291c2670f..49c2513a128 100644 --- a/extensions/scss/package.json +++ b/extensions/scss/package.json @@ -18,6 +18,44 @@ "language": "scss", "scopeName": "source.css.scss", "path": "./syntaxes/scss.json" - }] + }], + "problemMatchers": [ + { + "name": "node-sass", + "label": "Node Sass Compiler", + "owner": "node-sass", + "fileLocation": "absolute", + "pattern": [ + { + "regexp": "^{$" + }, + { + "regexp": "\\s*\"status\":\\s\\d+," + }, + { + "regexp": "\\s*\"file\":\\s\"(.*)\",", + "file": 1 + }, + { + "regexp": "\\s*\"line\":\\s(\\d+),", + "line": 1 + }, + { + "regexp": "\\s*\"column\":\\s(\\d+),", + "column": 1 + }, + { + "regexp": "\\s*\"message\":\\s\"(.*)\",", + "message": 1 + }, + { + "regexp": "\\s*\"formatted\":\\s(.*)" + }, + { + "regexp": "^}$" + } + ] + } + ] } } \ No newline at end of file diff --git a/src/vs/platform/markers/common/problemMatcher.ts b/src/vs/platform/markers/common/problemMatcher.ts index d989ecc23f9..cf49ef05252 100644 --- a/src/vs/platform/markers/common/problemMatcher.ts +++ b/src/vs/platform/markers/common/problemMatcher.ts @@ -116,6 +116,7 @@ export interface ProblemMatcher { export interface NamedProblemMatcher extends ProblemMatcher { name: string; label: string; + deprecated?: boolean; } export interface NamedMultiLineProblemPattern { @@ -1586,6 +1587,7 @@ class ProblemMatcherRegistryImpl implements IProblemMatcherRegistry { this.add({ name: 'lessCompile', label: localize('lessCompile', 'Less problems'), + deprecated: true, owner: 'lessCompile', applyTo: ApplyToKind.allDocuments, fileLocation: FileLocationKind.Absolute, diff --git a/src/vs/workbench/parts/tasks/electron-browser/task.contribution.ts b/src/vs/workbench/parts/tasks/electron-browser/task.contribution.ts index fed315511eb..9b054797e80 100644 --- a/src/vs/workbench/parts/tasks/electron-browser/task.contribution.ts +++ b/src/vs/workbench/parts/tasks/electron-browser/task.contribution.ts @@ -947,6 +947,9 @@ class TaskService extends EventEmitter implements ITaskService { let entries: ProblemMatcherPickEntry[] = []; for (let key of ProblemMatcherRegistry.keys()) { let matcher = ProblemMatcherRegistry.get(key); + if (matcher.deprecated) { + continue; + } if (matcher.name === matcher.label) { entries.push({ label: matcher.name, matcher: matcher }); } else {