{
	"version": "0.1.0",

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

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

    "tasks": [
        {
            "taskName": "build",
            "suppressTaskName": true,
            "showOutput": "silent",
            "isBuildCommand": true,
            "isWatching": true,
            "args": [
				"run",
				"-s",
				"watch"
            ],
            // use the standard tsc problem matcher to find compile problems
        	// in the output.
        	"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}"],
                "fileLocation": "absolute",
                // A regular expression signalling that a watched task begins executing (usually triggered through file watching).
				"watchedTaskBeginsRegExp": "^Build started\\.$",
				// A regular expression signalling that a watched tasks ends executing.
				"watchedTaskEndsRegExp": "^Build finished\\. \\(\\d+ms\\)$",
        		// 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*(.*)$",
                    "regexp": "^([^\\s].*)\\((\\d+|\\d+,\\d+|\\d+,\\d+,\\d+,\\d+)\\):\\s+(error|warning|info)\\s+([A-Za-z0-9-_]+)\\s*:\\s*(.*)$",
                    //"regexp": "^([^\\s].*)\\((\\d+|\\d+,\\d+|\\d+,\\d+,\\d+,\\d+)\\):\\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
        		}
        	}
        }
    ]
}
