* nu-stream is building on its own, now clean up Cargo.toml
* replace the stream crate in nu-cli
* cc
* since we moved stream out of the nu-cli crate and into its own crate we need to remove pub(crate) and just make it pub
* clean up the prelude and hand merge everything together
* clean up Cargo.tom
* cargo fmt along with Cargo.lock
* Begin allowing comments and multiline scripts.
* clippy
* Finish moving to groups. Test pass
* Keep going
* WIP
* WIP
* BROKEN WIP
* WIP
* WIP
* Fix more tests
* WIP: alias starts working
* Broken WIP
* Broken WIP
* Variables begin to work
* captures start working
* A little better but needs fixed scope
* Shorthand env setting
* Update main merge
* Broken WIP
* WIP
* custom command parsing
* Custom commands start working
* Fix coloring and parsing of block
* Almost there
* Add some tests
* Add more param types
* Bump version
* Fix benchmark
* Fix stuff
v0.29.0 and earlier versions of `uom` fail to compile on nightly because
of now-ambiguous trait bounds. The issue was corrected in v0.30.0 of
`uom`. `uom` and `heim` dependencies have been updated to the
latest version to include this fix and allow nushell to compile on
nightly.
Co-authored-by: Boutin, Michael <mjboutin@ecolab.com>
* updated & added date related commands based on the new design
* added proper error handling when date format string is invalid
* fixed format issue
* fixed an issue caused due to the change in primitive Date type
* added `date list-timezone` command to list all supported time zones and updated `date to-timezone` accordingly
This makes the errors slightly better. It took me a while to realize I was missing the `--raw` flag.
```
open "data.csv" | from csv --separator ';'
```
error: Could not parse as CSV split by ',' (Line 1: expected 1 fields, found 14)
┌─ shell:1:1
│
1 │ open "data.csv" | from csv --separator ';'
│ ^^^^ ------------------------------------------------- value originates from here
│ │
│ input cannot be parsed as CSV split by ','. Sample input:
Name;Data
Ugly;row
AnotherUgly;row
I think this still needs some refinement. Maybe we don't want to show
the separator all the time, omitting the defaults or the separator
on other formats.
* Bump Rustyline to 7.0.0
* Append history instead of always save
* Add associated type to Hinter
* Convert to using Rustyline KeyEvent
* Use AcceptOrInsertLine as struct
* Cargo fmt
* Make convert_keyevent pub
* Better naming for RL conversion
* WIP try testing hash command
Ensure test worked
fmt
WIP get it working for other types of base64
Use optional named arg
WIP
* rebased and refactored a little with encoding and decoding
Fix some typos
Add some more charactersets
refactor several args into the encoding config struct and fix character_set arg. It needs to match the field
Add main hash command so it can be found via help
Added tests for running the whole pipeline
* add test case to cover invalid character sets
* clippy and fmt
* Add string argument support for path subcommands
* Add --replace option to 'path extension' command
* Add examples of replacing for path extension
* Refactor path extension and its example
* Add replacement functionality to path basename
* Refactor path subcommands to support more args
This adds a lot of redundancy to non-relevant subcommands such as type,
exists or expand.
* Add replace and num_levels options to path dirname
* Rename num_levels option to num-levels
* Remove commented code
* Clean up path basename
* Fix path dirname description
* Add path filestem opts; Rename extension -> suffix
* Add prefix option and examples to path filestem
* Fix broken num-levels of path dirname
* Fix failing example test of path filestem
* Fix failing test of path extension
* Formatting
* Add Windows-specific path subcommand examples
`path expand` is still broken but otherwise seems to fix all examples
on Windows
* Fix weird path expand on Windows
Also disable example tests for path expand. Failed caconicalization
(e.g., due to path not existing) returns the original path so the
examples always fail.
* Formatting
* Return path datatype when appropriate
* Do not append empty remainder to path dirname
* Add tests for path subcommands
* Formatting
* Revisit path subcommand description strings
* Apply clippy suggestions; Formatting
* Remove problematic test checking '~' expansion
Wouldn't run on minimal due to useing optional dependency.
The test success was also deending on the presence of home dir on the
testing machine which might not be completely robust.
* Add missing newline to file
* seq command - WIP
* why, oh why
* works with parameters
* widths should've been optional
* dbg messages
* working. rest had to be first.
* updated so that it outputs a table instead of just strings
* made to work with floats, allowed separator be more than 1 char
* clippy
* fixed tests
* changed terminator help desc
* commit to get ci moving again
* Change alias shape inference to proposal of RFC#4
* Remove commented code
* Fix typo
* Change comment to be more informative
* Make match statement to lookup in table
* Remove resolved question
https://github.com/nushell/nushell/pull/2685#discussion_r509832054
* Pick ...or_insert_dependency functions into pieces
Previously there was get_shape_of_expr_or_insert dependency, now there is
get_shape_of_expr and get_shape_of_expr_or_insert_dependency
2 new functions have been added: get_result_shape_of_math_expr and
get_result_shape_of_math_expr_or_insert_dependency
* Remove flattening of deep binary expressions
Previously deep binary expressions have been flattened through the insertion of
fake vars. This logic was quite complicated. Now if a variable depends on the
result shape of a binary expression and the result shape can't be computed,
the variable simply depends on the whole binary.
* Change Expression::Variable(Variable::It(...)) to Expression::Variable(...)
* Simplify get_result_shapes_in_math_expr
* Simplify infer_shapes_in_binary_expr
* Clarify comment
* Clarify comment
* Fix clippy lint
* Move check for real var into checked_insert
* Remove comment
* Rename var