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
Jakub Žádník
c17e1473db
Hiding of environment variables ( #362 )
...
* Remember environment variables from previous scope
* Re-introduce env var hiding
Right now, hiding decls is broken
* Re-introduce hidden field of import patterns
All tests pass now.
* Remove/Address tests TODOs
* Fix test typo; Report hiding error
* Add a few more tests
* Fix wrong expected test result
2021-11-30 19:14:05 +13:00
Darren Schroeder
6d58e2b51e
enable env setting for prompt animation ( #376 )
...
* enable env setting for prompt animation
* default to on
* updated comment
2021-11-28 15:09:52 -06:00
JT
5d88ed6c75
Add better exit command ( #369 )
2021-11-26 21:00:57 +13:00
JT
143855b662
Add better comment skipping ( #359 )
2021-11-22 07:13:09 +13:00
Fernando Herrera
88988dc9f4
Plugins signature load ( #349 )
...
* saving signatures to file
* loading plugin signature from file
* is_plugin column for help command
2021-11-19 15:51:42 +13:00
Jakub Žádník
5459d30a24
Add environment variable support for modules ( #331 )
...
* Add 'expor env' dummy command
* (WIP) Abstract away module exportables as Overlay
* Switch to Overlays for use/hide
Works for decls only right now.
* Fix passing import patterns of hide to eval
* Simplify use/hide of decls
* Add ImportPattern as Expr; Add use env eval
Still no parsing of "export env" so I can't test it yet.
* Refactor export parsing; Add InternalError
* Add env var export and activation; Misc changes
Now it is possible to `use` env var that was exported from a module.
This commit also adds some new errors and other small changes.
* Add env var hiding
* Fix eval not recognizing hidden decls
Without this change, calling `hide foo`, the evaluator does not know
whether a custom command named "foo" was hidden during parsing,
therefore, it is not possible to reliably throw an error about the "foo"
name not found.
* Add use/hide/export env var tests; Cleanup; Notes
* Ignore hide env related tests for now
* Fix main branch merge mess
* Fixed multi-word export def
* Fix hiding tests on Windows
* Remove env var hiding for now
2021-11-16 12:16:06 +13:00
JT
be827e5628
Fix multiword imports/exports ( #336 )
2021-11-15 08:40:26 +13:00
JT
0f107b2830
Add a config variable with engine support ( #332 )
...
* Add a config variable with engine support
* Add a config variable with engine support
* Oops, cleanup
2021-11-15 08:25:57 +13:00
JT
568e566adf
Add record literal syntax ( #326 )
2021-11-11 12:14:00 +13:00
JT
bb1740d733
Add from csv and from tsv ( #320 )
2021-11-10 09:17:37 +13:00
JT
34617fabd9
Do some str collect cleanup ( #312 )
2021-11-09 17:46:26 +13:00
JT
066afb059e
Add magic in variable, part 2 ( #310 )
2021-11-08 20:13:55 +13:00
JT
e9a7def183
Add magic $in variable ( #309 )
...
* Add magic in variable
* Oops, missing file
2021-11-08 19:21:24 +13:00
JT
b5bade6187
Let list and table exprs get indexed ( #307 )
2021-11-08 12:18:00 +13:00
JT
19645575d6
Add 'did you mean' error ( #305 )
2021-11-08 10:48:50 +13:00
JT
00a8752c76
Move where to helper ( #302 )
2021-11-07 15:40:44 +13:00
JT
6c31377c21
Fix precedence parse ( #298 )
2021-11-06 20:31:28 +13:00
JT
d401ed64ed
Add range to the math reductions ( #296 )
2021-11-06 20:12:08 +13:00
JT
02b8027749
Improve external output in subexprs ( #294 )
2021-11-06 18:50:33 +13:00
JT
183d200b9f
Add updating cell paths
2021-11-05 16:59:12 +13:00
JT
1949ba080e
Add env shorthand
2021-11-04 15:32:35 +13:00
JT
5e42b14026
Documenting some code and doing cleanups
2021-11-03 08:53:48 +13:00
JT
25846d3c1e
Add zip command
2021-11-02 18:28:28 +13:00
JT
d856cebebd
Add a simple scope variable
2021-11-02 16:08:05 +13:00
JT
3176f60b5b
Merge pull request #243 from kubouch/module-files
...
Loading modules from files
2021-11-01 11:08:03 +13:00
Jakub Žádník
b340672331
Remove leftover test from previous iteration
2021-10-31 18:01:15 +02:00
Jakub Žádník
b7c0ba104f
Fix hiding module; Fmt
...
This fixes the case when you call `hide spam`. It will now hide all
commands you'd call like `spam foo` etc.
2021-10-31 17:38:00 +02:00
Jakub Žádník
2dcfecbbd7
Add test for multi-word alias
2021-10-29 23:57:33 +03:00
JT
cf3f3fde92
Add some support for
2021-10-30 07:15:17 +13:00
JT
bac8b8a450
Add initial ctrl-c support
2021-10-28 17:13:10 +13:00
JT
f92e9d25a5
Make the history path more central
2021-10-28 13:30:58 +13:00
Jakub Žádník
bd6c550470
Change import pattern delimiter to space
...
Subcommands and module imports will have the same syntax now.
2021-10-27 00:13:39 +03:00
Jakub Žádník
595fc7a7f6
Switch to cross-platform fail message
2021-10-26 21:03:12 +03:00
Jakub Žádník
402a4acd7a
Fix leftover test
2021-10-26 21:03:12 +03:00
Jakub Žádník
5163dbb7a1
Add tests and cover edge cases of the :: delim.
2021-10-26 21:03:12 +03:00
Jakub Žádník
cbda1b1650
Change import pattern delimiter to ::
2021-10-26 21:03:12 +03:00
JT
5455270446
Add a simple parallel each
2021-10-26 14:30:53 +13:00
JT
4be61ce604
Tests pass
2021-10-26 11:18:45 +13:00
JT
5d19017603
WIP
2021-10-26 05:58:58 +13:00
JT
baac60a5a7
WIP
2021-10-25 19:42:38 +13:00
JT
b5965ee8ef
WIP
2021-10-25 19:31:39 +13:00
Darren Schroeder
7ef5a7945f
clippy take2
2021-10-15 15:52:03 -05:00
Darren Schroeder
e330fdabb7
updated theme + clippy
2021-10-15 15:42:36 -05:00
Darren Schroeder
c9439c962b
allow esc and q to get out of completions
2021-10-15 15:33:56 -05:00
JT
82b0415d92
Try out select completions from dialoguer
2021-10-16 07:37:58 +13:00
JT
fdd2c35fd9
Add the default help flag
2021-10-14 06:53:27 +13:00
JT
a760e46c1c
Add config file loading
2021-10-13 16:57:05 +13:00
JT
aea8627c30
Prevent invalid var names
2021-10-12 18:08:55 +13:00
JT
5f14faf4b4
Custom switch support
2021-10-12 17:49:17 +13:00
JT
c8277a3da9
Do rest args
2021-10-12 16:28:39 +13:00
JT
96419f168b
Also fix the flag params
2021-10-12 10:17:45 +13:00
JT
1f45304cf9
Fix parser when def has missing params
2021-10-12 09:58:38 +13:00
JT
63e3552eef
Add the remaining missing operators
2021-10-12 09:35:12 +13:00
JT
0d031636a9
Error on missing column during cell path
2021-10-12 08:55:14 +13:00
JT
576471cc3c
Fix test
2021-10-12 08:33:09 +13:00
JT
0504a7a776
Make errors emit first
2021-10-12 06:35:40 +13:00
Jakub Žádník
77c520e10b
Make predeclarations scoped; Add hiding tests
...
In some rare cases, the global predeclarations would clash, for example:
> module spam { export def foo [] { "foo" } }; def foo [] { "bar" }
In the example, the `foo [] { "bar" }` would get predeclared first, then
the predeclaration would be overwritten and consumed by `foo [] {"foo"}`
inside the module, then when parsing the actual `foo [] { "bar" }`, it
would not find its predeclaration.
2021-10-10 14:31:13 +03:00
Arthur Targaryen
d5fdfdb614
Add missing test attribute
2021-10-09 19:40:47 +02:00
Arthur Targaryen
9e7e8ed48f
Handle not-in
operator
2021-10-09 19:40:47 +02:00
Arthur Targaryen
7f06d6144f
Support in
operator for record and value stream
2021-10-09 19:27:54 +02:00
Arthur Targaryen
d3bc096d47
Handle reverse ranges
...
This is really ugly and should be refactored.
2021-10-09 19:27:54 +02:00
Arthur Targaryen
8783cf0138
Add basic in
operator support
2021-10-09 19:27:54 +02:00
JT
5d36d37d20
Merge branch 'main' into fix_for
2021-10-10 05:20:50 +13:00
JT
e4ce41ba15
Fix the for loop to create vars
2021-10-10 05:10:46 +13:00
Fernando Herrera
a1bfa2788c
not found message for windows
2021-10-09 16:44:45 +01:00
JT
5c29a83a7a
Add tests
2021-10-09 15:45:25 +13:00
JT
f80e9d4b60
Merge pull request #91 from nushell/list_completions
...
Use list completions and better expansion
2021-10-05 10:44:26 +13:00
JT
7c2bf68d45
Use list completions and better expansion
2021-10-05 10:37:32 +13:00
Jakub Žádník
1e1e12b027
Fmt
2021-10-04 22:17:18 +03:00
Jakub Žádník
0fe525de87
Add test with TODO note
2021-10-04 20:16:43 +03:00
Jakub Žádník
4dacfaa44a
Add import pattern support to 'hide'
2021-10-04 20:08:24 +03:00
JT
1d7ab28a0f
Merge pull request #74 from kubouch/module-export
...
Modules: export & hide
2021-10-03 06:25:43 +13:00
JT
eba3484611
Update tests.rs
2021-10-03 06:17:51 +13:00
JT
0cc121876b
Update tests.rs
...
Update test errors to be more portable
2021-10-03 06:12:05 +13:00
Jakub Žádník
81cd03626d
Merge branch 'main' into module-export
2021-10-02 18:53:35 +03:00
Fernando Herrera
03339beae1
prompt with env variable
2021-10-02 14:10:28 +01:00
JT
63a0aa6088
Let strings be cell paths
2021-10-02 18:43:43 +13:00
JT
6b76dd7cd7
Add select
2021-10-02 17:55:05 +13:00
JT
5843acec02
Add wrap and get and cell_path parsing
2021-10-02 15:59:11 +13:00
Jakub Žádník
2c1b074bdc
Add test for double def
2021-10-02 00:21:08 +03:00
Jakub Žádník
fb0f83e574
Disallow hiding the same def twice; Add tests
...
Tests got removed after rebase.
2021-10-02 00:12:30 +03:00
Jakub Žádník
8ed6afe1e5
Fix tests failing without export
2021-10-01 23:24:57 +03:00
Jakub Žádník
a16144baf1
Disable crossterm raw mode
...
Without this change, the output of panic messages by miette would ignore
newlines and become unreadable.
2021-10-01 19:42:23 +03:00
JT
3e232a5db8
Add 'from json'
2021-10-01 18:11:49 +13:00
JT
0108a935ed
add import lists
2021-09-27 13:23:22 +13:00
JT
abb0d7bd22
Add support for module imports
2021-09-27 07:39:19 +13:00
Fernando Herrera
d9c42eb194
contents declaration
2021-09-25 17:28:15 +01:00
Fernando Herrera
6387401041
clippy error
2021-09-25 17:03:25 +01:00
Fernando Herrera
dadc354847
move print to function
2021-09-25 16:58:50 +01:00
Fernando Herrera
637e4f6e6d
simplify command call
2021-09-25 15:58:04 +01:00
Fernando Herrera
b12a265f1e
writing to stdout
2021-09-25 15:56:33 +01:00
Fernando Herrera
cf60f72452
table as string output
2021-09-25 15:47:23 +01:00
JT
0ccbebee7a
multiline validation
2021-09-22 17:29:53 +12:00
JT
d1474c0691
Show entry number in error
2021-09-22 15:14:57 +12:00
Kat Marchán
32f39c2fb8
use miette's new panic hook
2021-09-21 12:47:52 -07:00
JT
4841d62d76
Add some improvements to errors
2021-09-21 16:03:06 +12:00
Kat Marchán
a1d6cefdf8
replace codespan-reporting with miette 3.0
2021-09-20 17:14:20 -07:00
Michael Angerman
b6fdf611f6
more block param and build string tests
2021-09-13 09:32:03 -07:00
JT
32c1f0c8d4
better it detection and block params in shapes
2021-09-13 19:54:13 +12:00
JT
abda6f148c
Finish up completions
2021-09-10 10:09:40 +12:00
JT
bb6781a3b1
Add row conditions
2021-09-10 09:47:20 +12:00
JT
b821b14987
Add simple completions support
2021-09-09 21:06:55 +12:00
JT
6dd9f05ea1
Add an experimental record iteration
2021-09-08 10:00:20 +12:00
JT
2904002008
Make reedline prompt more resilient
2021-09-07 19:41:52 +12:00
JT
6af3affee2
add a test and update TODO
2021-09-07 19:09:49 +12:00
JT
bdce34676a
Allow rest vars to have a custom name
2021-09-07 15:37:02 +12:00
JT
3b7d7861e3
Add cell paths
2021-09-07 10:02:24 +12:00
Fernando Herrera
f7a19d37c6
one parser function
2021-09-06 21:41:30 +01:00
JT
f91d0d6d65
merge main
2021-09-07 06:07:41 +12:00
JT
4ce9a5c894
Make variable assignment convert streams to full values
2021-09-07 06:05:46 +12:00
Michael Angerman
3534bd8a64
some build-string tests
2021-09-06 09:05:53 -07:00
JT
3b99ce71a0
add simple value iteration
2021-09-06 16:16:32 +12:00
JT
96b0edf9b0
range iteration
2021-09-06 16:07:48 +12:00
JT
979faf853a
Block params
2021-09-06 14:20:02 +12:00
Fernando Herrera
b3d287815d
updated dependencies
2021-09-05 20:06:57 +01:00
JT
df63490266
Fix up calls and pipelines
2021-09-03 14:15:01 +12:00
JT
7c8504ea24
Add commands
2021-09-03 10:58:15 +12:00
JT
94687a7603
Back to working state
2021-09-03 06:21:37 +12:00
JT
e1be8f61fc
WIP
2021-09-02 20:25:22 +12:00
JT
c4c4d82bf4
Try putting streams in Value
2021-09-02 09:20:53 +12:00
JT
08014c6a98
Move sys, ps, fetch, post to internal commands ( #3983 )
...
* Move sys, ps, fetch, post to internal commands
* Remove old plugins
* clippy
Co-authored-by: JT <jonatha.d.turner@gmail.com>
2021-09-01 14:29:09 +12:00
JT
bb9e6731ea
More parsing fixes with tests
2021-08-27 11:44:08 +12:00
JT
5dd5a89775
Fix condition parsing for if
2021-08-27 09:48:27 +12:00
JT
ceea7e5aeb
Remove lifetime from eval state
2021-08-16 14:30:31 +12:00
JT
579814895d
Fix up eval params and refactor
2021-08-16 10:33:34 +12:00
JT
7655b070df
fix tests
2021-08-11 06:57:08 +12:00
JT
1355a5dd33
refactor to subcrates
2021-08-11 06:51:08 +12:00
Jonathan Turner
f62e3119c4
a little more progress on errors
2021-08-10 18:31:34 +12:00
Jonathan Turner
828585a312
add more type helpers and span fixes
2021-08-10 17:55:25 +12:00
Jonathan Turner
ef4af443a5
parser fixes for windows and pretty errors
2021-08-10 17:08:10 +12:00
JT
1a3e1e0959
touchup alias highlight
2021-08-09 20:00:16 +12:00
JT
40004e64a6
Merge branch 'main' of github.com:jonathandturner/engine-q
2021-08-09 19:55:22 +12:00
JT
50dc0ad207
aliases
2021-08-09 19:55:06 +12:00
JT
3da4f02ffa
aliases
2021-08-09 19:53:06 +12:00
Jonathan Turner
1ba80224ad
More gracefully handle reedline errors
2021-08-09 17:29:25 +12:00
JT
bf19918e3c
begin aliases
2021-08-09 12:19:07 +12:00
JT
38fef28c84
Add subcommand test
2021-08-09 09:55:18 +12:00
JT
273f964293
slight improvement
2021-08-09 09:34:21 +12:00
JT
d2577acccd
env vars
2021-08-09 09:02:47 +12:00
JT
d92e661253
Adding floating point
2021-08-09 08:21:21 +12:00
JT
cb11f042ab
Start env shorthand
2021-07-31 17:20:40 +12:00
JT
b82a4869d5
Add test
2021-07-31 16:25:26 +12:00
JT
c2be740ad4
def predecl
2021-07-31 16:04:42 +12:00
JT
61258d03ad
add more tests
2021-07-31 09:57:22 +12:00
JT
79a05d63c8
add more tests
2021-07-31 09:26:05 +12:00
JT
18752672d0
add more tests
2021-07-31 08:02:16 +12:00
JT
cdc37bb142
fix eval bug
2021-07-30 20:06:48 +12:00
JT
083dcd4541
Better for loop
2021-07-30 19:50:39 +12:00
JT
b6f00d07e8
Fix var decl. improve for loop
2021-07-30 19:30:11 +12:00
JT
b0ffaf1c91
add for loop and benchmark
2021-07-30 18:10:40 +12:00
JT
2af61bd07e
add correct eval scope
2021-07-30 17:42:33 +12:00
JT
1caae90c02
cleanup some highlighting
2021-07-30 16:43:31 +12:00
JT
184125a70a
cleanup some highlighting
2021-07-30 16:38:41 +12:00
JT
53314cb8b2
slightly better coloring
2021-07-30 15:33:33 +12:00
JT
b5e287e065
WIP string interp
2021-07-30 15:26:06 +12:00
JT
2eeceae613
fix clippy, add strings and concat
2021-07-30 10:56:51 +12:00
JT
ad48387aa0
WIP
2021-07-24 18:44:38 +12:00
JT
a4bcc1ff3d
WIP
2021-07-24 17:57:17 +12:00
JT
fca3a6b75e
Support adding variables
2021-07-24 09:46:55 +12:00
JT
6fcdc76059
Improve call eval and live check
2021-07-24 09:19:30 +12:00
JT
3eefa6dec8
start expanding eval
2021-07-23 17:14:49 +12:00
JT
8c6feb7e80
Fix up global span logic
2021-07-23 08:45:23 +12:00
JT
37f8ff0efc
Add highlighting
2021-07-23 07:50:59 +12:00
JT
07c22c7e81
Start working on highlighter
2021-07-22 19:48:45 +12:00
JT
1ac0c0bfc5
Move to refcell for permanent parser state
2021-07-22 19:33:38 +12:00
JT
c25209eb34
Fix running multiple times, add reedline
2021-07-22 18:04:50 +12:00
JT
4deed7c836
improve subcommand parse
2021-07-18 07:40:39 +12:00
JT
92f72b4103
add subcommand parsing
2021-07-18 07:34:43 +12:00
JT
30f54626d3
add companion short flags
2021-07-18 06:52:50 +12:00
JT
3a8206d1fb
fix parser merge. start highlighter
2021-07-17 18:31:34 +12:00
JT
6b0b8744c1
Fix assignment parse
2021-07-17 17:28:25 +12:00
JT
0b8352049c
Add pipelines
2021-07-17 15:42:08 +12:00
JT
c03f700662
Add rest param
2021-07-17 11:22:01 +12:00
JT
d08f2e73d0
Add optional params
2021-07-17 10:53:45 +12:00
JT
aa7f23e1e1
Simple short flag parse
2021-07-17 10:39:30 +12:00
JT
4249c5b3e0
Add param descriptions
2021-07-17 10:31:36 +12:00
JT
6f1a5c8e02
Remove lexmode
2021-07-17 10:11:15 +12:00
JT
03a93bd089
Improve colon sep
2021-07-17 10:00:41 +12:00
JT
6aef00ecff
basic signature parse
2021-07-17 09:55:12 +12:00
JT
949c6a5932
intern blocks sooner
2021-07-17 08:26:40 +12:00
JT
7922bb4020
More decl parsing
2021-07-16 18:24:46 +12:00
JT
697bf16f26
Start moving towards decls and add a simple eval
2021-07-16 13:10:22 +12:00
JT
9916f35b22
cleanup
2021-07-09 18:23:20 +12:00
JT
0a6f62bc0e
proper list/table guards
2021-07-09 09:45:56 +12:00
JT
bc974a3e7d
cleanup
2021-07-09 09:31:08 +12:00
JT
1aa70c50aa
refactor positional arg parse
2021-07-09 09:16:25 +12:00
JT
134b45dc03
refactor long/short flags
2021-07-09 08:29:00 +12:00
JT
96c0b933d9
Add parameterized list parsing
2021-07-08 19:49:17 +12:00
JT
7b51c5c49f
Add alias and external
2021-07-08 19:20:01 +12:00
JT
eac02b55f6
some cleanup
2021-07-08 18:57:24 +12:00
JT
5d4ae4a2a4
drive let from internal call
2021-07-08 18:19:38 +12:00
JT
04cbef3aa8
Improve keyword detecting for call parsing
2021-07-08 17:30:36 +12:00
JT
e540f0ad26
start adding row expr parsing
2021-07-08 10:55:46 +12:00
JT
bf1a23afcf
Add table parsing
2021-07-06 13:48:45 +12:00
JT
04a6a4f860
Add list parsing
2021-07-06 10:58:56 +12:00
JT
a6e0f0bb74
Revert "Revert "Removed file_id in Span, compact file sources""
2021-07-03 15:35:15 +12:00
JT
80e0cd4e00
Revert "Removed file_id in Span, compact file sources"
2021-07-03 15:11:24 +12:00
JT
d644a8d41f
trimming structs
2021-07-03 13:37:27 +12:00
JT
e0c2074ed5
trimming structs
2021-07-03 13:29:56 +12:00
JT
d8bf48e692
minor change
2021-07-03 07:30:03 +12:00
JT
a91efc3cbd
blocks
2021-07-02 19:32:30 +12:00
JT
fb42c94b79
parens
2021-07-02 19:15:30 +12:00
JT
ba2e3d94eb
math
2021-07-02 18:44:37 +12:00
JT
4ef65f0983
Add some tests
2021-07-02 14:22:54 +12:00
JT
2675ad9304
Add some tests
2021-07-02 13:42:25 +12:00
JT
c1240f214c
Remove warnings. Improve unknown flags
2021-07-02 10:54:04 +12:00
JT
7f3eab418f
Add call parsing
2021-07-02 10:40:08 +12:00
JT
4f89ed5d66
little bits of progress
2021-07-01 18:09:55 +12:00
JT
43fd0b6ae9
Add var usage
2021-07-01 13:31:02 +12:00
JT
e3abadd686
Add stmt parsing
2021-07-01 12:01:04 +12:00
JT
3d2e227f11
fix import
2021-06-30 13:47:19 +12:00
JT
29d2449fb3
first commit
2021-06-30 13:42:56 +12:00
JT
a74d05061d
Begin directory contrib docs and split commands ( #3650 )
...
* Begin directory contrib docs and split commands
* Fix unused import warning
2021-06-19 12:06:44 +12:00
Reagan McFarland
955a5ed8fb
Plugin: from_mp4 and UntaggedValue::duration fix ( #3618 )
...
* plugin: basic from_mp4 implementation
This patch introduces a very basic implementation of from_mp4, with only
a few bits of meta-data available. The rest of the available meta-data
(which is more than half left), will be included in a later patch
* Mp4: Almost all track metadata is implemented
Only meta-data that is not implemented is duration, facing some weird
issue I am going to check on later
* Mp4: All meta-data fields implemented
All meta-data fields that can be retrieved are now retrieved, with the
exception of duration for both tracks and the entire file itself because
there is still an issue. However, that will be fixed in the upcoming
patches
* fix: UntaggedValue::duration() serializes correctly now
Previous to this patch, there was an issue where when you would use
UntaggedValue::duration() it would result in an invalid JSONRPC
resulting string when using the protocol. This patch fixes this issue
* Mp4: Duration fixed for file and tracks
* plugins: Add plugin extra to src/plugins
* Mp4: Replace unwrap() with expect()
* Fix: Remove test mp4 file
2021-06-17 14:18:31 +12:00
Andrés N. Robalino
7c7e5112ea
Make Nu bootstrap itself from main. ( #3619 )
...
We've relied on `clap` for building our cli app bootstrapping that figures out the positionals, flags, and other convenient facilities. Nu has been capable of solving this problem for quite some time. Given this and much more reasons (including the build time caused by `clap`) we start here working with our own.
2021-06-15 17:43:25 -05:00
JT
a021b99614
Improve external quoting logic ( #3579 )
...
* Add tests and improve quoting logic
* fmt
* Fix clippy ling
* Fix clippy ling
2021-06-09 08:59:53 +12:00
Darren Schroeder
ea5bf9db36
add query json plugin for experimentation ( #3327 )
...
* add query json plugin for experimentation
* add some error handling
* closer but Kind::Array is still horked
* unravel the table so the output looks right
* clippy
* added the ability to use gjson modifiers
2021-04-19 11:19:06 -05:00
Michael Nitschinger
e8bc319f08
Make sure that scripts can also have custom commands. ( #3309 )
...
With the current code it is possible to attach custom commands from
a custom binary, but only for interactive mode. This change makes
it possible to also customize the evaluation context for commands
and scripts.
2021-04-15 06:21:50 +12:00
Jonathan Turner
073e5727c6
Switch to "engine-p" ( #3270 )
...
* WIP
* WIP
* first builds
* Tests pass
2021-04-06 11:19:43 -05:00
Andrés N. Robalino
00acf22f5f
account for startup commands in the scope. ( #3261 )
...
* Revert "Impl one configurable function to run scripts (#3242 )"
* pass config startup.
2021-04-04 00:14:58 -05:00
Leonhard Kipp
28e1a7915d
Impl one configurable function to run scripts ( #3242 )
...
* Impl one func to run scripts
* Add exit_on_err
* Remove run_standalone
* Make the compiler happy :)
2021-04-04 07:31:53 +12:00
Leonhard Kipp
c42b588782
Refactor nu-cli/env* ( #3041 )
...
* Revert "History, more test coverage improvements, and refactorings. (#3217 )"
This reverts commit 8fc8fc89aa
.
* Add tests
* Refactor .nu-env
* Change logic of Config write to logic of read()
* Fix reload always appends to old vars
* Fix reload always takes last_modified of global config
* Add reload_config in evaluation context
* Reload config after writing to it in cfg set / cfg set_into
* Add --no-history to cli options
* Use --no-history in tests
* Add comment about maybe_print_errors
* Get ctrl_exit var from context.global_config
* Use context.global_config in command "config"
* Add Readme in engine how env vars are now handled
* Update docs from autoenv command
* Move history_path from engine to nu_data
* Move load history out of if
* No let before return
* Add import for indexmap
2021-03-31 18:52:34 +13:00
Andrés N. Robalino
8fc8fc89aa
History, more test coverage improvements, and refactorings. ( #3217 )
...
Improvements overall to Nu. Also among the changes here, we can also be more confident towards incorporating `3041`. End to end tests for checking envs properly exported to externals is not added here (since it's in the other PR)
A few things added in this PR (probably forgetting some too)
* no writes happen to history during test runs.
* environment syncing end to end coverage added.
* clean up / refactorings few areas.
* testing API for finer control (can write tests passing more than one pipeline)
* can pass environment variables in tests that nu will inherit when running.
* No longer needed.
* no longer under a module. No need to use super.
2021-03-27 00:08:03 -05:00
Jonathan Turner
7e184b58b2
Fix warnings for Rust 1.51 ( #3214 )
...
* Fix warnings for Rust 1.51
* More fixes
* More fixes
2021-03-26 21:26:57 +13:00
Andrés N. Robalino
d2213d18fa
Playground infraestructure (tests, etc) additions. ( #3179 )
...
* Playground infraestructure (tests, etc) additions.
A few things to note:
* Nu can be started with a custom configuration file (`nu --config-file /path/to/sample_config.toml`). Useful for mocking the configuration on test runs.
* When given a custom configuration file Nu will save any changes to the file supplied appropiately.
* The `$nu.config-path` variable either shows the default configuration file (or the custom one, if given)
* We can now run end to end tests with finer grained control (currently, since this is baseline work, standard out) This will allow to check things like exit status, assert the contents with a format, etc)
* Remove (for another PR)
2021-03-15 02:26:30 -05:00
Jonathan Turner
0d305d7c3e
Lines no longer treats a text buffer as a line ( #3153 )
2021-03-11 11:35:15 +13:00
Michael Angerman
d06f457b2a
nu-cli refactor moving commands into their own crate nu-command ( #2910 )
...
* move commands, futures.rs, script.rs, utils
* move over maybe_print_errors
* add nu_command crate references to nu_cli
* in commands.rs open up to pub mod from pub(crate)
* nu-cli, nu-command, and nu tests are now passing
* cargo fmt
* clean up nu-cli/src/prelude.rs
* code cleanup
* for some reason lex.rs was not formatted, may be causing my error
* remove mod completion from lib.rs which was not being used along with quickcheck macros
* add in allow unused imports
* comment out one failing external test; comment out one failing internal test
* revert commenting out failing tests; something else might be going on; someone with a windows machine should check and see what is going on with these failing windows tests
* Update Cargo.toml
Extend the optional features to nu-command
Co-authored-by: Jonathan Turner <jonathandturner@users.noreply.github.com>
2021-01-12 17:59:53 +13:00
Jonathan Turner
ac578b8491
Multiline scripts part 2 ( #2795 )
...
* 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
2020-12-18 20:53:49 +13:00
Jonathan Turner
5a75e11b0e
Revert "Getting closer to multiline scripts ( #2738 )" ( #2745 )
...
This reverts commit e66bf70589
.
2020-11-10 18:22:13 +13:00
Jonathan Turner
e66bf70589
Getting closer to multiline scripts ( #2738 )
...
* Begin allowing comments and multiline scripts.
* clippy
* Finish moving to groups. Test pass
2020-11-10 16:52:42 +13:00
Darren Schroeder
97f3671e2c
web scraping with css selectors ( #2725 )
...
* first step of making selector
* wip
* wip tests working
* probably good enough for a first pass
* oops, missed something.
* and something else...
* grrrr version errors
2020-11-03 15:46:42 -06:00
Darren Schroeder
a2cc2259e7
add bson and sqlite to wix ( #2668 )
...
* add bson and sqlite to wix
* add sqlite and bson from and to
2020-10-14 04:46:06 -05:00