Вывод типа Python для автозавершения

если Вы не возражаете для объединения сетевой команды с grep, можно использовать следующий сценарий.

@echo off
net start | grep -x "Service"
if %ERRORLEVEL% == 2 goto trouble
if %ERRORLEVEL% == 1 goto stopped
if %ERRORLEVEL% == 0 goto started
echo unknown status
goto end
:trouble
echo trouble
goto end
:started
echo started
goto end
:stopped
echo stopped
goto end
:end
10
задан Alfa07 25 September 2009 в 15:34
поделиться

3 ответа

Отличное обсуждение с множеством указателей, здесь (немного устарело). Я не верю, что какие-либо "производственные" редакторы агрессивно пытаются определить тип для целей автозаполнения (но я не использовал, например, wingware, некоторое время, так что, возможно, они это делают сейчас).

9
ответ дан 3 December 2019 в 23:50
поделиться

Для правильной обработки потребуется система типов для Python, что было бы (является?) Интересной исследовательской проблемой.

1
ответ дан 3 December 2019 в 23:50
поделиться

Вы можете взглянуть на ECompletion и OCompletion в Pharo Smalltalk . Компромиссы, вероятно, будут отличаться для python, но обоснованные предположения с некоторым консервативным выводом типа работают на практике. Это также зависит от того, хотите ли вы, чтобы завершение заменяло просмотр кода / документации или помогало печатать и избегало опечаток.

Я думаю, что в Pharo, если сообщение является явной отправкой в ​​класс ( SomeClass m ]) тогда, конечно, он предложит все сообщения в этом классе и его суперклассах. В противном случае он просто угадывает все имена методов в системе, соответствующие введенному префиксу, и это хорошо работает. OCompletion добавляет немного эвристической приоритизации на основе истории редактирования.

2
ответ дан 3 December 2019 в 23:50
поделиться