Роман сделал меню для фара с возможностью IntelliSense (уточнения вариантов по мере набора текста, как в PowerTab).
Тут я набрал Get- вызвал меню автозавершения, и потом уже донабрал co уточнив запрос до 2 команд.
Роман, спасибо огромное! 🙂 Судя по затраченному времени с FarApi и на .Net это было сделать куда проще чем с помощью одних скриптов и сырой консоли 🙂 Впрочем для обоих продуктов найдется применение — выбор это здорово! 🙂
Попозже, как будет время потестирую повнимательнее и отпишу подробнее.
Roman Kuzmin Says:
New UI control (list menu) is implemented in Far.NET 3.3.30 and used for TabExpansion in PowerShellFar 1.1.30.
Features:
*) Incremental filter on typing (including wildcard * and ?)
*) Some settings exposed as $Psf.Settings.Intelli*
(need more features/settings? — ask)
———-
## How to load and use PowerTab TabExpansion in PowerShellFar:
& “ПутьКСкрипту\Init-TabExpansion.ps1″ -ConfigurationLocation ПутьККонфигу
$PowerTabConfig.DefaultHandler = ‘Default’
## How to get back TabExpansion from TabExpansion-.ps1:
function global:TabExpansion ($line, $lastWord) { TabExpansion- $line $lastWord }
(I think it should be OK to switch them back and forth by these commands)
———-
If needed, advanced way to load PowerTab:
& “…\Init-TabExpansion.ps1″ -ConfigurationLocation …
function global:Out-ConsoleList
{
param ($lastWord)
$m = $Far.CreateListMenu()
$Psf.Settings.Intelli($m)
$m.X = [console]::CursorLeft
$m.Y = [console]::CursorTop
$m.IncrementalFilter = $lastWord
$m.Incremental = ‘Prefix’
$input | .{process{
[void]$m.Items.Add($_)
}}
switch($m.Items.Count) {
0 { return }
1 { return $m.Items[0].Text }
}
if ($m.Show()) {
$m.Items[$m.Selected].Text
}
}
Скачать можно тут — http://code.google.com/p/farnet/downloads/list