mirror of
https://github.com/tiktok/sparo.git
synced 2024-11-14 11:25:09 -05:00
fix: online completion
This commit is contained in:
parent
623882dbfb
commit
4ac9bdc838
3 changed files with 32 additions and 7 deletions
|
@ -108,10 +108,7 @@ export class ArgvService {
|
|||
const finalCommandNameSet: Set<string> = new Set<string>(finalCommands.map((x) => x.name));
|
||||
const userInputCmdName: string = argv._[1] || '';
|
||||
|
||||
if (current.includes('sparo')) {
|
||||
// top level completion
|
||||
done(finalCommands.map(({ name, description }) => `${name}:${description}`));
|
||||
} else if (finalCommandNameSet.has(userInputCmdName)) {
|
||||
if (finalCommandNameSet.has(userInputCmdName)) {
|
||||
switch (current) {
|
||||
case 'add': {
|
||||
done(this._getFileCompletions());
|
||||
|
@ -159,14 +156,14 @@ export class ArgvService {
|
|||
break;
|
||||
}
|
||||
}
|
||||
} else if (current) {
|
||||
} else {
|
||||
const prefix: string = current === 'sparo' ? '' : current;
|
||||
done(
|
||||
finalCommands
|
||||
.filter(({ name }) => name.startsWith(current))
|
||||
.filter(({ name }) => name.startsWith(prefix))
|
||||
.map(({ name, description }) => `${name}:${description}`)
|
||||
);
|
||||
}
|
||||
done([]);
|
||||
};
|
||||
|
||||
private _getFileCompletions(partial: string = ''): string[] {
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
Running "sparo --get-yargs-completions sparo ":
|
||||
auto-config:Automatic setup optimized git config
|
||||
list-profiles:List all available profiles or query profiles that contain the specified project name
|
||||
init-profile:Initialize a new profile.
|
||||
clone:Clone a repository into a new directory
|
||||
checkout:Updates files in the working tree to match the version in the index or the specified tree. If no pathspec was given, git checkout will also update HEAD to set the specified branch as the current branch.
|
||||
fetch:fetch remote branch to local
|
||||
pull:Incorporates changes from a remote repository into the current branch.
|
||||
git-clone:original git clone command
|
||||
git-checkout:original git checkout command
|
||||
git-fetch:original git fetch command
|
||||
git-pull:original git pull command
|
||||
add:add file contents to the index
|
||||
branch:list, create, or delete branches
|
||||
commit:record changes to the repository
|
||||
diff:show changes between commits, commit and working tree, etc
|
||||
log:show commit logs
|
||||
merge:join two or more development histories together
|
||||
push:update remote refs along with associated objects
|
||||
rebase:forward-port local commits to the updated upstream head
|
||||
reset:reset current HEAD to the specified state
|
||||
restore:restore working tree files
|
||||
status:show the working tree status
|
|
@ -25,6 +25,11 @@ export async function runAsync(runScriptOptions: IRunScriptOptions): Promise<voi
|
|||
name: 'sparo-top-level-completion',
|
||||
args: prefixArgs.concat([])
|
||||
},
|
||||
{
|
||||
kind: 'sparo-command',
|
||||
name: 'sparo-top-level-2-completion',
|
||||
args: prefixArgs.concat([''])
|
||||
},
|
||||
// auto-config
|
||||
{
|
||||
kind: 'sparo-command',
|
||||
|
|
Loading…
Reference in a new issue