@shutootaki/gwm
Version:
git worktree manager CLI
37 lines • 1.54 kB
TypeScript
/**
* トークン解析ロジック
* シェルから渡されたトークン列を解析して補完コンテキストを特定
*/
import type { CompletionCommand, CompletionOption, CursorPosition } from '../types.js';
/**
* 解析されたコンテキスト
*/
export interface ParsedContext {
/** 現在のコマンド(第1レベル) */
command?: CompletionCommand;
/** 現在のサブコマンド(第2レベル) */
subcommand?: CompletionCommand;
/** 値が必要なオプション(現在補完中) */
currentOptionNeedingValue?: CompletionOption;
/** すでに入力済みのオプション名 */
completedOptions: string[];
/** すでに入力済みの位置引数 */
positionalArgs: string[];
/** 現在のトークン(補完対象) */
currentToken: string;
/** カーソル位置の状態 */
cursorPosition: CursorPosition;
/** -r/--remote フラグが指定されているか(add コマンド用) */
hasRemoteFlag: boolean;
}
/**
* トークン列を解析してコンテキストを返す
* @param tokens トークン列(gwm 自体は除く)
* @param cword 現在補完中のトークンインデックス
*/
export declare function parseTokens(tokens: string[], cword: number): ParsedContext;
/**
* アクティブなコマンドを取得(サブコマンドがあればそちらを優先)
*/
export declare function getActiveCommand(context: ParsedContext): CompletionCommand | undefined;
//# sourceMappingURL=parser.d.ts.map