nushell/crates
Maxim Zhiburt 718ee3d545
[MVP][WIP] less like pager (#6984)
Run it as `explore`.

#### example

```nu
ls | explore
```

Configuration points in `config.nu` file.
```
  # A 'explore' utility config
   explore_config: {
     highlight: { bg: 'yellow', fg: 'black' }
     status_bar: { bg: '#C4C9C6', fg: '#1D1F21' }
     command_bar: { fg: '#C4C9C6' }
     split_line: '#404040'
     cursor: true
     # selected_column: 'blue'
     # selected_row: { fg: 'yellow', bg: '#C1C2A3' }
     # selected_cell: { fg: 'white', bg: '#777777' }
     # line_shift: false,
     # line_index: false,
     # line_head_top: false,
     # line_head_bottom: false,
   }
```

You can start without a pipeline and type `explore` and it'll give you a
few tips.

![image](https://user-images.githubusercontent.com/343840/205088971-a8c0262f-f222-4641-b13a-027fbd4f5e1a.png)

If you type `:help` you an see the help screen with some information on
what tui keybindings are available.

![image](https://user-images.githubusercontent.com/343840/205089461-c4c54217-7ec4-4fa0-96c0-643d68dc0062.png)

From the `:help` screen you can now hit `i` and that puts you in
`cursor` aka `inspection` mode and you can move the cursor left right up
down and it you put it on an area such as `[table 5 rows]` and hit the
enter key, you'll see something like this, which shows all the `:`
commands. If you hit `esc` it will take you to the previous screen.

![image](https://user-images.githubusercontent.com/343840/205090155-3558a14b-87b7-4072-8dfb-dc8cc2ef4943.png)

If you then type `:try` you'll get this type of window where you can
type in the top portion and see results in the bottom.

![image](https://user-images.githubusercontent.com/343840/205089185-3c065551-0792-43d6-a13c-a52762856209.png)

The `:nu` command is interesting because you can type pipelines like
`:nu ls | sort-by type size` or another pipeline of your choosing such
as `:nu sys` and that will show the table that looks like this, which
we're calling "table mode".

![image](https://user-images.githubusercontent.com/343840/205090809-e686ff0f-6d0b-4347-8ed0-8c59adfbd741.png)

If you hit the `t` key it will now transpose the view to look like this.

![image](https://user-images.githubusercontent.com/343840/205090948-a834d7f2-1713-4dfe-92fe-5432f287df3d.png)

In table mode or transposed table mode you can use the `i` key to
inspect any collapsed field like `{record 8 fields}`, `[table 16 rows]`,
`[list x]`, etc.

One of the original benefits was that when you're in a view that has a
lot of columns, `explore` gives you the ability to scroll left, right,
up, and down.

`explore` is also smart enough to know when you're in table mode versus
preview mode. If you do `open Cargo.toml | explore` you get this.

![image](https://user-images.githubusercontent.com/343840/205091822-cac79130-3a52-4ca8-9210-eba5be30ed58.png)

If you type `open --raw Cargo.toml | explore` you get this where you can
scroll left, right, up, down. This is called preview mode.

![image](https://user-images.githubusercontent.com/343840/205091990-69455191-ab78-4fea-a961-feafafc16d70.png)

When you're in table mode, you can also type `:preview`. So, with `open
--raw Cargo.toml | explore`, if you type `:preview`, it will look like
this.

![image](https://user-images.githubusercontent.com/343840/205092569-436aa55a-0474-48d5-ab71-baddb1f43027.png)

Signed-off-by: Maxim Zhiburt <zhiburt@gmail.com>
Co-authored-by: Darren Schroeder <343840+fdncred@users.noreply.github.com>
2022-12-01 09:32:10 -06:00
..
nu_plugin_custom_values bump to dev release v0.72.1 (#7281) 2022-11-30 16:06:22 -06:00
nu_plugin_example bump to dev release v0.72.1 (#7281) 2022-11-30 16:06:22 -06:00
nu_plugin_gstat bump to dev release v0.72.1 (#7281) 2022-11-30 16:06:22 -06:00
nu_plugin_inc bump to dev release v0.72.1 (#7281) 2022-11-30 16:06:22 -06:00
nu_plugin_python Further edits to help messages (#6913) 2022-10-26 09:36:42 -07:00
nu_plugin_query bump to dev release v0.72.1 (#7281) 2022-11-30 16:06:22 -06:00
nu-cli bump to dev release v0.72.1 (#7281) 2022-11-30 16:06:22 -06:00
nu-color-config [MVP][WIP] less like pager (#6984) 2022-12-01 09:32:10 -06:00
nu-command [MVP][WIP] less like pager (#6984) 2022-12-01 09:32:10 -06:00
nu-engine add -f, --force for save command (#7262) 2022-12-01 06:26:17 -06:00
nu-explore [MVP][WIP] less like pager (#6984) 2022-12-01 09:32:10 -06:00
nu-glob Remove unused dev-dependencies (#7285) 2022-12-01 11:53:24 +01:00
nu-json Remove unused dev-dependencies (#7285) 2022-12-01 11:53:24 +01:00
nu-parser Add did-you-mean suggestions for bitwise ops (#7252) 2022-12-01 11:34:41 +01:00
nu-path bump to dev release v0.72.1 (#7281) 2022-11-30 16:06:22 -06:00
nu-plugin bump to dev release v0.72.1 (#7281) 2022-11-30 16:06:22 -06:00
nu-pretty-hex bump to dev release v0.72.1 (#7281) 2022-11-30 16:06:22 -06:00
nu-protocol [MVP][WIP] less like pager (#6984) 2022-12-01 09:32:10 -06:00
nu-system bump to dev release v0.72.1 (#7281) 2022-11-30 16:06:22 -06:00
nu-table [MVP][WIP] less like pager (#6984) 2022-12-01 09:32:10 -06:00
nu-term-grid bump to dev release v0.72.1 (#7281) 2022-11-30 16:06:22 -06:00
nu-test-support bump to dev release v0.72.1 (#7281) 2022-11-30 16:06:22 -06:00
nu-utils [MVP][WIP] less like pager (#6984) 2022-12-01 09:32:10 -06:00
old bump to dev release v0.72.1 (#7281) 2022-11-30 16:06:22 -06: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.