Benedikt Peetz
42b8793dd0
Fix(lua): Upgrade to mlua 9.1, which introduced braking changes
2023-09-09 19:44:00 +02:00
Benedikt Peetz
eb63cb6247
build(flake): Wrap mold so that it works with the nix supplied libraries
2023-09-03 22:11:41 +02:00
Benedikt Peetz
a8112d554e
build(treewide): Update
2023-09-03 22:08:35 +02:00
Benedikt Peetz
d93b00484e
Docs(architecture): Add lua code execution to diagram
2023-08-04 12:36:46 +02:00
antifallobst
ecaa98e771
Docs(architecture): added the backend interface to the architecture diagram
2023-07-26 23:56:32 +02:00
Benedikt Peetz
bd0ffe9edc
Merge: Branch 'commands'
...
Multiple things are still missing:
- [ ] Table type support
- [ ] Error messages and Status messages in ci input field (not in the status panel)
- [ ] Better ux in the ci input field (scrollback more than one line, syntax highlighting, &c)
- For further checkboxes take a look at the `FIXME`s and `TODO`s in the code.
The base ci although is already usable and in some way useful
2023-07-26 22:36:59 +02:00
Benedikt Peetz
84c13fd6f8
Fix(treewide): Resolve merge conflicts
2023-07-26 22:25:08 +02:00
Benedikt Peetz
855d487693
Refactor(treewide): Remove the useless `tui_app` directory
2023-07-26 22:15:54 +02:00
Benedikt Peetz
258f784098
Fix(handlers::main): Don't close the cli after an entered command
2023-07-26 22:15:49 +02:00
Benedikt Peetz
a80245c523
Fix(handlers::command): Only send success on real success
...
The `room_message_send()` function told the user about a successful sent
room message, even if that was not the case.
2023-07-26 22:15:18 +02:00
Benedikt Peetz
f7b161fb55
Fix(handlers::command): Add the missing displayOutput handler
...
This handler is called by the lua executor, to show the final output of
a lua execution.
2023-07-26 22:15:17 +02:00
Benedikt Peetz
909fc01a48
Fix(app::command_interface): Add a `greet_multiple()` func to test tables
...
This is, like the `greet` function only here to debug the lua api. It
outputs a table.
2023-07-26 22:15:15 +02:00
Benedikt Peetz
c0a1fc0a02
Fix(app::command_interface): Add a (workaround) print function
...
The default print function prints to stdout, which obviously
doesn't work with a tui application. This wrapper however is a
rather poor workaround, as it only works with strings (lua `print`
calls `tostring` to turn non string values in something printable).
2023-07-26 22:15:14 +02:00
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
3ca01912b9
Build(flake): Switch back to stable
2023-07-26 22:08:11 +02:00
Benedikt Peetz
fbcf572f47
Build(flake+Cargo): Update lockfiles
2023-07-26 22:08:10 +02:00
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
Benedikt Peetz
3d417d7e15
Build(flake): Remove dead code from cranelift build process
2023-07-26 21:53:44 +02:00
Benedikt Peetz
5e7ed3d084
Build: Lock file maintenance
2023-07-26 21:52:26 +02:00
Benedikt Peetz
a3a26df65f
Build(flake): Add rustc cranelift codegen to development shell
...
This is executed by running `cargo clif` instead of `cargo`.
It _should_ result in decreased compile times (around 30%).
2023-07-26 21:42:16 +02:00
Benedikt Peetz
111d46ef2e
Build(Cargo): Instruct rustc to perform fat lto in release mode
2023-07-26 21:40:15 +02:00
Benedikt Peetz
b4d9bea75a
Build(Cargo): Add mold as default linker in both profiles
...
I measured the linking times by running `cargo rustc --bin trinitrix --
-Z time-passes`, which resulted in following data:
`ld`:
37.794s to link
`mold`:
21.389s to link
The downside for now is, that this requires to have mold installed to
build trinitrix (The nix flake based direnv already has it) and that
mold only works on linux.
2023-07-26 21:38:38 +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