Commit Graph

4 Commits

Author SHA1 Message Date
chip
1453d4bf84
feat(core): support generics (especially Param) in #[command] (#1622)
* wip: param argument proof of concept for #[command]

* use macros for automatic type inference in commands

* refactor command for better error handling

* remove redundant ToTokens impl for Wrapper and Handler

* create `StateP` to allow state to use type inference during commands

* wrap State instead of T

* remove accidental edit of attribute

* remove StateP

because we recommend `_: Window<P>` for type inference, the following
function types are now supported:
* Pat::Wild (arg: "_")
* Pat::Struct (arg: final path segment)
* Pat::TupleStruct (arg: final path segment)

* add wildcard, struct, and tuple struct commands to examples

* better unsupported command argument message

* feat(examples): move some commands to a separate module

* add change file

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2021-05-05 14:32:13 -03:00
Lucas Fernandes Nogueira
b86fe9a6de
feat(examples): add splashscreen example (#1685) 2021-05-03 11:16:51 -03:00
chip
1d6f418129
refactor(core): merge invoke items into single struct, allow ? (#1683) 2021-05-03 01:17:47 -03:00
Lucas Fernandes Nogueira
8b6f3de0ad
feat(core): add state management, closes #1655 (#1665)
* feat(core): add state management, closes #1655

* fix(tests): ignore doc example

* use a trait to manage #[command] parameters

* add docs [skip ci]

* finish command before moving into respond_async

* Revert "finish command before moving into respond_async"

This reverts commit 4651bed5bf.

* refactor: split InvokeMessage into InvokeResolver, add InvokeResponse

* feat: add managed state to the plugin interface

* feat: add commands example

* add change file [skip ci]

* cleanup clones

Co-authored-by: chip reed <chip@chip.sh>
2021-05-02 15:34:15 -03:00