A2 & Oberon » Программирование » Творческие идеи и проекты » Code autocompletion на основе IME

Страниц (1): [1]
 

1. BohdanT - 13 Октября, 2008 - 11:23:32 - перейти к сообщению
Появилась у меня идея, вроде реализовать легко:

Не знаю как это правильно называется, лучше приведу пример:
Когда, например в Delphi, вы нажимаете Ctrl+Space у вас появляется окошко со списком допустимых процедур (методов). Данная фича, особенно когда плохо знаешь библиотеки, очень помогает.

Так вот, я придумал как легко реализовать это в Аос:
1. Берем за основу WMPinyinIME.Mod и делаем, например WMLibIME.Mod
2. В IME все пропускаем без изменений, кроме символа "."
3. Считываем слово слева, от "." (см. сноску)
4. Берем информацию из .Obw (.Obx) о доступных методах и т.д. Как назло этот пункт у меня уже практически реализован, но лежит дома Ха-ха

Вывод: Можно довольно быстренько сворганить хорошую тулзовину.

В дальнейшем нужно парсим текущий модуль на предмет ключевых слов, проверять типы, алиасы и т.д.
2. BohdanT - 15 Октября, 2008 - 12:29:21 - перейти к сообщению
Вчера вечерком на быструю сделал наброски. Идея действительно легко реализуема.
Пусть простят меня китайцы, покурочил я WMPinyinIME.Mod, но я не со зла, просто швейцарцы не сделали возможность нормально подключать свои модули ввода.

Работает просто. Запустите PET, включите Pinyin. Затем в редакторе например напишите:
Utilities.


В появившемся окошке начните набирать название нужной процедурки.

PS: Как меня задолбал WMStringGrids.StringGrid.... как его заставить нормально прорисовываться.... Получай молотком Ща взорвусь! Разнесу!
3. sage - 15 Октября, 2008 - 13:47:48 - перейти к сообщению
В LibHelper.Mod поменять:
SIZE() на SYSTEM.SIZEOF()
4. BohdanT - 15 Октября, 2008 - 15:33:43 - перейти к сообщению
sage пишет:

В LibHelper.Mod поменять:
SIZE() на SYSTEM.SIZEOF()

Не у всех такая свежая сборка Подмигивание
Добавил в комментарий в нужном месте.

Добавил возможность вставлять текст.
5. sage - 15 Октября, 2008 - 16:29:54 - перейти к сообщению
BohdanT пишет:
Добавил возможность вставлять текст.
Работает!!! Ура!
6. BohdanT - 15 Октября, 2008 - 20:15:04 - перейти к сообщению
Ну вот....
Теперь это на что то полезное похоже.
Список параметров добавил я.
Два раза Ентер ужЕ не нужно жать.
http://a2os.org.ua/files/LibIME.rar
(Добавление)
Скриншотик:
http://a2os.org.ua/files/autocompl.png
7. neuf - 16 Октября, 2008 - 00:43:41 - перейти к сообщению
BohdanT пишет:

...просто швейцарцы не сделали возможность нормально подключать свои модули ввода.

Да, нормально не сделали, но можно подправить код в WMInputMethodTool.Window.CreateF orm и ChangeIME. Хотя, наверное, лучше все-таки дождаться, пока они все-таки сделают добавление своих IME более легким процессом Закатив глазки
8. BohdanT - 16 Октября, 2008 - 08:49:06 - перейти к сообщению
neuf пишет:
. Хотя, наверное, лучше все-таки дождаться, пока они все-таки сделают добавление своих IME

Да, иначе каждй раз нужно будет перекомпилировать свой, а если системные изменения были, то и изменения вносить. Вобщем муторно.
9. BohdanT - 24 Октября, 2008 - 19:39:33 - перейти к сообщению
neuf пишет:
пока они все-таки сделают добавление своих IME более легким процессо

Скорее всего не сделают Подмигивание не нужно им это Отстой

Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0111]     [ Gzipped ]