poco_init.ps1
function New-Config ($Items, $Property, $Prompt, $Layout, $Keymaps) { @{ 'Input' = $Items 'Property' = $Property 'Prompt' = $Prompt 'Layout' = $Layout 'Keymaps' = $Keymaps } } function New-State ($Query, $Filter, $CaseSensitive, $InvertFilter, $Config) { $state = @{ 'Query' = $Query 'Filter' = $Filter 'CaseSensitive' = $CaseSensitive 'InvertFilter' = $InvertFilter 'Acrion' = 'Identity' 'Entry' = @() 'PrevLength' = 0 'Screen' = @{ 'Prompt' = '' 'FilterType' = '' 'QueryX' = 0 'X' = 0 'RawUI' = Get-RawUI # 'Y' = 1 # 選択機能があれば... } } $state.Screen.Prompt = Get-Prompt $state $config $state.Screen.FilterType = Get-FilterType $state $state.Screen.QueryX = $Query.Length $state.Screen.X = $state.Screen.Prompt.Length $state.Entry = Get-Entry $state $config $state } |