commands property
commands is a section that lists applicable sub-NatrixCommands.
Implementation
@override
NatrixBlock get commands {
if (!context.cmd.hasChildren()) {
return NatrixBlock.empty();
}
final List<NatrixText> lines = [];
context.cmd.children.forEach((cmd) {
final String name = cmd.id + " " * (maxCmdLength - cmd.id.length);
final List<NatrixText> tooltip = NatrixText(
cmd.tooltip,
).wrap(lineLength - name.length - 1);
bool first = true;
tooltip.forEach((tip) {
if (first) {
lines.add(NatrixText(name + tip.text));
first = false;
return;
}
lines.add(NatrixText(NatrixChar(' ') * (name.length) + tip.text));
});
});
return NatrixBlock(
heading: NatrixText("Commands:", style: NatrixStyle.bold),
content: NatrixStructure(
spacePrefix: 1,
sections: [NatrixColumn(lines: lines.toList())],
),
);
}