Commit Graph

193 Commits

Author SHA1 Message Date
Benedikt Peetz 6a10974efb fix(flake.nix): Don't remove the `.tri` api spec file when building 2024-05-08 21:03:42 +02:00
Silas Schöffel 4fcdc1c8ea
style(repl): import TrinitrixUi from absolute path 2024-05-06 16:18:42 +02:00
Silas Schöffel 3ebd171e61
fix(flake): add buildinputs to devShell
This fixes a regression introduced in
cc13ec2867 which caused the devShell
to lack some dependencies required to build trinitrix
2024-05-06 15:51:41 +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 a779fa250d fix(scripts/renew_copyright_header): Update to the new copyright text 2024-05-04 21:00:15 +02:00
Benedikt Peetz d7e4159a26 fix(licensure): Add support for lua, svg and drawio files 2024-05-04 20:56:31 +02:00
Benedikt Peetz 6c80698589 chore(treewide): Add up-to-date license headers 2024-05-04 20:55:52 +02:00
Benedikt Peetz a801f12a6e fix(.licensure.yml): Also ignore `.png` files 2024-05-04 20:44:53 +02:00
Benedikt Peetz 8ee69bf3b8 fix(config/lua): Mark deprecated, until the lua support is back again 2024-05-04 20:44:20 +02:00
Benedikt Peetz 9f38d2e600 chore(.gitignore): Ignore generate directories 2024-05-04 20:43:58 +02:00
Benedikt Peetz 8228e2fd60 chore(treewide): Add some missing licenses 2024-05-04 20:43:16 +02:00
Benedikt Peetz cc13ec2867 build(treewide): Update trinitrix/core to the modern standard 2024-05-04 20:40:02 +02:00
Benedikt Peetz 42c5a58e6c build(.envrc): Add some paths to the PATH 2024-05-04 20:12:25 +02:00
Benedikt Peetz ebc336faa3 test(valgrind): Add a script to test for memory leaks 2024-05-04 20:12:00 +02:00
Benedikt Peetz 0fe5fe8b59 build(Cargo): Update 2024-05-04 20:07:52 +02:00
Benedikt Peetz 23e98fc474 build({makefile,build.rs}): Add the required tooling to build the plugin and trinitrix 2024-05-04 20:07:12 +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 88f323d030 feat(config/c): Translate the example lua config to c 2024-05-04 20:04:00 +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 55316f295d
docs(branding): Init 2023-12-24 07:43:36 +01:00
Benedikt Peetz dae7bb272b
chore(trinitry): Extract to separate repository 2023-12-23 22:14:17 +01:00
Benedikt Peetz 617e223064
build(trinitry/Cargo.toml): Remove unneeded dependencies 2023-12-23 22:07:14 +01:00
Benedikt Peetz 83cf118bc9
build(update.sh): Do not append to the `src/tests.rs` file 2023-12-23 22:07:11 +01:00
Benedikt Peetz 21f981f434
build(update.sh): Add trinitry to the crates to update 2023-12-23 22:06:17 +01:00
Benedikt Peetz 103944f605
tests(trinitry): Add some sort of fuzzing 2023-12-23 22:05:41 +01:00
Benedikt Peetz 2c51bf073e
feat(trinitry): Initialize the parsing crate 2023-12-23 22:05:38 +01:00
Benedikt Peetz fcdfb4488b
chore(trixy, keymaps): Extract the libraries to their own repository 2023-12-23 21:58:19 +01:00
Benedikt Peetz d95b26655f
chore(trixy-lang_parser): Apply clippy's suggestions 2023-12-22 20:56:36 +01:00
Benedikt Peetz 26e0bbb972
feat(trixy-lang_parser): Provide an api 2023-12-22 20:39:02 +01:00
Benedikt Peetz 70c4cc6f18
feat(trixy-lang_parser): Add support for doc comments
Parsing right now works by simply comparing the input string:
```
"/" -> <comment_tokenizer> -> "/" -> <normal_comment>
                          |-> "//" -> <doc_comment>
```

A better method to do this though would be to turn "//" and "///" into
keywords and simply leave the parsing to the parser module not the
tokenizer.
2023-12-22 20:32:43 +01:00
Benedikt Peetz 3503e5250c
feat(trixy-lang_parser): Add type checking (2nd stage parsing) 2023-12-22 14:57:39 +01:00
Benedikt Peetz 370aac4395
feat(trixy-lang_parser): Add support for Type
This includes rust like generic types like:
```
Option<T>
Result<T, E>
```
2023-12-19 17:27:13 +01:00
Benedikt Peetz be066afe23
feat(trixy-lang_parser): Add support for structs and enums 2023-12-18 20:50:58 +01:00
Benedikt Peetz 3a65c33b15
feat(trixy-lang_parser): Add first parser pass 2023-12-18 18:04:21 +01:00
Benedikt Peetz 74efd3eda6
chore(flake): Remove `rust-analyzer` from the devshell
Things like language servers should be handled by the developer's
editor.
2023-12-16 11:47:51 +01:00
Benedikt Peetz 5713c90445
test(flake): Add the cargo test to the `nix flake check` tests 2023-12-16 11:47:21 +01:00
Benedikt Peetz 53862a0f65
build(flake): Switch rust version back to stable 2023-12-16 11:47:02 +01:00
Benedikt Peetz 616cb4274f
fix(config/lua): Add a warning, that exiting with <C-c> is not supported 2023-12-16 11:46:10 +01:00
Benedikt Peetz 3da75f6913
feat(trixy-lang_parser): Add a lexer with error handling for trixy code 2023-12-16 11:45:23 +01:00
Benedikt Peetz cd2dbc516a
chore(trixy): Rename `language_macros` to `trixy`
The motivation behind this change is to comply with the naming scheme:
starting crate names with `tri`
2023-12-16 11:45:12 +01:00
Benedikt Peetz 44a1ad77ea
build(treewide): Update 2023-12-14 15:33:56 +01:00
Benedikt Peetz 37a0834aa0
build(flake): Use the minimal rust distribution for builds 2023-11-07 20:48:06 +01:00
Benedikt Peetz ebd3b0d476
build(treewide): Update 2023-11-07 20:47:49 +01:00
Benedikt Peetz 23ec51cec2
build(update.sh): Make adding subcrates easier 2023-11-07 20:46:18 +01:00
Benedikt Peetz 2eb6b12bd7
refactor(core): Use the new `keymaps` crate 2023-11-07 20:27:06 +01:00