mirror of
https://github.com/antonmedv/fx.git
synced 2024-10-27 04:29:59 +03:00
67 lines
2.0 KiB
Markdown
67 lines
2.0 KiB
Markdown
# Documentation
|
|
|
|
The **fx** can work in two modes: as a reducer or an interactive viewer.
|
|
|
|
To start the interactive mode pipe a JSON into **fx**:
|
|
|
|
```sh
|
|
$ curl ... | fx
|
|
```
|
|
|
|
Or you can pass a filename as the first parameter:
|
|
|
|
```sh
|
|
$ fx data.json
|
|
```
|
|
|
|
## Reducers
|
|
|
|
Use [JavaScript](js.md), [Python](python.md), or [Ruby](ruby.md).
|
|
|
|
## Streaming mode
|
|
|
|
The **fx** supports line-delimited JSON streaming or concatenated JSON streaming.
|
|
|
|
```sh
|
|
$ echo '
|
|
> {"message": "hello"}
|
|
> {"message": "world!"}
|
|
> ' | fx .message
|
|
hello
|
|
world!
|
|
```
|
|
|
|
## Interactive mode
|
|
|
|
Type `?` to see the full list of available shortcuts while in the interactive mode.
|
|
|
|
### Search
|
|
|
|
Press `/` and type regexp pattern to search in the current JSON.
|
|
Search is performed on the internal representation of the JSON without newlines.
|
|
|
|
Type `n` to jump to the next result, and `N` to the previous
|
|
|
|
### Selecting text
|
|
|
|
You can't just select text in fx. This is due to the fact that all mouse events are
|
|
redirected to stdin. To be able to select again you need to instruct your terminal
|
|
not to do it. This can be done by holding special keys while selecting:
|
|
|
|
| Key | Terminal |
|
|
|------------------|---------------|
|
|
| `Option`+`Mouse` | iTerm2, Hyper |
|
|
| `Fn`+`Mouse` | Terminal.app |
|
|
| `Shift`+`Mouse` | Linux |
|
|
|
|
|
|
## Configs
|
|
|
|
Next configs available for **fx** via environment variables.
|
|
|
|
| Name | Values | Description |
|
|
|----------------|-----------------------------------------------------|-------------------------------------------------------|
|
|
| `FX_LANG` | `js` (default), `node`, `python`, `python3`, `ruby` | Reducer type. |
|
|
| `FX_THEME` | `0` (disable colors), `1` (default), `2..9` | Color theme. |
|
|
| `FX_SHOW_SIZE` | `true` or `false` (default) | Show size of arrays and object in collapsed previews. |
|