Commit Graph

16 Commits

Author SHA1 Message Date
Benedikt Peetz 1a35bb152c
Feat(treewide): Add a way for Commands to return more than just strings 2023-07-26 22:15:07 +02:00
Benedikt Peetz 7489f06a7c
Fix(app::command_interface): Use new language_macro api 2023-07-26 22:10:19 +02:00
Benedikt Peetz c7a4d5a8ab
Refactor(treewide): Remove the repl, reuse of e. handling is hard
The event handling is deeply ingrained in the ui code, the commands are
focused around the ui code, in short splitting of the event handling and
command system from the ui is intentionally hard and in my opinion not
really worth it right now.
2023-07-26 22:06:40 +02:00
Benedikt Peetz ebb16a20de
Feat(treewide): Add a feature based layout and repl subcommand
Compiling the whole tui stack, just to debug the lua command line seems
counterproductive to me. This allows to just compile the needed parts
for a basic lua repl.

As of yet the repl is just a mock-up, as the event handling can, as of
right now, not easily be separated from the tui.

To activate specific features add specify the on the cargo command line
like this:
```
cargo run --features "cli tui"
```
or add them to the `default` feature set in the `Cargo.toml`.
2023-07-26 22:04:42 +02:00
Benedikt Peetz 20c751fd7f
Fix(treewide): Update codebase to new lua_macros api 2023-07-20 21:49:56 +02:00
Benedikt Peetz c3a2b2d566
Fix(lua): Switch to mlua library, as it's better than rlua 2023-07-17 07:27:51 +02:00
Benedikt Peetz 327450c64b
Feat(command_interface): Add basic lua support 2023-07-12 21:48:51 +02:00
Benedikt Peetz 1c43626fad
Build(Cargo): Update `Cargo.lock` and upgrade `Cargo.toml` 2023-07-09 10:09:53 +02:00
Benedikt Peetz a9f72e34e6
Build(cargo): Remove wildcard version specification in `Cargo.toml`
Wildcard version is comparable to selecting a version depending on
the result of a dice roll. What I mean with this is, that the version
will be selected based on what the specific user already has in their
cargo registry. This means that the same codebase will compile
wonderfully on one machine but will fail with weird errors like:
`the trait 'From<crossterm::event::Event>' is not implemented for 'Input'`
on an other one.

Additionally crates.io does not accept crates with a bare wildcard
version requirement for aforementioned reasons.

Lastly using direct versions requirement allows to use `cargo upgrade`
to automatically update these requirements to their highest possible
value, as determined by SemVer. This works especially well, when adding
new dependencies with `cargo add`, as this also adds a direct version
requirement.
2023-07-09 10:09:52 +02:00
antifallobst 658f05b8d3 feature (ui - rooms / events): implemented a rooms list area in the UI and live timeline updates on room timeline sync events 2023-07-08 14:45:08 +02:00
antifallobst dfc87ff937 refactor (architecture): implemented an event based architecture 2023-07-04 18:32:57 +02:00
antifallobst 9fbf112baa refactor (logger): switched to cli_log 2023-07-01 12:44:11 +02:00
antifallobst 7bd1990eb3 feature (logging): added a logging backend and spreaded a few info log calls over the codebase 2023-06-29 20:17:54 +02:00
antifallobst 2c894e895e feature (UI): implemented a login screen 2023-06-29 12:36:16 +02:00
antifallobst e776d8a631 feature (accounts): implemented login with username and password 2023-06-15 19:19:24 +02:00
antifallobst ff8a6e66eb initial commit 2023-06-14 23:49:20 +02:00