OberonCore
https://forum.oberoncore.ru/

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

Автор:  Пётр Кушнир [ Вторник, 27 Август, 2013 13:18 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

От себя добавлю - автозаполнение секции импорта при вводе пользователем имени нового модуля.

Автор:  Иван Денисов [ Вторник, 27 Август, 2013 15:02 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

Предлагаю встроить навигатор по процедурам модуля в твою обертку, чтобы при нажатии определенной комбинации текст заменялся на этот навигатор. А при нажатии на процедуру переходил у нужной позиции.

Автор:  Пётр Кушнир [ Вторник, 27 Август, 2013 15:28 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

Во, точно, превращение произвольного идентификатора в ссылку на его исходник (или документацию). В эклипсе сделано превращение в ссылку по нажатию Ctrl кажется. Довольно удобно.
Иван Денисов писал(а):
Предлагаю встроить навигатор по процедурам модуля в твою обертку, чтобы при нажатии определенной комбинации текст заменялся на этот навигатор. А при нажатии на процедуру переходил у нужной позиции.
Лично мне навигатор удобнее держать в отдельном окне, всё же. А как будет выглядеть навигация в твоём сценарии? Может удобнее будет сделать интерактивный поиск по строке, как это реализовано в браузерах?

Автор:  Иван Кузьмицкий [ Вторник, 27 Август, 2013 19:51 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

1) Часто бывает, что процедура объявлена ниже, чем её первый вызов. Её же не видно за пределами экрана. Поэтому удобно было бы не только автоматически дописать имя процедуры, но и сразу же обозначить неправильную ситуацию.

2) Иногда я при формировании алгоритма сперва пишу вызовы, а лишь потом оформляю сами процедуры. При этом, автодополнятор мог бы задать вопрос, "а не сгенерить ли процедуру?".

P.S.
3) Зачастую, при написании вызова процедуры, не помнишь её сигнатуру. Интеллисенсы вроде как открывают окошко с подсказками, а тут можно было бы автоматически подставить все необходимые переменные сразу, буде таковые найдены поблизости.

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

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

Иван Кузьмицкий писал(а):
2) Иногда я при формировании алгоритма сперва пишу вызовы, а лишь потом оформляю сами процедуры. При этом, автодополнятор мог бы задать вопрос, "а не сгенерить ли процедуру?".

Прямо посреди пустого места в документе пишешь, например:
Код:
Log.String('this');
:?:
Не проще ли в будущем воспользоваться сгенерированной в три нажатия клавиш процедурой?
Иван Кузьмицкий писал(а):
3) Зачастую, при написании вызова процедуры, не помнишь её сигнатуру. Интеллисенсы вроде как открывают окошко с подсказками, а тут можно было бы автоматически подставить все необходимые переменные сразу, буде таковые найдены поблизости.
Пробовал такое в Эклипс, угадывает процентов 40 нужных переменных.

Автор:  Иван Денисов [ Вторник, 27 Август, 2013 20:47 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

Пётр Кушнир писал(а):
Во, точно, превращение произвольного идентификатора в ссылку на его исходник (или документацию). В эклипсе сделано превращение в ссылку по нажатию Ctrl кажется. Довольно удобно.
Иван Денисов писал(а):
Предлагаю встроить навигатор по процедурам модуля в твою обертку, чтобы при нажатии определенной комбинации текст заменялся на этот навигатор. А при нажатии на процедуру переходил у нужной позиции.
Лично мне навигатор удобнее держать в отдельном окне, всё же. А как будет выглядеть навигация в твоём сценарии? Может удобнее будет сделать интерактивный поиск по строке, как это реализовано в браузерах?

Алгоритм работы: Хочешь перейти к определенной процедуре? Нажимаешь Ctrl+L, текст заменяется на содержимое окна Навигатор. Находишь нужную процедуру, нажимаешь ее, тебя перебрасывает на нужное место в тексте в том-же окне. Было бы супер.

Автор:  Пётр Кушнир [ Вторник, 27 Август, 2013 21:53 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

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

Автор:  Иван Кузьмицкий [ Среда, 28 Август, 2013 12:54 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

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

Пётр Кушнир писал(а):
Прямо посреди пустого места в документе пишешь, например:
Код:
Log.String('this');
:?:
Не проще ли в будущем воспользоваться сгенерированной в три нажатия клавиш процедурой?

Например, я только что написал:
Код:
SternActions.Do(UpdateFeedEvent)
Процедуры UpdateFeedEvent ещё нет, её вполне можно автоматически сгенерировать (чуть выше по коду относительно того места, где только что я напечатал), на основе сведений из сигнатуры SternActions.Do.

Автор:  Пётр Кушнир [ Среда, 28 Август, 2013 13:59 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

Иван Кузьмицкий писал(а):
Например, я только что написал:
Код:
SternActions.Do(UpdateFeedEvent)

Процедуры UpdateFeedEvent ещё нет, её вполне можно автоматически сгенерировать (чуть выше по коду относительно того места, где только что я напечатал), на основе сведений из сигнатуры SternActions.Do.
А, понятно. Ещё можно переменные заводить по тому же сценарию.

Автор:  Иван Кузьмицкий [ Четверг, 29 Август, 2013 12:31 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

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

Автор:  Пётр Кушнир [ Пятница, 30 Август, 2013 19:46 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

Ввести первые две буквы и подтвердить подбор слова нажатием Enter? Легко, если у вас есть обёртка контроллера текстового документа.

Автор:  Пётр Кушнир [ Пятница, 30 Август, 2013 19:49 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

Сегодня мы поняли, что для автораскраски годятся несохраняемые расширения стандартных аттрибутов TextModels.

Автор:  Пётр Кушнир [ Пятница, 30 Август, 2013 20:22 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

Судя по тому, что из 30-ти ответов за неделю половина мои, на форуме было веселее и интереснее, когда автокомплита в ББ не было даже в планах. :mrgreen:

Автор:  Иван Денисов [ Суббота, 31 Август, 2013 06:17 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

Пётр Кушнир писал(а):
Судя по тому, что из 30-ти ответов за неделю половина мои, на форуме было веселее и интереснее, когда автокомплита в ББ не было даже в планах. :mrgreen:

Все замерли в ожидании :) ну и, конечно, в шоке, что кто-то чего-то делает...

Автор:  Info21 [ Суббота, 31 Август, 2013 08:11 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

Иван Кузьмицкий писал(а):
После того, как ставишь звёздочку экспорта, выделять жирным экспортированное имя.
Вот это легко навесить на ту же F5.

Автор:  Пётр Кушнир [ Пятница, 06 Сентябрь, 2013 14:42 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

Скрестив ужа с ежом получил на выходе наивный бинарный велосипед помогающий быстрому подбору продолжений слов, которые набирает пользователь. Пока что укладываюсь в жёсткие рамки мгновенной реакции (до 0.2 секунды) на ввод символов.
Предыдущий вариант был построен на списках и в процессе работы начинал безудержно толстеть и подтормаживать сборку мусора. А теперь всё лежит в бинарном виде и быстро парсится по факту.
Хотел сначала использовать Stores, но потом понял, что не представляю, как простыми средствами сделать пропуск чтения большинства внутренних Stores без прерывания процесса чтения внешней Store.

Автор:  Борис Рюмшин [ Пятница, 06 Сентябрь, 2013 15:22 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

BSON в MongoDB, если я не ошибаюсь, и применяется для хранения и обработки "документов". А не только для передачи по сети.

А опыт хороший.

Автор:  Борис Рюмшин [ Пятница, 06 Сентябрь, 2013 15:23 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

Кстати, а какие объёмы?

Автор:  Пётр Кушнир [ Пятница, 06 Сентябрь, 2013 16:03 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

Я проверял на списке из 50-ти тысяч слов, загрузка получалась долгой (её я не оптимизировал :mrgreen: ), перерасход памяти один к десяти, но в процессе работы варианты он мне подставлял мгновенно, там у меня механизм специальный, который не позволяет механизму подбора слова работать дольше 200 миллисекунд, иначе выдаёт ошибку, так вот он ни разу не выдавал такую ошибку.

А для исходников объёмы уникальных слов у меня пока совсем маленькие, 200-400 уникальных слов в рамках модулей одной подсистемы получается. Это без всяких синтаксических анализаторов оберона, просто слова из исходников. Думаю, для автокомплита исходников производительность достаточная.

Вот думаю, может натравить парсер на каталог ББ, чтобы он сформировал кэш, ведь большинство подсистем никогда не меняются.

Автор:  Иван Денисов [ Среда, 01 Январь, 2014 16:04 ]
Заголовок сообщения:  Re: Предпосылки для подсветки скобок, автокомплита, и прочег

Пётр, а где лежит итог твоих усилий по обертке и автокомплиту?

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