JT
5d40fc2726
Try to do less work during capture discovery ( #5560 )
2022-05-17 09:05:26 +12:00
Jakub Žádník
9b99b2f6ac
Overlays ( #5375 )
...
* WIP: Start laying overlays
* Rename Overlay->Module; Start adding overlay
* Revamp adding overlay
* Add overlay add tests; Disable debug print
* Fix overlay add; Add overlay remove
* Add overlay remove tests
* Add missing overlay remove file
* Add overlay list command
* (WIP?) Enable overlays for env vars
* Move OverlayFrames to ScopeFrames
* (WIP) Move everything to overlays only
ScopeFrame contains nothing but overlays now
* Fix predecls
* Fix wrong overlay id translation and aliases
* Fix broken env lookup logic
* Remove TODOs
* Add overlay add + remove for environment
* Add a few overlay tests; Fix overlay add name
* Some cleanup; Fix overlay add/remove names
* Clippy
* Fmt
* Remove walls of comments
* List overlays from stack; Add debugging flag
Currently, the engine state ordering is somehow broken.
* Fix (?) overlay list test
* Fix tests on Windows
* Fix activated overlay ordering
* Check for active overlays equality in overlay list
This removes the -p flag: Either both parser and engine will have the
same overlays, or the command will fail.
* Add merging on overlay remove
* Change help message and comment
* Add some remove-merge/discard tests
* (WIP) Track removed overlays properly
* Clippy; Fmt
* Fix getting last overlay; Fix predecls in overlays
* Remove merging; Fix re-add overwriting stuff
Also some error message tweaks.
* Fix overlay error in the engine
* Update variable_completions.rs
* Adds flags and optional arguments to view-source (#5446 )
* added flags and optional arguments to view-source
* removed redundant code
* removed redundant code
* fmt
* fix bug in shell_integration (#5450 )
* fix bug in shell_integration
* add some comments
* enable cd to work with directory abbreviations (#5452 )
* enable cd to work with abbreviations
* add abbreviation example
* fix tests
* make it configurable
* make cd recornize symblic link (#5454 )
* implement seq char command to generate single character sequence (#5453 )
* add tmp code
* add seq char command
* Add split number flag in `split row` (#5434 )
Signed-off-by: Yuheng Su <gipsyh.icu@gmail.com>
* Add two more overlay tests
* Add ModuleId to OverlayFrame
* Fix env conversion accidentally activating overlay
It activated overlay from permanent state prematurely which would
cause `overlay add` to misbehave.
* Remove unused parameter; Add overlay list test
* Remove added traces
* Add overlay commands examples
* Modify TODO
* Fix $nu.scope iteration
* Disallow removing default overlay
* Refactor some parser errors
* Remove last overlay if no argument
* Diversify overlay examples
* Make it possible to update overlay's module
In case the origin module updates, the overlay add loads the new module,
makes it overlay's origin and applies the changes. Before, it was
impossible to update the overlay if the module changed.
Co-authored-by: JT <547158+jntrnr@users.noreply.github.com>
Co-authored-by: pwygab <88221256+merelymyself@users.noreply.github.com>
Co-authored-by: Darren Schroeder <343840+fdncred@users.noreply.github.com>
Co-authored-by: WindSoilder <WindSoilder@outlook.com>
Co-authored-by: Yuheng Su <gipsyh.icu@gmail.com>
2022-05-08 07:39:22 +12:00
Reilly Wood
08e495ea67
Enable string interpolation for environment shorthand ( #5463 )
2022-05-07 06:21:29 -05:00
JT
e36649f74b
Update path completions to handle spaces ( #5419 )
2022-05-03 12:37:38 +12:00
panicbit
49cbc30974
Add ends-with operator and fix dataframe operator behavior ( #5395 )
...
* add ends-with operator
* escape needles in dataframe operator regex patterns
2022-05-02 20:02:38 +12:00
JT
4a69819f9a
Rename =^ to 'starts-with' ( #5407 )
2022-05-02 19:20:07 +12:00
JT
92785ab92c
Add unescaping to external command parsing ( #5399 )
2022-05-02 07:26:29 +12:00
JT
98ab31e15e
Move uses of trim_quotes to unescape for filenames ( #5398 )
...
* Move uses of trim_quotes to unescape for filenames
* Fix Windows tests
2022-05-02 06:37:20 +12:00
gipsyh
fb8f7b114e
Fix use of export/alias --help
bug ( #5332 )
...
* fix alias --help bug
Signed-off-by: SuYuheng <yuheng.su@motiong.com>
* fix export --help bug
Signed-off-by: SuYuheng <yuheng.su@motiong.com>
Co-authored-by: SuYuheng <yuheng.su@motiong.com>
2022-04-26 11:51:49 -05:00
JT
3492d4015d
Allow bare words to interpolate ( #5327 )
...
* Allow bare words to interpolate
* fix highlighting
2022-04-26 11:44:44 +12:00
Herlon Aguiar
5ff2ae628b
nu-cli: directory syntax shape + completions ( #5299 )
2022-04-22 15:18:51 -05:00
JT
ee29a15119
Add 'and' and 'or' operators ( #5297 )
2022-04-23 07:14:31 +12:00
JT
76079d5183
Move config to be an env var ( #5230 )
...
* Move config to be an env var
* fix fmt and tests
2022-04-19 10:28:01 +12:00
merkrafter
a30930324d
Support binary literals with binary format ( #5149 )
...
* 4924 Support binary literals with binary format
* 4924 Support automatic padding for binary literals
2022-04-11 19:58:57 +12:00
JT
14066ccc30
Fix known externals, fix operator spans ( #5140 )
2022-04-09 17:17:48 +12:00
Hristo Filaretov
683b912263
Track call arguments in a single list ( #5125 )
...
* Initial implementation of ordered call args
* Run cargo fmt
* Fix some clippy lints
* Add positional len and nth
* Cargo fmt
* Remove more old nth calls
* Good ole rustfmt
* Add named len
Co-authored-by: Hristo Filaretov <h.filaretov@protonmail.com>
2022-04-09 14:55:02 +12:00
JT
97eb8492a3
Improve $in
handling ( #5137 )
...
* Simplify in logic
* Add tests
* more tests, and fixes
2022-04-09 09:41:05 +12:00
JT
0b85938415
Soften the block arity checking ( #5135 )
2022-04-09 07:57:27 +12:00
Reilly Wood
b2c52b51b7
Change string contains operators to regex ( #5117 )
2022-04-07 18:23:14 +12:00
JT
888369022f
Add datetime to math-like ( #5118 )
...
* Add datetime to math-like
* add test
2022-04-07 18:02:28 +12:00
JT
4409185e1b
Improve describe to be more accurate ( #5116 )
2022-04-07 16:34:09 +12:00
JT
ef1934a7ee
Remove external name exceptions ( #5115 )
2022-04-07 14:01:31 +12:00
JT
591fb4bd36
Add unary not ( #5111 )
2022-04-07 07:10:25 +12:00
JT
abe028f930
Add raw strings, use raw strings for env ( #5090 )
2022-04-05 08:42:26 +12:00
JT
6649da3f5d
Add support for single value row conditions ( #5072 )
2022-04-03 10:41:36 +12:00
Darren Schroeder
2cb815b7b4
Add starts with operator ( #5061 )
...
* add starts_with operator
* added a test
2022-04-01 13:35:46 -05:00
Jakub Žádník
d89ad4fafd
Add record, list, and table to signature types ( #5040 )
2022-03-31 11:11:03 +03:00
Reilly Wood
31a4fc41eb
Fix env var shorthand when value contains =
( #5022 )
2022-03-30 09:56:55 +13:00
JT
cf88c8eef3
Improve escaping in string interpolation ( #4982 )
2022-03-27 12:52:09 +13:00
JT
d122827a30
Fix operator precedence parser ( #4947 )
2022-03-25 16:23:08 +13:00
Tomoki Aonuma
90013295aa
Fix parse_string_strict() to detect unbalanced quotes properly ( #4928 )
2022-03-25 05:57:03 +13:00
JT
66e736dab4
Externals shouldn't expand aliases ( #4889 )
2022-03-22 11:57:48 +13:00
JT
bd5778fa24
remove the boolean vars ( #4879 )
2022-03-20 08:12:10 +13:00
JT
983d115bc0
Add an alias denylist for expansions ( #4871 )
2022-03-19 08:03:57 +13:00
JT
7773c4cd4d
Fix single quote external interpolation ( #4867 )
2022-03-18 19:59:28 +13:00
JT
d0cbb2d12c
Allow expanding aliases before keywords, improve hiding ( #4858 )
...
* Allow aliasing source
* Add test
* improve hiding
* Finish adding tests
* fix test
2022-03-18 11:35:50 +13:00
JT
0bd8664f33
Fix string interpolation escaping ( #4854 )
2022-03-16 05:09:30 +13:00
JT
54d9fff4f2
Revert "Alias to keywords (eg source
) ( #4835 )" ( #4841 )
...
This reverts commit c023d4111a
.
2022-03-13 13:38:16 -07:00
JT
c023d4111a
Alias to keywords (eg source
) ( #4835 )
...
* Allow aliasing source
* Add test
2022-03-13 11:30:37 -07:00
JT
12bf23faa6
Move completions to DeclId ( #4801 )
...
* Move completions to DeclId
* fmt
* fmt
2022-03-10 09:49:02 +02:00
JT
8fcf51908a
Fix expansion of row condition implied it ( #4795 )
2022-03-09 08:05:03 -05:00
JT
2ac990655e
Add support for var decl spans ( #4787 )
2022-03-09 04:42:19 -05:00
Darren Schroeder
35ff1076f3
add ansi escape ( #4772 )
...
* add ansi escape
* also add the ability to escape parens
* add a few more escapes that could be problematic for the nushell lang
2022-03-07 16:39:16 -06:00
JT
1837bf775c
Default values ( #4770 )
2022-03-07 15:08:56 -05:00
JT
a2723c2ba4
Fix rest parsing ( #4765 )
...
* More nuon tests, fix table print
* Fix rest type parsing
2022-03-07 11:44:27 -05:00
JT
e64ca97fe2
move scope variable into nu variable ( #4725 )
2022-03-04 11:36:11 -05:00
Genna Wingert
97b3e4a233
Fix aliases to known externals ( #4707 )
2022-03-03 14:05:55 -05:00
JT
7d0531d270
Add support for escape characters, make nuon a JSON superset ( #4706 )
...
* WIP
* Finish adding escape support in strings
* Try to fix windows
2022-03-03 13:14:03 -05:00
Yutaro Ohno
210d25f2a0
Add into duration
( #4683 )
...
* Add `into duration` command
* Avoid using unwrap()
* Use existing logic to parse duration strings
2022-03-03 08:16:04 -05:00
JT
96a1bf5f8d
Experiment: Allow both $true/true and $false/false ( #4696 )
...
* Change true/false to keywords
* oops, clippy
* Both kinds of bools
* Add in some boolean variables
* disable py virtualenv test for now
2022-03-02 19:55:03 -05:00
JT
a6a96b29cb
Add binary literals ( #4680 )
2022-02-28 18:31:53 -05:00
JT
3c62d27c28
Try again with math-like externals ( #4629 )
...
* Try again with math-like externals
* clippy 1.59
* clippy 1.59
* clippy 1.59
2022-02-24 14:02:28 -05:00
JT
308ab91aff
Speed up the parser and nuon parser a bit more ( #4626 )
2022-02-24 07:58:53 -05:00
JT
4b18fdcc6e
Date literals ( #4619 )
...
* Date literals
* update deps
* Add date+duration
2022-02-23 21:02:48 -05:00
JT
25712760ba
Add support for math-like externals ( #4606 )
2022-02-22 10:55:28 -05:00
JT
3e8a41fbc9
Speedup unit parse ( #4598 )
...
* Compact nuon tables
* Speed up unit parsing a bit
2022-02-22 04:50:49 -05:00
JT
9888f8f298
Add pipeline redirection support ( #4594 )
...
* redirection
* Remove commented-out
* fix tests
* more fixes
2022-02-21 17:22:21 -05:00
JT
6670b77b27
Fix shorthand env duplicates ( #4587 )
2022-02-21 12:58:04 -05:00
JT
9ea5a2ecd3
Improve missing param error span ( #4560 )
2022-02-19 21:30:29 -05:00
Jakub Žádník
bccce0ab46
Use overlay ID for module import lookup ( #4514 )
...
* Add id to import pattern
* Finish testing importing in a block
2022-02-17 20:58:24 -05:00
JT
6e733f49bc
Require block params ( #4505 )
...
* Require block params
* Improve errors
2022-02-17 06:40:24 -05:00
JT
e763a8dcef
Auto-hide aliases to prevent recursion ( #4487 )
2022-02-15 17:36:24 -05:00
JT
56b3fc61a3
Remove statements, replaced by pipelines ( #4482 )
2022-02-15 14:31:14 -05:00
JT
a743db8e8f
Improve alias expansion, again ( #4474 )
2022-02-14 21:09:21 -05:00
JT
fbaafaa459
Make param parsing more resilient, correct missing param error ( #4470 )
2022-02-14 12:33:47 -05:00
Jakub Žádník
328f7e92a0
Hide alias ( #4432 )
...
* Add alias interning
Now, AliasId is used to reference aliases stored in EngineState, similar
to decls, blocks, etc.
* Fix wrong message
* Fix using decl instead of alias
* Extend also alias id visibility
* Merge also aliases from delta
* Add alias hiding code
Does not work yet but passes tests at least.
* Fix wrong alias lookup and visibility appending
* Add hide alias tests
* Fmt & Clippy
* Fix random clippy warnings in "which" command
2022-02-12 11:50:37 +02:00
JT
a16e485cce
Add support for defining known externals with their own custom completions ( #4425 )
...
* WIP for known externals
* Now completions can work from scripts
* Add support for definiing externs
* finish cleaning up old proof-of-concept
2022-02-11 13:38:10 -05:00
JT
886ed5ab2d
Fix captures ( #4421 )
...
* Fix rowcondition and import captures
* Only check extra blocks if not yet seen
2022-02-11 07:37:10 -05:00
JT
e6db37bc82
Fix multi-command variable captures ( #4413 )
2022-02-10 18:15:15 -05:00
JT
2e3b2a48ee
Fix string interpolation paren cases ( #4410 )
2022-02-10 11:09:08 -05:00
JT
a008f1aa80
Command tests ( #922 )
...
* WIP command tests
* Finish marking todo tests
* update
* update
* Windows cd test ignoring
2022-02-03 21:01:45 -05:00
Jakub Žádník
2fbd182993
Allow viewing the source code of blocks ( #894 )
...
* Add spans to blocks and view command
* Better description; Cleanup
* Rename "view" command to "view-source"
2022-01-31 00:05:25 +02:00
JT
44821d9941
Add support for def-env
and export def-env
( #887 )
2022-01-29 15:45:46 -05:00
JT
04395ee05c
Allow equals to sep long flag and arg ( #858 )
2022-01-27 12:20:12 +11:00
JT
6f4b7efd3e
Also set $in-variable with input ( #856 )
...
* Also set in-variable with input
* Fix test
* Add more tests
2022-01-27 10:46:13 +11:00
JT
af52def93c
Fix doc comments for custom commands ( #815 )
2022-01-22 13:24:47 -05:00
JT
939745ad67
Support recursive functions in capture ( #797 )
2022-01-21 11:39:55 -05:00
JT
d2d22815fb
Improve env shorthand parse ( #777 )
2022-01-20 01:58:12 +11:00
Jakub Žádník
3b4baa31b6
Fix ls relative path & command argument path expansion ( #757 )
...
* Switch to short-names when the path is a relative_path (a dir) and exit with an error if the path does not exist
* Remove debugging print line
* Show relative filenames... It does not work yet for ls ../
* Try something else to fix relative paths... it works, but the ../ code part is not very pretty
* Add canonicalize check and remove code clones
* Fix the canonicalize_with issue pointed out by kubouch. Not sure the prefix_str is what kubouch suggested
* Fix the canonicalize_with issue pointed out by kubouch. Not sure the prefix_str is what kubouch suggested
* Add single-dot expansion to nu-path
* Move value path expansion from parser to eval
Fixes #745
* Remove single dot expansion from parser
It is not necessary since it will get expanded anyway in the eval.
* Fix ls to display globs with relative paths
* Use pathdiff crate to get relative paths for ls
Co-authored-by: Stefan Stanciulescu <contact@stefanstanciulescu.com>
2022-01-17 00:55:56 +11:00
JT
b78924c777
Add support for load-env ( #752 )
2022-01-15 18:50:11 -05:00
JT
f9c0d223c1
Improve keyword parsing, including for ( #747 )
...
* Improve keyword parsing, including for
* touchup
2022-01-16 02:26:52 +11:00
JT
82d90f4930
Add support for var/string interp for external names ( #729 )
2022-01-13 19:17:45 +11:00
Darren Schroeder
d0f9943709
expose a few more types to custom commands (def
) ( #725 )
2022-01-12 09:59:07 -06:00
JT
186da4d725
Fixing captures ( #723 )
...
* WIP fixing captures
* small fix
* WIP
* Rewrite to proof-of-concept better parse_def
* Add missing file
* Finish capture refactor
* Fix tests
* Add more tests
2022-01-12 15:06:56 +11:00
JT
d3bfc61524
Don't panic on alias errors ( #713 )
2022-01-10 13:52:01 +11:00
Jakub Žádník
733b2836f1
Cleanup parsing of use and hide commands ( #705 )
2022-01-10 12:39:25 +11:00
Jakub Žádník
3b467bedd9
Add reduce command ( #700 )
...
* Add reduce command
* Fix example and missing test commands
* Add forgotten file
2022-01-08 02:40:40 +02:00
JT
f016a5cb72
Fix short flags with extra ( #696 )
2022-01-07 08:06:54 +11:00
JT
e44789556b
Fix path external ( #684 )
...
* Fix external invocation/expansion
* clippy
2022-01-06 21:20:31 +11:00
JT
d39e8c15fe
Expand external command names ( #682 )
2022-01-06 10:32:56 +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
JT
8f6843c600
Move $nu.env to $env ( #665 )
...
* Move env from nu builtin to its own
* update samples/tests
2022-01-05 08:34:42 +11:00
JT
b6fcd46075
Some error improvements ( #659 )
2022-01-04 10:14:33 +11:00
JT
fe5f65a247
Highlight block and record ( #653 )
2022-01-03 16:21:26 +11:00
JT
9535e2c309
Fix list and table print ( #652 )
...
* Fix list printing
* Fix list and table highlighting
2022-01-03 14:18:23 +11:00
JT
ac487dfcbc
Add parser tracing, fix 629 ( #638 )
2022-01-02 08:42:50 +11:00
JT
80649f2341
Fix flattening of in-variable ( #624 )
2021-12-30 14:26:40 +11:00
JT
384ea111eb
Allow for and other commands missing positionals near keywords ( #606 )
...
* Allow for and other commands missing positionals near keywords
* A bit more resilience
2021-12-28 07:04:48 +11:00
Fernando Herrera
53330c5676
def argument check ( #604 )
...
* def argument check
* corrected test
* clippy error
2021-12-28 06:13:52 +11:00
JT
3706bef0a1
Require let to be a statement ( #594 )
2021-12-27 14:04:22 +11:00
JT
ca6baf7a46
Add single tick string interpolation ( #581 )
...
* Add single tick string interpolation
* give string interpolation its own highlighting
2021-12-26 07:50:02 +11:00
Fernando Herrera
e949658381
nothing variable ( #527 )
...
* nothing variable
* corrected comments
* added color to nothing like bool
* compare nothing with values
* comparison tests
2021-12-20 12:05:33 +11:00
JT
2883d6cd1e
Remove Span::unknown ( #525 )
2021-12-19 18:46:13 +11:00
JT
b54e9b6bfd
Fix completion crash ( #521 )
2021-12-19 07:10:40 +11:00
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