nushell/src
dj-sourbrough 48fca1c151
Fix: lex now throws error on unbalanced closing parentheses (issue #11982) (#12098)
- Fixes issue #11982 

# Description
Expressions with unbalanced parenthesis [excess closing ')' parenthesis]
will throw an error instead of interpreting ')' as a string.

Solved he same way as closing braces '}' are handled.

![Screenshot 2024-03-06 at 14 53
46](https://github.com/nushell/nushell/assets/56027726/86834e47-a1e5-484d-881d-0e3b80fecef8)

![Screenshot 2024-03-06 at 14 48
27](https://github.com/nushell/nushell/assets/56027726/bb27c969-6a3b-4735-8a1e-a5881d9096d3)

# User-Facing Changes
- Trailing closing parentheses ')' which do not match the number of
opening parentheses '(' will lead to a parse error.
- From what I have found in the documentation this is the intended
behavior, thus no documentation has been updated on my part

# Tests + Formatting
- Two tests added in src/tests/test_parser.rs
- All previous tests are still passing
- cargo fmt, clippy and test have been run

Unable to get the following command run
- `cargo run -- -c "use std testing; testing run-tests --path
crates/nu-std"` to run the tests for the standard library
![Screenshot 2024-03-06 at 20 06
25](https://github.com/nushell/nushell/assets/56027726/91724fb9-d7d0-472b-bf14-bfa2a7618d09)

---------

Co-authored-by: Noak Jönsson <noakj@kth.se>
2024-03-07 06:05:04 -06:00
..
tests Fix: lex now throws error on unbalanced closing parentheses (issue #11982) (#12098) 2024-03-07 06:05:04 -06:00
command.rs wrapping run_repl with catch_unwind and restarting the repl on panic (#11860) 2024-02-22 12:14:10 -06:00
config_files.rs Handle configuration panics (#11935) 2024-02-22 16:25:55 -06:00
ide.rs Make only_buffer_difference: true work (#11488) 2024-01-11 11:58:14 -06:00
logger.rs Use variable names directly in the format strings (#7906) 2023-01-29 19:37:54 -06:00
main.rs wrapping run_repl with catch_unwind and restarting the repl on panic (#11860) 2024-02-22 12:14:10 -06:00
README.md Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05:00
run.rs allow --login to be used with nu's --commands parameter (#10253) 2023-09-06 13:27:16 -05:00
signals.rs Simplify SIGQUIT handling (#11381) 2023-12-21 17:00:38 +01:00
terminal.rs Do not block signals for child processes (#11402) 2024-01-15 16:08:21 -06:00
test_bins.rs make stderr works for failed external command (#11914) 2024-02-21 21:15:05 +08:00
tests.rs Spread operator for list literals (#11006) 2023-11-22 23:10:08 +02:00

Nushell REPL

This directory contains the main Nushell REPL (read eval print loop) as part of the CLI portion of Nushell, which creates the nu binary itself.

Current versions of the nu binary will use the Nu argument parsing logic to parse the commandline arguments passed to nu, leaving the logic here to be a thin layer around what the core libraries.