Commit Graph

87 Commits

Author SHA1 Message Date
Benedikt Peetz 27ad48c5e9
Refactor(language_macros): Complete rewrite
This **should** have everything the other implementation had, but the
api is implemented in a way, which is more in line with the expectation
raised at the lua functions (being that they are only wrappers over the
command api, and nothing more).

Aside of that, this version is actually documented!
2023-07-26 22:08:09 +02:00
Benedikt Peetz a3b49b17f4
Fix(handlers::main): Close ci after a command input 2023-07-26 22:08:07 +02:00
Benedikt Peetz 0288bdb0ad
Feat(ui): Add status panel, which shows command statuses and errors 2023-07-26 22:08:00 +02:00
Benedikt Peetz 1fe04ca5c6
Fix(lua_command::handle): Move lua_command handler to separate thread
This makes it possible to have lua code execute commands and receive
their output value, without risking a deadlock.
2023-07-26 22:06:42 +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 189ae509f8
Fix(app::command_interface): Provide pre-generated file, to check syntax 2023-07-26 22:06:33 +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
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
antifallobst dcf87f257d Merge: PR-11 (commands) -> master 2023-07-21 18:57:03 +00:00
antifallobst eac2eb2a7c Merge branch 'master' into commands 2023-07-21 18:55:25 +00: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 c243c90cab
Fix(lua_macros): Rework to support new command focused layout
The internal commands are wrapped by a lua api, which allows to write
the whole thing a little bit more language agnostic.
2023-07-20 21:43:41 +02:00
Benedikt Peetz 27e3ff228c
Build(flake): Make it easier to switch to nightly 2023-07-20 21:39:38 +02:00
antifallobst 69a15e2886
Docs(Architecture): theoretically redesigned the architecture to be chat protocol independant 2023-07-20 15:47:40 +02:00
antifallobst 80b72b53c0
Docs: fix the link in the commit message format docs 2023-07-20 01:24:01 +02:00
antifallobst 80f8c1709f
Docs: update the commit message format to a modified version of the AngularJS commit message style 2023-07-20 01:21:40 +02:00
antifallobst 9c9da44341
Docs(Philosophy): Fixed a typo 2023-07-20 00:59:47 +02:00
antifallobst 36ab50b467
Docs(Philosophy): Added a WIP design philosophy for the project. 2023-07-20 00:40:21 +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 6412650686
Fix(lua_macros): Add sender trough app_data 2023-07-18 08:03:16 +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 91ea3f65ea
Refactor(lua_macros): Remove dead code 2023-07-17 07:23:36 +02:00
Benedikt Peetz fc880d47d2
Build(Lock_files): Update 2023-07-17 06:08:32 +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 3e8722433d
Fix(lua_macros): Expand to generate the required types and functions 2023-07-16 14:01:48 +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 05d4b4d097
Docs(Commands): Documented the command system 2023-07-10 23:36:54 +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