Commit Graph

123 Commits

Author SHA1 Message Date
Benedikt Peetz 1599631431
test(tests): Update to new String wrapper 2024-05-20 15:33:43 +02:00
Benedikt Peetz 601d82d5c9
chore(version): v0.1.1 2024-05-20 15:33:42 +02:00
Benedikt Peetz 994b3deb33
chore(version): v0.1.0 2024-05-20 15:33:41 +02:00
Benedikt Peetz 5f9ef33dfc
build(cog): Avoid building the project with nix, as this fails 2024-05-20 15:33:41 +02:00
Benedikt Peetz c9622c15bc
fix(gitignore): Don't ignore the `Cargo.lock` file 2024-05-20 15:33:39 +02:00
Benedikt Peetz ecfdb0abda
build(cog): Remove wrong toml header 2024-05-20 15:33:39 +02:00
Benedikt Peetz 447370d554
chore(treewide): Renew copyright headers 2024-05-20 15:33:38 +02:00
Benedikt Peetz 198421761c
build(cog): Use new `renew_copyright_header` script 2024-05-20 15:33:37 +02:00
Benedikt Peetz 2e92028de2
feat(src/macros)!: Store allocation location in all stringsThis makes it possible to automatically free the string in the correctway expected by both c and rust.Rust strings can now just be freed by the rust allocator, whilst cstrings are forgotten, so that the c allocator may free them.BREAKING CHANGE: All usage of explicit mentions `std::string::String` in your `handle_cmd` function will need to be replaced by `trixy::types::newtypes::String`. Otherwise these types should provide the same methods. 2024-05-20 15:33:36 +02:00
Benedikt Peetz 0f131c957f
refactor(src/macros/generate/host): Merge host generation in one module 2024-05-20 15:33:36 +02:00
Benedikt Peetz 4d76282b99
chore(Cargo.toml): Add further required metadata 2024-05-20 15:33:33 +02:00
Benedikt Peetz cc788a9493
chore(Cargo.toml): Add required metadata 2024-05-20 15:33:32 +02:00
Benedikt Peetz 6c64180676
docs(README): Mention the binary 2024-05-20 15:33:32 +02:00
Benedikt Peetz 91adaa2b70
test(types): Update to represent a minimal change in the library 2024-05-20 15:33:30 +02:00
Benedikt Peetz c787aa2e27
docs(README): Add 2024-05-20 15:33:30 +02:00
Benedikt Peetz ed4a113141
fix(example/main): Ignore generated `api.rs` debugging file 2024-05-20 15:33:22 +02:00
Benedikt Peetz bd0b3c7dcf
fix(generate/convert/host/rust/derive/structure): Ignore `ptr` arg on todo 2024-03-27 22:36:24 +01:00
Benedikt Peetz 5a9de1ac0a
test(tests): Update `expected.md` files 2024-03-27 22:36:22 +01:00
Benedikt Peetz a766149521
style(treewide): Format 2024-03-27 22:36:19 +01:00
Benedikt Peetz 7f6c76a6a6
docs(example/main): Update to include newly added callbacks 2024-03-27 22:36:17 +01:00
Benedikt Peetz c69c00e1e9
feat(types/try_from_impl): Add a trixy::String from &str impl
This makes it more convenient to use the api.
2024-03-27 22:36:15 +01:00
Benedikt Peetz db5cd1a29b
fix(macros): Mark the main generate function as must_use
The generated FileTree should be used, calling the function without
using it is useless.
2024-03-27 22:36:12 +01:00
Benedikt Peetz 73416da73c
docs(macros/generate): Improve error output 2024-03-27 22:36:10 +01:00
Benedikt Peetz febb2deae3
fix(types/types_list): Add the supported primitive types
Otherwise, the generated type paths lead nowhere.
2024-03-27 22:36:09 +01:00
Benedikt Peetz a58030ce7e
fix(macros/generate/host/host/type): The function type is a c pointer 2024-03-27 22:36:05 +01:00
Benedikt Peetz 645b8d58f6
fix(macros/generate/host/c/function): Actually call the callback function
Previously, the generated c wrapper function did not call the callback
correctly.
2024-03-27 22:36:03 +01:00
Benedikt Peetz b5f5ae8b03
fix(macros/generate/host): Add unified support for conversions
These include from the c type to rust, vice versa.
2024-03-27 22:36:01 +01:00
Benedikt Peetz 3d35d395f3
fix(macros/generate/auxiliary/c/function): Also add inputs when no output 2024-03-27 22:35:59 +01:00
Benedikt Peetz 475dde282c
test(tests): Update 2024-03-27 22:35:57 +01:00
Benedikt Peetz 2e2028da31
build(update.sh): Include the main example in the updates 2024-03-27 22:35:54 +01:00
Benedikt Peetz bfeb62033a
fix(macros/generate/convert/auxiliary/c/arguments): Accept newlines
Multiple lines in one comment were not checked for, which resulted in
only one `*` before instead of a new one after every `\n`.
2024-03-27 22:35:52 +01:00
Benedikt Peetz a66c687421
fix(macros/generate/convert/auxiliary/c): Correctly generate function types 2024-03-27 10:54:01 +01:00
Benedikt Peetz 055cf2d5ce
test: Add new multiline display for c auxiliary code 2024-03-27 10:51:39 +01:00
Benedikt Peetz b1d47de7e3
test(multiple): Ignore, as it's not a important feature 2024-03-27 10:22:48 +01:00
Benedikt Peetz 9a0720e5e9
fix(docs/generate_docs): Cd into the correct directory to make ebnf2pdf work 2024-03-27 10:21:50 +01:00
Benedikt Peetz 838181c116
docs(grammar.ebnf): Don't reimplement already specified rules 2024-03-27 10:21:06 +01:00
Benedikt Peetz bb101c14fb
feat(macros/generate/convert/auxiliary): Merge comments in c
```c
/**
  comment one
  */
/**
  comment two
  */
/**
  comment three
  */
```
is just not as readable as:
```c
/**
  * comment one
  * comment two
  * comment three
  */
```
2024-03-27 10:17:38 +01:00
Benedikt Peetz 37ba451362
fix(types): Remove top-level support for generic types
These would still parse and would generate _stuff_, but the generated
stuff is just not ideal yet. So better not accept them, until their
internal support has matured.
2024-03-27 10:01:51 +01:00
Benedikt Peetz 9a8ccc9cc2
fix(macros/generate): Correctly generate function types 2024-03-27 10:01:07 +01:00
Benedikt Peetz 7a8dc66876
fix(parser/unchecked/parse_structure): Accept attributes on fields 2024-03-27 09:59:35 +01:00
Benedikt Peetz fae3de8b49
fix(parser/lexing/take_until_sucessive_match): Add utf8 support 2024-03-27 09:58:08 +01:00
Benedikt Peetz 9233a136ee
build(.envrc): Add `./target/debug` to PATH 2024-03-27 08:11:44 +01:00
Benedikt Peetz 4e3bdf273e
fix(binary/parse): Actually only perform the other steps, if asked for it
Otherwise, the lexing functionality becomes useless, if the Trixy file
can't be parsed and processed.
2024-03-27 08:10:33 +01:00
Benedikt Peetz 508dc2bc46
fix(parser/tokenizer): Remove the tokenizer's death, when exposed to doc comments
Previously, the tokenizer had horrendous errors when lexing raw literal
strings. These have been removed. The remaining issue still persists,
that empty doc comments are serialized in c in a _weird_ way. They
should be merged.
2024-03-27 08:07:29 +01:00
Benedikt Peetz 00a82ac54b
fix(scripts/renew_copyright_header): Set correct template line lenght 2024-03-26 21:12:40 +01:00
Benedikt Peetz 5ab2bbb8fd
chore(treewide): Update license header 2024-03-26 20:11:23 +01:00
Benedikt Peetz dc000f2bed
chore(.licensure.yml): Remove unnecessary line in header comment 2024-03-26 20:08:35 +01:00
Benedikt Peetz 9e7e9d7b12
fix(scripts/renew_copyright_header): Add support for gitignore files 2024-03-26 20:08:12 +01:00
Benedikt Peetz 4110f659c6
style(flake): Use yamlfmt instead of prettier 2024-03-26 20:07:32 +01:00
Benedikt Peetz 2b4599592c
chore(treewide): Add or update license header 2024-03-26 19:58:24 +01:00