typegen: add reference shorthand for functions and signals
This commit is contained in:
parent
170d7d9252
commit
3fe7cf9bf9
|
@ -22,6 +22,20 @@
|
|||
{{- else if eq .type "local" -}}
|
||||
{{- $link = printf "%s#prop.%s" $link .prop -}}
|
||||
{{- end -}}
|
||||
{{- else if .func -}}
|
||||
{{- $member = printf ".%s()" .func -}}
|
||||
{{- if eq .type "qt" -}}
|
||||
{{- $link = printf "%s#%s-method" $link .func -}}
|
||||
{{- else if eq .type "local" -}}
|
||||
{{- $link = printf "%s#func.%s" $link .func -}}
|
||||
{{- end -}}
|
||||
{{- else if .signal -}}
|
||||
{{- $member = printf ".%s()" .signal -}}
|
||||
{{- if eq .type "qt" -}}
|
||||
{{- $link = printf "%s#%s-signal" $link .signal -}}
|
||||
{{- else if eq .type "local" -}}
|
||||
{{- $link = printf "%s#signal.%s" $link .signal -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
<a href="{{ $link }}">{{ .name }}{{ $member }}</a>{{ $of | safeHTML -}}
|
||||
|
|
|
@ -658,7 +658,7 @@ fn parse_details(comment: Comment) -> String {
|
|||
|
||||
let mut split = ty.rsplit_once('.').unwrap_or(("", ty));
|
||||
|
||||
let prop = split
|
||||
let member = split
|
||||
.1
|
||||
.chars()
|
||||
.next()
|
||||
|
@ -671,6 +671,12 @@ fn parse_details(comment: Comment) -> String {
|
|||
})
|
||||
.unwrap_or("");
|
||||
|
||||
let (prop, func, signal) = match member {
|
||||
name if name.ends_with("()") => ("", &name[..name.len() - 2], ""),
|
||||
name if name.ends_with("(s)") => ("", "", &name[..name.len() - 3]),
|
||||
name => (name, "", ""),
|
||||
};
|
||||
|
||||
let (mut module, name) = split;
|
||||
|
||||
if module.is_empty() {
|
||||
|
@ -683,7 +689,7 @@ fn parse_details(comment: Comment) -> String {
|
|||
};
|
||||
|
||||
accum += &format!(
|
||||
r#"{{{{< qmltypelink type="{linktype}" module="{module}" name="{name}" prop="{prop}" >}}}}"#
|
||||
r#"{{{{< qmltypelink type="{linktype}" module="{module}" name="{name}" prop="{prop}" func="{func}" signal="{signal}" >}}}}"#
|
||||
);
|
||||
src = &src[end..];
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue