antifallobst
fc8efe5060
fix(cbs): added missing parts of the handshake
2024-05-21 04:59:23 +02:00
antifallobst
f6a1b5200a
refactor(cbs): added responses and dumped the dummy cbs code
2024-05-21 04:20:40 +02:00
antifallobst
4519fe5db6
refactor(cbs): moved the packet definitions into their own crate
2024-05-15 16:51:45 +02:00
antifallobst
64d5bdd9c5
feat: implemented the skeleton of the core CBS handler
2024-05-14 14:01:54 +02:00
Silas Schöffel
a86c42deae
feat(ui): make tui compile again
...
This also refactors the tui codebase,
mainly making module locations more sane
2024-05-08 22:06:36 +02:00
Silas Schöffel
1db1b81b17
fix(ui): emphasize equal worth of frontends
2024-05-08 21:57:53 +02:00
Silas Schöffel
d756afbc06
fix(ui): default to help message
2024-05-08 21:57:39 +02:00
Benedikt Peetz
22b8af8e93
chore(treewide): Update the copyright headers
2024-05-08 19:23:11 +00:00
Silas Schöffel
0315de3ee4
chore(treewide): change license to GPL-3.0 or later
...
To archive this, the previous MIT-License and its mentions were removed, COPYING
was added, LICENSE.spdx and README were modified to show the correct
license, sils@sils.li was added to the project's
E-Mail adresses and ./scripts/renew_copyright_header.sh
was executed.
2024-05-08 19:23:11 +00:00
Silas Schöffel
4fcdc1c8ea
style(repl): import TrinitrixUi from absolute path
2024-05-06 16:18:42 +02:00
Benedikt Peetz
940d82561d
style(treewide): Format and improve the headers
...
This commit represents one run of
`./scripts/renew_copyright_headers.sh`.
2024-05-04 21:06:17 +02:00
Benedikt Peetz
6c80698589
chore(treewide): Add up-to-date license headers
2024-05-04 20:55:52 +02:00
Benedikt Peetz
cc13ec2867
build(treewide): Update trinitrix/core to the modern standard
2024-05-04 20:40:02 +02:00
Benedikt Peetz
7fdc752490
feat(ui/repl): Get the development repl into a useful shape
...
This repl is not really meant for user, as it's quite features striped.
Its main goal is to enable a faster debugging turnabout time.
2024-05-04 20:05:05 +02:00
Benedikt Peetz
e8a3370dce
fix(src/config/so): Ensure that the plugin keeps running
2024-05-04 20:03:02 +02:00
Benedikt Peetz
d76f279a05
refactor(src/ui): Allow for a repl
2024-05-04 17:43:30 +02:00
Benedikt Peetz
08c4724a94
refactor(src): Remove all matrix related code
...
This obviously is a big regression, but having this matrix code in the
core trinitrix tree is no longer planned. And if we start writing the
matrix cbs, referring to this commit should be possible.
2024-05-04 15:43:31 +02:00
Benedikt Peetz
c233b30a52
fix(src): Ensure that the new c api can actually be used
2024-05-04 15:00:58 +02:00
Benedikt Peetz
a39a0875a3
fix(src): Adapt the code to compile with trixy
...
The term "to compile" was specifically chosen, as this code does nothing
more. I would honestly be surprised if it worked in this state.
2024-05-03 21:25:09 +02:00
Benedikt Peetz
6ef6bea61c
chore(Cargo): Update to the new external crates
...
Note that this commit does not contain the needed code changes
2024-05-03 21:23:26 +02:00
Benedikt Peetz
2eb6b12bd7
refactor(core): Use the new `keymaps` crate
2023-11-07 20:27:06 +01:00
Benedikt Peetz
51eed5697a
feat(keymaps): Put keymaps into a separate crate
2023-11-01 17:20:53 +01:00
antifallobst
a538877b5b
refactor: restructured event sources
2023-10-19 18:14:59 +02:00
Benedikt Peetz
c024b73625
fix(ui): Display pending keys in KeyInputPending
2023-10-18 23:10:12 +02:00
Benedikt Peetz
18152bdded
fix(key_input): Also input pending keys, when leaving KeyInputPending
2023-10-18 23:09:09 +02:00
Benedikt Peetz
b54f8e59e8
fix(key_input): Handle shifted characters correctly
...
This commit fixes multiple bugs introduced in the new keymapping system:
When we can't find a keymapping for a string, we simply pass it
along, by calling the 'send_input_unprocessed' function with the
inputted key turned into it's string representation. Turning a shifted
key into it's repr. returned a doubly shifted string:
'A' turned into '<S-A>', which then fails to parse as a valid key
input. Thus, we simply unshifted the value.
The next bug, becoming apparent now, is caused by this: We never
reshifted the value, when we converted it into a crossterm key input
event.
2023-10-18 22:52:07 +02:00
Benedikt Peetz
9139fa2776
feat(command_interface): Support user specified keymappings
2023-10-16 14:04:03 +02:00
Benedikt Peetz
1dd9a0e4de
feat(command_interface): Add support for functions (and thus callbacks)
2023-10-14 18:46:25 +02:00
Benedikt Peetz
6745da4c71
style(treewide): Apply consistent formatting
...
I just ran `cargo fmt -- --config reorder_imports=true,imports_granularity=Crate,group_imp
orts=StdExternalCrate`
2023-09-20 19:22:56 +02:00
Benedikt Peetz
27d00c564c
feat(command_interface): Add support for namespaces
2023-09-20 19:21:44 +02:00
Benedikt Peetz
9a9cda535a
fix(commands/print): Add basic support for printing non-string types
2023-09-09 22:51:28 +02:00
Benedikt Peetz
357c42332f
feat(app): Add support for a Lua based configuration file
2023-09-09 21:29:46 +02:00
Benedikt Peetz
7aea23f3b6
fix(handlers/main)!: Change exit key to `q`
...
`Esc` is bound to exit a deeper mode (like `insert` or `command`) and
return to `normal` mode. This however is rather inconvenient,
when `Esc` also exits Trinitrix in general, as spamming `Esc` then
becomes impossible.
This changes also puts Trinitrix more in line with vim (although vim
does not allow exiting with `q`).
BREAKING CHANGE: To exit press `q` instead of `Esc`.
2023-09-09 19:57:49 +02:00
Benedikt Peetz
74f3b25827
feat(states): Add `command` state for command only keymappings
2023-09-09 19:57:20 +02:00
Benedikt Peetz
bc1fc0cc02
refactor(LuaCommandManager): Express the semantics of Lua code explicitly
2023-09-09 19:55:16 +02:00
Benedikt Peetz
ed37d1239f
feat(CommandTransferValue): Generalize the API to facilitate multiple languages
...
The code for the `CommandTransferValue` was deeply entrenched in the
whole Lua execution code, which is obviously not ideal. In trying to
alleviate that, I decided to generalize the API in a way, that makes
adding new languages a lot easier.
2023-09-09 19:49:56 +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
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