nushell/crates
Darren Schroeder 30a4187be4
a potential solution that may fix vt processing (#13961)
# Description

This PR is related #11950 and serves as another potential fix alongside
rolling it back with https://github.com/nushell/nushell/pull/13959. The
idea here is to try and properly setup the input and output console
modes. I searched through a log of GitHub code to come up with this,
including deno, wezterm, conpty, among others. It seems to work but it
would be great if someone else would be able to test. I added comments
from the consoleapi.h from windows to know what the other flags are in
case we need to make other changes.

# User-Facing Changes
<!-- List of all changes that impact the user experience here. This
helps us keep track of breaking changes. -->

# Tests + Formatting
<!--
Don't forget to add tests that cover your changes.

Make sure you've run and fixed any issues with these commands:

- `cargo fmt --all -- --check` to check standard code formatting (`cargo
fmt --all` applies these changes)
- `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used` to
check that you're using the standard code style
- `cargo test --workspace` to check that all tests pass (on Windows make
sure to [enable developer
mode](https://learn.microsoft.com/en-us/windows/apps/get-started/developer-mode-features-and-debugging))
- `cargo run -- -c "use toolkit.nu; toolkit test stdlib"` to run the
tests for the standard library

> **Note**
> from `nushell` you can also use the `toolkit` as follows
> ```bash
> use toolkit.nu # or use an `env_change` hook to activate it
automatically
> toolkit check pr
> ```
-->

# After Submitting
<!-- If your PR had any user-facing changes, update [the
documentation](https://github.com/nushell/nushell.github.io) after the
PR is merged, if necessary. This will help us keep the docs up to date.
-->
2024-09-30 11:34:29 -05:00
..
nu_plugin_custom_values Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu_plugin_example Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu_plugin_formats Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu_plugin_gstat Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu_plugin_inc Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu_plugin_nu_example Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu_plugin_polars Expose flag truncate-ragged-lines in polars open (#13939) 2024-09-27 06:54:46 -05:00
nu_plugin_python Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu_plugin_query Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu_plugin_stress_internals Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu-cli Replace raw usize IDs with new types (#13832) 2024-09-30 13:20:15 +02:00
nu-cmd-base Set current working directory at startup (#12953) 2024-09-25 13:04:26 -05:00
nu-cmd-extra Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu-cmd-lang Replace raw usize IDs with new types (#13832) 2024-09-30 13:20:15 +02:00
nu-cmd-plugin fix the ability to add a plugin by name instead of path (#13877) 2024-09-23 06:43:19 -05:00
nu-color-config Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu-command Replace raw usize IDs with new types (#13832) 2024-09-30 13:20:15 +02:00
nu-derive-value Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu-engine Replace raw usize IDs with new types (#13832) 2024-09-30 13:20:15 +02:00
nu-explore Fix issue with ls | explore coloring of file names (#13952) 2024-09-29 14:03:56 -05:00
nu-glob Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu-json Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu-lsp Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu-parser Replace raw usize IDs with new types (#13832) 2024-09-30 13:20:15 +02:00
nu-path Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu-plugin Replace raw usize IDs with new types (#13832) 2024-09-30 13:20:15 +02:00
nu-plugin-core Replace raw usize IDs with new types (#13832) 2024-09-30 13:20:15 +02:00
nu-plugin-engine Replace raw usize IDs with new types (#13832) 2024-09-30 13:20:15 +02:00
nu-plugin-protocol Replace raw usize IDs with new types (#13832) 2024-09-30 13:20:15 +02:00
nu-plugin-test-support Fix try not working with let, etc. (#13885) 2024-09-23 06:44:25 -05:00
nu-pretty-hex Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu-protocol Replace raw usize IDs with new types (#13832) 2024-09-30 13:20:15 +02:00
nu-std Set current working directory at startup (#12953) 2024-09-25 13:04:26 -05:00
nu-system Fix handling of stopped TUI applications on unix (#13741) 2024-09-24 06:44:58 -05:00
nu-table Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu-term-grid Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu-test-support Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu-utils a potential solution that may fix vt processing (#13961) 2024-09-30 11:34:29 -05:00
nuon Replace raw usize IDs with new types (#13832) 2024-09-30 13:20:15 +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.