Commit Graph

106 Commits

Author SHA1 Message Date
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
antifallobst 993ef6af89
Fix(insert_modes): added the `Setup` insert mode as a workaround to log in until command based login is implemented 2023-07-22 16:28:47 +02:00
antifallobst d447eb2312
Feat(App): implemented vim like modes (Normal/Insert) 2023-07-22 16:00:52 +02:00
antifallobst 4856ecc582
Fix(event_handlers): removed outdated reference to the ci_output module 2023-07-21 21:34:46 +02:00
Benedikt Peetz a6d176b6e9
Fix(event_handlers/ci_output): Remove because not needed anymore 2023-07-20 21:50:30 +02:00
Benedikt Peetz 20c751fd7f
Fix(treewide): Update codebase to new lua_macros api 2023-07-20 21:49:56 +02:00
Benedikt Peetz 2a2c173683
Fix(command_interface): Use comments to generate the help function
The generation part is yet to be done, but the comments itself are
supposed to be the way of documentation.
2023-07-19 06:32:19 +02:00
Benedikt Peetz fbd1672d03
Style(treewide): Reorder imports and modules 2023-07-19 06:28:48 +02:00
Benedikt Peetz 734328787e
Fix(ui_widgets): Add missing lifetimes 2023-07-18 08:12:33 +02:00
Benedikt Peetz 14333944dc
Fix(handles): Add command handling over the internal event stream 2023-07-18 08:11:21 +02:00
Benedikt Peetz a413171ffe
Refactor(transmitter): Go back to plain tx,rx channels 2023-07-18 08:07:21 +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 866ec7c277
Refactor(ci_command_handling): Move to the event handlers 2023-07-17 00:17:53 +02:00
Benedikt Peetz 49818e0bfe
Refactor(app): Add a transmitter 2023-07-17 00:16:47 +02:00
Benedikt Peetz ba225e29df
Fix(treewide): Use the new lua_macros macros 2023-07-16 14:19:50 +02:00
Benedikt Peetz 8f9a2a3f22
Refactor(ui): Split into multiple files 2023-07-15 12:29:35 +02:00
antifallobst dfeac4662d
Refactor(Events): Changed the `Event` type from a struct to an enum 2023-07-14 00:06:10 +02:00
antifallobst dd3c765ea2
Refactor(Commands): Moved high level command execution function out of app struct.
This refactor was done to prevent borrow checker issues, with the lua bindings
2023-07-13 23:40:17 +02:00
antifallobst 529b869e80
Feat(Commands): Started actual implementation of commands
List of added commands:
  - Exit
  - CommandLineShow
  - CommandLineHide
  - CyclePlanes
  - CyclePlanesRev
  - RoomMessageSend
2023-07-13 23:17:35 +02:00
antifallobst 33948164c4
Merge: command-backend -> master 2023-07-13 18:41:08 +02:00
Benedikt Peetz 327450c64b
Feat(command_interface): Add basic lua support 2023-07-12 21:48:51 +02:00
Benedikt Peetz ef5afcda02
Refactor(events): Split up event handling into multiple files 2023-07-12 21:35:46 +02:00
antifallobst b0c09f9c65
Feat(CommandBackend): Implemented the basic structure of the command handling backend 2023-07-10 22:58:07 +02:00
antifallobst a30229b763
Fix(treewide): Replaced needless expect statements 2023-07-10 22:10:54 +02:00
antifallobst ce59c504bd
Fix(UI): Removed unneeded mut statements 2023-07-10 21:28:37 +02:00
Benedikt Peetz 20be391b9e
Style(treewide): Remove unneeded imports 2023-07-10 21:02:01 +02:00
antifallobst 200b9143b3
feature (ui): added a cli panel to contoll the UI similar to what you have when hitting colon in vim 2023-07-10 00:10:51 +02:00
antifallobst 8d6e7c976e
feature (ui): implemented reverse plane cycling using <Shift>+<Tab> as requested in #5 2023-07-09 23:04:59 +02:00
antifallobst 7347d0c4f1
refactor (events): switched back from tui_textarea input events to raw crossterm events 2023-07-09 22:51:57 +02:00
antifallobst 1fa35adae7
fix (ui): fixed rooms scroll out of bounds error and added more detail to 'not supported message like event' view in timeline 2023-07-09 22:05:48 +02:00
Benedikt Peetz 35225a14db
Style(treewide): Format all files with rustfmt 2023-07-09 10:09:50 +02:00
antifallobst 5611d8e385 feature (ui - room info): added basic infos (name & encryption status) to the main ui's 'room info' panel 2023-07-08 23:37:10 +02:00
antifallobst 98f7e806de feature: (room timeline): Changed timeline view to a scrollable list / Made single messages/events selectable / Implemented Message sending 2023-07-08 23:09:53 +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 f8bf6ee07d feature (status - rooms): Implemented a timeline event caching layer 2023-07-07 00:52:16 +02:00
antifallobst 1eb04dd23a feature (UI - main): started work on timeline view implementation 2023-07-06 20:47:06 +02:00
antifallobst a7e11c6ac0 fix (status): updating status from 'app.init_account()' 2023-07-06 17:34:55 +02:00
antifallobst b1c0007098 feature (events): added a matrix event listener that writes to the global event stream 2023-07-06 15:13:41 +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 7a3bb91ba4 feature (UI - main): built a simple not yet very efficient rendering infrastructure that is capable of cycling through the planes 2023-06-29 16:33:40 +02:00
antifallobst af7c79ac75 feature (UI): made message compose in main ui a TextArea 2023-06-29 15:13:11 +02:00
antifallobst 82bd751ac8 fix (UI): fixed a bug that caused a panic when cancelling a login process. 2023-06-29 13:30:45 +02:00
antifallobst aee5b77722 feature (UI): added sample text to homeserver input field in login screen 2023-06-29 13:29:18 +02:00
antifallobst 124406e475 feature (UI): hiding password in login screen 2023-06-29 13:20:38 +02:00
antifallobst 2c894e895e feature (UI): implemented a login screen 2023-06-29 12:36:16 +02:00
antifallobst 3a88ca38a0 feature (UI): implemented status block 2023-06-23 16:07:18 +02:00
antifallobst 5afb82a7b4 fix (app): fixed something, that somehow didn't merge right 2023-06-23 06:06:49 +02:00
antifallobst e17a96d34d Merge remote-tracking branch 'origin/master'
# Conflicts:
#	src/app/mod.rs
#	src/main.rs
2023-06-23 06:00:22 +02:00
antifallobst 6e31c3e7c4 feature (UI): implemented the main UI 2023-06-23 05:41:26 +02:00
antifallobst c5742e66f4 fix (accounts): caching clients to fix the 'Session IDs were already set' bug 2023-06-18 12:47:15 +02:00
antifallobst a3cb8b8e20 feature (accounts): implemented an account manager 2023-06-16 00:15:07 +02:00
antifallobst 30e1f4cd6b feature (accounts): implemented session restoring 2023-06-15 21:57:43 +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