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
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
8783cf0138
Add basic in
operator support
2021-10-09 19:27:54 +02:00
JT
e4ce41ba15
Fix the for loop to create vars
2021-10-10 05:10:46 +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
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
535ece4e76
Add unit parsing and eval support
2021-10-05 15:27:39 +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
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
4dacfaa44a
Add import pattern support to 'hide'
2021-10-04 20:08:24 +03: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
Jakub Žádník
81cd03626d
Merge branch 'main' into module-export
2021-10-02 18:53:35 +03: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
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
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
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
Tanishq Kancharla
e00755a2e9
fix compile errors
2021-09-30 23:04:56 -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
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
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
Jakub Žádník
a176f12c9e
Start simple module parsing
2021-09-25 17:14:20 +03:00
Kat Marchán
5d442a287f
deps: bump to miette 3.0 mainline
2021-09-22 16:50:57 -07:00
JT
0ccbebee7a
multiline validation
2021-09-22 17:29:53 +12:00
Kat Marchán
2553da3dc4
bump miette to fix multi-file rendering bug
2021-09-21 17:57:16 -07:00
Kat Marchán
32f39c2fb8
use miette's new panic hook
2021-09-21 12:47:52 -07:00