Commit Graph

20 Commits

Author SHA1 Message Date
Přemysl Eric Janouch aacf1b1d47
lxdrgen-go: improve usability
Alpine 3.20 Success Details
Turning union tags into read-only methods of actual types:
 - eliminates duplicated JSON unmarshalling of tags,
 - makes AppendTo/ConsumeFrom symmetrical in nature,
 - eliminates duplicated AppendTo code,
 - eliminates trivial AppendTo methods for subtypes without fields,
 - gives us an opportunity to use a more specific interface than "any"
   (the type being anonymous is an acknowledged inconvenience).

Implementing our own json.Marshalers some time ago
(for performance reasons) has made this easier to implement.

Also rename "Interface" fields to more suitable "Variant".
2024-11-07 11:01:41 +01:00
Přemysl Eric Janouch ad5b2fb8cd
asciiman: mildly improve compatibility
git manual pages render a little bit more sensibly now.
2024-02-12 10:57:23 +01:00
Přemysl Eric Janouch 62166f9679
lxdrgen-cpp-win32: fix return value handling 2023-07-10 09:34:42 +02:00
Přemysl Eric Janouch 2edc9c6fd1
Add a C++ backend for LibertyXDR
Also change the C backend so that it also de/serializes
unions without any other fields besides the tag.
2023-07-07 16:43:52 +02:00
Přemysl Eric Janouch f78f8a70f1
lxdrgen-swift: fix prefix handling
"Any prefix will work, so long as it's 'Relay'."
2023-07-06 11:01:51 +02:00
Přemysl Eric Janouch be9a3e693e
lxdrgen-swift: fix warnings with exhaustive unions 2023-07-06 06:54:23 +02:00
Přemysl Eric Janouch 53197b51e5
Add a Swift backend for LibertyXDR 2023-07-06 06:54:22 +02:00
Přemysl Eric Janouch 717c301207
lxdrgen: fix decapitalization
decapitalize() is typically called on snaketocamel() output,
which always makes the first letter uppercase.
2023-06-28 16:24:59 +02:00
Přemysl Eric Janouch bd1013f16a
Parse block attribute list lines
This code is of strategic importance, but its output is so far unused.
2023-06-11 10:02:16 +02:00
Přemysl Eric Janouch 29bf109a51
asciiman: improve attribute handling 2022-10-09 18:43:37 +02:00
Přemysl Eric Janouch 0e86ffe7c3
asciiman: fixes, improve mandoc compatibility 2022-10-09 01:01:08 +02:00
Přemysl Eric Janouch 0f3ed14575
asciiman: support attribute passing 2022-09-30 18:13:01 +02:00
Přemysl Eric Janouch 089593bb0f
asciiman: render libertyxdr.adoc properly 2022-09-30 15:01:14 +02:00
Přemysl Eric Janouch 035bfe5e81
Document the recently added scripts 2022-09-30 03:09:04 +02:00
Přemysl Eric Janouch ebbe7a1672
Import protocol code generator from xK, add tests
Also add a VIM syntax highlighting file.

This also fixes some previously untriggered bugs.
2022-09-30 03:06:36 +02:00
Přemysl Eric Janouch 4c3837ae2c
cmake-parser: clean up 2022-09-28 00:06:51 +02:00
Přemysl Eric Janouch af2756ee01
Add a rudimentary CMake script parser 2022-09-27 23:27:06 +02:00
Přemysl Eric Janouch 688c458095
asciiman: fix the first line of output 2022-09-25 21:11:45 +02:00
Přemysl Eric Janouch 34460ca715
asciiman: improve command escaping 2022-09-25 20:55:51 +02:00
Přemysl Eric Janouch 9883caf849
Add a stupid AsciiDoc to manual page converter
Most of my projects that could need it make use of liberty.
2022-09-25 20:07:10 +02:00