// Available variables which can be used inside of strings.
// ${workspaceRoot}: the root folder of the team
// ${file}: the current opened file
// ${fileBasename}: the current opened file's basename
// ${fileDirname}: the current opened file's dirname
// ${fileExtname}: the current opened file's extension
// ${cwd}: the current working directory of the spawned process

// A task runner that calls the Typescript compiler (tsc) and
// Compiles a HelloWorld.ts program
{
	"version": "0.1.0",

	// The command is tsc. Assumes that tsc has been installed using npm install -g typescript
	"command": "tsc",

	// The command is a shell script
	"isShellCommand": true,

	// Show the output window only if unrecognized errors occur.
	"showOutput": "silent",

	// args is the HelloWorld program to compile.
	"args": ["HelloWorld.ts"],

	// use the standard tsc problem matcher to find compile problems
	// in the output.
	"problemMatcher": "$tsc"
}

// A task runner that calls the Typescript compiler (tsc) and
// compiles based on a tsconfig.json file that is present in
// the root of the folder open in VSCode
/*
{
	"version": "0.1.0",

	// The command is tsc. Assumes that tsc has been installed using npm install -g typescript
	"command": "tsc",

	// The command is a shell script
	"isShellCommand": true,

	// Show the output window only if unrecognized errors occur.
	"showOutput": "silent",

	// Tell the tsc compiler to use the tsconfig.json from the open folder.
	"args": ["-p", "."],

	// use the standard tsc problem matcher to find compile problems
	// in the output.
	"problemMatcher": "$tsc"
}
*/

// A task runner configuration for gulp. Gulp provides a less task
// which compiles less to css.
/*
{
	"version": "0.1.0",
	"command": "gulp",
	"isShellCommand": true,
	"tasks": [
		{
			"taskName": "less",
			// Make this the default build command.
			"isBuildCommand": true,
			// Show the output window only if unrecognized errors occur.
			"showOutput": "silent",
			// Use the standard less compilation problem matcher.
			"problemMatcher": "$lessCompile"
		}
	]
}
*/

// Uncomment the following section to use jake to build a workspace
// cloned from https://github.com/Microsoft/TypeScript.git
/*
{
	"version": "0.1.0",
	// Task runner is jake
	"command": "jake",
	// Need to be executed in shell / cmd
	"isShellCommand": true,
	"showOutput": "silent",
	"tasks": [
		{
			// TS build command is local.
			"taskName": "local",
			// Make this the default build command.
			"isBuildCommand": true,
			// Show the output window only if unrecognized errors occur.
			"showOutput": "silent",
			// Use the redefined Typescript output problem matcher.
			"problemMatcher": [
				"$tsc"
			]
		}
	]
}
*/

// Uncomment the section below to use msbuild and generate problems
// for csc, cpp, tsc and vb. The configuration assumes that msbuild
// is available on the path and a solution file exists in the
// workspace folder root.
/*
{
	"version": "0.1.0",
	"command": "msbuild",
	"args": [
		// Ask msbuild to generate full paths for file names.
		"/property:GenerateFullPaths=true"
	],
	"taskSelector": "/t:",
	"showOutput": "silent",
	"tasks": [
		{
			"taskName": "build",
			// Show the output window only if unrecognized errors occur.
			"showOutput": "silent",
			// Use the standard MS compiler pattern to detect errors, warnings
			// and infos in the output.
			"problemMatcher": "$msCompile"
		}
	]
}
*/

// Uncomment the following section to use msbuild which compiles Typescript
// and less files.
/*
{
	"version": "0.1.0",
	"command": "msbuild",
	"args": [
		// Ask msbuild to generate full paths for file names.
		"/property:GenerateFullPaths=true"
	],
	"taskSelector": "/t:",
	"showOutput": "silent",
	"tasks": [
		{
			"taskName": "build",
			// Show the output window only if unrecognized errors occur.
			"showOutput": "silent",
			// Use the standard MS compiler pattern to detect errors, warnings
			// and infos in the output.
			"problemMatcher": [
				"$msCompile",
				"$lessCompile"
			]
		}
	]
}
*/
// A task runner example that defines a problemMatcher inline instead of using
// a predefined one.
/*
{
	"version": "0.1.0",
	"command": "tsc",
	"isShellCommand": true,
	"args": ["HelloWorld.ts"],
	"showOutput": "silent",
	"problemMatcher": {
		// The problem is owned by the typescript language service. Ensure that the problems
		// are merged with problems produced by Visual Studio's language service.
		"owner": "typescript",
		// The file name for reported problems is relative to the current working directory.
		"fileLocation": ["relative", "${cwd}"],
		// The actual pattern to match problems in the output.
		"pattern": {
			// The regular expression. Matches HelloWorld.ts(2,10): error TS2339: Property 'logg' does not exist on type 'Console'.
			"regexp": "^([^\\s].*)\\((\\d+|\\d+,\\d+|\\d+,\\d+,\\d+,\\d+)\\):\\s+(error|warning|info)\\s+(TS\\d+)\\s*:\\s*(.*)$",
			// The match group that denotes the file containing the problem.
			"file": 1,
			// The match group that denotes the problem location.
			"location": 2,
			// The match group that denotes the problem's severity. Can be omitted.
			"severity": 3,
			// The match group that denotes the problem code. Can be omitted.
			"code": 4,
			// The match group that denotes the problem's message.
			"message": 5
		}
	}
}
*/