Compare commits
2 commits
a5fcc7b5e9
...
2086232a7d
| Author | SHA1 | Date | |
|---|---|---|---|
| 2086232a7d | |||
| 09f8d03ab3 |
2 changed files with 13 additions and 15 deletions
|
|
@ -33,35 +33,33 @@ const remarkParseAtTypes: RemarkPlugin<[]> = () => (root: Md.Root): Md.Root => {
|
||||||
const node = rawNode as Md.Literal;
|
const node = rawNode as Md.Literal;
|
||||||
|
|
||||||
node.value = node.value.replace(
|
node.value = node.value.replace(
|
||||||
/@@((?<module>([A-Z]\w*\.)*)(?<type>([A-Z]\w*))(\.(?!\s|$))?)?((?<member>[a-z]\w*)((?<function>\(\))|(?<signal>\(s\)))?)?(?=[$.,;:)\s]|$)/g,
|
/@@(?<path>([A-Z]\w*\.)+)((?<member>[a-z]\w*)((?<function>\(\))|(?<signal>\(s\)))?)?(?=[$.,;:)\s]|$)/g,
|
||||||
(_full, ...args) => {
|
(_full, ...args) => {
|
||||||
type Capture = {
|
type Capture = {
|
||||||
module: string | undefined;
|
path: string | undefined;
|
||||||
type: string | undefined;
|
|
||||||
member: string | undefined;
|
member: string | undefined;
|
||||||
function: string | undefined;
|
function: string | undefined;
|
||||||
signal: string | undefined;
|
signal: string | undefined;
|
||||||
};
|
};
|
||||||
|
|
||||||
const groups = args.pop() as Capture;
|
const groups = args.pop() as Capture;
|
||||||
|
const pathp = groups.path.split('.').filter(Boolean);
|
||||||
|
let type = (pathp.length >= 1 ? pathp.pop() : "");
|
||||||
|
let module = pathp.join('_');
|
||||||
|
|
||||||
if (groups.module) {
|
if (module) {
|
||||||
groups.module = groups.module.substring(
|
const isQs = module.startsWith("Quickshell");
|
||||||
0,
|
module = `99M${isQs ? "QS" : "QT_qml"}_${module}`;
|
||||||
groups.module.length - 1
|
} else module = ""; // WARNING: rehype parser can't currently handle intra-module links
|
||||||
);
|
|
||||||
const isQs = groups.module.startsWith("Quickshell");
|
|
||||||
groups.module = `99M${isQs ? "QS" : "QT_qml"}_${groups.module.replace(".", "_")}`;
|
|
||||||
} else groups.module = ""; // WARNING: rehype parser can't currently handle intra-module links
|
|
||||||
|
|
||||||
groups.type = groups.type ? `99N${groups.type}` : "";
|
type = type ? `99N${type}` : "";
|
||||||
groups.member = groups.member
|
groups.member = groups.member
|
||||||
? `99V${groups.member}`
|
? `99V${groups.member}`
|
||||||
: "";
|
: "";
|
||||||
const type = groups.member
|
const typep = groups.member
|
||||||
? `99T${groups.function ? "func" : groups.signal ? "signal" : "prop"}`
|
? `99T${groups.function ? "func" : groups.signal ? "signal" : "prop"}`
|
||||||
: "";
|
: "";
|
||||||
return `TYPE${groups.module}${groups.type}${groups.member}${type}99TYPE`;
|
return `TYPE${module}${type}${groups.member}${typep}99TYPE`;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
margin-inline: 0.618rem;
|
margin-inline: 0.618rem;
|
||||||
margin-top: 3.5rem;
|
margin-top: 3.5rem;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: safe center;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
transition: filter 0.3s;
|
transition: filter 0.3s;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue