nushell/src
YizhePKU 7a86b98f61
Migrate to a new PWD API (part 2) (#12749)
Refer to #12603 for part 1.

We need to be careful when migrating to the new API, because the new API
has slightly different semantics (PWD can contain symlinks). This PR
handles the "obviously safe" part of the migrations. Namely, it handles
two specific use cases:

* Passing PWD into `canonicalize_with()`
* Passing PWD into `EngineState::merge_env()`

The first case is safe because symlinks are canonicalized away. The
second case is safe because `EngineState::merge_env()` only uses PWD to
call `std::env::set_current_dir()`, which shouldn't affact Nushell. The
commit message contains detailed stats on the updated files.

Because these migrations touch a lot of files, I want to keep these PRs
small to avoid merge conflicts.
2024-05-07 18:17:49 +03:00
..
tests allow raw string to be used inside subexpression, list, and closure (#12776) 2024-05-06 15:53:58 -05:00
command.rs Rename plugin cache file ⇒ plugin registry file (#12634) 2024-04-24 17:40:39 -05:00
config_files.rs Migrate to a new PWD API (part 2) (#12749) 2024-05-07 18:17:49 +03:00
ide.rs add raw-string literal support (#9956) 2024-05-02 09:36:37 -04:00
logger.rs Use variable names directly in the format strings (#7906) 2023-01-29 19:37:54 -06:00
main.rs Split the plugin crate (#12563) 2024-04-27 12:08:12 -05:00
README.md Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05:00
run.rs Overhaul the plugin cache file with a new msgpack+brotli format (#12579) 2024-04-21 07:36:26 -05:00
signals.rs Add command_prelude module (#12291) 2024-03-26 21:17:30 +00:00
terminal.rs Deduplicate nix dependency versions (#12307) 2024-03-27 16:43:37 +01:00
test_bins.rs Migrate to a new PWD API (part 2) (#12749) 2024-05-07 18:17:49 +03:00
tests.rs Deprecate register and add plugin use (#12607) 2024-04-23 06:37:50 -05: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.