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
Jakub Žádník
40741254f6
Rewrite hiding system
...
Hiding definitions now should work correctly with repeated use of 'use',
'def' and 'hide' keywords.
The key change is that 'hide foo' will hide all definitions of foo
that were defined/used within the scope (those from other scopes are
still available). This makes the logic simpler and I found it leads to a
simpler mental map: you don't need to remember the order of defined/used
commands withing the scope -- it just hides all.
2021-10-10 13:18:47 +03:00
jacremer
0b35905ce9
revert temp val
2021-10-09 22:43:50 -07:00
xiuxiu62
beb15dcc77
cleanup + clippy suggestions
2021-10-09 21:17:08 -07:00
xiuxiu62
97ca242634
add rm command + stubs for open and save
2021-10-09 21:13:15 -07:00
Arthur Targaryen
a0a63c966f
Add inline attribute and address warning
2021-10-09 19:44:03 +02:00
Arthur Targaryen
75de7f7e61
Implement PartialOrd
for Value::Stream
2021-10-09 19:40:47 +02:00
Arthur Targaryen
4e443b2088
Change helper method visibility
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
5f9ad0947d
Fix Range::contains
2021-10-09 19:40:47 +02:00
Arthur Targaryen
4235cf1191
Implement and use PartialOrd
for Value
2021-10-09 19:40:45 +02:00
Arthur Targaryen
357b9ccaa9
Remove unused import
2021-10-09 19:27:54 +02:00
Arthur Targaryen
d1f0740765
Refactor in
operator for Range
2021-10-09 19:27:54 +02:00
Arthur Targaryen
29cbcb8459
Implement RangeIterator::contains
2021-10-09 19:27:54 +02:00
Arthur Targaryen
7f06d6144f
Support in
operator for record and value stream
2021-10-09 19:27:54 +02:00
Arthur Targaryen
7db6b876ab
Simplify Result<Value, _>
comparaison using matches!
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
8df9ea6c68
Add a couple more tests to for
2021-10-10 05:58:33 +13:00
JT
5d36d37d20
Merge branch 'main' into fix_for
2021-10-10 05:20:50 +13:00
JT
789fc30bf9
oops forgot file
2021-10-10 05:14:02 +13:00
JT
e4ce41ba15
Fix the for loop to create vars
2021-10-10 05:10:46 +13:00
Fernando Herrera
8756e88e3c
command split
2021-10-09 14:28:09 +01:00
Fernando Herrera
41366f6cc4
Merge branch 'main' of https://github.com/nushell/engine-q into unit-test
2021-10-09 14:17:07 +01:00
Fernando Herrera
e3e4ae0591
example unit test
2021-10-09 14:10:10 +01:00
JT
2cd1f634d0
Add map and flat_map to value
2021-10-09 19:20:32 +13:00
JT
5c29a83a7a
Add tests
2021-10-09 15:45:25 +13:00
JT
60f9fe1aa4
Port split column and split row
2021-10-09 15:41:39 +13:00
JT
44fbf0fce3
Merge pull request #108 from nushell/help_and_start_split
...
Port help and start porting split
2021-10-09 14:07:13 +13:00
JT
4ddc953e38
Port help and start porting split
2021-10-09 14:02:01 +13:00
JT
64d83142c3
More external cleanup
2021-10-09 11:30:10 +13:00
JT
dea9c1482b
Allow vars and subexprs in extern args
2021-10-09 10:51:47 +13:00
JT
1b977c658c
Improve the alias expansion
2021-10-09 08:38:42 +13:00
Darren Schroeder
42113a767a
allow one to specify a custom separator
2021-10-08 10:15:07 -05:00
Darren Schroeder
c636c30a19
added a switch to enable coloring
2021-10-08 09:53:26 -05:00
Darren Schroeder
5ddf0d209d
respect lscolors env var; measure width minus ansi
2021-10-08 09:40:20 -05:00
Darren Schroeder
1a3a837f3e
Merge pull request #96 from fdncred/ls_grid_output
...
output `ls` as a grid vs table
2021-10-08 08:23:15 -05:00
Darren Schroeder
c4dabe8327
some cleanup, extra_usage
2021-10-08 08:14:32 -05:00
xiuxiu62
bdfe8c0888
add mkdir command
2021-10-07 15:20:23 -07:00
Darren Schroeder
c4977ae143
clippy
2021-10-07 16:59:01 -05:00
Darren Schroeder
54a41c535b
only print items with name
column
2021-10-07 16:50:27 -05:00
xiuxiu62
8550f50522
substitute idiomatic call flag check
2021-10-07 14:36:47 -07:00
xiuxiu62
e8e1ead99d
change diagnostic code on CreateNotPossible
2021-10-07 14:20:03 -07:00
xiuxiu62
adabc839bf
add touch command
2021-10-07 14:18:03 -07:00
Darren Schroeder
698f768a06
Merge branch 'main' into ls_grid_output
2021-10-07 11:07:21 -05:00
Darren Schroeder
ae8b315e76
added list output
2021-10-07 11:00:49 -05:00
Darren Schroeder
58d73d4c23
moved grid
to it's own crate named nu-term-grid
2021-10-07 10:32:39 -05:00
JT
7eb022b58c
Adapt tk's work for a source command
2021-10-06 15:29:05 +13:00
Tanishq Kancharla
d481d5ca96
Merge branch 'main' of https://github.com/nushell/engine-q into source-command
2021-10-05 22:16:07 -04:00
Tanishq Kancharla
996ee363b7
comments
2021-10-05 22:03:18 -04:00
Tanishq Kancharla
011ad2e4e6
Merge branch 'source-command' of https://github.com/moonrise-tk/engine-q into source-command
2021-10-05 21:59:26 -04:00
Tanishq Kancharla
d6d0bad7aa
reverted
2021-10-05 21:59:16 -04:00
JT
b35d47c500
Merge pull request #98 from xiuxiu62/main
...
port `cp` to fs commands
2021-10-06 11:20:18 +13:00
jacremer
b3b51a2ed6
drop redundant iter -> vec -> iter
2021-10-05 15:09:51 -07:00
xiuxiu62
cc8a470668
clean up unused imports
2021-10-05 14:13:23 -07:00
xiuxiu62
74d4c501a8
add move, recursive fill, and recursive create procedures
2021-10-05 14:08:39 -07:00
Michael Angerman
5cc7fbcde7
jntrnr to nushell
2021-10-05 13:03:43 -07:00
Michael Angerman
8536c12bd9
change signature name to get, it was (I believe) incorrectly named wrap
2021-10-05 12:59:17 -07:00
xiuxiu62
8dc3ebd6e2
start cp command
2021-10-05 12:55:46 -07:00
xiuxiu62
5da1310696
add fs utils
2021-10-05 12:55:33 -07:00
xiuxiu62
9d49618e87
add impl From io::Error and dyn Error for ShellError
2021-10-05 12:54:30 -07:00
Darren Schroeder
7697f7bdce
fix doc-test
2021-10-05 12:58:48 -05:00
Darren Schroeder
51a43f5617
mayve fix ci
2021-10-05 11:14:31 -05:00
Darren Schroeder
11b40a6c31
clippy
2021-10-05 10:30:49 -05:00
Darren Schroeder
3c843f7f61
renamed nu_grid to grid
2021-10-05 10:22:57 -05:00
Darren Schroeder
e402adbba0
WIP: output ls
as a grid vs table
2021-10-05 08:43:20 -05:00
jacremer
27dcbe5c8a
fix SyntaxShape::Filepath build error
2021-10-04 22:08:15 -07:00
Justin
4eb43adef2
Merge branch 'nushell:main' into main
2021-10-04 22:02:43 -07:00
jacremer
0ef0588e29
mv clippy suggestions
2021-10-04 21:40:26 -07:00
JT
80e7a8d594
Update mv.rs
2021-10-05 16:58:49 +13:00
xiuxiu62
1b96da5e5b
add custom filesystem shell errors
2021-10-04 20:43:07 -07:00
JT
31ce8c1e33
Variable completions and better ls
2021-10-05 15:46:24 +13:00
JT
535ece4e76
Add unit parsing and eval support
2021-10-05 15:27:39 +13:00
JT
c884d5ca31
Better completions for external args
2021-10-05 10:50:46 +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
26166192e5
Merge pull request #89 from kubouch/hide-import-patterns
...
Add import patterns to 'hide'
2021-10-05 10:44:13 +13:00
JT
7c2bf68d45
Use list completions and better expansion
2021-10-05 10:37:32 +13:00
Jakub Žádník
6f5f1fa43a
Clippy
2021-10-04 22:37:43 +03:00
JT
a88058006a
Add path completions
2021-10-05 08:21:31 +13:00
Jakub Žádník
9737d4a614
Change comments
2021-10-04 20:33:27 +03:00
Jakub Žádník
4dacfaa44a
Add import pattern support to 'hide'
2021-10-04 20:08:24 +03:00
xiuxiu62
b2148e32b8
make mv parameters required
2021-10-04 05:13:47 -07:00
xiuxiu62
e325fd114d
port the mv command
2021-10-04 04:32:08 -07:00
Tanishq Kancharla
dfd321a679
Merge branch 'main' into source-command
2021-10-03 14:25:00 -04:00
Tanishq Kancharla
909b7d2160
no-op
2021-10-03 14:23:23 -04:00
JT
75e323ee35
Lines shouldn't trim
2021-10-03 10:56:11 +13:00
JT
758fce8ae3
Merge pull request #86 from nushell/add_cd
...
Add simple cd
2021-10-03 09:20:28 +13:00
JT
91090e1db1
Add simple cd
2021-10-03 09:16:37 +13:00
JT
1d7ab28a0f
Merge pull request #74 from kubouch/module-export
...
Modules: export & hide
2021-10-03 06:25:43 +13:00
JT
b5ec9e0360
Update mod.rs
2021-10-03 06:16:02 +13:00
JT
e4e1b7a11e
Merge pull request #85 from stormasm/cargo-serde-derive
...
add serde derive to Cargo.toml so nu-protocol compiles standalone
2021-10-03 06:09:11 +13:00
Michael Angerman
be68b84473
add serde derive feature to Cargo.toml so nu-protocol compiles stand alone
2021-10-02 10:02:11 -07:00
Jakub Žádník
81cd03626d
Merge branch 'main' into module-export
2021-10-02 18:53:35 +03:00
Fernando Herrera
6f4df31927
removed comments
2021-10-02 14:16:37 +01: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
Tanishq Kancharla
8ef16c6da6
add source command
2021-10-01 22:25:35 -04:00
Tanishq Kancharla
e1a0ad2987
fix more merge conflicts
2021-10-01 22:24:43 -04:00
Tanishq Kancharla
2d4e471052
fix more merge conflicts
2021-10-01 22:17:32 -04:00
Tanishq Kancharla
16c60f44d5
merge w/ upstream
2021-10-01 22:09:16 -04:00
Tanishq Kancharla
adb92b970e
nothing
2021-10-01 22:07:17 -04:00
Jakub Žádník
6595c06598
Relax panic into error
...
Convert the panic when declaration cannot find predeclaration into an
error. This error is already covered and reported in the predeclaration
phase.
2021-10-02 03:42:35 +03:00
JT
c5e9ff5f14
add ps and early help
2021-10-02 10:53:13 +13: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
891d79d2aa
Fmt and misc fixes after rebase
2021-10-01 23:30:56 +03:00
Jakub Žádník
25b05dec9e
Fix panic on double def; Tests; Double def error
...
* Fixes a panic with defining two commands with the same name caused by
declaration not found after predeclaration.
* Adds a new error if a custom command is defined more than once in one
block.
* Add some tests
2021-10-01 23:25:24 +03:00
Jakub Žádník
2af8116f50
Fix hiding logic; Fix hiding with predecls
...
* Hiding logic is simplified and fixed so you can hide and unhide the
same def repeatedly.
* Separates predeclared ids into its own data structure to protect them
from hiding. Otherwise, you could hide the predeclared variable and
the actual def would panic.
2021-10-01 23:24:57 +03:00
Jakub Žádník
aa06a71e1f
Move new commands to the new structure
2021-10-01 23:24:57 +03:00
Jakub Žádník
244289c901
Add missing file
2021-10-01 23:24:57 +03:00
Jakub Žádník
7488254cca
Implement a rough version of 'hide'
...
'hide' command is used to undefine custom commands
2021-10-01 23:24:54 +03:00
Jakub Žádník
3cbf99053f
Throw an error if using export outside of module
2021-10-01 23:21:30 +03:00
Jakub Žádník
93521da9d8
Add 'export def' command
2021-10-01 23:21:28 +03:00
Jakub Žádník
561feff365
Introduce 'export' keyword
2021-10-01 23:19:39 +03:00
Jakub Žádník
1b89ccf25b
Add comment
2021-10-01 23:19:39 +03:00
JT
503939dcbe
add sys command
2021-10-01 19:53:47 +13:00
JT
d6e24cceb4
add a vertical record view
2021-10-01 19:01:22 +13:00
JT
db3e9efc4b
fix warnings
2021-10-01 18:20:25 +13:00
JT
3e232a5db8
Add 'from json'
2021-10-01 18:11:49 +13:00
Tanishq Kancharla
e00755a2e9
fix compile errors
2021-09-30 23:04:56 -04:00
JT
8250b44ce5
moved commands
2021-09-30 07:25:05 +13:00
JT
f0d5e2dcf1
Prepare nu_commands for porting
2021-09-30 07:17:51 +13:00
Tanishq Kancharla
2b5ef1b2d7
Removed extra file
2021-09-27 08:10:45 -04:00
Tanishq Kancharla
719920fa37
tried to move source command into parser (still doesn't compile)
2021-09-27 08:10:18 -04:00
JT
84d0e0a059
More forgiving def parse
2021-09-27 14:03:50 +13:00
JT
0a48bc973d
Merge pull request #72 from nushell/import_patterns
...
Add import lists
2021-09-27 13:32:36 +13:00
JT
0108a935ed
add import lists
2021-09-27 13:23:22 +13:00
Jakub Žádník
9ee4dc49ee
Fix wrong error span
2021-09-27 00:02:20 +03:00
JT
abb0d7bd22
Add support for module imports
2021-09-27 07:39:19 +13:00
JT
47421e9ca7
Merge pull request #69 from kubouch/simple-module
...
Primitive module implementation
2021-09-27 05:14:23 +13:00
Jakub Žádník
3f8f3ecf9a
Fmt
2021-09-26 14:12:39 +03:00
Jakub Žádník
f57f7b2def
Allow adding definitions from module into scope
2021-09-26 13:53:52 +03:00
Jakub Žádník
9e176674a5
Start parsing 'use'; Add Use command
2021-09-26 13:25:52 +03:00
Jakub Žádník
57a07385ac
Add leftover Module command file
2021-09-26 13:25:37 +03:00
Jakub Žádník
12cf1a8f83
Allow adding module blocks to engine state
2021-09-26 12:12:32 +03:00
Jakub Žádník
e9f1575924
Add a module command
2021-09-26 01:59:18 +03:00
JT
abac7e3795
improve table for lists
2021-09-26 07:07:37 +13:00
Fernando Herrera
d9c42eb194
contents declaration
2021-09-25 17:28:15 +01:00
Fernando Herrera
25a776c36b
trim lines in command
2021-09-25 16:45:02 +01:00
Fernando Herrera
cf60f72452
table as string output
2021-09-25 15:47:23 +01:00
Jakub Žádník
a176f12c9e
Start simple module parsing
2021-09-25 17:14:20 +03:00
Fernando Herrera
767d822cbf
change line format for test
2021-09-24 13:20:50 +01:00
Fernando Herrera
b4977f1515
better print out for stream output
2021-09-24 13:03:39 +01:00
JT
6c589affe7
Merge pull request #61 from elferherrera/externals
...
Externals with redirection
2021-09-24 10:26:38 +12:00
Fernando Herrera
cb9db792a6
filtering empty lines
2021-09-23 20:44:50 +01:00
Fernando Herrera
04990eeba4
allow collect warning
2021-09-23 20:39:42 +01:00
Fernando Herrera
772f8598dd
lines command
2021-09-23 20:03:08 +01:00
Fernando Herrera
36c32e9832
input from ValueStream
2021-09-23 18:01:20 +01:00
Fernando Herrera
660e8b5b73
external with redirection
2021-09-23 17:42:03 +01:00