HippoEDIT homepage Welcome, Guest. Please login or register.
September 07, 2010, 07:38:02 am
Home Help Search Login Register

+  HippoEDIT - Programmers text editor
|-+  Русская Поддержка - Russian Support
| |-+  Общие вопросы (Moderator: alex)
| | |-+  Баги :)
« previous next »
Pages: [1] Print
Author Topic: Баги :)  (Read 525 times)
DrakonHaSh
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 18


View Profile
« on: March 21, 2010, 01:05:57 pm »

версия 1.48.765

1. perl - не учитывается функция qq в результате чего "портится" распознавание кода вида:
Code:
  if ($err<0) {
      print qq|bla ' bla \n\n|.
            qq| bla bla   \n\n|;
      return $err;
   }
т.е. все, что идет после ' считается строкой

2. Поиск регулярного выражения ^. почему-то не учитывает начало строки, т.е. ищет любой символ в строке, а не любой символ в начале строки

3. при нажатии и удержании кнопок перемещения курсора right, left, ctrl-right, ctrl-left курсор не "успевает" двигаться, т.е. стоит на месте и значительно возрастает нагрузка на процессор. похжее поведение и при кнопках up, down

4. в perl по кнопкам ctrl-right доходит до конца строки и дальше (на следующую строку) не идет
« Last Edit: March 21, 2010, 02:05:44 pm by DrakonHaSh » Logged
alex
Developer
Global Moderator
Hero Member
*****

Karma: +19/-2
Offline Offline

Gender: Male
Posts: 1334



View Profile WWW
« Reply #1 on: March 22, 2010, 01:46:23 am »

Спасибо за баг репорт - в основном все воспроизвел.

1. Да, это было не учтено в схеме. Сейчас добавил, плюс подправил Labels для Navigation Bar и добавил еще кое какие дополнительные стили. Схему можно скачать из библиотеки.

2. Это баг. Исправлю в следующей бете 1.48. Гдето через пару дней.

3. Это, вообщето, оптимизация. Когда клавиша жмется долго, каретка обновляеться только в конце... Но так как Вы не первый на это жалуетесь, скорее всего "простой народ" Smiley эту оптимизацию не понимает. Так что в следующей 1.48 подправлю.

4. Здесь не понял. Это переход по словам вправо. У меня прыгает на следующюю строку. Или это тоже что и в пункте 3? Если нет пришлите пожалуйста пример. Возможно проблема в схеме (какой то симdол, не описан как delimiter - такое бывает).
Logged

DrakonHaSh
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 18


View Profile
« Reply #2 on: March 22, 2010, 12:01:53 pm »

1. Да, это было не учтено в схеме. Сейчас добавил, плюс подправил Labels для Navigation Bar и добавил еще кое какие дополнительные стили. Схему можно скачать из библиотеки.
Спасибо, теперь все ок. Но сразу возник новый вопрос/нюанс - новый файл спецификации затирает внесенные мной изменения. Т.е. получается что мне, как пользователю необходимо контролировать каждое обновление программы и вручную переносить изменения в новые конфиги - не очень удобное поведение. Возможно Ваша светлая голова найдет время подумать над этим нюансом. Так навскидку я бы предложил рассмотреть вариант с 2-х уровневыми конфигурационными файлами - "заводскими" и пользовательскими. Причем  пользовательские имели бы высший приоритет и могли переопределять некоторые "заводские" параметры.

4. Здесь не понял. Это переход по словам вправо. У меня прыгает на следующюю строку. Или это тоже что и в пункте 3? Если нет пришлите пожалуйста пример. Возможно проблема в схеме (какой то симdол, не описан как delimiter - такое бывает).
Там файл "линуксовского" типа Smiley Перевод строки - 0x0A
Со стандартным 0x0D 0x0A все работает нормально


еще чуть чуть багов/нюансов схемы XML нашел пока на первый вопрос отвечал:
новый файл perl_spec.xml:
* нюанс: становимся на 4-ю строку внутрь <FILEINFO author="HippoEDIT.com" type="LangSpec"/> - в Hierarchy Bar FILEINFO не попадает, выделения не происходит. В notepad++ поведение заметно более удобное - красиво выделяется весь блок. не критично конечно, но Ваш редактор ближе всего, из всего что я видел, к идеалу. Можно я буду замечать "неидельные" вещи, которые сделаны лучше у "конкурентов"  Smiley ?
* нюанс или баг: становимся на 6-ю строку внутрь <SPECIFICATION> -  в Hierarchy Bar - SPECIFICATION SPECIFICATION. почему 2 раза ? в 5-й строке внутри  <SYNTAX вне нормально
* баг наверное: 20-я строка внутри FORMAT - нет выделения, не попадает в Hierarchy Bar
* тоже баг наверное: строка 11, позиция 19 - EscapeChar не выделяется, в Hierarchy Bar  не попадает
Logged
alex
Developer
Global Moderator
Hero Member
*****

Karma: +19/-2
Offline Offline

Gender: Male
Posts: 1334



View Profile WWW
« Reply #3 on: March 22, 2010, 09:20:39 pm »

1) Смотря что Вы изменяли.
 - Если Вы считаете что Ваши изменения "стандартны", то лучше послать их мне и я внесу их в исталлируемую схему.
 - Если Вы расширили ключевые слова, стили, метки или что то еще, то правильный путь просто отнаследоваться от инсталлирумой схемы и перекрыть то, что Вам не нравиться.
 - Если вы меняли цвета, настройки шрифтов и тд (то что также меняется в UI) то надо менять в xxx_user.xml. Который в принципе и является тем самым пользовательским конфигурационным файлом.
 - Ну или последний вариант, просто скопируйте инсталлируемую схему, переименуйте файл и измените synatx id. Тогда они никогда не перепишутся.

Ну а так - merging of xml не такое простое дело Smiley
Короче - пишите что конкретно Smiley

4) не, перевод строки тут не причем... HippoEDIT хранит текст строками, а перевод строки хранится как параметр строки, и в расчете координат не участвует. Так что шлите пример на supportbox hippoedit com. Ну и само собой документ с 0A я проверил.

Не идеальные вещи замечать можно и нужно Smiley А также что лучше у конкурентов. Тем более с примерами.

По поводу всех проблем с Hierarchy bar и Current scope highlighting, это не баг а просто пока недостаток...
В отличии от Notepad++ (all Scintilla based), HippoEDIT не имеет hardcoded лексеров для каждого языка, а имеет только один динамический, настраиваемый с помощью синтаксической схемы для разных языков. И вот алгоритма по разбору так сказать "симметричных" тегов пока нет (XML like tags). Для HTLM это работает, потому как там набор тегов определенный (как и в спецификации синтаксиса), но те теги которые могут не иметь пары, выбрасывються из разбора.
Короче... Знаем - это в туду Smiley Будет доделано после 1.50.

А SPECIFICATION SPECIFICATION наверное таки баг. Посмотрю - поправлю в 1.48.
FORMAT и  EscapeChar - тоже баг - нет в спецификации. Исправлю. Хотя для EscapeChar например большого смысла добавлять нет.
« Last Edit: March 22, 2010, 09:26:57 pm by alex » Logged

DrakonHaSh
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 18


View Profile
« Reply #4 on: March 23, 2010, 01:24:18 pm »

1) все ясно Smiley
4) файлик в аттаче

по поводу алгоритмов по разбору так сказать "симметричных" тегов XML like tags) да и прочего предлагаю подсмотреть идеи в colorer (опенсорц) - наверное самая лучшая на сей момент в мире система разбора текста для "разукрашек". хотя, думаю, Вы и так про сие чудо знаете.
Примеры реализации:
* far + плагин colorer
* bred 3.0.3U

* execute.pl (1.57 KB - downloaded 26 times.)
Logged
alex
Developer
Global Moderator
Hero Member
*****

Karma: +19/-2
Offline Offline

Gender: Male
Posts: 1334



View Profile WWW
« Reply #5 on: March 23, 2010, 07:42:04 pm »

4) файлик не помог - у меня все работает. Жму Ctrl+Right и прохожу документ по словам из начала в конец. Переход на след строку переходит нормально. Так что давайте по шагам: куда поставить курсор, что нажать.

Про colorer я конечно знаю Smiley exUSSR лицензия HE это переработанная exUSSR лицензия FAR.
Да, в colorer самая мощная система описания расскраски. Я смотрел его схемы, и кое какие идеи использовал в HE. Но напрямую использовать те же алгоритмы (regexp based) мне не подходит. Регулярные выражения на порядок медленнее оптимизированных автоматов (попробуйте открыть большой файл в colorer, там специально введены ограничения на величину блока для парсинга). Но скорее всего, мне таки придется как то включить поддержку регулярных выражений в описание синтаксиса. Существуют ситуации которые описать текущими средствами HE сложно, а писать для каждого случая свой автомат как то желания нет Smiley Но там надо будет что то думать чтоб все остальное не затормозить.
Но за совет спасибо, может перед имплементацией разборки xml я гляну еще раз, хуже не будет.
Кстати есть еще плагин для Eclipse c расскраской на движке colorer.
Logged

DrakonHaSh
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 18


View Profile
« Reply #6 on: March 24, 2010, 08:55:26 pm »

4) буду искать закономерность. у меня на обоих компах имено такое поведение, но настройки и набор сопуствующих обстоятельств примерно одинаков. если закономерность выявлю - конечно сообщу

насчет колорера и вообще программы в целом желаю много вдохновения, энтузиазма и, естественно, море бабла Wink

огромное спасибо за ответы и за великолепный редактор !
Logged
alex
Developer
Global Moderator
Hero Member
*****

Karma: +19/-2
Offline Offline

Gender: Male
Posts: 1334



View Profile WWW
« Reply #7 on: March 24, 2010, 11:21:09 pm »

Спасибо за пожелания Smiley Я сделаю все что смогу.

а с ошибкой - вышлите мне все Ваши файлы настроек: hippoedit.config + \data + \workspaces каталоги. Может делов в настройках: supportbox hipppoedit com.
Чудес не бывает - причина должна быть Smiley
Logged

DrakonHaSh
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 18


View Profile
« Reply #8 on: March 29, 2010, 12:06:34 pm »

насчет Ctrl+Right - проблема оказалась в Tools - Sintax setting (Perl) - [X] Virtual space
(видимо глюк)


Quote
Регулярные выражения на порядок медленнее оптимизированных автоматов (попробуйте открыть большой файл в colorer, там специально введены ограничения на величину блока для парсинга). Но скорее всего, мне таки придется как то включить поддержку регулярных выражений в описание синтаксиса
глянте:
http://groups.google.com/group/colorer_ru/browse_thread/thread/b0f970620fb56c69
возможно найдете что нить для себя интересное Wink
Logged
alex
Developer
Global Moderator
Hero Member
*****

Karma: +19/-2
Offline Offline

Gender: Male
Posts: 1334



View Profile WWW
« Reply #9 on: March 29, 2010, 08:28:33 pm »

Quote
насчет Ctrl+Right - проблема оказалась в Tools - Sintax setting (Perl) - [X] Virtual space
нет. Это баг. Исправлю в новой бете.

За ссылку спасибо - интересно. В хиппоедит используються boost regexp. Это полноциальная библиотека, с обратным обратным поиском и тд. Так что если что использоваться будует она. Или boost xpressive, она в принципе может быть быстрее.
Logged

DrakonHaSh
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 18


View Profile
« Reply #10 on: April 20, 2010, 10:34:16 am »

1.48.768

бага:
поиск по f3 не учитывает опции [Wrap Search] - ищет в любом случае по кругу
Logged
alex
Developer
Global Moderator
Hero Member
*****

Karma: +19/-2
Offline Offline

Gender: Male
Posts: 1334



View Profile WWW
« Reply #11 on: April 20, 2010, 02:21:53 pm »

Вообщето, это нак и было задумано... Многие даже не знают про Wrap Search...
Но поговорив с коллегами решил, что да, наверное лучше таки выдерживатъ те же настройки что и в диалоге поиска.
Так что исправлю в следующей 1.48.
Logged

Pages: [1] Print 
« previous next »
Jump to:  


Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC