Dan Davison
4926865c4e
str collect
=> str join
(#6531 )
...
* Initialize join.rs as a copy of collect.rs
* Evolve StrCollect into StrJoin
* Replace 'str collect' with 'str join' everywhere
git ls-files | lines | par-each { |it| sed -i 's,str collect,str join,g' $it }
* Deprecate 'str collect'
* Revert "Deprecate 'str collect'"
This reverts commit 959d14203e
.
* Change `str collect` help message to say that it is deprecated
We cannot remove `str collect` currently (i.e. via
`nu_protocol::ShellError::DeprecatedCommand` since a prominent project
uses the API:
b85542c31c/src/virtualenv/activation/nushell/activate.nu (L43)
2022-09-11 11:48:27 +03:00
adamijak
14512988ba
Rename all?
, any?
and empty?
( #6464 )
...
Rename `all?`, `any?` and `empty?` to `all`, `any` and `is-empty` for sake of simplicity and consistency.
- More understandable for newcomers, that these commands are no special to others.
- `?` syntax did not really aprove readability. For me it made it worse.
- We can reserve `?` syntax for any other nushell feature.
2022-09-05 16:41:06 +02:00
Darren Schroeder
2591bd8c63
add more color highlighting to help ( #6449 )
2022-08-31 20:15:03 +12:00
nibon7
839b264261
Add test cases for $nu.config-path change ( #6385 )
...
* Add test cases for $nu.config-path change
Part of #6366
Signed-off-by: nibon7 <nibon7@163.com>
* do not start a new process to test default config path
Signed-off-by: nibon7 <nibon7@163.com>
Signed-off-by: nibon7 <nibon7@163.com>
2022-08-23 10:18:14 +03:00
Jakub Žádník
20528e96c7
Add hide-env
to hide environment variables ( #6313 )
...
* Add hide-env to hide env vars; Cleanup tests
Also, there were some old unalias tests that I converted to hide.
* Add missing file
* Re-enable hide for env vars
* Fix test
* Rename did you mean error back
It was causing random tests to break
2022-08-13 12:55:06 +03:00
Justin Ma
48f1c3a49e
add bits ror
and bits rol
commands ( #6224 )
2022-08-05 15:40:01 +02:00
Darren Schroeder
cdeb8de75d
replace the regex crate with the fancy-regex crate ( #6227 )
2022-08-04 14:51:02 -05:00
Justin Ma
ce6df93d05
Add bits shl
and bits shr
command ( #6202 )
...
* Add `bits shift-left` and `bits shift-right` command
* update bits shift error tips
* some code refactor
* update shift right
* some code refactor for bits shift commands
* rename bits shift commands align with bits operators
* update search term
* Update crates/nu-command/src/bits/not.rs
Co-authored-by: Stefan Holderbach <sholderbach@users.noreply.github.com>
* Update crates/nu-command/src/bits/shift_left.rs
Co-authored-by: Stefan Holderbach <sholderbach@users.noreply.github.com>
* Update crates/nu-command/src/bits/shift_right.rs
Co-authored-by: Stefan Holderbach <sholderbach@users.noreply.github.com>
* ci skip
* change default number-bytes for bits shift
* fix bits not tests
* fix bits tests
Co-authored-by: Stefan Holderbach <sholderbach@users.noreply.github.com>
2022-08-02 15:52:04 -05:00
Justin Ma
6a4eabf5c7
Add bits or
and bits xor
command ( #6190 )
2022-07-30 13:26:37 -05:00
Justin Ma
0e2c888f73
Add bits root command and bits and
command ( #6188 )
2022-07-30 07:34:11 -05:00
JT
9695331eed
require variable names to follow additional restrictions ( #6125 )
2022-07-27 14:08:54 +12:00
nibon7
86a0e77065
Fix print_table_or_error when table
is overridden ( #6130 )
...
Related #6113
Signed-off-by: nibon7 <nibon7@163.com>
2022-07-25 20:11:46 -05:00
nibon7
72c27bd095
Fix PipelineData::print when table
is overridden ( #6129 )
...
* Fix PipelineData::print when `table` is overridden
Fixes #6113
Signed-off-by: nibon7 <nibon7@163.com>
* don't use deprecated `is_custom_command`
Signed-off-by: nibon7 <nibon7@163.com>
* add test
Signed-off-by: nibon7 <nibon7@163.com>
2022-07-25 18:41:30 -05:00
JT
475d32045f
Revert "Refactor external command ( #6083 )" ( #6116 )
...
This reverts commit 0646f1118c
.
2022-07-26 05:37:15 +12:00
Kangaxx-0
0646f1118c
Refactor external command ( #6083 )
...
Co-authored-by: Frank <v-frankz@microsoft.com>
2022-07-21 19:56:57 -04:00
Justin Ma
4e90b478b7
Add bit operator: bit-xor
( #5940 )
2022-07-03 06:45:20 -05:00
JT
a48616697a
Rename bitwise operators for readability ( #5937 )
2022-07-02 17:05:02 -05:00
Justin Ma
b82dccf0bd
Add band
and bor
operator for bit operations ( #5936 )
...
* Add `band` and `bor` Operator
* Add tests
2022-07-02 13:03:36 -05:00
Justin Ma
3917fda7ed
Update #4202 : Add shift operator bshl and bshr for integers ( #5928 )
...
* Update #4202 : Add shift operator bshl and bshr for integers
* Add more tests
2022-07-02 06:48:43 -05:00
Fernando Herrera
ff946a2f21
each while command ( #5771 )
...
* each while command
* test value adjustment
2022-06-14 16:16:31 +02:00
Justin Ma
d44059c36b
feat: Add sensitive flag to get, fix #4295 ( #5685 )
...
* feat: Add insensitive flag to get, fix #4295
* add get insensitive example
* Fix get flags
* Update get examples
2022-06-01 08:34:42 -05:00
Clements
46eb34b35d
Differentiate internal signature from external signature w.r.t. help ( #5667 )
...
* Differentiate internal signature from external signature w.r.t. help
* Add in the --help flag to default externs in default config
* Remove unusued build_extern
Co-authored-by: mjclements <clements.michael.james@gmail.com>
2022-05-29 15:14:15 +02:00
WindSoilder
9e5e9819d6
adjust flatten default behavior ( #5606 )
2022-05-21 08:32:51 -05:00
panicbit
49cbc30974
Add ends-with operator and fix dataframe operator behavior ( #5395 )
...
* add ends-with operator
* escape needles in dataframe operator regex patterns
2022-05-02 20:02:38 +12:00
JT
4a69819f9a
Rename =^ to 'starts-with' ( #5407 )
2022-05-02 19:20:07 +12:00
JT
f16401152b
Make if else more lazy ( #5386 )
2022-05-01 09:13:21 +12:00
JT
be3f0edc97
Fix 'range' range exclusive ( #5334 )
2022-04-26 13:39:38 -05:00
JT
ee29a15119
Add 'and' and 'or' operators ( #5297 )
2022-04-23 07:14:31 +12:00
JT
76079d5183
Move config to be an env var ( #5230 )
...
* Move config to be an env var
* fix fmt and tests
2022-04-19 10:28:01 +12:00
Hristo Filaretov
cf65f77b02
Simplify known external tests ( #5219 )
...
* Simplify known external tests
* Cargo fmt
2022-04-17 14:31:03 -05:00
Hristo Filaretov
7710317224
Add known external tests ( #5216 )
...
* Add known external tests
* Add some documentation to the tests
* Document test_hello example
* Set PWD in run_test
2022-04-17 05:39:56 -05:00
Boy van Duuren
594006cfa0
Fix failing unit tests on Windows ( #5142 ) ( #5143 )
...
* Fix failing unit tests on Windows (#5142 )
Fix let_env_expressions failing on Windows:
The env expression uses PATH, but on windows Path is used.
Fix correctly_escape_external_arguments, execute_binary_in_string
failing on Windows:
Using cococo now to make sure testresults are platform independent
* Update macros.rs
Co-authored-by: JT <547158+jntrnr@users.noreply.github.com>
2022-04-12 06:18:46 +12:00
JT
14066ccc30
Fix known externals, fix operator spans ( #5140 )
2022-04-09 17:17:48 +12:00
JT
97eb8492a3
Improve $in
handling ( #5137 )
...
* Simplify in logic
* Add tests
* more tests, and fixes
2022-04-09 09:41:05 +12:00
JT
0b85938415
Soften the block arity checking ( #5135 )
2022-04-09 07:57:27 +12:00
Reilly Wood
b2c52b51b7
Change string contains operators to regex ( #5117 )
2022-04-07 18:23:14 +12:00
JT
888369022f
Add datetime to math-like ( #5118 )
...
* Add datetime to math-like
* add test
2022-04-07 18:02:28 +12:00
JT
591fb4bd36
Add unary not ( #5111 )
2022-04-07 07:10:25 +12:00
JT
6649da3f5d
Add support for single value row conditions ( #5072 )
2022-04-03 10:41:36 +12:00
Darren Schroeder
2cb815b7b4
Add starts with operator ( #5061 )
...
* add starts_with operator
* added a test
2022-04-01 13:35:46 -05:00
JT
4bb95a880f
let a simple last be a single value ( #5060 )
2022-04-01 23:12:31 +13:00
JT
cf88c8eef3
Improve escaping in string interpolation ( #4982 )
2022-03-27 12:52:09 +13:00
Hristo Filaretov
8a9cc33aac
Fix alias import ( #4968 )
...
* Fix alias import
Alias importing was registering the alias id as a decl instead of alias.
This caused issues when hiding and then reimporting the alias.
* Clippy format
Co-authored-by: Hristo Filaretov <h.filaretov@protonmail.com>
2022-03-25 17:56:40 -05:00
JT
bd5778fa24
remove the boolean vars ( #4879 )
2022-03-20 08:12:10 +13:00
JT
f3bb1d11d3
Add export alias
and export extern
( #4878 )
...
* export alias
* export extern
2022-03-20 07:58:01 +13:00
JT
d0cbb2d12c
Allow expanding aliases before keywords, improve hiding ( #4858 )
...
* Allow aliasing source
* Add test
* improve hiding
* Finish adding tests
* fix test
2022-03-18 11:35:50 +13:00
Darren Schroeder
6700fbeed7
rename update
to upsert
to mirror what it really does ( #4859 )
...
* rename `update` to `upsert` to mirror what it really does
* change to latest reedline and nu-ansi-term
2022-03-16 19:13:34 -05:00
JT
0bd8664f33
Fix string interpolation escaping ( #4854 )
2022-03-16 05:09:30 +13:00
Jakub Žádník
90b2ec537f
Do not pass non-string env vars to externals ( #4748 )
...
* Do not pass non-string env vars to externals
Also misc cleanup
* Add note to default config
* Add a test
* Ensure PATH/Path conversion list <-> string
2022-03-12 00:18:39 +02:00
JT
355b1d9929
Simplify empty?
, improve default
( #4797 )
...
* Simplify empty?, improve default
* improve test
2022-03-09 08:46:28 -05:00
JT
dc0c5a9772
Revert "Make if
blocks work like a def-env ( #4656 )" ( #4782 )
...
This reverts commit 477f3be8df
.
2022-03-08 08:29:12 -05:00
JT
477f3be8df
Make if
blocks work like a def-env ( #4656 )
...
* Make `if` work like a def-env
* Add some tests
* Add an example
2022-03-08 07:45:47 -05:00
JT
1837bf775c
Default values ( #4770 )
2022-03-07 15:08:56 -05:00
JT
a2723c2ba4
Fix rest parsing ( #4765 )
...
* More nuon tests, fix table print
* Fix rest type parsing
2022-03-07 11:44:27 -05:00
JT
4f43d75130
Simplify group/window into their own commands ( #4760 )
2022-03-06 20:01:29 -05:00
JT
e64ca97fe2
move scope variable into nu variable ( #4725 )
2022-03-04 11:36:11 -05:00
JT
7d0531d270
Add support for escape characters, make nuon a JSON superset ( #4706 )
...
* WIP
* Finish adding escape support in strings
* Try to fix windows
2022-03-03 13:14:03 -05:00
JT
96a1bf5f8d
Experiment: Allow both $true/true and $false/false ( #4696 )
...
* Change true/false to keywords
* oops, clippy
* Both kinds of bools
* Add in some boolean variables
* disable py virtualenv test for now
2022-03-02 19:55:03 -05:00
Justin Ma
42f1874a3a
Update some examples and docs ( #4682 )
...
* Update some examples and docs
* Update now.rs
* Update date_now.md
Co-authored-by: JT <547158+jntrnr@users.noreply.github.com>
2022-03-01 08:05:29 -05:00
JT
cb5c61d217
Fix open ended ranges ( #4677 )
...
* Make open ended ranges more open ended
* Add test
2022-02-28 11:15:31 -05:00
JT
7819210037
Add shortcircuiting boolean operators ( #4668 )
2022-02-27 17:02:53 -05:00
JT
4b18fdcc6e
Date literals ( #4619 )
...
* Date literals
* update deps
* Add date+duration
2022-02-23 21:02:48 -05:00
JT
9888f8f298
Add pipeline redirection support ( #4594 )
...
* redirection
* Remove commented-out
* fix tests
* more fixes
2022-02-21 17:22:21 -05:00
JT
6d4784a7c1
Make 'each' implicitly filter out nothings ( #4546 )
...
* Make 'each' implicitly filter out nothings
* another example
2022-02-21 15:49:08 -05:00
JT
a2c4c92fce
Remove record iteration ( #4582 )
...
* Remove record iteration
* Remove test
2022-02-21 09:12:04 -05:00
Joseph T. Lyons
4f367a59de
Strip trailing whitespace in files ( #4575 )
...
* Strip trailing whitespace in rs files
* Strip trailing whitespace in toml files
* Strip trailing whitespace in md files
* Strip trailing whitespace in nu files
2022-02-21 08:38:15 -05:00
Justin Ma
aea4355d04
refactor: change column names from 'Column*' to 'column*' ( #4556 )
2022-02-19 19:26:47 -05:00
JT
786e4ab971
Make 'for' implicitly filter out nothings ( #4536 )
...
* Make 'for' implicitly filter out nothings
* Fix test
2022-02-18 13:41:41 -05:00
JT
6e733f49bc
Require block params ( #4505 )
...
* Require block params
* Improve errors
2022-02-17 06:40:24 -05:00
JT
5b6156687e
Use partial_cmp and make -i case insensitive ( #4498 )
...
* Use partial_cmp and make -i case insensitive
* Insensitive sort multiple columns
2022-02-16 11:12:49 -05:00
JT
644435bfe3
Move and enable with-env test ( #4489 )
2022-02-16 04:59:44 -05:00
JT
e763a8dcef
Auto-hide aliases to prevent recursion ( #4487 )
2022-02-15 17:36:24 -05:00
JT
9114a2d31d
Ensure that reduce has a valid span ( #4479 )
2022-02-15 07:59:51 -05:00
JT
84f85ff9ae
Fix to json
escape logic ( #4478 )
2022-02-15 06:55:57 -05:00
JT
fbaafaa459
Make param parsing more resilient, correct missing param error ( #4470 )
2022-02-14 12:33:47 -05:00
Andrew Barnes
77eb4c4188
Fix default duplicates column ( #4452 )
...
* Add test to ensure default not adding dup. columns
* Fix for default adding duplicate columns
2022-02-13 05:38:46 -05:00
Jakub Žádník
328f7e92a0
Hide alias ( #4432 )
...
* Add alias interning
Now, AliasId is used to reference aliases stored in EngineState, similar
to decls, blocks, etc.
* Fix wrong message
* Fix using decl instead of alias
* Extend also alias id visibility
* Merge also aliases from delta
* Add alias hiding code
Does not work yet but passes tests at least.
* Fix wrong alias lookup and visibility appending
* Add hide alias tests
* Fmt & Clippy
* Fix random clippy warnings in "which" command
2022-02-12 11:50:37 +02:00
JT
886ed5ab2d
Fix captures ( #4421 )
...
* Fix rowcondition and import captures
* Only check extra blocks if not yet seen
2022-02-11 07:37:10 -05:00
JT
e6db37bc82
Fix multi-command variable captures ( #4413 )
2022-02-10 18:15:15 -05:00
JT
2e3b2a48ee
Fix string interpolation paren cases ( #4410 )
2022-02-10 11:09:08 -05:00
JT
c2118e7505
Fix help flag ( #4398 )
...
* Match 'help command' to 'command --help'
* Fix tests
2022-02-09 21:24:29 -05:00
JT
fc88a8538b
Make let-env
work like let
( #4389 )
...
* Make let-env work like let
* Fix tests
2022-02-09 13:41:41 -05:00
JT
f9e1c4ef50
Use 'table' on scripts and -c commands ( #4377 )
...
* Use 'table' on scripts and -c commands
* Fix tests
* Oops, missed a spot
2022-02-09 05:58:54 -05:00
JT
8a373dd554
Add each window ( #966 )
2022-02-06 20:23:18 -05:00
JT
3eba90232a
Port each group ( #953 )
2022-02-05 12:34:35 -05:00
JT
f29dbeddd7
Allow let-env to be dynamic ( #940 )
2022-02-04 16:19:13 -05:00
Jakub Žádník
fefd5fef12
Allow def-env to hide environment variables ( #921 )
2022-02-04 20:02:03 +02:00
JT
a008f1aa80
Command tests ( #922 )
...
* WIP command tests
* Finish marking todo tests
* update
* update
* Windows cd test ignoring
2022-02-03 21:01:45 -05:00
JT
4c9df9c7c1
Add a fallback if Windows external spawn fails ( #902 )
...
* Add a fallback if Windows external spawn fails
* Remove path workaround
* More fixes
* More fixes
* Be more flexible with error tests
2022-01-31 12:42:12 -05:00
Access
1fd0ddb52c
Maybe solve the none bug? ( #860 )
...
* Maybe solve the none bug?
* cargo fmt
* use nothing, not string
* check at last
* I check it at last
* Use error which has span
* use not found error
* fix error
* use a empty value length?
* * Add commit about what I change and fmt
Now all test passed, but I do not know if it is right
* update the test
* check if it is nothing
* update commit
* Rename test
Co-authored-by: Jakub Žádník <kubouch@gmail.com>
2022-01-30 15:23:28 +02:00
JT
44821d9941
Add support for def-env
and export def-env
( #887 )
2022-01-29 15:45:46 -05:00
Michael Angerman
bffb4950c2
add in a table test with multiple columns ( #886 )
2022-01-29 09:45:16 -08:00
JT
04395ee05c
Allow equals to sep long flag and arg ( #858 )
2022-01-27 12:20:12 +11:00
JT
6f4b7efd3e
Also set $in-variable with input ( #856 )
...
* Also set in-variable with input
* Fix test
* Add more tests
2022-01-27 10:46:13 +11:00
JT
78b5da8255
Allow let/let-env to see custom command input ( #854 )
2022-01-27 06:00:25 +11:00
JT
83ec374995
Add -c flag and others to cmdline args ( #853 )
...
* Add -c flag and others to cmdline args
* finish a little bit of cleanup
* Oops, forgot file
2022-01-26 12:26:43 -05:00
JT
6e44012a2f
Fix bug in date comparison ( #842 )
2022-01-24 16:55:45 -05:00
JT
525ed7653f
Add var vals and alias expansions to scope var ( #837 )
...
* Add var vals and alias expansions to scope var
* Fix test
2022-01-25 01:19:38 +11:00
JT
af52def93c
Fix doc comments for custom commands ( #815 )
2022-01-22 13:24:47 -05:00
JT
939745ad67
Support recursive functions in capture ( #797 )
2022-01-21 11:39:55 -05:00
JT
45b3592739
add some more division for units ( #783 )
2022-01-21 05:23:26 +11:00
JT
d2d22815fb
Improve env shorthand parse ( #777 )
2022-01-20 01:58:12 +11:00
JT
f9c0d223c1
Improve keyword parsing, including for ( #747 )
...
* Improve keyword parsing, including for
* touchup
2022-01-16 02:26:52 +11:00
JT
186da4d725
Fixing captures ( #723 )
...
* WIP fixing captures
* small fix
* WIP
* Rewrite to proof-of-concept better parse_def
* Add missing file
* Finish capture refactor
* Fix tests
* Add more tests
2022-01-12 15:06:56 +11:00
Michael Angerman
160339bd1f
add in a new select test that exercises a different match arm of the select command ( #718 )
2022-01-10 13:29:52 -08:00
JT
d3bfc61524
Don't panic on alias errors ( #713 )
2022-01-10 13:52:01 +11:00
JT
f016a5cb72
Fix short flags with extra ( #696 )
2022-01-07 08:06:54 +11:00
JT
3478f35330
Default the values of named params ( #695 )
2022-01-07 07:32:47 +11:00
JT
cc1ae969fe
Allow int/float to coerce in type checker ( #679 )
2022-01-06 07:58:58 +11:00
JT
8f6843c600
Move $nu.env to $env ( #665 )
...
* Move env from nu builtin to its own
* update samples/tests
2022-01-05 08:34:42 +11:00
JT
c9dcd212ba
Allow pipelines across multiple lines if end in pipe ( #643 )
...
* Allow pipelines across multiple lines if end in pipe
* Add validation support
2022-01-02 16:27:58 +11:00
JT
f7e3d4de24
Add fuzzy/ignore flag to get ( #641 )
2022-01-02 13:18:39 +11:00
Michael Angerman
5d58f68c59
port over from nushell the column flag for the length command ( #617 )
...
* port over from nushell the column flag for the length command
* fix clippy error
* refactor with the get_columns now centrally located
2022-01-01 15:27:20 +11:00
JT
e94b8007c1
Allow update to also insert ( #610 )
2021-12-28 10:11:20 +11:00
JT
384ea111eb
Allow for and other commands missing positionals near keywords ( #606 )
...
* Allow for and other commands missing positionals near keywords
* A bit more resilience
2021-12-28 07:04:48 +11:00
Fernando Herrera
53330c5676
def argument check ( #604 )
...
* def argument check
* corrected test
* clippy error
2021-12-28 06:13:52 +11:00
Michael Angerman
f50f37c853
fix issue #559 : to json -r serializes datetime without spaces ( #596 )
...
* fix issue #559 : to json -r serializes datetime without spaces
* add in a third test which checks spaces in both keys and values
* fix clippy error
2021-12-27 21:51:38 +11:00
JT
3706bef0a1
Require let to be a statement ( #594 )
2021-12-27 14:04:22 +11:00
JT
e1c92e90ca
Add line ending autodetect to 'lines' ( #589 )
2021-12-27 10:11:18 +11:00
JT
e62e0fb679
Flush stmts ( #584 )
...
* Flush the stmt via table to the screen
* Fix test
2021-12-27 07:21:24 +11:00
JT
ca6baf7a46
Add single tick string interpolation ( #581 )
...
* Add single tick string interpolation
* give string interpolation its own highlighting
2021-12-26 07:50:02 +11:00
JT
d603086d2f
Fix custom call scope leak, refactor tests ( #580 )
...
* Fix custom call scope leak, refactor tests
* Actually add tests
2021-12-26 06:39:42 +11:00