Coder plugin (2)
- Author
- Message
-
Offline
- Posts: 876
- Joined: Tue Jul 24, 2007 8:54 am
Пожелание: переформулировать выносящее мозг сообщение
Oh shit. Мы же все-таки не под Юниксом
на что-то более приближенное к истинной причине, например, "Текущая тема %theme_name% не содержит переменной %var_name%", а в идеале - еще и "Добавить значение из темы по умолчанию? Д/Н". Потому как в текущей ситуации приходится сначала усиленно напрячь телепатор, чтобы понять, чего же программе не нравится, потом открыть интерфейс настройки тем, не найти там средства быстро актуализировать имеющуюся тему, почесать репу, перекреститься и полезть править тему вручную, увидеть, что она представляет из себя нечитаемый кусок бинарных данных, сдержать стон, вернуться в интерфейс и вручную вбить все недостающие переменные (копируя их названия из мессаджбоксов, которые будут выдаваться второй параллельной копией Акеля, в третью копию Акеля и затем обратно в первую).---------------------------
Coder плагин
---------------------------
"xml.coder" содержит неизвестную переменную "${HighLight_LineBorderColor}"
---------------------------
Oh shit. Мы же все-таки не под Юниксом
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
Изменено: требуется LineBoard v11.2 или выше.
Изменено: корректировка положения окна дополнения (Coder::AutoComplete).
Changed: required LineBoard v11.2 or higher.
Changed: correction of auto-complete window position(Coder::AutoComplete).
Coder plugin v12.4
Изменено: корректировка положения окна дополнения (Coder::AutoComplete).
Changed: required LineBoard v11.2 or higher.
Changed: correction of auto-complete window position(Coder::AutoComplete).
Coder plugin v12.4
-
Offline
- Posts: 381
- Joined: Wed Sep 28, 2011 3:05 pm
Instructor
В той части обсуждения вы говорите, что
В той части обсуждения вы говорите, что
Я как раз и прошу такую возможность - чтобы аббревиатуры, содержащие разделители могли появляться в окне автодополнения.Из вышеизложенного следует, что аббревиатуры, содержащие разделители, не могут быть выведены в "окошко выбора варианта" .
-
Offline
- Posts: 582
- Joined: Mon Apr 08, 2013 9:50 pm
- Location: Win7SP1x64, APx64
Cuprum, Instructor же уже рассказал алгоритм работы автодополнения:
1. парсер от последнего напечатанного символа идёт влево до тех пор, пока не упирается в любой "стоп-символ". И пробел установлен как 1 из стоп-символов.
2. строку от стоп-символа до последнего напечатанного символа он копирует в память.
3. происходит поиск скопированного куска на частичное совпадение со строками из "словаря" (правила автозавершений).
4. если поисковые вхождения скопированной строки найдены в словаре - они добавляются в список, который потом отобразится пользователю.
5. все варианты из списка валидных вхождений - выводятся пользователю в окно автозавершения.
Если не менять текущего алгоритма работы автозавершения, а просто убрать пробел из списка стоп-символов, то парсер будет идти влево до какого-нибудь другого стоп-символа и, вероятней всего, дойдёт аж до начала строки.
В таком случае на шаге 2. скопированной строкой будет всё от начала строки до последнего напечатанного символа. И вряд ли на шаге 3. будут найдены какие-либо вхождения.
Предлагаю всеобщему вниманию простейший вариант решения данной проблемы:
надо сделать так, чтобы парсер после того, как он сдвигаясь влево упирался в стоп-символ (например, пробел) - не останавливался насовсем, а выполнял бы шаги 3. и 4., но потом продолжал бы движение влево (снова останавливаясь на каждом стоп-символе и снова выполняя шаги 3. и 4.). А останавливался бы насовсем только когда упрётся или в символ начала строки, или символ начала документа.
Плюсом такого подхода станет поддержка фраз для автозавершения.
Минусом такого подхода станет то, что увеличится объём работы для парсера, а значит и время на составление списка автозавершения. Но тут возможна оптимизация: можно было бы сделать в пункте 4 не составление нового списка с нуля, а через отбрасывание всех явно не подходящих вариантов из словаря и тогда парсер сможет остановиться не только тогда, когда упрётся в начало строки/документа, а и в случае, если в словаре больше не осталось потенциально подходящих вариантов.
1. парсер от последнего напечатанного символа идёт влево до тех пор, пока не упирается в любой "стоп-символ". И пробел установлен как 1 из стоп-символов.
2. строку от стоп-символа до последнего напечатанного символа он копирует в память.
3. происходит поиск скопированного куска на частичное совпадение со строками из "словаря" (правила автозавершений).
4. если поисковые вхождения скопированной строки найдены в словаре - они добавляются в список, который потом отобразится пользователю.
5. все варианты из списка валидных вхождений - выводятся пользователю в окно автозавершения.
Если не менять текущего алгоритма работы автозавершения, а просто убрать пробел из списка стоп-символов, то парсер будет идти влево до какого-нибудь другого стоп-символа и, вероятней всего, дойдёт аж до начала строки.
В таком случае на шаге 2. скопированной строкой будет всё от начала строки до последнего напечатанного символа. И вряд ли на шаге 3. будут найдены какие-либо вхождения.
Предлагаю всеобщему вниманию простейший вариант решения данной проблемы:
надо сделать так, чтобы парсер после того, как он сдвигаясь влево упирался в стоп-символ (например, пробел) - не останавливался насовсем, а выполнял бы шаги 3. и 4., но потом продолжал бы движение влево (снова останавливаясь на каждом стоп-символе и снова выполняя шаги 3. и 4.). А останавливался бы насовсем только когда упрётся или в символ начала строки, или символ начала документа.
Плюсом такого подхода станет поддержка фраз для автозавершения.
Минусом такого подхода станет то, что увеличится объём работы для парсера, а значит и время на составление списка автозавершения. Но тут возможна оптимизация: можно было бы сделать в пункте 4 не составление нового списка с нуля, а через отбрасывание всех явно не подходящих вариантов из словаря и тогда парсер сможет остановиться не только тогда, когда упрётся в начало строки/документа, а и в случае, если в словаре больше не осталось потенциально подходящих вариантов.
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
Coder plugin v12.4Andrey_A_A wrote:Курсор находится на нижних строках, а автоокно съезжает за экран и слова не вставить.
Добавлено.Skif_off wrote:... ломается структура.
-
Offline
- Posts: 670
- Joined: Thu Jun 03, 2010 8:47 am
- Location: Сочи, Хоста
- Contact:
Instructor
Спасибо, теперь работает хорошо кстати шрифт стал поменьше чем в основном окне (это очень даже отлично).
Может когда-то дойдёт и до этих желаний:
viewtopic.php?p=23199#p23199
Спасибо, теперь работает хорошо кстати шрифт стал поменьше чем в основном окне (это очень даже отлично).
Может когда-то дойдёт и до этих желаний:
viewtopic.php?p=23199#p23199
-
Offline
- Posts: 381
- Joined: Wed Sep 28, 2011 3:05 pm
-
Offline
- Posts: 381
- Joined: Wed Sep 28, 2011 3:05 pm
Drugmix
А вот если вставить пробел между fl и float:; то в подсказке видно только fl.
Хорошая мысль. Но вот пока работает только если использовать символ "_":почему бы просто не продублировать эту инфу в конце аббревиатуры
Code: Select all
$~fl_float:;
float:$[];