diff options
Diffstat (limited to 'cli')
-rw-r--r-- | cli/fmt_errors.rs | 6 | ||||
-rw-r--r-- | cli/tests/error_025_tab_indent | 9 | ||||
-rw-r--r-- | cli/tests/error_025_tab_indent.out | 6 | ||||
-rw-r--r-- | cli/tests/integration_tests.rs | 7 |
4 files changed, 27 insertions, 1 deletions
diff --git a/cli/fmt_errors.rs b/cli/fmt_errors.rs index d2c69819f..e0fc61459 100644 --- a/cli/fmt_errors.rs +++ b/cli/fmt_errors.rs @@ -74,7 +74,11 @@ fn format_maybe_source_line( '~' }; for _i in 0..start_column { - s.push(' '); + if source_line.chars().nth(_i as usize).unwrap() == '\t' { + s.push('\t'); + } else { + s.push(' '); + } } for _i in 0..(end_column - start_column) { s.push(underline_char); diff --git a/cli/tests/error_025_tab_indent b/cli/tests/error_025_tab_indent new file mode 100644 index 000000000..35a25bcea --- /dev/null +++ b/cli/tests/error_025_tab_indent @@ -0,0 +1,9 @@ +function foo() { + throw Error("bad"); +} + +function bar() { + foo(); +} + +bar(); diff --git a/cli/tests/error_025_tab_indent.out b/cli/tests/error_025_tab_indent.out new file mode 100644 index 000000000..7b339c48f --- /dev/null +++ b/cli/tests/error_025_tab_indent.out @@ -0,0 +1,6 @@ +[WILDCARD]error: Uncaught Error: bad + throw Error("bad"); + ^ + at foo ([WILDCARD]tests/error_025_tab_indent:2:8) + at bar ([WILDCARD]tests/error_025_tab_indent:6:2) + at [WILDCARD]tests/error_025_tab_indent:9:1 diff --git a/cli/tests/integration_tests.rs b/cli/tests/integration_tests.rs index fb2d7e73b..66df5a70f 100644 --- a/cli/tests/integration_tests.rs +++ b/cli/tests/integration_tests.rs @@ -1429,6 +1429,13 @@ itest!(error_024_stack_promise_all { exit_code: 1, }); +itest!(error_025_tab_indent { + args: "error_025_tab_indent", + output: "error_025_tab_indent.out", + check_stderr: true, + exit_code: 1, +}); + itest!(error_syntax { args: "run --reload error_syntax.js", check_stderr: true, |