nushell/crates
Mathspy c66b97126f
Restore nu_with_plugins test macro (#6065)
* Updated nu_with_plugins to handle new nushell

- Now it requires the plugin format and name to be passed in, because
  we can't really guess the format
- It calls `register` with format and plugin path
- It creates a temporary folder and in it an empty temporary plugin.nu
  so that the tests don't conflict with each other or with local copy of
  plugin.nu
- Instead of passing the commands via stdin it passes them via the new
  --commands command line argument

* Rename path to command for clarity

* Enable core_inc tests

Remove deprecated inc feature and replace with new plugin feature

* Update core_inc tests for new nu_with_plugins syntax

* Rework core_inc::can_only_apply_one

The new inc plugin doesn't error if passed more than one but instead
chooses the highest increment

* Gate all plugin tests behind feature = "plugin" instead of one by one

* Remove format!-like behavior from nu_with_plugins

nu_with_plugins had format!-like behavior where it would allow calls
such as this:
```rs
nu_with_plugins!(
  cwd: "dir/",
  "open {} | get {}",
  "Cargo.toml",
  "package.version"
)
```
And although nifty it seems to have never been used before and the same
can be achieved with a format! like so:
```rs
nu_with_plugins!(
  cwd: "dir/",
  format!("open {} | get {}", "Cargo.toml", "package.version")
)
```
So I am removing it to keep the complexity of the macro in check

* Add multi-plugin support to nu_with_plugins

Useful for testing interactions between plugins

* Alternative 1: run `cargo build` inside of tests

* Handle Windows by canonicalizing paths and add .exe

One VM install later and lots of learning about how command line
arguments work and here we are
2022-07-22 00:14:37 -04:00
..
nu-cli add more shell integration ansi escapes in support of vscode (#6087) 2022-07-20 15:03:29 -05:00
nu-color-config Bump to 0.65.1 dev version (#5962) 2022-07-06 16:25:09 +12:00
nu-command Refactor external command (#6083) 2022-07-21 19:56:57 -04:00
nu-engine Refactor external command (#6083) 2022-07-21 19:56:57 -04:00
nu-glob Bump to 0.65.1 dev version (#5962) 2022-07-06 16:25:09 +12:00
nu-json Bump to 0.65.1 dev version (#5962) 2022-07-06 16:25:09 +12:00
nu-parser Refactor external command (#6083) 2022-07-21 19:56:57 -04:00
nu-path Bump to 0.65.1 dev version (#5962) 2022-07-06 16:25:09 +12:00
nu-plugin Bump to 0.65.1 dev version (#5962) 2022-07-06 16:25:09 +12:00
nu-pretty-hex Bump to 0.65.1 dev version (#5962) 2022-07-06 16:25:09 +12:00
nu-protocol Refactor external command (#6083) 2022-07-21 19:56:57 -04:00
nu-system Fix ps command on linux (#6047) 2022-07-14 06:20:54 -05:00
nu-table nu-table: Update tests after #6080 (#6082) 2022-07-19 15:16:12 -05:00
nu-term-grid Bump to 0.65.1 dev version (#5962) 2022-07-06 16:25:09 +12:00
nu-test-support Restore nu_with_plugins test macro (#6065) 2022-07-22 00:14:37 -04:00
nu-utils enable find to be able to highlight some hits (#6086) 2022-07-20 10:09:33 -05:00
nu_plugin_example Bump to 0.65.1 dev version (#5962) 2022-07-06 16:25:09 +12:00
nu_plugin_gstat fix documentation of plugin encodings (#6052) 2022-07-15 05:28:14 -05:00
nu_plugin_inc Bump to 0.65.1 dev version (#5962) 2022-07-06 16:25:09 +12:00
nu_plugin_python Fix Python plugin (missing search terms) (#5083) 2022-04-03 20:00:53 -05:00
nu_plugin_query fix documentation of plugin encodings (#6052) 2022-07-15 05:28:14 -05:00
old Bump to 0.65.1 dev version (#5962) 2022-07-06 16:25:09 +12: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.