JT
1d74d9c5ae
Fix comment issue and shadowing issue ( #501 )
2021-12-16 09:56:12 +11:00
JT
04a9c8f3fd
Fix bug in chained boolean typecheck ( #490 )
2021-12-14 16:19:16 +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
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
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
JT
f052b3313d
Move row condition to block ( #368 )
2021-11-26 16:49:03 +13:00
JT
143855b662
Add better comment skipping ( #359 )
2021-11-22 07:13:09 +13:00
JT
aa7226d5f6
Expand globs and filepaths ( #348 )
2021-11-19 08:32:27 +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
42367ddf6d
Add support for crlf for line continuations ( #341 )
2021-11-16 07:33:33 +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
14a2918bba
Fix some nightly clippy warnings ( #329 )
2021-11-13 13:42:13 +13:00
JT
568e566adf
Add record literal syntax ( #326 )
2021-11-11 12:14:00 +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
6c31377c21
Fix precedence parse ( #298 )
2021-11-06 20:31:28 +13:00
JT
02b8027749
Improve external output in subexprs ( #294 )
2021-11-06 18:50:33 +13:00
Fernando Herrera
ae1109139d
Merge branch 'main' of https://github.com/nushell/engine-q into plugins
2021-11-04 22:04:31 +00:00
JT
1949ba080e
Add env shorthand
2021-11-04 15:32:35 +13:00
Fernando Herrera
12eed1f98a
plugin feature flag
2021-11-02 20:56:00 +00:00
JT
7b2116dc29
Merge pull request #270 from elferherrera/plugins
...
Plugins for engine q
2021-11-02 19:07:45 +13:00
JT
d856cebebd
Add a simple scope variable
2021-11-02 16:08:05 +13:00
Fernando Herrera
ef94c71866
Merge branch 'main' of https://github.com/nushell/engine-q into plugins
2021-11-01 07:24:33 +00:00
JT
3176f60b5b
Merge pull request #243 from kubouch/module-files
...
Loading modules from files
2021-11-01 11:08:03 +13:00
Fernando Herrera
a390f66dbf
call and response serializers
2021-10-31 08:17:01 +00:00
Jakub Žádník
751595e72e
Add multi-word name calling support
2021-10-29 23:50:28 +03:00
JT
cf3f3fde92
Add some support for
2021-10-30 07:15:17 +13:00
Jakub Žádník
4fc533340b
Add function that searches for multi-word commands
...
It doesn't do anything right now.
2021-10-28 00:53:28 +03:00
Jakub Žádník
b5329fe4ec
Cleanup; Remove redundant UTF-8 check
2021-10-27 00:34:39 +03: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
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
JT
d29208dd9e
WIP
2021-10-26 09:04:23 +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
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
Tanishq Kancharla
d481d5ca96
Merge branch 'main' of https://github.com/nushell/engine-q into source-command
2021-10-05 22:16:07 -04:00
JT
535ece4e76
Add unit parsing and eval support
2021-10-05 15:27:39 +13:00
JT
a88058006a
Add path completions
2021-10-05 08:21:31 +13:00
Tanishq Kancharla
dfd321a679
Merge branch 'main' into source-command
2021-10-03 14:25:00 -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
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
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
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
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
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
JT
4841d62d76
Add some improvements to errors
2021-09-21 16:03:06 +12: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
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
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
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
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
JT
e00da070fd
Fail more gently for bad list/table parses
2021-09-07 15:56:30 +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
979faf853a
Block params
2021-09-06 14:20:02 +12:00
JT
aaee3a8b61
WIP
2021-09-06 11:16:27 +12:00
JT
6ebc97dec2
Update parser.rs
2021-09-06 06:09:36 +12:00
Jakub Žádník
56c8987e0f
Add '.' and '-' to restricted characters
...
This means that commands cannot start with these characters.
However, we get the following benefits:
* Negative numbers > -10
* Ranges with negative numbers > -10..-1
* Left-unbounded ranges > ..10
2021-09-05 20:33:53 +03:00
Jakub Žádník
7ae4ca88b6
"Fix" failing CI
2021-09-05 11:03:04 +03:00
Jakub Žádník
f0d469f1d4
Fix clippy warnings
2021-09-05 01:40:15 +03:00
Jakub Žádník
0b412cd6b3
Add support for positive integer ranges
...
Including support for variables and subexpressions as range bounds.
2021-09-05 00:52:57 +03:00
JT
d9cff4238d
clippy
2021-09-04 19:59:38 +12:00
JT
5e33b8536b
Add discrete list/table
2021-09-04 18:52:28 +12:00
JT
74bb2af3e1
Fix up block parse recovery
2021-09-04 08:58:44 +12:00
JT
b20c4047d4
Some cleanup, better subexpressions
2021-09-03 19:35:29 +12: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
3d252a9797
Add nu-protocol
2021-09-02 13:29:43 +12:00
JT
d0be193307
Merge pull request #7 from elferherrera/tests
...
Tests for lex and lite parser
2021-08-31 12:07:46 +12:00
Fernando Herrera
b3fb106cce
tests for lex and lite parser
2021-08-30 19:36:07 +01:00
JT
46d2efca13
Fix table parsing
2021-08-29 07:17:30 +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
35c3622405
Add a few operators. Needs parser work
2021-08-26 07:29:36 +12:00
JT
739425431a
improve type inference
2021-08-17 12:26:05 +12:00
JT
dda6554990
Fix up subcommand alias colours
2021-08-17 11:04:45 +12:00
JT
2f43cc353b
Fix some expects, add subcommand alias
2021-08-17 11:00:00 +12:00
JT
579814895d
Fix up eval params and refactor
2021-08-16 10:33:34 +12:00
JT
1355a5dd33
refactor to subcrates
2021-08-11 06:51:08 +12:00