2
1
Fork 0

Compare commits

...

2 commits

Author SHA1 Message Date
outfoxxed d603e3de53
feat: add docgen for QuickShell.Wayland 2024-02-25 19:35:05 -08:00
outfoxxed d769ae67cb
fix: multiple inheritance 2024-02-25 19:34:14 -08:00
3 changed files with 8 additions and 4 deletions

2
.gitignore vendored
View file

@ -5,7 +5,7 @@
# typegen
/typegen/target
/build
/content/docs/types/QuickShell
/content/docs/types/QuickShell*
/data/modules
# hugo

View file

@ -2,12 +2,16 @@ clean:
rm -rf build
rm -rf data/modules/QuickShell
rm -rf content/docs/types/QuickShell
rm -rf data/modules/QuickShell.Wayland
rm -rf content/docs/types/QuickShell.Wayland
typedocs: clean
cd typegen && cargo build
mkdir -p build/types/types
./typegen/target/debug/typegen gentypes ../src/cpp/module.md build/types/types/QuickShell.json
sh -c './typegen/target/debug/typegen gendocs ../src/cpp/module.md data/modules/QuickShell content/docs/types/QuickShell types/* build/types/types/*'
./typegen/target/debug/typegen gentypes ../src/core/module.md build/types/types/QuickShell.json
./typegen/target/debug/typegen gentypes ../src/wayland/module.md build/types/types/QuickShell.Wayland.json
sh -c './typegen/target/debug/typegen gendocs ../src/core/module.md data/modules/QuickShell content/docs/types/QuickShell types/* build/types/types/*'
sh -c './typegen/target/debug/typegen gendocs ../src/wayland/module.md data/modules/QuickShell.Wayland content/docs/types/QuickShell.Wayland types/* build/types/types/*'
serve: typedocs
hugo server --buildDrafts --disableFastRender

View file

@ -129,7 +129,7 @@ impl Default for ParseContext<'_> {
impl Parser {
pub fn new() -> Self {
Self {
class_regex: Regex::new(r#"(?<comment>(\s*\/\/\/.*\n)+)?\s*class\s+(?<name>\w+)(?:\s*:\s*public\s+(?<super>\w+))?.+?\{(?<body>[\s\S]*?)};"#).unwrap(),
class_regex: Regex::new(r#"(?<comment>(\s*\/\/\/.*\n)+)?\s*class\s+(?<name>\w+)(?:\s*:\s*public\s+(?<super>\w+)(\s*,(\s*\w+)*)*)?\s*\{(?<body>[\s\S]*?)};"#).unwrap(),
macro_regex: Regex::new(r#"(?<comment>(\s*\/\/\/.*\n)+)?\s*(?<type>(Q|QML)_\w+)\s*(\(\s*(?<args>.*)\s*\))?;"#).unwrap(),
property_regex: Regex::new(r#"^\s*(?<type>(\w|::|<|>)+\*?)\s+(?<name>\w+)(\s+(MEMBER\s+(?<member>\w+)|READ\s+(?<read>\w+)|WRITE\s+(?<write>\w+)|NOTIFY\s+(?<notify>\w+)|(?<const>CONSTANT)))+\s*$"#).unwrap(),
fn_regex: Regex::new(r#"(?<comment>(\s*\/\/\/.*\n)+)?\s*(?<invokable>Q_INVOKABLE)?\s+(?<type>(\w|::|<|>)+\*?)\s+(?<name>\w+)\((?<params>[\s\S]*?)\);"#).unwrap(),