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
a240aead8c
Add loading module from file
...
Currently, `use spam.nu` creates a module `spam`. Therefore, after the
first `use`, it is possible to call both `use spam.nu` and `use spam`
with the same effect.
2021-10-26 21:03:12 +03:00
Jakub Žádník
75b3b3e090
Add comments
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
Jakub Žádník
e66fd91045
Move module block parsing into its own function
2021-10-26 21:03:12 +03:00
JT
d29208dd9e
WIP
2021-10-26 09:04:23 +13:00
JT
b5965ee8ef
WIP
2021-10-25 19:31:39 +13:00
JT
b6d269e90a
WIP
2021-10-25 17:01:02 +13:00
JT
1296100d31
Clippy fixes
2021-10-24 12:40:27 +13:00
JT
fdd2c35fd9
Add the default help flag
2021-10-14 06:53:27 +13:00
JT
6024a001b4
Clarify todo/fixmes
2021-10-13 06:44:23 +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
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
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
Kat Marchán
c87414e462
Fix issue with unexpected EOF rendering in miette
2021-09-21 09:30:43 -07:00
JT
3c18cac134
use the fancy
2021-09-21 16:10:29 +12: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
b4f918b889
Very early proof-of-concept git branch completion
2021-09-14 16:59:46 +12:00
Fernando Herrera
7aa1d8ac2a
error check on def and alias
2021-09-13 20:59:11 +01:00
JT
d7a3c7522b
Fix test
2021-09-13 20:19:05 +12:00
JT
4dfde7393b
Merge branch 'main' into block_param_types
2021-09-13 19:59:18 +12:00
JT
32c1f0c8d4
better it detection and block params in shapes
2021-09-13 19:54:13 +12:00
JT
eb67eab122
WIP
2021-09-13 19:31:11 +12:00
JT
d88e46d2d1
Merge pull request #45 from kubouch/left-unbounded-ranges
...
Allow parsing left-unbounded range (..10)
2021-09-13 05:01:07 +12:00
JT
caa6236f1f
Merge pull request #44 from kubouch/float-ranges
...
Floating point ranges
2021-09-13 04:59:51 +12:00
JT
f459f77335
Merge pull request #40 from elferherrera/parse-error
...
Parse errors for def, let and alias
2021-09-13 04:58:25 +12:00
Fernando Herrera
66c58217af
change message
2021-09-12 16:36:16 +01:00
Jakub Žádník
e6a2e27e33
Fix failing compilation after rebase
2021-09-12 15:57:49 +03:00
Jakub Žádník
8577d3ff41
Check for left-unbounded range before external cmd
2021-09-12 15:56:58 +03:00
Jakub Žádník
78054a5352
Allow parsing left-unbounded range (..10)
...
It is implemented as a preliminary check when parsing a call and relies
on a fact that a token that successfully parses as a range is unlikely
to be a valid path or command name.
2021-09-12 15:56:58 +03:00
Jakub Žádník
ce0b5bf4ab
Add test for float ranges
2021-09-12 15:36:54 +03:00
JT
648fe052db
Merge branch 'main' into wip
2021-09-12 09:26:47 +12:00
JT
55aa70c88a
WIP
2021-09-12 09:26:35 +12:00
Fernando Herrera
9c98783917
clippy correcgtions
2021-09-11 13:16:40 +01:00
Fernando Herrera
4b8ba29cdb
check for = before internal parsing
2021-09-11 13:07:19 +01:00
Jakub Žádník
4749776984
Add stepping to ranges & enable reverse ranges
...
Follows the following syntax: <start>..<next-value>..<end>
2021-09-11 14:28:46 +03:00
Fernando Herrera
47ee50072e
Merge branch 'main' of https://github.com/nushell/engine-q into parse-error
2021-09-11 08:26:29 +01:00
Fernando Herrera
198c884158
change name in error
2021-09-11 08:22:41 +01:00
JT
bfd05772ef
Improve completions inside of a pipeline
2021-09-10 20:07:18 +12:00
Fernando Herrera
9a16a8fd06
corrected error check
2021-09-10 08:44:31 +01:00
Fernando Herrera
2ea19aeac0
Merge branch 'main' of https://github.com/nushell/engine-q into parse-error
2021-09-10 08:28:58 +01:00
Fernando Herrera
0794ebf5fa
error parsing for def, alias and let
2021-09-10 08:28:43 +01:00
JT
bb6781a3b1
Add row conditions
2021-09-10 09:47:20 +12:00
JT
2d7192e390
Add parser README, some parser fixups
2021-09-09 06:54:27 +12:00
JT
6dd9f05ea1
Add an experimental record iteration
2021-09-08 10:00:20 +12:00
JT
b0ab78a767
Switch tables to list/streams of records
2021-09-07 19:07:11 +12:00