Improved error reporting and fully implemented the shopt command
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
use std::sync::Arc;
|
||||
|
||||
pub use super::*;
|
||||
use super::*;
|
||||
use crate::libsh::error::{
|
||||
Note, ShErr, ShErrKind
|
||||
};
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
source: src/tests/error.rs
|
||||
expression: err_fmt
|
||||
---
|
||||
[36m[1m->[0m [[36m[1m1[0m;[36m[1m1[0m] - [31m[1mParse Error[0m
|
||||
[31m[1mParse Error[0m - Expected 'esac' after case block
|
||||
[36m[1m->[0m [[36m[1m1[0m;[36m[1m1[0m]
|
||||
[36m[1m |[0m
|
||||
[36m[1m1 |[0m case foo in foo) bar;; bar) foo;;
|
||||
[36m[1m |[0m [31m[1m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^[0m
|
||||
[36m[1m |[0m
|
||||
[36m[1m-[0m Expected 'esac' after case block
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
source: src/tests/error.rs
|
||||
expression: err_fmt
|
||||
---
|
||||
[36m[1m->[0m [[36m[1m1[0m;[36m[1m1[0m] - [31m[1mParse Error[0m
|
||||
[31m[1mParse Error[0m - Expected 'in' after case variable name
|
||||
[36m[1m->[0m [[36m[1m1[0m;[36m[1m1[0m]
|
||||
[36m[1m |[0m
|
||||
[36m[1m1 |[0m case foo foo) bar;; bar) foo;; esac
|
||||
[36m[1m |[0m [31m[1m^^^^^^^^^^^^^^^^^^^^[0m
|
||||
[36m[1m |[0m
|
||||
[36m[1m-[0m Expected 'in' after case variable name
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
source: src/tests/error.rs
|
||||
expression: err_fmt
|
||||
---
|
||||
[36m[1m->[0m [[36m[1m1[0m;[36m[1m1[0m] - [31m[1mCommand not found: foo[0m
|
||||
[31m[1mCommand not found: foo[0m -
|
||||
[36m[1m->[0m [[36m[1m1[0m;[36m[1m1[0m]
|
||||
[36m[1m |[0m
|
||||
[36m[1m1 |[0m foo
|
||||
[36m[1m |[0m
|
||||
[36m[1m-[0m
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
source: src/tests/error.rs
|
||||
expression: err_fmt
|
||||
---
|
||||
[36m[1m->[0m [[36m[1m1[0m;[36m[1m1[0m] - [31m[1mParse Error[0m
|
||||
[31m[1mParse Error[0m - Expected 'fi' after if statement
|
||||
[36m[1m->[0m [[36m[1m1[0m;[36m[1m1[0m]
|
||||
[36m[1m |[0m
|
||||
[36m[1m1 |[0m if foo; then bar;
|
||||
[36m[1m |[0m [31m[1m^^^^^^^^^^^^^^^^^[0m
|
||||
[36m[1m |[0m
|
||||
[36m[1m-[0m Expected 'fi' after if statement
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
source: src/tests/error.rs
|
||||
expression: err_fmt
|
||||
---
|
||||
[36m[1m->[0m [[36m[1m1[0m;[36m[1m1[0m] - [31m[1mParse Error[0m
|
||||
[31m[1mParse Error[0m - Expected 'then' after 'if' condition
|
||||
[36m[1m->[0m [[36m[1m1[0m;[36m[1m1[0m]
|
||||
[36m[1m |[0m
|
||||
[36m[1m1 |[0m if foo; bar; fi
|
||||
[36m[1m |[0m [31m[1m^^^^^^^^^^^^^[0m
|
||||
[36m[1m |[0m
|
||||
[36m[1m-[0m Expected 'then' after 'if' condition
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
source: src/tests/error.rs
|
||||
expression: err_fmt
|
||||
---
|
||||
[36m[1m->[0m [[36m[1m1[0m;[36m[1m1[0m] - [31m[1mParse Error[0m
|
||||
[31m[1mParse Error[0m - Expected 'do' after loop condition
|
||||
[36m[1m->[0m [[36m[1m1[0m;[36m[1m1[0m]
|
||||
[36m[1m |[0m
|
||||
[36m[1m1 |[0m while true; echo foo; done
|
||||
[36m[1m |[0m [31m[1m^^^^^^^^^^^^^^^^^^^^^^[0m
|
||||
[36m[1m |[0m
|
||||
[36m[1m-[0m Expected 'do' after loop condition
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
source: src/tests/error.rs
|
||||
expression: err_fmt
|
||||
---
|
||||
[36m[1m->[0m [[36m[1m1[0m;[36m[1m1[0m] - [31m[1mParse Error[0m
|
||||
[31m[1mParse Error[0m - Expected 'done' after loop body
|
||||
[36m[1m->[0m [[36m[1m1[0m;[36m[1m1[0m]
|
||||
[36m[1m |[0m
|
||||
[36m[1m1 |[0m while true; do echo foo;
|
||||
[36m[1m |[0m [31m[1m^^^^^^^^^^^^^^^^^^^^^^^^[0m
|
||||
[36m[1m |[0m
|
||||
[36m[1m-[0m Expected 'done' after loop body
|
||||
|
||||
Reference in New Issue
Block a user