Commit graph

822 commits

Author SHA1 Message Date
Darren Schroeder
3cf7652e86
fixed a bug where 'B' wasn't showing up (#2690)
right when get_appropriate_unit was called
2020-10-21 14:19:35 -05:00
Darren Schroeder
1eb28c6cb6
add heavy & none table border options (#2686) 2020-10-21 08:53:08 -05:00
Joseph T. Lyons
db590369a8
Fix filesize "B" regression (#2688) 2020-10-21 20:26:10 +13:00
Avery Harnish
f4d654d2a2
fix: remove duplicated "to" (#2682) 2020-10-21 05:35:43 +13:00
Andrés N. Robalino
5725e55abb
Flatten rows containing same sub-table columns with distinct column names. (#2684) 2020-10-20 05:37:40 -05:00
Andrés N. Robalino
b6d19cc9fa
Move command changes. Refactorings. (#2683)
Continuing on anchoring and improvements on Nu's overall internal commands (#2635).
`move column` sub command has been turned into the command `move` since
we use it to move exclusively columns. Examples added as well.

Fixed it to carry along any anchor locations that might be in place if
table to be moved originates from other sources.
2020-10-20 04:07:13 -05:00
Darren Schroeder
bc6c884a14
added num-format to allow bytes to be formatted with commas. (#2681) 2020-10-19 12:52:11 -05:00
Darren Schroeder
cb78bf8fd6
add filesize_format to config (#2676) 2020-10-19 11:34:39 -05:00
Leonhard Kipp
400bc97e35
Add parser improvements (#2679)
* Add parser improvements

Previously everything starting with "$" was parsed as a column path.
With this commit applied, the lite_arg starting with $ is parsed as
the most appropriate thing
- $true/$false ==> Expression::Boolean
- $(...) ==> Invocation
- $it ==> ColumnPath
- Anything with at least one '.' ==> ColumnPath
- Anything else ==> Variable

* Ignore failing tests
2020-10-19 20:03:14 +13:00
Joseph T. Lyons
2fd464bf7b
Refactor to md and Add Padding for Pretty Flag (#2678)
* refactor and cleanup to md

* Add padding around values in each row

* Add padding to test

* Update code to satisfy Clippy and pass other failing tests
2020-10-19 19:58:24 +13:00
Luccas Mateus
e626522b3a
LS support for other number formatting (#2650)
* make sort-by fail gracefully if mismatched types are compared

* Added a test to check if sorted-by with invalid types exists gracefully

* Linter changes

* removed redundant pattern matching

* Changed the error message

* Added a comma after every argument

* Changed the test to accomodate the new err messages

* Err message for sort-by invalid types now shows the mismatched types

* Lints problems

* Changed unwrap to expect

* Added the -f flag to rm command

Now when you a use rm -f there will be no error message, even if the
file doesnt actually exist

* Lint problems

* Fixed the wrong line

* Removed println

* Spelling mistake

* Fix problems when you mv a file into itself

* Lint mistakes

* Remove unecessary filtering in most cases

* Allow the removal of sockets

* Conditional compilations to systems without socket

* Add a size-format option to ls command

* Added kib and mib formating

* Make patterns lowercase

* New subcommand to format, filesize

* Forgot the linter once more

* Remove the ls changes since its no longer needed

* CI mistakes

* Lint stuff

* Fix lint

* Added formatting for bytes

* fix lint

* Changed the usage comment
2020-10-17 06:15:40 +13:00
Andrés N. Robalino
791e07650d
ColumnPath creation flexibility. (#2674) 2020-10-15 17:25:17 -05:00
Joseph T. Lyons
bf2363947b
Add pretty flag to to md (#2640)
* First draft for adding a `pretty` flag to `to md`

* rustfmt

* Fix Clippy warnings

* rustfmt

* Using Clippy suggestion broken code, reverting and putting in a statement to ignore clippy warning

* Add test for `to md -p`
2020-10-15 16:20:55 +13:00
Chris Gillespie
808fe496a6
Fix typo in test support crate description (#2669) 2020-10-14 04:45:32 -05:00
Andrés N. Robalino
2fb48bd6ac
Flatten command. (#2670) 2020-10-14 04:36:11 -05:00
Andrés N. Robalino
2df8775b48
Include chart binaries. (#2667) 2020-10-13 17:04:27 -05:00
Jonathan Turner
5f43c8f024
Update lib.rs 2020-10-14 06:45:04 +13:00
Jonathan Turner
1a18734f9a
Update Cargo.toml 2020-10-14 06:44:06 +13:00
Jonathan Turner
4a70c1ff4f
Update Cargo.toml
Get around the mutual dependency?
2020-10-14 06:42:24 +13:00
Jonathan Turner
770e5d89f2
Bump to 0.21 (#2663) 2020-10-14 06:19:09 +13:00
Wyatt Carss
cfac8e84dd
Disable rustyline bracketed paste mode by default (#2659)
Multiline pastes wait for the user to hit enter before running,
because they enter a special paste mode in rustyline called
'bracketed paste' by default. This commit disables that mode
by default for nushell, causing multiline pastes to be executed
immediately, treating each new line as a separate command.
2020-10-13 19:33:36 +13:00
Chris Gillespie
38bdb053d2
Add tests for get_data_by_key (#2658)
* Add test for get_data_by_key

* Apply same order for ValuExt impl

* Nothing helper for tests

* Use get_data_by_key from ValueExt
2020-10-12 22:46:58 -05:00
Andrés N. Robalino
95e61773a5
Restore bigint/bigdecimal serialization. (#2662) 2020-10-12 21:44:28 -05:00
Andrés N. Robalino
4e931fa73f
Extract out xpath to a plugin. (#2661) 2020-10-12 18:18:39 -05:00
Darren Schroeder
2573441e28
xpath command for nushell (#2656)
* xpath prototype

* new xpath engine is finally working

* nearly there

* closer

* working with list, started to add test, code cleanup

* broken again

* working again - time for some cleanup

* cleaned up code, added error handling and test

* update example, fix clippy

* removed commented char
2020-10-12 08:03:00 -05:00
RedlineTriad
5770b15270
Use iterator chain instead of string concat. (#2655)
* Use iterator chain instead of string concat

* Add regression test for multi-value lines
2020-10-10 18:30:48 +13:00
Chris Gillespie
6817b472d0
Handle inf/nan in delimited data (#2652) 2020-10-09 19:27:01 +13:00
Samuel Vanderwaal
2b076369e0
handle duration overflow error (#2616)
* handle duration overflow error

* handle checked_add_signed result
2020-10-09 14:51:47 +13:00
Andrés N. Robalino
973a8ee8f3
Allow config to work with column paths. (#2653)
Nu has many commands that allow the nuño to customize behavior such
as UI and behavior. Today, coloring can be customized, the line editor,
and other things. The more options there are, the higher the complexity
in managing them.

To mitigate this Nu can store configuration options as nested properties.

But to add and edit them can be taxing. With column path support we can
work with them easier.
2020-10-08 20:04:19 -05:00
Jonathan Turner
1159d3365a
Fix clippy lints (#2651) 2020-10-09 10:47:51 +13:00
Darren Schroeder
153320ef33
Added -1 back when determining term_width (#2646)
* Added -1 back

* retrigger checks

* removed the max

* fixed a mistake
2020-10-07 12:45:57 -05:00
Ingvar Stepanyan
ff236da72c
[wasi] Update time & instant crates (#2645)
* [wasi] Update time & instant crates

In https://github.com/nushell/nushell/pull/2643 instant was updated by adding it as a hard dependency in Cargo.toml, but it's better to avoid it and only update in Cargo.lock via `cargo update -p ...`.

Additionally, updated `time` crate so that now some basic commands like `ls` work too, although formatting is pretty bad.

* Update default terminal width to 80

If termsize can't return anything, use 80 chars (e.g. on WASI).
2020-10-07 15:26:16 +13:00
Chris Gillespie
54326869e4
Parse decimals as BigDecimal (#2644)
Use implicit serde from BigDecimal crate
2020-10-07 14:01:40 +13:00
Jonathan Turner
f14f4e39c5
Begin adding wasi support (#2643)
* Begin adding wasi support

* Now it builds and runs but needs more help
2020-10-07 11:21:24 +13:00
Chris Gillespie
a18b2702ca
Parse integers as BigInt (#2642)
* Parse integer shape as BigInt

* Use implicit serde from BigInt crate
2020-10-07 06:30:18 +13:00
Chris Gillespie
93410c470e
Bump dtparse to fix panic (#2632) 2020-10-07 06:27:06 +13:00
Andrés N. Robalino
5d945ef869
empty? rewrite. (#2641) 2020-10-06 05:21:20 -05:00
Joseph T. Lyons
df07be6a42
Fix to_md function name (#2636)
* Fix to_md function name

* rustfmt
2020-10-05 18:13:27 -05:00
Darren Schroeder
3c32d4947c
added blink and underline options to coloring (#2638) 2020-10-05 18:12:56 -05:00
Andrés N. Robalino
ae1d4bdb4c
Nushell internal commands. Anchor locations tracker surveying. (#2635) 2020-10-03 09:06:02 -05:00
Jonathan Turner
0adf2accdd
Fix defaulting alias var values (#2631) 2020-10-03 09:18:23 +13:00
Darren Schroeder
4201f48be5
Left Pad and Right Pad String (#2630)
* WIP

* left and right pad strings

* fixed some tests
2020-10-02 14:45:59 -05:00
Luccas Mateus
b076e375ca
Fix broken removal of sockets (#2629)
* make sort-by fail gracefully if mismatched types are compared

* Added a test to check if sorted-by with invalid types exists gracefully

* Linter changes

* removed redundant pattern matching

* Changed the error message

* Added a comma after every argument

* Changed the test to accomodate the new err messages

* Err message for sort-by invalid types now shows the mismatched types

* Lints problems

* Changed unwrap to expect

* Added the -f flag to rm command

Now when you a use rm -f there will be no error message, even if the
file doesnt actually exist

* Lint problems

* Fixed the wrong line

* Removed println

* Spelling mistake

* Fix problems when you mv a file into itself

* Lint mistakes

* Remove unecessary filtering in most cases

* Allow the removal of sockets

* Conditional compilations to systems without socket
2020-10-02 17:50:55 +13:00
Chris Gillespie
2f1016d44f
Add examples to update cmd (#2628) 2020-10-01 20:13:42 -05:00
Andrés N. Robalino
ddf9d61346
Line charts. Chart plugin sub command extraction. (#2627) 2020-10-01 19:23:10 -05:00
Darren Schroeder
f0b7ab5ecc
chart tweaks for windows (#2626) 2020-10-01 14:48:57 -05:00
Chris Gillespie
e4c6336bd4
Convert to string before clip (#2624) 2020-10-01 18:22:19 +13:00
Luccas Mateus
66061192f8
Fix "mv allows moving a directory into itself" (#2619)
* make sort-by fail gracefully if mismatched types are compared

* Added a test to check if sorted-by with invalid types exists gracefully

* Linter changes

* removed redundant pattern matching

* Changed the error message

* Added a comma after every argument

* Changed the test to accomodate the new err messages

* Err message for sort-by invalid types now shows the mismatched types

* Lints problems

* Changed unwrap to expect

* Added the -f flag to rm command

Now when you a use rm -f there will be no error message, even if the
file doesnt actually exist

* Lint problems

* Fixed the wrong line

* Removed println

* Spelling mistake

* Fix problems when you mv a file into itself

* Lint mistakes

* Remove unecessary filtering in most cases
2020-10-01 14:01:05 +13:00
Andrés N. Robalino
b7bc4c1f80
Exit bar visualization if any key is pressed other than left and right arrow keys. (#2623) 2020-09-30 14:34:29 -05:00
Andrés N. Robalino
a56abb6502
Bar Chart baseline. (#2621)
Bar Chart ready.
2020-09-30 13:27:52 -05:00
Chris Gillespie
892a416211
Move BTreeMap to IndexMap to preserve order (#2617) 2020-09-30 19:49:40 +13:00
JonathanArns
f45adecd01
fix select for column names with spaces (#2613) 2020-09-30 10:00:07 +13:00
Chris Gillespie
bd015e82dc
Tidy up crates in nu-protocol (#2611)
* Remove unneeded crates from nu-protocol

* Simplify join, use std fn
2020-09-29 16:33:43 +13:00
Chris Gillespie
cf43b74f26
did_you_mean without dependency (#2610) 2020-09-29 16:32:29 +13:00
Chris Gillespie
18909ec14a
Describe object now matches cmd name (#2603) 2020-09-27 14:54:47 +13:00
Chris Gillespie
ed243c88d2
Move non-essential deps into specific crates (#2601) 2020-09-26 18:32:52 +12:00
Jonathan Turner
cb7723f423
Refactor scope (#2602)
* Refactor scope to have parents

* Refactor scope to have parents

* Refactor scope to have parents

* Clippy

Co-authored-by: Jonathan Turner <jonathan@pop-os.localdomain>
2020-09-26 11:40:02 +12:00
tumdum
9dc88f8a95
Add env var during benchmark to randomize stack (#2600) 2020-09-26 10:57:48 +12:00
Chris Gillespie
0a439fe52f
Removed unused files in nu-data (#2598) 2020-09-25 15:44:59 +12:00
Chris Gillespie
a8b65e35ec
Consolidate suggestions code (#2597) 2020-09-25 15:44:24 +12:00
Chris Gillespie
bd9e598bf0
did_you_mean returns just the word matches (#2595) 2020-09-24 15:56:19 +12:00
Luccas Mateus
e8ec5027ff
remove without check path exist, rm -f (#2590) 2020-09-22 17:11:31 -04:00
Jonathan Turner
ebba89ea31
Bump to 0.20 (#2588) 2020-09-22 19:54:46 +12:00
Ryan Blecher
8388afc9d9
add support for the text/csv content-type (#2587) 2020-09-22 15:26:20 +12:00
Chris Gillespie
b133724b38
Add space between column suggestions (#2586) 2020-09-22 14:14:11 +12:00
Radek Vít
09429d08aa
Implement passthrough for benchmark (#2580)
* Implement passthrough for benchmark

Add a new option -p,--passthrough to benchmark.
With this option, the benchmark command prints its results to stdout and passes the block's output to the next command in the pipeline.

* Add execution block for benchmark -p

`benchmark --passthrough` now takes a block where the benchmark output is sent.
Example:
`benchmark -p {save bench.toml} {ls}`
2020-09-22 05:30:16 +12:00
Jonathan Turner
9b577b8679
Update bigint/bigdecimal (#2585)
* Update bigint/bigdecimal

* clippy
2020-09-22 05:28:31 +12:00
Shaurya
7a595827f1
Fix subcommands column on help commands (#2584) 2020-09-21 19:57:26 +12:00
Matt Clarke
332e12ded0
Added test for ls -a (#2582) 2020-09-21 19:56:37 +12:00
Chris Gillespie
a508e15efe
CtrlD exits current shell (#2583) 2020-09-21 19:56:10 +12:00
Radek Vít
a5b6bb6209
Add global mode to str trim (#2576)
* Add global mode to str trim

The global mode allows skipping non-string values,
and processes rows and tables as well

* Add tests to action with ActionMode::Global
2020-09-20 21:04:26 +12:00
Jonathan Turner
1882a32b83
Context cleanup (#2581)
* Specialize 'Context' to EvaluationContext and CompletionContext

* Specialize 'Context' to EvaluationContext and CompletionContext

* fmt
2020-09-20 09:29:51 +12:00
Radek Vít
798766b4b5
Remove panics from random integer and make the constraint more idiomatic (#2578)
* Remove panics from random integer and make the constraint more idiomatic

* Add open intervals to NumericRange
2020-09-20 08:41:49 +12:00
Shaurya
193c4cc6d5
Include subcommands in help commands (#2575)
* Add minor fixes to comments

* Include subcommands in `help commands`
2020-09-20 08:37:47 +12:00
Radek Vít
422b6ca871
Add system, user and idle times to benchmark command (#2571)
* Add system, user and idle times to benchmark command

* Feature-gate dependency on heim in benchmark

* Reorder let bindings in benchmark

* Fully feature-gate rich-benchmark and print 0sec on zero duration
2020-09-20 05:13:14 +12:00
Darren Schroeder
2b13ac3856
more table themes rounded and reinforced (#2579) 2020-09-19 12:10:34 -05:00
Chris Gillespie
4c10351579
Exclude internal commands from 'help command' (#2573) 2020-09-19 11:48:30 +12:00
Jonathan Turner
dd27aaef1b
Limit open streaming to non-files, and files > 32mb (#2570) 2020-09-19 07:51:28 +12:00
Darren Schroeder
6eb4a0e87b
add replace all option to str find-replace (#2569) 2020-09-18 11:28:50 -05:00
Radek Vít
15f3a545f0
Cleanup code in get and nu-value-ext (#2563)
* Cleanup code in get and nu-value-ext

* Remove unnecessary return statements from get
2020-09-18 18:40:20 +12:00
Chris Gillespie
365f76ad19
Tidy up help command text (#2566) 2020-09-18 18:13:53 +12:00
rezural
df2845a9b4
implementing case-sensitive & case-insensitive completion matching (#2556)
Co-authored-by: Jonathan Turner <jonathandturner@users.noreply.github.com>
2020-09-17 10:52:58 -04:00
Jonathan Turner
8453261211
Update rustyline to latest (#2565)
* Update rustyline to latest

* Go ahead and use rustyline for testing
2020-09-17 18:02:30 +12:00
Radek Vít
1dc8f3300e
Make the sleep command pass data through. (#2558) 2020-09-16 19:34:37 -04:00
Andrés N. Robalino
10d4edc7af
Slim down configuration readings and nu_cli clean up. (#2559)
We continue refactoring nu_cli and slim down a bit configuration
readings with a naive metadata `modified` field check.
2020-09-16 18:22:58 -05:00
Chris Gillespie
50cbf91bc5
Remove trim in favor of str trim (#2560) 2020-09-16 15:59:32 -04:00
Radek Vít
d05f9b3b1e
Make the sleep command respond to Ctrl+C (#2550) 2020-09-16 12:14:33 -04:00
Jason Gedge
f5fad393d0
Refactor completion trait (#2555)
* Remove completion code from help/value shells

* Tweak the `Completer` trait for nushell.

Previously, this trait was built around rustyline's completion traits, and for
`Shell` instances. Now it is built for individual completers inside of nushell
that will complete a specific location based on a partial string. For example,
for completing a partially typed command in the command position.
2020-09-16 16:37:43 +12:00
Darren Schroeder
d19a5f4c2f
add a few more ansi escape sequences (#2553) 2020-09-15 16:01:57 -05:00
Darren Schroeder
04451af776
Ctrl c exit issue (#2548)
* fix ctrl_c problem on windows

* updated cargo.lock
2020-09-15 09:59:51 -05:00
Hampus Lidin
232aca76a4
Update rawkey for ARM support (#2547)
v0.1.2 of rawkey currently doesn't compile on ARM; v0.1.3 remedies this.
2020-09-15 11:20:32 +12:00
Andrés N. Robalino
0178b53289
Core nu plugin load capability. (#2544)
We introduce the `plugin` nu sub command (`nu plugin`) with basic plugin
loading support. We can choose to load plugins from a directory. Originally
introduced to make integration tests faster (by not loading any plugins on startup at all)
but `nu plugin --load some_path ; test_pipeline_that_uses_plugins_just_loaded` does not see it.

Therefore, a `nu_with_plugins!` macro for tests was introduced on top of nu`s `--skip-plugins`
switch executable which is set to true when running the integration tests that use the `nu!` macro now..
2020-09-14 09:07:02 -05:00
Chris Gillespie
e05e6b42fe
Simplify a few boolean creations (#2543) 2020-09-14 13:15:44 +12:00
Jonathan Turner
dd79afb503
Fix yanked crossterm version (#2542) 2020-09-14 13:14:59 +12:00
Radek Vít
599bb9797d
Implement exclusive and inclusive ranges with ..< and .. (#2541)
* Implement exclusive and inclusive ranges with .. and ..=

This commit adds right-exclusive ranges.

The original a..b inclusive syntax was changed to reflect the Rust notation.
New a..=b syntax was introduced to have the old behavior.

Currently, both a.. and b..= is valid, and it is unclear whether it's valid
to impose restrictions.

The original issue suggests .. for inclusive and ..< for exclusive ranges,
this can be implemented by making simple changes to this commit.

* Fix collect tests by changing ranges to ..=

* Fix clippy lints in exclusive range matching

* Implement exclusive ranges using `..<`
2020-09-14 09:53:08 +12:00
Chris Gillespie
c355585112
Set active shell column to boolean (#2540) 2020-09-13 16:25:38 +12:00
gorogoroumaru
45f32c9541
Allow math avg to work on durations (#2529)
* Allow `math avg` to work on durations

* formatting

* fix linting issue and implemented `math sum` for duration

* fix linting issue

* applied requested changes

* applied requested change for avg.rs

* formatting
2020-09-12 18:56:05 -05:00
Andrés N. Robalino
7528094e12
Allow folding with tables. (#2538) 2020-09-12 01:40:52 -05:00
Yusuke Ito
dcfa135ab9
support key-value argument in with-env(#2490) (#2530)
* support key-value argument in with-env

* remove unused import

* fix format for lint
2020-09-11 18:17:35 +12:00
Yusuke Ito
e9bb4f25eb
accept multiple variables in with-env(#2490) (#2526)
* accept multiple variables in with-env(#2490)

* add examples for test

* fix format(#2490)
2020-09-10 19:23:28 +12:00