JT
ec611526ac
Warn if we see let config = ../.. ( #5318 )
2022-04-25 08:40:55 +12:00
JT
ee29a15119
Add 'and' and 'or' operators ( #5297 )
2022-04-23 07:14:31 +12:00
JT
96253c69fb
Use better quoting for commandline args ( #5271 )
2022-04-21 15:31:52 +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
Jakub Žádník
12d3e4e424
Add env.nu file for environment config ( #5099 )
...
* Add env.nu file for environment config
* Add missing flag
* Add $nu.env-path variable
Prints `env.nu` path
* Add example of adding entries to PATH
2022-04-07 05:11:51 +12:00
JT
121a4f06fb
Load plugins for scripts and commands, too ( #5105 )
2022-04-06 19:45:26 +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
Jakub Žádník
2873e943b3
Add search terms to Command and Signature ( #4980 )
...
* Add search terms to command
* Rename Signature desc to usage
To be named uniformly with extra_usage
* Throw in foldl search term for reduce
* Add missing usage to post
* Add search terms to signature
* Try to add capnp Signature serialization
2022-03-27 22:25:30 +03:00
Andrew Barnes
a64e0956cd
Support binary data to stdin of run-external ( #4984 )
...
* Add test for passing binary data through externals
This change adds an ignored test to confirm that binary data is passed
correctly between externals to be enabled in a later commit along with
the fix.
To assist in platform agnostic testing of binary data a couple of
additional testbins were added to allow testing on `Value::Binary` inside
`ExternalStream`.
* Support binary data to stdin of run-external
Prior to this change, any pipeline producing binary data (not detected
as string) then feed into an external would be ignored due to
run-external only supporting `Value::String` on stdin.
This change adds binary stdin support for externals allowing something
like this for example:
〉^cat /dev/urandom | ^head -c 1MiB | ^pv -b | ignore
1.00MiB
This would previously output `0.00 B [0.00 B/s]` due to the data not
being pushed to stdin at each stage.
2022-03-27 15:35:59 +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
983d115bc0
Add an alias denylist for expansions ( #4871 )
2022-03-19 08:03:57 +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
Darren Schroeder
460d635ed0
update so that --log-level
will work properly ( #4856 )
2022-03-17 08:58:11 +13:00
Charles Dixon
1a16b9a2c4
Move repl loop and command/script execution to nu_cli ( #4846 )
...
* Refactor usage of is_perf_true to be a parameter passed around
* Move repl loop and command/script execution to nu_cli
* Move config setup out of nu_cli
* Update config_files.rs
* Update main.rs
Co-authored-by: JT <547158+jntrnr@users.noreply.github.com>
2022-03-17 07:17:06 +13:00
JT
0bd8664f33
Fix string interpolation escaping ( #4854 )
2022-03-16 05:09:30 +13:00
Fernando Herrera
6e65aef9bf
remove cmd from edit ( #4840 )
2022-03-13 20:05:13 +00:00
Fernando Herrera
5fcc670860
allow list to keybinding mode ( #4821 )
...
* allow list to keybinding mode
* added comments to default.nu
2022-03-12 11:51:08 +00: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
9abb14b5fd
ensure exit codes in more cases ( #4803 )
2022-03-10 06:29:23 -05:00
JT
355b1d9929
Simplify empty?
, improve default
( #4797 )
...
* Simplify empty?, improve default
* improve test
2022-03-09 08:46:28 -05:00
JT
0835073d85
Adds the proper workarounds for short flags ( #4794 )
2022-03-09 08:04:50 -05:00
JT
99f7636b03
Remove duplicate code ( #4789 )
2022-03-09 05:21:11 -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
299fea8538
Fix external extra ( #4777 )
...
* Fix empty table from externals
* Fix empty table from externals
2022-03-07 20:17:33 -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
Fernando Herrera
488f81d012
history bang ( #4735 )
...
* history bang
* change of char
2022-03-05 09:38:35 +00:00
JT
9c17c73d5f
Add more exit code support ( #4730 )
2022-03-04 17:46:18 -05:00
JT
e64ca97fe2
move scope variable into nu variable ( #4725 )
2022-03-04 11:36:11 -05:00
JT
7c205d7a3a
Remove the pack-in plugins ( #4719 )
2022-03-04 08:57:38 -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
Fernando Herrera
2fd42d25b1
partial completions ( #4704 )
2022-03-03 11:13:44 +02:00
Darren Schroeder
50399c349f
relocate default config in sample_config folder ( #4678 )
...
* relocate default config in sample_config folder
* relocate config file
2022-03-02 19:22:15 -06: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
a6a96b29cb
Add binary literals ( #4680 )
2022-02-28 18:31:53 -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
0924975b4c
Use default_config.nu by default ( #4675 )
...
* Use default_config.nu by default
* Fix default color
2022-02-28 10:12:08 -05:00
JT
d6a6c4b034
Add back in default keybindings ( #4673 )
...
* Add back in default keybindings
* Add support for edit commands, add in undo
2022-02-28 08:54:40 -05:00
JT
7819210037
Add shortcircuiting boolean operators ( #4668 )
2022-02-27 17:02:53 -05:00
Fernando Herrera
10ceac998e
menu keybindings in default file ( #4651 )
...
* menu keybindings in default file
* remove print
* change keybinding
2022-02-27 08:41:04 -05:00
JT
446c2aab17
Lets internals also have exit codes ( #4664 )
2022-02-27 08:16:19 -05:00
LordMZTE
d2bd71d2aa
add LAST_EXIT_CODE variable ( #4655 )
2022-02-26 08:57:45 -05:00
Fernando Herrera
3eca43c0bb
Plugins without file ( #4650 )
...
* adding plugin location in script
* adding plugin location in script
2022-02-26 08:57:51 +00:00
JT
0c3ea636fb
Add support for stderr and exit code ( #4647 )
2022-02-25 14:51:31 -05:00
Darren Schroeder
2b377391c2
make message more readable ( #4646 )
...
* make message more readable
* monsieur clippy
2022-02-25 12:58:47 -06:00
JT
2b1e4dd242
Use external exceptions in path strings ( #4636 )
2022-02-25 05:00:30 -05:00
JT
cbad648d0e
Windows external exceptions ( #4632 )
2022-02-24 18:01:32 -05:00
JT
3c62d27c28
Try again with math-like externals ( #4629 )
...
* Try again with math-like externals
* clippy 1.59
* clippy 1.59
* clippy 1.59
2022-02-24 14:02:28 -05:00
JT
c984ce9dc9
Check for external exceptions more often ( #4628 )
2022-02-24 10:31:24 -05:00
JT
4b18fdcc6e
Date literals ( #4619 )
...
* Date literals
* update deps
* Add date+duration
2022-02-23 21:02:48 -05:00
JT
25712760ba
Add support for math-like externals ( #4606 )
2022-02-22 10:55:28 -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
Darren Schroeder
e4dcdcb254
this little hack allows the color to be whatever the default is ( #4590 )
2022-02-21 12:46:04 -06:00
Darren Schroeder
88fa40d698
rename flatshape_*
to shape_*
( #4589 )
2022-02-21 12:27:21 -06:00
JT
41fa1ab656
Show errors when a prompt fails ( #4585 )
2022-02-21 10:46:19 -05:00
JT
07cd8f483e
Make sure to apply captures when setting prompt ( #4583 )
2022-02-21 09:48:05 -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
Darren Schroeder
9b2a022f5b
tweak default config to amplify theme-ability ( #4572 )
...
* tweak default config to amplify theme-ability
* missed default of auto
2022-02-20 16:05:36 -06:00
JT
fd22211737
Add nuon format for fun ( #4401 )
...
* Add nuon format for fun
* more fun
* More nuon fixes, allow comments, improve errors
2022-02-20 16:26:41 -05:00
JT
2ba12afb01
A few fixes to docs generation and default config ( #4570 )
...
* A few fixes to docs generation and default config
* A few more fixes
2022-02-20 15:20:41 -05:00
Jakub Žádník
56aacc4852
Use environment variable for env_conversions ( #4566 )
...
* Handle string->value env conv. with env. var.
Also adds the environment variable for Path/PATH and removes it from
config.
* Simplify getting the string->value conversion
* Refactor env conversion into its own function
* Use env var for to_string conversion; Remove conf
* Fix indentation in default config
2022-02-20 16:27:59 +02:00
JT
643c5097d6
Default config improvements ( #4565 )
...
* Default config improvements
* Finish cleanup
* Add some comments
2022-02-20 07:48:46 -05:00
Fernando Herrera
52ee1917ba
default config file ( #4554 )
...
* default config file
* fmt on files
* default file in separate file
* log level flag for performance logs
* clippy error
2022-02-20 05:08:53 -05:00
Justin Ma
aea4355d04
refactor: change column names from 'Column*' to 'column*' ( #4556 )
2022-02-19 19:26:47 -05:00
Michael Angerman
a6c565ed4e
change wording on config file ( #4555 )
2022-02-19 19:25:07 -05:00
Fernando Herrera
965cea3af5
flag to pass config file in nu ( #4552 )
...
* flag to pass config file in nu
* return when no folder is created
* simple syntax for function
2022-02-19 14:54:43 -06:00
Fernando Herrera
0f4f660759
better keybinding parsing ( #4543 )
2022-02-18 19:00:23 -06:00
Jakub Žádník
c893cc1485
Add config to NuCompleter ( #4538 )
2022-02-18 13:54:13 -05:00
JT
06f9047be4
Add an explicit 'print' command ( #4535 )
2022-02-18 13:43:34 -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
Genna Wingert
a967854332
Fix stream printing on Windows ( #4527 )
...
Co-authored-by: Genna Wingert <wingertge@gmail.com>
2022-02-18 08:10:20 -06:00
Jakub Žádník
c7c427723b
Test support fixes ( #4517 )
...
* Fix failing pipeline()
The `skip(1)` was there likely to remove the welcome message.
* Fix typo
* Fix nu! test macro to enter cwd correctly
Nushell's current working directory is determined primarily by the PWD
environment variable.
2022-02-18 00:23:04 +02:00
Stefan Stanciulescu
d50ccdf083
Add newline after version printout ( #4508 )
2022-02-17 06:29:58 -06:00
JT
6e733f49bc
Require block params ( #4505 )
...
* Require block params
* Improve errors
2022-02-17 06:40:24 -05:00
Stefan Stanciulescu
f169a9be3b
Add version as a flag ( #4507 )
2022-02-17 05:02:46 -06: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
56b3fc61a3
Remove statements, replaced by pipelines ( #4482 )
2022-02-15 14:31:14 -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
JT
f3d3e819fb
Fix main in scripts with captures ( #4468 )
...
* Fix main in scripts with captures
* Remove old comments
2022-02-14 10:53:48 -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
94a0e3060a
Update CI ( #4445 )
...
* Add different features combinations
* Specify styles manually
* Fix args
* Fix typo
* Let other CI jobs finish if one fails
* Fix unused symbols without plugin feature
* Put "which" tests behind "which" feature
* Add Python virtualenv job
* Oops forgot git command
* Install Nushell in virtualenv tests
* Add names to steps; Test v.env in separate step
* cd into virtualenv
* Do not run on Python 2.7
* Build Nushell after formatting and clippy checks
2022-02-12 22:48:17 +02: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
Darren Schroeder
968ef1e953
add parameter to set thread count for parallel commands ( #4424 )
2022-02-11 12:46:36 -06: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
Darren Schroeder
0e5f4d88c5
turn down the volume a little bit ( #4412 )
2022-02-10 15:22:39 -06: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
Darren Schroeder
f275644e13
add --perf
cli param ( #4391 )
...
* add `--perf` cli param
* clippy
* fixed 2 `cp` tests on windows
2022-02-09 16:08:16 -06: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
d70d91e559
Remove old nushell/merge engine-q
2022-02-07 14:54:06 -05:00
Fernando Herrera
fdce6c49ab
engine-q merge
2022-02-07 19:11:34 +00: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
522a53af68
Add support for quick completions ( #927 )
2022-02-04 10:30:21 -05: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
Stefan Holderbach
ac0b331f00
Update reedline to paste multiple command lines ( #920 )
...
* Update reedline to paste multiple command lines
* Remove comments for non-user events
2022-02-03 16:56:39 -06:00
JT
cc1b784e3d
Add initial nu-test-support port ( #913 )
...
* Add initial nu-test-support port
* finish changing binary name
* Oops, these aren't Windows-safe tests
2022-02-02 15:59:01 -05:00
Darren Schroeder
004d7b5ff0
query command with json, web, xml ( #870 )
...
* query command with json, web, xml
* query xml now working
* clippy
* comment out web tests
* Initial work on query web
For now we can query everything except tables
* Support for querying tables
Now we can query multiple tables just like before, now the only thing
missing is the test coverage
* finish off
* comment out web test
Co-authored-by: Luccas Mateus de Medeiros Gomes <luccasmmg@gmail.com>
2022-02-01 12:45:48 -06: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
e91d8655c6
Only trim prompt ( #876 )
...
* Only trim the output for prompts
* Only remove the last newline
2022-01-28 18:22:09 -05:00
JT
4c029d2545
Automatically trim ends of stdin/stdout strings ( #874 )
2022-01-28 16:59:00 -05:00
JT
86eeb4a5e7
Fix a bad slice into erroring utf-8 buffer ( #872 )
2022-01-28 15:32:46 -05:00
JT
020ad24b25
"maybe text codec" version 2 ( #871 )
...
* Add a RawStream that can be binary or string
* Finish up updating the into's
2022-01-28 13:32:33 -05:00
Stefan Holderbach
3f9fa28ae3
Add F1-F12 key support ( #866 )
...
* Add F1-F12 key support
* Fix error reporting: keybinding parser
* Reject more than one character
2022-01-28 13:14:51 -05:00
JT
fd9e380a1e
Move history search to ctrl-x ( #864 )
2022-01-28 06:44:12 +11:00
Stefan Holderbach
bfb9822475
Accomodate reedline#270 ( #863 )
...
Rename `ContextMenu` to `CompletionMenu`
Supply the completer directly to the line editor
2022-01-28 05:44:35 +11:00
Fernando Herrera
267ff4b0cf
using menu trait ( #861 )
2022-01-27 07:53:23 +00: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
8ee619954d
Start support for commandline args to nu itself ( #851 )
...
* cmdline args wip
* WIP
* redirect working
* Add help and examples
* Only show flags in signature of more than help
2022-01-27 01:42:39 +11:00
Fernando Herrera
69954a362d
history-menu ( #846 )
2022-01-25 09:39:22 +00:00
JT
6e44012a2f
Fix bug in date comparison ( #842 )
2022-01-24 16:55:45 -05:00
JT
3d0b1ef1ce
Highlight help tutor ( #838 )
...
* WIP
* Syntax highlight help, add tutor
2022-01-25 02:05:19 +11: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
b58aad5eb0
Make external app error uniform ( #812 )
2022-01-23 01:12:34 +11:00
Darren Schroeder
2df37d6ec2
seed cmd_duration_ms ( #798 )
...
* seed cmd_duration_ms
* tweak
2022-01-21 13:50:44 -06:00
Stefan Holderbach
0651e2b31f
Upgrade reedline for partial hint completion ( #802 )
2022-01-22 06:21:22 +11:00
JT
939745ad67
Support recursive functions in capture ( #797 )
2022-01-21 11:39:55 -05:00
JT
f44954da68
Add CMD_DURATION_MS ( #794 )
2022-01-22 01:53:49 +11:00
Fernando Herrera
846a048bba
menu-performance ( #793 )
2022-01-21 08:59:29 +00:00
JT
ac07d93b02
let prompt env vars take strings ( #790 )
...
* let prompt env vars take strings
* clippy
* clippy
2022-01-21 13:22:03 +11:00
JT
69b2ed5566
bump reedline ( #788 )
2022-01-20 18:58:48 -05:00
JT
724cfaa890
Bump reedline ( #785 )
2022-01-20 13:57:47 -05:00
JT
45b3592739
add some more division for units ( #783 )
2022-01-21 05:23:26 +11:00
Darren Schroeder
54ed82a19a
completeness, make case-insensitive ( #780 )
2022-01-20 06:20:00 -06:00
JT
d2d22815fb
Improve env shorthand parse ( #777 )
2022-01-20 01:58:12 +11:00
Fernando Herrera
6514a30b5d
general keybindings ( #775 )
...
* general keybindings
* get value function
* check error for keybinding
* cmd and send for keybingins
* better error message
2022-01-19 07:28:08 -06:00
Fernando Herrera
ff9d88887b
simple event keybinding ( #773 )
2022-01-18 19:32:45 +00:00
Fernando Herrera
20eb348896
simple keybinding parsing ( #768 )
2022-01-18 08:48:28 +00:00
Darren Schroeder
ac36f32647
remove dialoguer completions in favor of reedline's ( #766 )
2022-01-17 09:51:44 -06:00
Fernando Herrera
89d99db94f
menu options ( #748 )
2022-01-15 17:01:44 +00:00
JT
f9c0d223c1
Improve keyword parsing, including for ( #747 )
...
* Improve keyword parsing, including for
* touchup
2022-01-16 02:26:52 +11:00
Jakub Žádník
40484966c3
Make env var eval order during "use" deterministic ( #742 )
...
* Make env var eval order during "use" deterministic
Fixes #726 .
* Merge delta after getting config
To make sure env vars are all in the engine state and not in the stack.
2022-01-15 08:06:32 +11:00
JT
bc1e1aa944
Clippy fixes for Rust 1.58 ( #733 )
...
* Clippy fixes for Rust 1.58
* Try different message
2022-01-14 06:40:25 +11:00
Fernando Herrera
58c5ea4937
menu with tab ( #724 )
2022-01-12 10:57:37 +00: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
Fernando Herrera
47495715a6
context menu with nucompleter ( #722 )
2022-01-11 21:53:42 +00: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
4860014cec
silly keymap addition for quick shell changing ( #710 )
2022-01-10 09:17:58 +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
Fernando Herrera
8a0d2b4e32
double prompt ( #686 )
...
* double prompt
* prompt env var name
2022-01-06 12:57:55 +00:00
JT
cc1ae969fe
Allow int/float to coerce in type checker ( #679 )
2022-01-06 07:58:58 +11:00
JT
f71e16685c
Add shells support to auto-cd ( #674 )
2022-01-05 21:48:55 +11:00
JT
affb9696c7
Fix directory change lag ( #672 )
2022-01-05 16:50:27 +11:00
JT
c158d29577
Add shells support ( #671 )
2022-01-05 15:35:50 +11:00
JT
41dbc641cc
Some cleanups for cd/PWD ( #667 )
...
* Some cleanups for cd/PWD
* Some cleanups for cd/PWD
2022-01-05 11:26:01 +11:00
Jakub Žádník
74dcd91cc3
Use only $nu.env.PWD for getting the current directory ( #587 )
...
* Use only $nu.env.PWD for getting current directory
Because setting and reading to/from std::env changes the global state
shich is problematic if we call `cd` from multiple threads (e.g., in a
`par-each` block).
With this change, when engine-q starts, it will either inherit existing
PWD env var, or create a new one from `std::env::current_dir()`.
Otherwise, everything that needs the current directory will get it from
`$nu.env.PWD`. Each spawned external command will get its current
directory per-process which should be thread-safe.
One thing left to do is to patch nu-path for this as well since it uses
`std::env::current_dir()` in its expansions.
* Rename nu-path functions
*_with is not *_relative which should be more descriptive and frees
"with" for use in a followup commit.
* Clone stack every each iter; Fix some commands
Cloning the stack each iteration of `each` makes sure we're not reusing
PWD between iterations.
Some fixes in commands to make them use the new PWD.
* Post-rebase cleanup, fmt, clippy
* Change back _relative to _with in nu-path funcs
Didn't use the idea I had for the new "_with".
* Remove leftover current_dir from rebase
* Add cwd sync at merge_delta()
This makes sure the parser and completer always have up-to-date cwd.
* Always pass absolute path to glob in ls
* Do not allow PWD a relative path; Allow recovery
Makes it possible to recover PWD by proceeding with the REPL cycle.
* Clone stack in each also for byte/string stream
* (WIP) Start moving env variables to engine state
* (WIP) Move env vars to engine state (ugly)
Quick and dirty code.
* (WIP) Remove unused mut and args; Fmt
* (WIP) Fix dataframe tests
* (WIP) Fix missing args after rebase
* (WIP) Clone only env vars, not the whole stack
* (WIP) Add env var clone to `for` loop as well
* Minor edits
* Refactor merge_delta() to include stack merging.
Less error-prone than doing it manually.
* Clone env for each `update` command iteration
* Mark env var hidden only when found in eng. state
* Fix clippt warnings
* Add TODO about env var reading
* Do not clone empty environment in loops
* Remove extra cwd collection
* Split current_dir() into str and path; Fix autocd
* Make completions respect PWD env var
2022-01-05 09:30:34 +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
4d1ce6c27b
Use default prompt as fallback ( #663 )
2022-01-05 06:49:04 +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
ffaaa53526
Plugin before config ( #642 )
...
* Add fuzzy/ignore flag to get
* Handle plugins before config
2022-01-02 14:20:33 +11:00
JT
f7e3d4de24
Add fuzzy/ignore flag to get ( #641 )
2022-01-02 13:18:39 +11:00
Darren Schroeder
a56994ccc5
make prompt indicators configurable ( #639 )
...
* make prompt indicators configurable
* seems to be working now
2022-01-02 09:53:16 +11:00
JT
ac487dfcbc
Add parser tracing, fix 629 ( #638 )
2022-01-02 08:42:50 +11:00
JT
4383b372f5
Cleanup binary stream print a little ( #637 )
2022-01-01 21:42:15 +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
nibon7
15b0424d73
Create config directory if it does not exist ( #625 )
...
Signed-off-by: nibon7 <nibon7@163.com>
2021-12-30 21:47:51 +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
5c94528fe2
create history file if it doesnt exit ( #605 )
2021-12-28 06:14:23 +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
JT
a811eee6b8
Add support for 'open' ( #573 )
2021-12-25 06:24:55 +11:00
JT
3522bead97
Add string stream and binary stream, add text decoding ( #570 )
...
* WIP
* Add binary/string streams and text decoding
* Make string collection fallible
* Oops, forgot pretty hex
* Oops, forgot pretty hex
* clippy
2021-12-24 18:22:11 +11:00
Darren Schroeder
29c8b826d4
add configuration point for hint coloring ( #564 )
2021-12-23 15:02:57 -06:00
Darren Schroeder
ba1ff4cf6c
add configuration of maximum history size ( #563 )
2021-12-23 13:59:00 -06:00
Fernando Herrera
f3c175562d
vi mode ( #561 )
2021-12-23 09:31:16 +00:00
Michael Angerman
5d3b63fa90
add in a raw flag in the command to json ( #555 )
...
* add in the method to_string_raw
* add in a raw flag to json
* add in a test
2021-12-23 06:56:49 +11:00
JT
9fb12fefb0
Improve history hinting ( #551 )
2021-12-22 20:12:24 +11:00
Jakub Žádník
deeb1da359
Allow having only one env conversion ( #548 )
...
Allows setting only `from_string` or `to_string` in `env_conversions`
config. Previously, both were required.
2021-12-22 00:32:38 +02:00
Jakub Žádník
52dba91e1a
Wrap captured env var names into quotes as well ( #546 )
2021-12-21 23:31:30 +02:00
Ștefan
a93a9b9029
Add skip-empty flag to lines command ( #543 )
...
* Add skip-empty flag to lines command
* Fix failing length test
2021-12-22 07:24:11 +11:00
JT
fc7ed1bfe4
switch substring to bytes ( #538 )
...
* switch substring to bytes
* Add a test
2021-12-21 11:49:02 +11:00
Jakub Žádník
1609101e62
Fix capturing environment variables with " or ' ( #537 )
...
* Fix path expand error span
* Fix capturing env vars containing ' or "; Rustfmt
2021-12-20 23:19:43 +02:00
JT
152467a858
Flatten should flatten embedded table ( #534 )
2021-12-21 06:03:18 +11:00
JT
caf73c36f2
Finish adding support for optional params ( #530 )
2021-12-20 17:58:09 +11:00
JT
2883d6cd1e
Remove Span::unknown ( #525 )
2021-12-19 18:46:13 +11:00
Michael Angerman
00bb203756
add in a new command called columns ( #519 )
2021-12-18 12:14:28 -06:00
Jakub Žádník
ada9c742c6
Fix broken env var reading on startup ( #513 )
2021-12-17 23:09:44 +02:00
Ștefan
6f6340186a
Port flatten ( #512 )
...
* A first working version of flatten. Needs a lot of cleanup. Committing to have a working version
* Typo fix
* Flatten tests pass
* Final cleanup, ready for push
* Final cleanup, ready for push
* Final cleanup, ready for push
* Final cleanup, ready for push
* Update flatten.rs
Co-authored-by: JT <547158+jntrnr@users.noreply.github.com>
2021-12-18 07:44:51 +11:00
Jakub Žádník
6a0f404558
Treating environment variables as Values ( #497 )
...
* Proof of concept treating env vars as Values
* Refactor env var collection and method name
* Remove unnecessary pub
* Move env translations into a new file
* Fix LS_COLORS to support any Value
* Fix spans during env var translation
* Add span to env var in cd
* Improve error diagnostics
* Fix non-string env vars failing string conversion
* Make PROMPT_COMMAND a Block instead of String
* Record host env vars to a fake file
This will give spans to env vars that would otherwise be without one.
Makes errors less confusing.
* Add 'env' command to list env vars
It will list also their values translated to strings
* Sort env command by name; Add env var type
* Remove obsolete test
2021-12-17 12:04:54 +11:00
Stefan Holderbach
efb4a9f95c
Fix Ctrl-D
exit in cli ( #508 )
...
Clears to a new line for the potentially hosting process
Remove the output for `Ctrl-C`
2021-12-16 15:40:12 -06:00
Stefan Holderbach
bf6780967b
Make dialoguer completion abortable ( #507 )
...
Fixes #505
2021-12-16 15:11:06 -06:00
Darren Schroeder
9a864b5017
allow flatshape (command line syntax) theming ( #502 )
...
* allow flatshape (command line syntax) theming
* renamed crate, organized
2021-12-16 06:17:29 -06:00
JT
1d74d9c5ae
Fix comment issue and shadowing issue ( #501 )
2021-12-16 09:56:12 +11:00
Michael Angerman
1cbb785969
port over from nushell drop column ( #495 )
...
* port over from nushell drop column
* fix clippy
2021-12-15 06:54:27 +11:00
JT
04a9c8f3fd
Fix bug in chained boolean typecheck ( #490 )
2021-12-14 16:19:16 +11:00
Jakub Žádník
930cb26e99
Fix hiding of import patterns with globs ( #487 )
...
* Fix glob hiding
* Remove docs comment
2021-12-13 20:35:35 +02:00
JT
2013e9300a
Make config default if broken ( #482 )
...
* Make config default if broken
* Make config default if broken
2021-12-13 14:16:51 +11:00
JT
bee7ef21eb
Add in variable and sub-command completions ( #480 )
...
* WIP
* wip
* Add in variable and subcommand completions
* clippy
2021-12-13 10:18:31 +11:00
Fernando Herrera
4d7dd23779
Plugin json ( #474 )
...
* json encoder
* thread to pass messages
* description for example
2021-12-12 11:50:35 +00:00
Darren Schroeder
5c27ffa42e
update to latest reedline, change config point name, enable output without ansi ( #458 )
2021-12-09 16:06:26 -06:00
Darren Schroeder
3dc19d4179
Filesize formatting ( #456 )
...
* configure the format of filesize
* type-o
* removed some comments
* updated tests
* accomodated filesize_metric better, added test
2021-12-09 13:19:36 -06:00
Darren Schroeder
512dcf0988
enable cargo build --features=extra
to build plugins ( #448 )
2021-12-07 14:06:34 -06:00
JT
fdde95f675
Update clippy to check all features ( #441 )
...
* Update clippy to check all features
* Fix tests
* oops
2021-12-06 07:23:43 +13:00
Michael Angerman
03e22b071a
port over the reject command from nushell ( #419 )
...
* port over reject
* add some tests to src/tests
2021-12-05 16:09:45 +13:00
JT
ddd8c3d9dc
Improve running main ( #431 )
2021-12-05 07:02:53 +13:00
JT
3e0c5e55b6
Add simple commandline args for scripts ( #427 )
2021-12-05 06:06:17 +13:00
Fernando Herrera
8a06ea133b
removed unwraps ( #430 )
2021-12-04 12:38:21 +00:00
JT
eed22605ef
Fix the failure if the prompt breaks ( #426 )
2021-12-04 18:24:38 +13:00
JT
8cf4402e6c
Reset ansi more often when showing errors ( #425 )
2021-12-04 18:02:57 +13:00
Darren Schroeder
bef138232c
this fixes garbage ansi when externals turn off vt processing ( #422 )
...
* this fixes garbage ansi when externals turn off vt processing
* clippy
* changes are only for windows
* type-o
2021-12-03 13:49:25 -06:00
Fernando Herrera
f3c8d35eb7
Plugin repeated ( #417 )
...
* not repeated decl in file and help
* implemented heashmap for repeated
* sorted scope commands
2021-12-03 14:29:55 +00:00
JT
574d7f6936
Add table streaming ( #413 )
2021-12-03 19:15:23 +13:00
JT
ccd5f59314
Update external spawn ( #406 )
...
* Simplify external spawn, improve arg cleaning
* Fix tests
* Fix windows test
2021-12-03 09:55:16 +13:00
JT
071066b6d9
Move prompt animation setting to config ( #400 )
2021-12-02 20:10:40 +13:00
JT
45eba8b922
Introduce metadata into the pipeline ( #397 )
2021-12-02 18:59:10 +13:00
Fernando Herrera
56307553ae
Plugin with evaluated call ( #393 )
...
* plugin trait
* impl of trait
* record and absolute path
* plugin example crate
* clippy error
* correcting cargo
* evaluated call for plugin
2021-12-02 05:42:56 +00:00
Stefan Holderbach
3916ac4165
Fix busy poll with reedline ( #387 )
...
Fixes #386
Makes the changes to accept https://github.com/nushell/reedline/pull/188
Change CLI option EQ_PROMPT_ANIMATE_MS to binary EQ_PROMPT_ANIMATE
2021-11-30 09:59:54 -06:00