cursorless
cursorless copied to clipboard
Generate cheatsheet extension-side
The way we generate the cheatsheet today is a bit of a hack. We'd like to generate it extension-side using the new spoken form sharing mechanism.
We could have a list of canonical command fragments, using the placeholder mechanism described in https://github.com/cursorless-dev/cursorless/issues/2096, and then generate the spoken form and description from each of these canonical command fragments. For example:
actions = [
{
name: "remove",
target: PLACEHOLDER,
},
{
name: "pasteFromClipboard",
destination: PLACEHOLDER,
},
];
scopeTypes = [
{
type: "line",
},
{
type: "surroundingPair",
delimiter: PLACEHOLDER,
},
];
modifiers = [
{
type: "relativeScope",
scopeType: PLACEHOLDER,
offset: GREATER_THAN_ZERO,
}, {
type: "relativeScope",
scopeType: PLACEHOLDER,
offset: 0,
},
];
Then we can run generate spoken form to get the following entries for actions:
"chuck <target>"=>remove <target>"paste <destination>"=>paste from clipboard at <destination>
and for scope types:
"line"=>line"<delimiter>"=><delimiter> pair