nushell/crates/nu-protocol/src
Darren Schroeder e590d3587c
enable history isolation (#9063)
# Description
This PR impacts the nushell sqlite history only.

This is the first PR that enables history isolation in nushell for the
sqlite history. Hopefully, we can continue building on this.

This PR allows "history isolation" which means that other nushell
session's history won't be available in the current session when using
the uparrow/downarrow history navigation. This change only impacts the
uparrow downarrow history navigation.

What remains to be done is making ctrl+r history menu respect this
setting too. Right now, the history menu will still show you all entries
from all sessions.

The history command also shows all history items from all sessions. This
may remain unchanged since you can just filter by history session right
now.

This also fixes a bug where the session id is 0 in the sqlite history
since my April 18th reedline PR.

Closes #9064

# 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 -A
clippy::needless_collect -A clippy::result_large_err` to check that
you're using the standard code style
- `cargo test --workspace` to check that all tests pass
- `cargo run -- crates/nu-std/tests/run.nu` 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.
-->
2023-05-01 08:11:38 -05:00
..
ast update ast to support output to json (#8962) 2023-04-26 08:15:42 -05:00
engine Reuse the cached parse results of parsed files (#8949) 2023-04-22 07:00:33 +12:00
value use let-else syntax where possible (#8886) 2023-04-14 20:51:38 +02:00
alias.rs Document and critically review ShellError variants - Ep. 3 (#8340) 2023-03-06 18:33:09 +01:00
cli_error.rs remove nu_cli crate dependency from nu_std (#8807) 2023-04-08 13:53:43 +02:00
config.rs enable history isolation (#9063) 2023-05-01 08:11:38 -05:00
example.rs remove unused imports: Deserialize, Serialize compiler warning for nu-protocol/src/example.rs (#8514) 2023-03-18 11:45:12 -07:00
exportable.rs Remove old alias implementation (#8797) 2023-04-07 21:09:38 +03:00
id.rs Remove old alias implementation (#8797) 2023-04-07 21:09:38 +03:00
lev_distance.rs Reduce again the number of match calls (#7815) 2023-01-24 12:23:42 +01:00
lib.rs remove nu_cli crate dependency from nu_std (#8807) 2023-04-08 13:53:43 +02:00
module.rs Remove old alias implementation (#8797) 2023-04-07 21:09:38 +03:00
parse_error.rs Change type of parameter default values to Option<Value> (#8940) 2023-04-26 09:14:02 -05:00
pipeline_data.rs Loops return external stream when external command failed. (#8646) 2023-04-05 20:38:04 +03:00
plugin_signature.rs Make plugin commands support examples. (#7984) 2023-02-08 16:14:18 -06:00
shell_error.rs prevent redefining fields in a record (#8705) 2023-04-02 06:09:33 +12:00
signature.rs Change type of parameter default values to Option<Value> (#8940) 2023-04-26 09:14:02 -05:00
span.rs Use variable names directly in the format strings (#7906) 2023-01-29 19:37:54 -06:00
syntax_shape.rs allow records to have type annotations (#8914) 2023-04-26 08:16:55 -05:00
ty.rs allow records to have type annotations (#8914) 2023-04-26 08:16:55 -05:00
util.rs move BufferedReader out of nu-command (#7697) 2023-01-06 15:22:17 -08:00
variable.rs Limited mutable variables (#7089) 2022-11-11 19:51:08 +13:00