private static parseModifiedStatus()

in src/dal/git/GitCommandArgumentsParser.ts [19:30]


    private static parseModifiedStatus(statusRow: string): GitParsedStatusRow {
        const porcelainStatusGitRegExp: RegExp = /^([MAD\s])([MAD\s])\s(.*)$/;
        const parsedPorcelain: string[] = porcelainStatusGitRegExp.exec(statusRow);
        if (!parsedPorcelain || parsedPorcelain.length !== 4) {
            throw new Error(`Incorrect number of parsed arguments in the status row "${statusRow}"`);
        }
        return {
            indexStatus: parsedPorcelain[1].trim() !== "" ? parsedPorcelain[1].trim() : undefined,
            workingTreeStatus: parsedPorcelain[2].trim() !== "" ? parsedPorcelain[2].trim() : undefined,
            relativePath: parsedPorcelain[3].trim()
        };
    }