Commit Graph

1390 Commits

Author SHA1 Message Date
JT
19645575d6
Add 'did you mean' error (#305) 2021-11-08 10:48:50 +13:00
JT
00a8752c76
Move where to helper (#302) 2021-11-07 15:40:44 +13:00
JT
6c31377c21
Fix precedence parse (#298) 2021-11-06 20:31:28 +13:00
JT
d401ed64ed
Add range to the math reductions (#296) 2021-11-06 20:12:08 +13:00
JT
02b8027749
Improve external output in subexprs (#294) 2021-11-06 18:50:33 +13:00
JT
183d200b9f Add updating cell paths 2021-11-05 16:59:12 +13:00
JT
1949ba080e Add env shorthand 2021-11-04 15:32:35 +13:00
JT
5e42b14026 Documenting some code and doing cleanups 2021-11-03 08:53:48 +13:00
JT
25846d3c1e Add zip command 2021-11-02 18:28:28 +13:00
JT
d856cebebd Add a simple scope variable 2021-11-02 16:08:05 +13:00
JT
3176f60b5b
Merge pull request #243 from kubouch/module-files
Loading modules from files
2021-11-01 11:08:03 +13:00
Jakub Žádník
b340672331 Remove leftover test from previous iteration 2021-10-31 18:01:15 +02:00
Jakub Žádník
b7c0ba104f Fix hiding module; Fmt
This fixes the case when you call `hide spam`. It will now hide all
commands you'd call like `spam foo` etc.
2021-10-31 17:38:00 +02:00
Jakub Žádník
2dcfecbbd7 Add test for multi-word alias 2021-10-29 23:57:33 +03:00
JT
cf3f3fde92 Add some support for 2021-10-30 07:15:17 +13:00
JT
bac8b8a450 Add initial ctrl-c support 2021-10-28 17:13:10 +13:00
JT
f92e9d25a5 Make the history path more central 2021-10-28 13:30:58 +13: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
595fc7a7f6 Switch to cross-platform fail message 2021-10-26 21:03:12 +03:00
Jakub Žádník
402a4acd7a Fix leftover test 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
5455270446 Add a simple parallel each 2021-10-26 14:30:53 +13:00
JT
4be61ce604 Tests pass 2021-10-26 11:18:45 +13:00
JT
5d19017603 WIP 2021-10-26 05:58:58 +13:00
JT
baac60a5a7 WIP 2021-10-25 19:42:38 +13:00
JT
b5965ee8ef WIP 2021-10-25 19:31:39 +13:00
Darren Schroeder
7ef5a7945f clippy take2 2021-10-15 15:52:03 -05:00
Darren Schroeder
e330fdabb7 updated theme + clippy 2021-10-15 15:42:36 -05:00
Darren Schroeder
c9439c962b allow esc and q to get out of completions 2021-10-15 15:33:56 -05:00
JT
82b0415d92 Try out select completions from dialoguer 2021-10-16 07:37:58 +13:00
JT
fdd2c35fd9 Add the default help flag 2021-10-14 06:53:27 +13:00
JT
a760e46c1c Add config file loading 2021-10-13 16:57:05 +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
c8277a3da9 Do rest args 2021-10-12 16:28:39 +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
JT
0d031636a9 Error on missing column during cell path 2021-10-12 08:55:14 +13:00
JT
576471cc3c Fix test 2021-10-12 08:33:09 +13:00
JT
0504a7a776 Make errors emit first 2021-10-12 06:35:40 +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
d5fdfdb614 Add missing test attribute 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
7f06d6144f Support in operator for record and value stream 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
5d36d37d20 Merge branch 'main' into fix_for 2021-10-10 05:20:50 +13:00
JT
e4ce41ba15 Fix the for loop to create vars 2021-10-10 05:10:46 +13:00
Fernando Herrera
a1bfa2788c not found message for windows 2021-10-09 16:44:45 +01:00
JT
5c29a83a7a Add tests 2021-10-09 15:45:25 +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
7c2bf68d45 Use list completions and better expansion 2021-10-05 10:37:32 +13:00
Jakub Žádník
1e1e12b027 Fmt 2021-10-04 22:17:18 +03:00
Jakub Žádník
0fe525de87 Add test with TODO note 2021-10-04 20:16:43 +03:00
Jakub Žádník
4dacfaa44a Add import pattern support to 'hide' 2021-10-04 20:08:24 +03:00
JT
1d7ab28a0f
Merge pull request #74 from kubouch/module-export
Modules: export & hide
2021-10-03 06:25:43 +13:00
JT
eba3484611
Update tests.rs 2021-10-03 06:17:51 +13:00
JT
0cc121876b
Update tests.rs
Update test errors to be more portable
2021-10-03 06:12:05 +13:00
Jakub Žádník
81cd03626d
Merge branch 'main' into module-export 2021-10-02 18:53:35 +03: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
Jakub Žádník
2c1b074bdc Add test for double def 2021-10-02 00:21:08 +03: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
8ed6afe1e5 Fix tests failing without export 2021-10-01 23:24:57 +03:00
Jakub Žádník
a16144baf1 Disable crossterm raw mode
Without this change, the output of panic messages by miette would ignore
newlines and become unreadable.
2021-10-01 19:42:23 +03:00
JT
3e232a5db8 Add 'from json' 2021-10-01 18:11:49 +13: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
Fernando Herrera
d9c42eb194 contents declaration 2021-09-25 17:28:15 +01:00
Fernando Herrera
6387401041 clippy error 2021-09-25 17:03:25 +01:00
Fernando Herrera
dadc354847 move print to function 2021-09-25 16:58:50 +01:00
Fernando Herrera
637e4f6e6d simplify command call 2021-09-25 15:58:04 +01:00
Fernando Herrera
b12a265f1e writing to stdout 2021-09-25 15:56:33 +01:00
Fernando Herrera
cf60f72452 table as string output 2021-09-25 15:47:23 +01:00
JT
0ccbebee7a multiline validation 2021-09-22 17:29:53 +12:00
JT
d1474c0691 Show entry number in error 2021-09-22 15:14:57 +12:00
Kat Marchán
32f39c2fb8
use miette's new panic hook 2021-09-21 12:47:52 -07: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
Michael Angerman
b6fdf611f6 more block param and build string tests 2021-09-13 09:32:03 -07:00
JT
32c1f0c8d4 better it detection and block params in shapes 2021-09-13 19:54:13 +12:00
JT
abda6f148c Finish up completions 2021-09-10 10:09:40 +12:00
JT
bb6781a3b1 Add row conditions 2021-09-10 09:47:20 +12:00
JT
b821b14987 Add simple completions support 2021-09-09 21:06:55 +12:00
JT
6dd9f05ea1 Add an experimental record iteration 2021-09-08 10:00:20 +12:00
JT
2904002008 Make reedline prompt more resilient 2021-09-07 19:41:52 +12:00
JT
6af3affee2 add a test and update TODO 2021-09-07 19:09:49 +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
f91d0d6d65 merge main 2021-09-07 06:07:41 +12:00
JT
4ce9a5c894 Make variable assignment convert streams to full values 2021-09-07 06:05:46 +12:00
Michael Angerman
3534bd8a64 some build-string tests 2021-09-06 09:05:53 -07:00
JT
3b99ce71a0 add simple value iteration 2021-09-06 16:16:32 +12:00
JT
96b0edf9b0 range iteration 2021-09-06 16:07:48 +12:00
JT
979faf853a Block params 2021-09-06 14:20:02 +12:00
Fernando Herrera
b3d287815d updated dependencies 2021-09-05 20:06:57 +01: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
c4c4d82bf4 Try putting streams in Value 2021-09-02 09:20:53 +12:00
JT
08014c6a98
Move sys, ps, fetch, post to internal commands (#3983)
* Move sys, ps, fetch, post to internal commands

* Remove old plugins

* clippy

Co-authored-by: JT <jonatha.d.turner@gmail.com>
2021-09-01 14:29:09 +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
ceea7e5aeb Remove lifetime from eval state 2021-08-16 14:30:31 +12:00
JT
579814895d Fix up eval params and refactor 2021-08-16 10:33:34 +12:00
JT
7655b070df fix tests 2021-08-11 06:57:08 +12:00
JT
1355a5dd33 refactor to subcrates 2021-08-11 06:51:08 +12:00
Jonathan Turner
f62e3119c4 a little more progress on errors 2021-08-10 18:31:34 +12:00
Jonathan Turner
828585a312 add more type helpers and span fixes 2021-08-10 17:55:25 +12:00
Jonathan Turner
ef4af443a5 parser fixes for windows and pretty errors 2021-08-10 17:08:10 +12:00
JT
1a3e1e0959 touchup alias highlight 2021-08-09 20:00:16 +12:00
JT
40004e64a6 Merge branch 'main' of github.com:jonathandturner/engine-q 2021-08-09 19:55:22 +12:00
JT
50dc0ad207 aliases 2021-08-09 19:55:06 +12:00
JT
3da4f02ffa aliases 2021-08-09 19:53:06 +12:00
Jonathan Turner
1ba80224ad More gracefully handle reedline errors 2021-08-09 17:29:25 +12:00
JT
bf19918e3c begin aliases 2021-08-09 12:19:07 +12:00
JT
38fef28c84 Add subcommand test 2021-08-09 09:55:18 +12:00
JT
273f964293 slight improvement 2021-08-09 09:34:21 +12:00
JT
d2577acccd env vars 2021-08-09 09:02:47 +12:00
JT
d92e661253 Adding floating point 2021-08-09 08:21:21 +12:00
JT
cb11f042ab Start env shorthand 2021-07-31 17:20:40 +12:00
JT
b82a4869d5 Add test 2021-07-31 16:25:26 +12:00
JT
c2be740ad4 def predecl 2021-07-31 16:04:42 +12:00
JT
61258d03ad add more tests 2021-07-31 09:57:22 +12:00
JT
79a05d63c8 add more tests 2021-07-31 09:26:05 +12:00
JT
18752672d0 add more tests 2021-07-31 08:02:16 +12:00
JT
cdc37bb142 fix eval bug 2021-07-30 20:06:48 +12:00
JT
083dcd4541 Better for loop 2021-07-30 19:50:39 +12:00
JT
b6f00d07e8 Fix var decl. improve for loop 2021-07-30 19:30:11 +12:00
JT
b0ffaf1c91 add for loop and benchmark 2021-07-30 18:10:40 +12:00
JT
2af61bd07e add correct eval scope 2021-07-30 17:42:33 +12:00
JT
1caae90c02 cleanup some highlighting 2021-07-30 16:43:31 +12:00
JT
184125a70a cleanup some highlighting 2021-07-30 16:38:41 +12:00
JT
53314cb8b2 slightly better coloring 2021-07-30 15:33:33 +12:00
JT
b5e287e065 WIP string interp 2021-07-30 15:26:06 +12:00
JT
2eeceae613 fix clippy, add strings and concat 2021-07-30 10:56:51 +12:00
JT
ad48387aa0 WIP 2021-07-24 18:44:38 +12:00
JT
a4bcc1ff3d WIP 2021-07-24 17:57:17 +12:00
JT
fca3a6b75e Support adding variables 2021-07-24 09:46:55 +12:00
JT
6fcdc76059 Improve call eval and live check 2021-07-24 09:19:30 +12:00
JT
3eefa6dec8 start expanding eval 2021-07-23 17:14:49 +12:00
JT
8c6feb7e80 Fix up global span logic 2021-07-23 08:45:23 +12:00
JT
37f8ff0efc Add highlighting 2021-07-23 07:50:59 +12:00
JT
07c22c7e81 Start working on highlighter 2021-07-22 19:48:45 +12:00
JT
1ac0c0bfc5 Move to refcell for permanent parser state 2021-07-22 19:33:38 +12:00
JT
c25209eb34 Fix running multiple times, add reedline 2021-07-22 18:04:50 +12:00
JT
4deed7c836 improve subcommand parse 2021-07-18 07:40:39 +12:00
JT
92f72b4103 add subcommand parsing 2021-07-18 07:34:43 +12:00
JT
30f54626d3 add companion short flags 2021-07-18 06:52:50 +12:00
JT
3a8206d1fb fix parser merge. start highlighter 2021-07-17 18:31:34 +12:00
JT
6b0b8744c1 Fix assignment parse 2021-07-17 17:28:25 +12:00
JT
0b8352049c Add pipelines 2021-07-17 15:42:08 +12:00
JT
c03f700662 Add rest param 2021-07-17 11:22:01 +12:00
JT
d08f2e73d0 Add optional params 2021-07-17 10:53:45 +12:00
JT
aa7f23e1e1 Simple short flag parse 2021-07-17 10:39:30 +12:00
JT
4249c5b3e0 Add param descriptions 2021-07-17 10:31:36 +12:00
JT
6f1a5c8e02 Remove lexmode 2021-07-17 10:11:15 +12:00
JT
03a93bd089 Improve colon sep 2021-07-17 10:00:41 +12:00
JT
6aef00ecff basic signature parse 2021-07-17 09:55:12 +12:00
JT
949c6a5932 intern blocks sooner 2021-07-17 08:26:40 +12:00
JT
7922bb4020 More decl parsing 2021-07-16 18:24:46 +12:00
JT
697bf16f26 Start moving towards decls and add a simple eval 2021-07-16 13:10:22 +12:00
JT
9916f35b22 cleanup 2021-07-09 18:23:20 +12:00
JT
0a6f62bc0e proper list/table guards 2021-07-09 09:45:56 +12:00
JT
bc974a3e7d cleanup 2021-07-09 09:31:08 +12:00
JT
1aa70c50aa refactor positional arg parse 2021-07-09 09:16:25 +12:00
JT
134b45dc03 refactor long/short flags 2021-07-09 08:29:00 +12:00
JT
96c0b933d9 Add parameterized list parsing 2021-07-08 19:49:17 +12:00
JT
7b51c5c49f Add alias and external 2021-07-08 19:20:01 +12:00
JT
eac02b55f6 some cleanup 2021-07-08 18:57:24 +12:00
JT
5d4ae4a2a4 drive let from internal call 2021-07-08 18:19:38 +12:00
JT
04cbef3aa8 Improve keyword detecting for call parsing 2021-07-08 17:30:36 +12:00
JT
e540f0ad26 start adding row expr parsing 2021-07-08 10:55:46 +12:00
JT
bf1a23afcf Add table parsing 2021-07-06 13:48:45 +12:00
JT
04a6a4f860 Add list parsing 2021-07-06 10:58:56 +12:00
JT
a6e0f0bb74
Revert "Revert "Removed file_id in Span, compact file sources"" 2021-07-03 15:35:15 +12:00
JT
80e0cd4e00
Revert "Removed file_id in Span, compact file sources" 2021-07-03 15:11:24 +12:00
JT
d644a8d41f trimming structs 2021-07-03 13:37:27 +12:00
JT
e0c2074ed5 trimming structs 2021-07-03 13:29:56 +12:00
JT
d8bf48e692 minor change 2021-07-03 07:30:03 +12:00
JT
a91efc3cbd blocks 2021-07-02 19:32:30 +12:00
JT
fb42c94b79 parens 2021-07-02 19:15:30 +12:00
JT
ba2e3d94eb math 2021-07-02 18:44:37 +12:00
JT
4ef65f0983 Add some tests 2021-07-02 14:22:54 +12:00
JT
2675ad9304 Add some tests 2021-07-02 13:42:25 +12:00
JT
c1240f214c Remove warnings. Improve unknown flags 2021-07-02 10:54:04 +12:00
JT
7f3eab418f Add call parsing 2021-07-02 10:40:08 +12:00
JT
4f89ed5d66 little bits of progress 2021-07-01 18:09:55 +12:00
JT
43fd0b6ae9 Add var usage 2021-07-01 13:31:02 +12:00
JT
e3abadd686 Add stmt parsing 2021-07-01 12:01:04 +12:00
JT
3d2e227f11 fix import 2021-06-30 13:47:19 +12:00
JT
29d2449fb3 first commit 2021-06-30 13:42:56 +12:00
JT
a74d05061d
Begin directory contrib docs and split commands (#3650)
* Begin directory contrib docs and split commands

* Fix unused import warning
2021-06-19 12:06:44 +12:00
Reagan McFarland
955a5ed8fb
Plugin: from_mp4 and UntaggedValue::duration fix (#3618)
* plugin: basic from_mp4 implementation

This patch introduces a very basic implementation of from_mp4, with only
a few bits of meta-data available. The rest of the available meta-data
(which is more than half left), will be included in a later patch

* Mp4: Almost all track metadata is implemented

Only meta-data that is not implemented is duration, facing some weird
issue I am going to check on later

* Mp4: All meta-data fields implemented

All meta-data fields that can be retrieved are now retrieved, with the
exception of duration for both tracks and the entire file itself because
there is still an issue. However, that will be fixed in the upcoming
patches

* fix: UntaggedValue::duration() serializes correctly now

Previous to this patch, there was an issue where when you would use
UntaggedValue::duration() it would result in an invalid JSONRPC
resulting string when using the protocol. This patch fixes this issue

* Mp4: Duration fixed for file and tracks

* plugins: Add plugin extra to src/plugins

* Mp4: Replace unwrap() with expect()

* Fix: Remove test mp4 file
2021-06-17 14:18:31 +12:00