nushell/crates
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
..
nu_plugin_custom_values Bump version to 0.93.1 (#12710) 2024-05-01 17:19:20 -05:00
nu_plugin_example ListStream touchup (#12524) 2024-05-05 16:00:59 +00:00
nu_plugin_formats Bump version to 0.93.1 (#12710) 2024-05-01 17:19:20 -05:00
nu_plugin_gstat Bump version to 0.93.1 (#12710) 2024-05-01 17:19:20 -05:00
nu_plugin_inc Bump version to 0.93.1 (#12710) 2024-05-01 17:19:20 -05:00
nu_plugin_nu_example Bump version to 0.93.1 (#12710) 2024-05-01 17:19:20 -05:00
nu_plugin_polars Polars lazy refactor (#12669) 2024-05-06 23:19:11 +00:00
nu_plugin_python Bump version to 0.93.1 (#12710) 2024-05-01 17:19:20 -05:00
nu_plugin_query Bump version to 0.93.1 (#12710) 2024-05-01 17:19:20 -05:00
nu_plugin_stress_internals Upgrade to interprocess 2.0.0 (#12729) 2024-05-02 22:31:33 -07:00
nu-cli Migrate to a new PWD API (part 2) (#12749) 2024-05-07 18:17:49 +03:00
nu-cmd-base Migrate to a new PWD API (part 2) (#12749) 2024-05-07 18:17:49 +03:00
nu-cmd-dataframe Bump version to 0.93.1 (#12710) 2024-05-01 17:19:20 -05:00
nu-cmd-extra ListStream touchup (#12524) 2024-05-05 16:00:59 +00:00
nu-cmd-lang describe refactor (#12770) 2024-05-06 23:20:46 +00:00
nu-cmd-plugin Migrate to a new PWD API (part 2) (#12749) 2024-05-07 18:17:49 +03:00
nu-color-config Avoid taking unnecessary ownership of intermediates (#12740) 2024-05-04 00:53:15 +00:00
nu-command Migrate to a new PWD API (part 2) (#12749) 2024-05-07 18:17:49 +03:00
nu-engine Migrate to a new PWD API (part 2) (#12749) 2024-05-07 18:17:49 +03:00
nu-explore Add sys subcommands (#12747) 2024-05-06 23:20:27 +00:00
nu-glob Bump version to 0.93.1 (#12710) 2024-05-01 17:19:20 -05:00
nu-json Minimize future false positive typos (#12751) 2024-05-04 15:00:44 +00:00
nu-lsp Bump version to 0.93.1 (#12710) 2024-05-01 17:19:20 -05:00
nu-parser Fix list spread syntax highlighting (#12793) 2024-05-07 13:41:47 +08:00
nu-path Fix trailing slash in PWD set by cd (#12760) 2024-05-04 12:38:37 +03:00
nu-plugin ListStream touchup (#12524) 2024-05-05 16:00:59 +00:00
nu-plugin-core ListStream touchup (#12524) 2024-05-05 16:00:59 +00:00
nu-plugin-engine ListStream touchup (#12524) 2024-05-05 16:00:59 +00:00
nu-plugin-protocol ListStream touchup (#12524) 2024-05-05 16:00:59 +00:00
nu-plugin-test-support ListStream touchup (#12524) 2024-05-05 16:00:59 +00:00
nu-pretty-hex Bump version to 0.93.1 (#12710) 2024-05-01 17:19:20 -05:00
nu-protocol Migrate to a new PWD API (part 2) (#12749) 2024-05-07 18:17:49 +03:00
nu-std Migrate to a new PWD API (part 2) (#12749) 2024-05-07 18:17:49 +03:00
nu-system Bump version to 0.93.1 (#12710) 2024-05-01 17:19:20 -05:00
nu-table Avoid taking unnecessary ownership of intermediates (#12740) 2024-05-04 00:53:15 +00:00
nu-term-grid Bump version to 0.93.1 (#12710) 2024-05-01 17:19:20 -05:00
nu-test-support Avoid taking unnecessary ownership of intermediates (#12740) 2024-05-04 00:53:15 +00:00
nu-utils overhaul shell_integration to enable individual control over ansi escape sequences (#12629) 2024-05-02 09:56:50 -04:00
nuon improve NUON documentation (#12717) 2024-05-05 15:34:22 +02:00
README.md Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05:00

Nushell core libraries and plugins

These sub-crates form both the foundation for Nu and a set of plugins which extend Nu with additional functionality.

Foundational libraries are split into two kinds of crates:

  • Core crates - those crates that work together to build the Nushell language engine
  • Support crates - a set of crates that support the engine with additional features like JSON support, ANSI support, and more.

Plugins are likewise also split into two types:

  • Core plugins - plugins that provide part of the default experience of Nu, including access to the system properties, processes, and web-connectivity features.
  • Extra plugins - these plugins run a wide range of different capabilities like working with different file types, charting, viewing binary data, and more.