OberonCore
https://forum.oberoncore.ru/

Предпосылки для подсветки скобок, автокомплита, и прочего.
https://forum.oberoncore.ru/viewtopic.php?f=47&t=4452
Страница 3 из 3

Автор:  Пётр Кушнир [ Четверг, 02 Январь, 2014 15:04 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

Иван Денисов писал(а):
Пётр, а где лежит итог твоих усилий по обертке и автокомплиту?

Сама обертка лежит в ypkTextProbe, реализация тестового автокомплита лежит в ypkTextFly.

Автор:  Пётр Кушнир [ Четверг, 09 Январь, 2014 10:41 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

Пётр Кушнир писал(а):
Иван Денисов писал(а):
Пётр, а где лежит итог твоих усилий по обертке и автокомплиту?

Сама обертка лежит в ypkTextProbe, реализация тестового автокомплита лежит в ypkTextFly.
Поправка, теперь реализация автокомплита лежит в JediComply https://bitbucket.org/petryxa/jedi/src

Автор:  Пётр Кушнир [ Среда, 19 Март, 2014 22:27 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

Добавляем событийный комплит с помощью интерактивных маркеров ошибок с помощью модуля JediMarkers!

Вложения:
Снимок.PNG
Снимок.PNG [ 8.71 КБ | Просмотров: 10404 ]

Автор:  adva [ Четверг, 20 Март, 2014 09:51 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

Пётр, а какие зависимости? А то при компиляции ругается (на отcутствие StringsDyn и ypkEncBase64, и не знаю, чего еще скачать надо ).

И такой вопрос, SQLite может ли дать, какие-либо преимущества ? Jedi еще не видел в деле, а сам пробую разбить на слова текущий модуль (не очень большой), и открыть слова для выбора, открывается достаточно оперативно (правда замеров не делал). Вот и думаю, стоит ли скрещивать с Вашей подсистемой, или лучше чем другим заняться

Автор:  Пётр Кушнир [ Четверг, 20 Март, 2014 12:17 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

adva писал(а):
Пётр, а какие зависимости? А то при компиляции ругается (на отcутствие StringsDyn и ypkEncBase64, и не знаю, чего еще скачать надо ).
Lists, Strings, ypk, Msg, BSon, ну и Jedi.
Проверил этот набор на чистом ББ. Если что-то не компилируется, значит в данном случае оно не понадобится.

adva писал(а):
И такой вопрос, SQLite может ли дать, какие-либо преимущества ? Jedi еще не видел в деле, а сам пробую разбить на слова текущий модуль (не очень большой), и открыть слова для выбора, открывается достаточно оперативно (правда замеров не делал). Вот и думаю, стоит ли скрещивать с Вашей подсистемой, или лучше чем другим заняться
Если честно, я не знаю, я когда делал автокомплит - ввел в гугле "быстрый поиск слов", там вышел на суффиксное дерево, а потом как понял, так и реализовал его в JediComplyCache. Вроде пока работает. Производительности достаточно для подстановки слова под курсор, при печати. Сейчас проблема в основном с наполнением правильными нужными словами.

Автор:  adva [ Четверг, 20 Март, 2014 12:33 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

Спасибо, буду изучать.

Пётр Кушнир писал(а):
Сейчас проблема в основном с наполнением правильными нужными словами.


Тоже думаю над этой проблемой. Сам пока планирую так сделать (попроще):

Для импортируемых модулей, только то, что экспортируется ими (обновлять слова придется только при добавлении модулей в секцию импорта, либо при сохранении данных модулей). Вроде даже для достаточно больших модулей их интерфейс открывается достаточно быстро, так что думаю, задержек быть не должно.

Для текущего модуля, слова до курсора (исключая комменты и строки, или может быть включая, если в комменте или строке).

Дальше хотелось бы конечно сделать отбор слов в зависимости от контекста, но вот это то пока плохо представляю как сделать, если есть идеи, то не против "послушать".

Автор:  Пётр Кушнир [ Четверг, 20 Март, 2014 14:32 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

Сейчас я при работе с автокомплитом просто заполняю глобальную базу словами, которые ищет текстовый сканнер.
То есть, при работе в двух документах-сырцах доступны все слова из двух документов.
Еще я хотел при загрузке формировать словарь из всех интерфейсных документов модулей, как вы и предлагаете, но боюсь, что без оптимизации контекстозависимости словарь просто забьется нерелевантным мусором.
Этого достаточно для подстановки названий модулей, типов данных, переменных и процедур.
Но, понятно, никакого анализа не реализовано.

Задача анализа, как мне кажется, довольно серьезная. Тут возможны варианты, но так как язык Оберон простой, мне кажется что постоянная компиляция в режиме "догадки" могла бы помочь.

Автор:  adva [ Пятница, 21 Март, 2014 11:09 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

Вроде бы все скомпилировал (правда еще JSon запрощена была)

Чего теперь сделать надо? Почему-то в модуле JediMarkers в комменте anchor обозначени отображением с крестиком

Автор:  adva [ Пятница, 21 Март, 2014 11:14 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

Хотя для JediComply требуется еще kiaLog это где?

Автор:  adva [ Пятница, 21 Март, 2014 11:17 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

Убрал из секии импорта kiaLog , вроде скомпилилось. Так что теперь надо?

Автор:  Пётр Кушнир [ Пятница, 21 Март, 2014 11:31 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

Надо откомпилировать ypk, там лежат модули якорей, для автокомплита нужен только ypkTextProbe, он добавляет обертку контроллера в документ, в котором размещен.

Автор:  adva [ Пятница, 21 Март, 2014 18:20 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

Разместил в документе оба отбражения (PreView anchor и probe)

Но автокомплита не происходит, чего еще может быть? Можешь выложить чистую подсистему с утановленным автокомплитом?

Автор:  Пётр Кушнир [ Пятница, 21 Март, 2014 18:55 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

Для начала можно сравнить загруженные модули: Info > Loaded modules
Код:
JediComply   6595   0   20.03.2014  20:03:58   21.03.2014  19:54:31
JediComplyCache   3386   1   20.03.2014  20:03:58   21.03.2014  19:54:31

ListsOp   3516   1   16.01.2014  20:04:58   21.03.2014  19:54:31
ListsDict   7399   2   10.03.2014  20:00:58   21.03.2014  19:54:31
ListsIterable   1496   3   16.01.2014  20:04:58   21.03.2014  19:54:31
ListsStack   1635   2   16.01.2014  20:04:58   21.03.2014  19:54:31
ListsSet   2717   1   16.01.2014  20:04:58   21.03.2014  19:54:31
ListsLinear   1411   13   16.01.2014  20:04:58   21.03.2014  19:54:31

ypkBusService   972   1   20.03.2014  20:03:58   21.03.2014  19:54:31
ypkDataBlobUntagged   3385   0   20.03.2014  20:04:01   21.03.2014  19:54:31
ypkDataBlobBase   6462   1   20.03.2014  20:03:56   21.03.2014  19:54:31
ypkDataBlob   79   2   20.03.2014  20:03:56   21.03.2014  19:54:31
ypkDynBytes   3110   6   20.03.2014  20:03:51   21.03.2014  19:54:31
ypkTextProbe   8805   1   20.03.2014  20:03:58   21.03.2014  19:54:31
ypkDetails   4663   3   20.03.2014  20:03:56   21.03.2014  19:54:31
ypkBus   57   2   20.03.2014  20:03:57   21.03.2014  19:54:31
ypkSysTry   998   1   20.03.2014  20:03:56   21.03.2014  19:54:31
ypkSysMeta   892   1   20.03.2014  20:03:56   21.03.2014  19:54:31

BSonFileConverter   1549   1   20.03.2014  20:03:52   21.03.2014  19:54:31
BSonConverters   2176   2   20.03.2014  20:03:52   21.03.2014  19:54:31
BSonStdGen   2820   0   20.03.2014  20:03:57   21.03.2014  19:54:31
BSonGenerator   644   4   20.03.2014  20:03:52   21.03.2014  19:54:31
BSonParser   7421   4   20.03.2014  20:03:52   21.03.2014  19:54:31
BSonBaseTypes   616   5   20.03.2014  20:03:51   21.03.2014  19:54:31
BSonModels   4130   5   20.03.2014  20:03:49   21.03.2014  19:54:31

StringsUtf   2205   2   01.09.2013  1:42:28   21.03.2014  19:54:31
StringsDyn   789   8   18.07.2013  12:51:09   21.03.2014  19:54:31
StringsXml   2178   1   15.04.2013  23:17:35   21.03.2014  19:54:31

MsgModuleExt   665   0   20.03.2014  20:04:00   21.03.2014  19:54:31
MsgBus   4791   3   20.03.2014  20:03:56   21.03.2014  19:54:31

Автор:  adva [ Суббота, 22 Март, 2014 05:26 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

Модули сравнил, идентичные (по крайней мере из списка есть все)

Попробовал твой один из первых вариантов (PrivCtrl.odc здесь выложенный), печать передается в лог.

Такое наблюдение: не знаю, поможет ли определить, когда двигаю мышкой, отображения визуально меняются, когда же набираю текст, то нет, т.е. ощущение, что на мышь реагируют, а на клавиатуру нет (ну или так специально сделано).

Может еще какие-то не модули где то должны лежать, и их надо проверить?

Автор:  Пётр Кушнир [ Суббота, 22 Март, 2014 11:40 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

https://dl.dropboxusercontent.com/u/953 ... b-auto.zip

А вы свою сборку тоже скиньте, мне и самому интересно, почему же не работает?

Автор:  adva [ Воскресенье, 23 Март, 2014 09:19 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

О, спасибо, работает (а то думал может в ОС дело, или еще в чем подобном). Попробую сам определить причину, если не получится, то выложу

Автор:  adva [ Понедельник, 24 Март, 2014 18:18 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

Более подробно не было возможности разобраться, но почему-то для моего случая ругалось на остутствие подсистемы JSon. Все подсистемы брал по ссылкам выше (бб использовал, от zinna).

Так и не понял, какая система ее могла использовать, поиск вхождения названия проблемного модуля выдал одинаковые результаты и в проблемном каталоге ББ, и в каталоге Петра.

После того как скопировал подсистемы из "правильного" каталога, проблема ушла, токже проблема решилась, после добавления подсистемы JSon.

Дальше ковыряться не хочется (по крайней мере пока), исходного состояния подсистемы не осталось, поэтому выложить нечего (не догадался скопировать). Если очень надо, попробую воспроизвести, но думаю проблема в том, что не все было скомпилировано (при компиляции ypk, на некотоыре модули выдавались ошибки, но был совет не обращать внимания, я подумал, что так и нужно)

Страница 3 из 3 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/