nushell/crates
Jakub Žádník d95375d494
nu-path crate refactor (#3730)
* Resolve rebase artifacts

* Remove leftover dependencies on removed feature

* Remove unnecessary 'pub'

* Start taking notes and fooling around

* Split canonicalize to two versions; Add TODOs

One that takes `relative_to` and one that doesn't.
More TODO notes.

* Merge absolutize to and rename resolve_dots

* Add custom absolutize fn and use it in path expand

* Convert a couple of dunce::canonicalize to ours

* Update nu-path description

* Replace all canonicalize with nu-path version

* Remove leftover dunce dependencies

* Fix broken autocd with trailing slash

Trailing slash is preserved *only* in paths that do not contain "." or
"..". This should be fixed in the future to cover all paths but for now
it at least covers basic cases.

* Use dunce::canonicalize for canonicalizing

* Alow cd recovery from non-existent cwd

* Disable removed canonicalize functionality tests

Remove unused import

* Break down nu-path into separate modules

* Remove unused public imports

* Remove abundant cow mapping

* Fix clippy warning

* Reformulate old canonicalize tests to expand_path

They wouldn't work with the new canonicalize.

* Canonicalize also ~ and ndots; Unify path joining

Also, add doc comments in nu_path::expansions.

* Add comment

* Avoid expanding ndots if path is not valid UTF-8

With this change, no lossy path->string conversion should happen in the
nu-path crate.

* Fmt

* Slight expand_tilde refactor; Add doc comments

* Start nu-path integration tests

* Add tests TODO

* Fix docstring typo

* Fix some doc strings

* Add README for nu-path crate

* Add a couple of canonicalize tests

* Add nu-path integration tests

* Add trim trailing slashes tests

* Update nu-path dependency

* Remove unused import

* Regenerate lockfile
2021-08-28 15:59:09 +03:00
..
nu_plugin_binaryview bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu_plugin_chart bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu_plugin_fetch Remove duplicate dependencies (#3961) 2021-08-28 15:34:11 +12:00
nu_plugin_from_bson bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu_plugin_from_mp4 bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu_plugin_from_sqlite bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu_plugin_inc bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu_plugin_match bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu_plugin_post Remove duplicate dependencies (#3961) 2021-08-28 15:34:11 +12:00
nu_plugin_ps bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu_plugin_query_json bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu_plugin_s3 bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu_plugin_selector bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu_plugin_start bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu_plugin_sys bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu_plugin_textview bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu_plugin_to_bson bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu_plugin_to_sqlite bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu_plugin_tree Remove duplicate dependencies (#3961) 2021-08-28 15:34:11 +12:00
nu_plugin_xpath bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu-ansi-term bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu-cli bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu-command nu-path crate refactor (#3730) 2021-08-28 15:59:09 +03:00
nu-completion bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu-data nu-path crate refactor (#3730) 2021-08-28 15:59:09 +03:00
nu-engine nu-path crate refactor (#3730) 2021-08-28 15:59:09 +03:00
nu-errors bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu-json nu-path crate refactor (#3730) 2021-08-28 15:59:09 +03:00
nu-parser nu-path crate refactor (#3730) 2021-08-28 15:59:09 +03:00
nu-path nu-path crate refactor (#3730) 2021-08-28 15:59:09 +03:00
nu-plugin bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu-pretty-hex bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu-protocol bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu-serde bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu-source bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu-stream bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu-table bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu-test-support nu-path crate refactor (#3730) 2021-08-28 15:59:09 +03:00
nu-value-ext bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
README.md Begin directory contrib docs and split commands (#3650) 2021-06-19 12:06:44 +12: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 differnt capabilities like working with different file types, charting, viewing binary data, and more.