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
4d1ce6c27b
Use default prompt as fallback ( #663 )
2022-01-05 06:49:04 +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
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
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
Fernando Herrera
5c94528fe2
create history file if it doesnt exit ( #605 )
2021-12-28 06:14:23 +11:00
JT
3706bef0a1
Require let to be a statement ( #594 )
2021-12-27 14:04:22 +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
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
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
2883d6cd1e
Remove Span::unknown ( #525 )
2021-12-19 18:46:13 +11:00
Jakub Žádník
ada9c742c6
Fix broken env var reading on startup ( #513 )
2021-12-17 23:09:44 +02: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
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
Darren Schroeder
5c27ffa42e
update to latest reedline, change config point name, enable output without ansi ( #458 )
2021-12-09 16:06:26 -06: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
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
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
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
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
02b8027749
Improve external output in subexprs ( #294 )
2021-11-06 18:50:33 +13:00
JT
5e42b14026
Documenting some code and doing cleanups
2021-11-03 08:53:48 +13:00
JT
d856cebebd
Add a simple scope variable
2021-11-02 16:08:05 +13: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
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
a760e46c1c
Add config file loading
2021-10-13 16:57:05 +13:00
JT
0504a7a776
Make errors emit first
2021-10-12 06:35:40 +13:00
JT
7c2bf68d45
Use list completions and better expansion
2021-10-05 10:37:32 +13:00
Fernando Herrera
03339beae1
prompt with env variable
2021-10-02 14:10:28 +01: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
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
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
2904002008
Make reedline prompt more resilient
2021-09-07 19:41:52 +12:00
Fernando Herrera
f7a19d37c6
one parser function
2021-09-06 21:41:30 +01: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
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
ef4af443a5
parser fixes for windows and pretty errors
2021-08-10 17:08:10 +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
273f964293
slight improvement
2021-08-09 09:34:21 +12:00
JT
d2577acccd
env vars
2021-08-09 09:02:47 +12:00
JT
cb11f042ab
Start env shorthand
2021-07-31 17:20:40 +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
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
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
3a8206d1fb
fix parser merge. start highlighter
2021-07-17 18:31:34 +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
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
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
5d4ae4a2a4
drive let from internal call
2021-07-08 18:19:38 +12:00
JT
e540f0ad26
start adding row expr parsing
2021-07-08 10:55:46 +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
ba2e3d94eb
math
2021-07-02 18:44:37 +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
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
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
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