nushell/crates
Ian Manske 399a7c8836
Add and use new Signals struct (#13314)
# Description
This PR introduces a new `Signals` struct to replace our adhoc passing
around of `ctrlc: Option<Arc<AtomicBool>>`. Doing so has a few benefits:
- We can better enforce when/where resetting or triggering an interrupt
is allowed.
- Consolidates `nu_utils::ctrl_c::was_pressed` and other ad-hoc
re-implementations into a single place: `Signals::check`.
- This allows us to add other types of signals later if we want. E.g.,
exiting or suspension.
- Similarly, we can more easily change the underlying implementation if
we need to in the future.
- Places that used to have a `ctrlc` of `None` now use
`Signals::empty()`, so we can double check these usages for correctness
in the future.
2024-07-07 22:29:01 +00:00
..
nu_plugin_custom_values Bumping version to 0.95.1 (#13231) 2024-06-25 18:26:07 -07:00
nu_plugin_example Add and use new Signals struct (#13314) 2024-07-07 22:29:01 +00:00
nu_plugin_formats remove the deprecated register command (#13297) 2024-07-05 07:16:50 -05:00
nu_plugin_gstat remove the deprecated register command (#13297) 2024-07-05 07:16:50 -05:00
nu_plugin_inc remove the deprecated register command (#13297) 2024-07-05 07:16:50 -05:00
nu_plugin_nu_example Bumping version to 0.95.1 (#13231) 2024-06-25 18:26:07 -07:00
nu_plugin_polars Polars: Check to see if the cache is empty before enabling GC. More logging (#13286) 2024-07-03 06:44:26 -05:00
nu_plugin_python remove the deprecated register command (#13297) 2024-07-05 07:16:50 -05:00
nu_plugin_query remove the deprecated register command (#13297) 2024-07-05 07:16:50 -05:00
nu_plugin_stress_internals Bumping version to 0.95.1 (#13231) 2024-06-25 18:26:07 -07:00
nu-cli Add and use new Signals struct (#13314) 2024-07-07 22:29:01 +00:00
nu-cmd-base Add and use new Signals struct (#13314) 2024-07-07 22:29:01 +00:00
nu-cmd-extra Add and use new Signals struct (#13314) 2024-07-07 22:29:01 +00:00
nu-cmd-lang Add and use new Signals struct (#13314) 2024-07-07 22:29:01 +00:00
nu-cmd-plugin remove the deprecated register command (#13297) 2024-07-05 07:16:50 -05:00
nu-color-config Bumping version to 0.95.1 (#13231) 2024-06-25 18:26:07 -07:00
nu-command Add and use new Signals struct (#13314) 2024-07-07 22:29:01 +00:00
nu-derive-value Bumping version to 0.95.1 (#13231) 2024-06-25 18:26:07 -07:00
nu-engine Add and use new Signals struct (#13314) 2024-07-07 22:29:01 +00:00
nu-explore Add and use new Signals struct (#13314) 2024-07-07 22:29:01 +00:00
nu-glob Bumping version to 0.95.1 (#13231) 2024-06-25 18:26:07 -07:00
nu-json Bumping version to 0.95.1 (#13231) 2024-06-25 18:26:07 -07:00
nu-lsp Add and use new Signals struct (#13314) 2024-07-07 22:29:01 +00:00
nu-parser help operators refactor (#13307) 2024-07-06 13:09:12 -05:00
nu-path Add typed path forms (#13115) 2024-06-25 18:33:57 -07:00
nu-plugin Add and use new Signals struct (#13314) 2024-07-07 22:29:01 +00:00
nu-plugin-core Add and use new Signals struct (#13314) 2024-07-07 22:29:01 +00:00
nu-plugin-engine Add and use new Signals struct (#13314) 2024-07-07 22:29:01 +00:00
nu-plugin-protocol Revert "Span ID Refactor (Step 2): Make Call SpanId-friendly (#13268)" (#13292) 2024-07-04 00:02:13 +03:00
nu-plugin-test-support Add and use new Signals struct (#13314) 2024-07-07 22:29:01 +00:00
nu-pretty-hex Bumping version to 0.95.1 (#13231) 2024-06-25 18:26:07 -07:00
nu-protocol Add and use new Signals struct (#13314) 2024-07-07 22:29:01 +00:00
nu-std don't show result in error make examples (#13296) 2024-07-05 07:17:07 -05:00
nu-system Bumping version to 0.95.1 (#13231) 2024-06-25 18:26:07 -07:00
nu-table Add and use new Signals struct (#13314) 2024-07-07 22:29:01 +00:00
nu-term-grid Bumping version to 0.95.1 (#13231) 2024-06-25 18:26:07 -07:00
nu-test-support Bumping version to 0.95.1 (#13231) 2024-06-25 18:26:07 -07:00
nu-utils Add and use new Signals struct (#13314) 2024-07-07 22:29:01 +00:00
nuon Bumping version to 0.95.1 (#13231) 2024-06-25 18:26:07 -07: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.