nushell/crates
Stefan Holderbach 84e1ac27e5
Setup global cargo lint configuration (#13691)
# Description
`cargo` somewhat recently gained the capability to store `lints`
settings for the crate and workspace, that can override the defaults
from `rustc` and `clippy` lints. This means we can enforce some lints
without having to actively pass them to clippy via `cargo clippy -- -W
...`. So users just forking the repo have an easier time to follow
similar requirements like our CI.

## Limitation

An exception that remains is that those lints apply to both the primary
code base and the tests. Thus we can't include e.g. `unwrap_used`
without generating noise in the tests. Here the setup in the CI remains
the most helpful.

## Included lints

- Add `clippy::unchecked_duration_subtraction` (added by #12549)
# User-Facing Changes
Running `cargo clippy --workspace` should be closer to the CI. This has
benefits for editor configured runs of clippy and saves you from having
to use `toolkit` to be close to CI in more cases.
2024-08-28 23:37:17 +02:00
..
nu_plugin_custom_values Change the usage misnomer to "description" (#13598) 2024-08-22 12:02:08 +02:00
nu_plugin_example Change the usage misnomer to "description" (#13598) 2024-08-22 12:02:08 +02:00
nu_plugin_formats Change the usage misnomer to "description" (#13598) 2024-08-22 12:02:08 +02:00
nu_plugin_gstat Change the usage misnomer to "description" (#13598) 2024-08-22 12:02:08 +02:00
nu_plugin_inc Change the usage misnomer to "description" (#13598) 2024-08-22 12:02:08 +02:00
nu_plugin_nu_example Change the usage misnomer to "description" (#13598) 2024-08-22 12:02:08 +02:00
nu_plugin_polars Expression support for polars uppercase and polars lowercase (#13724) 2024-08-28 14:08:16 -07:00
nu_plugin_python Change the usage misnomer to "description" (#13598) 2024-08-22 12:02:08 +02:00
nu_plugin_query Change the usage misnomer to "description" (#13598) 2024-08-22 12:02:08 +02:00
nu_plugin_stress_internals Change the usage misnomer to "description" (#13598) 2024-08-22 12:02:08 +02:00
nu-cli Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-cmd-base Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-cmd-extra Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-cmd-lang Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-cmd-plugin Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-color-config Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-command Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-derive-value Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-engine Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-explore Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-glob Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-json Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-lsp Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-parser Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-path Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-plugin Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-plugin-core Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-plugin-engine Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-plugin-protocol Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-plugin-test-support Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-pretty-hex Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-protocol Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-std Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-system Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-table Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-term-grid Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-test-support Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-utils Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nuon Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +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.