aboutsummaryrefslogtreecommitdiff
path: root/src/parser.cpp
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2015-12-01 01:06:10 -0700
committerAndrew Kelley <superjoe30@gmail.com>2015-12-01 01:06:10 -0700
commit29f24e3c5066e7cb28876d40a811a4a64f9d4b33 (patch)
tree01d27aa3253da35af6fe8a5d3f69cffab08773bd /src/parser.cpp
parent257cf09472ce5f4a51bf39808e119717fa0e4280 (diff)
downloadzig-29f24e3c5066e7cb28876d40a811a4a64f9d4b33.tar.gz
zig-29f24e3c5066e7cb28876d40a811a4a64f9d4b33.zip
add --color cli arg to override tty detection
Diffstat (limited to 'src/parser.cpp')
-rw-r--r--src/parser.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/parser.cpp b/src/parser.cpp
index a6809a2777..665bbee3cb 100644
--- a/src/parser.cpp
+++ b/src/parser.cpp
@@ -242,6 +242,7 @@ struct ParseContext {
ZigList<Token> *tokens;
ZigList<AstNode *> *directive_list;
ImportTableEntry *owner;
+ ErrColor err_color;
};
__attribute__ ((format (printf, 3, 4)))
@@ -262,7 +263,7 @@ static void ast_error(ParseContext *pc, Token *token, const char *format, ...) {
err->source = pc->owner->source_code;
err->line_offsets = pc->owner->line_offsets;
- print_err_msg(err);
+ print_err_msg(err, pc->err_color);
exit(EXIT_FAILURE);
}
@@ -1334,8 +1335,9 @@ static AstNode *ast_parse_root(ParseContext *pc, int *token_index) {
return node;
}
-AstNode *ast_parse(Buf *buf, ZigList<Token> *tokens, ImportTableEntry *owner) {
+AstNode *ast_parse(Buf *buf, ZigList<Token> *tokens, ImportTableEntry *owner, ErrColor err_color) {
ParseContext pc = {0};
+ pc.err_color = err_color;
pc.owner = owner;
pc.buf = buf;
pc.tokens = tokens;