UNPKG

@shutootaki/gwm

Version:
37 lines 1.54 kB
/** * トークン解析ロジック * シェルから渡されたトークン列を解析して補完コンテキストを特定 */ 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