Модераторы: Vitalik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Дальнейшая судьба CustomData (произв. параметры), Нужно как можно больше мнений ;-) 
:(
    Опции темы
 
Нужен ли CustomData в UniHighlighter?
Конечно, нужен! (уже использую или может пригодиться) [ 6 ]  [75.00%]
Пусть будет, он мне не мешает.. [ 1 ]  [12.50%]
Лучше, наверное, было бы без него.. [ 0 ]  [0.00%]
Нет, он здесь явно лишний! [ 1 ]  [12.50%]
Всего проголосовавших: 8
В этом опросе возможен один вариант ответа
Гости не могут голосовать 
Vitalik
Дата 2.8.2006, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Координатор проекта
Сообщений: 653
Регистрация: 8.11.2004
Где: Ukraine, Kharkov

Репутация: 9
Всего: 12



Добрый день, дорогие пользователи компонента UniHighlighter!

Как часто бывает при длительной разработке каких-то программ или компонентов, сложилась неоднозначная ситуация по поводу новой возможности, добавленной в UniHighlighter 2.0 Beta4. Это возможность хранения в компоненте подсветки UniHighlighter дополнительной произвольной информации (подробнее можно прочитать в теме "Хранение произвольных параметров в подсветке").

А проблема, касающая этой возможности заключается в следующем: одним пользователям эта возможность просто необходима, а другим очень мешает smile
Для выхода из положения весь код, который касается этой возможности (CustomData) был заключен в директивы {$IFDEF CUSTOMDATA}...{$ENDIF}, поэтому, чтобы установить компонент БЕЗ этой возможности нужно просто перед установкой закоментировать в файле SynUniHighlighter.inc строчку {$DEFINE CUSTOMDATA}. После этого ни единого упоминания о CustomData в UniHighlighter не останется (ни объявления, ни использования, ни сохранения/загрузки). Это уже, кстати, сделано в UniHighlighter 2.0 Beta4.

Так же в последующих версиях компонента UniHighlighter 2.0 BetaX/Stable эта возможность по умолчанию будет в отключенном состоянии. Так как следующие бета-версии 2.0 нужны в основном для стабилизации компонента и решения проблем совместимости, а не для реализации новых возможностей. Последние будут со временем выложены в действительно новой версии компонента (2.1, 2.2 или может быть еще больше) smile

Но что сделать с этой возможностью после стабилизации версии 2.0 компонента?
  • включить в официальную сборку, то есть по умолчанию эта возможность будет включена, но ее можно будет отключить (первые два варианта голосования)
  • сделать по умолчанию эту возможность отключенной, желающие ее использовать должны будут включить ее с помощью файла SynUniHighlighter.inc (последние два варианта голосования)
Считаю необходимым заметить, что на саму подсветку это никоим образом не влияет, и на считывание и загрузку из файла тоже оказывает минимальное воздействие. Но если по умолчанию эту возможность отключить, то возникнут казусы и не стыковки при использовании программ написанных на одной и той же версии компонента. 
Например, одна программа (которая использует CustomData) записала в подсветку эту дополнительную информацию. А другая (которая не использует CustomData) считала эту подсветку и перезаписала. В итоге информация о CustomData пропала в никуда.. :-(

Собственно я голосую за первый вариант, а Quadr0, скорее всего, за последний smile


P.S. Просьба по возможности писать хотя бы небольшие сообщения с написанием пункта, за который Вы проголосовали smile
P.P.S Ну а если вы напишите даже причину или объяснение своего голоса, то это будет просто замечательно  smile 

Изменение:
Поправил ссылки, а то форум, почему-то их портит.. smile

Это сообщение отредактировал(а) Vitalik - 2.8.2006, 14:32
PM MAIL WWW ICQ YIM   Вверх
Vitalik
Дата 2.8.2006, 13:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Координатор проекта
Сообщений: 653
Регистрация: 8.11.2004
Где: Ukraine, Kharkov

Репутация: 9
Всего: 12



Собственно, хотелось бы отметить, что использование этой возможности (CustomData) имеет очень большое поле для фантазии. Приведу несколько характерных примеров:
  • Как писалось в теме "Хранение произвольных параметров в подсветке" можно хранить в подсветке символы комментариев, характерные для языка подсветки, можно хранить регулярные выражения для доставания переменных и функций из текста.
  • Можно хранить какие-то дополнительные шрифтовые или настроечные данные, характерные для подсвечиваемого языка, например, в log-файлах можно было бы задать размер шрифта помельче, а в файлах C# включить умную клавишу Home smile
  • Можно также хранить такие данные, как например, цвет текста и фона при подсветке парных скобок, или какие-нибудь другие дополнительные цвета, которые можно использовать в СВОЕЙ программе, но которые не являются стандартными для всех случаев жизни (например, цвет выделения строки, содержащей закладку, цвет выделения при потере фокуса у приложения и т.п., и т.д.)

Изменение:
Поправил ссылку, а то форум, почему-то их портит.. smile

Это сообщение отредактировал(а) Vitalik - 2.8.2006, 14:34
PM MAIL WWW ICQ YIM   Вверх
jasny
Дата 2.8.2006, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 30.11.2004

Репутация: нет
Всего: нет



Значить Виталик меня просил, здесь оставить свои мысли по поводу (и без оного).

Итак мысль первая и самая важная - всех редакторописатетей фтопку! 

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

И, повторяясь, ежели чел хочет на что-то посмотреть в тотале, то пусть нажмет F3, а если хочет поредактировать , то пальцы так и тянуться к F4.

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

Так как из моего велеречивого сообщения не понять как я проголосую, то поясняю, я проголосовал за пункт 1, но как всегда со своими дополнениями smile.
PM MAIL   Вверх
Vitalik
Дата 2.8.2006, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Координатор проекта
Сообщений: 653
Регистрация: 8.11.2004
Где: Ukraine, Kharkov

Репутация: 9
Всего: 12



Цитата(jasny @  2.8.2006,  13:45 Найти цитируемый пост)
Я не поддерживаю смесь ужа и ежа и если челу хочется потренироваться в программировании, то путь не пытается пришить свое (безусловно гениальное) творение к листеру коммандера, у которого одно единственное предназначение - просмотр. И, повторяясь, ежели чел хочет на что-то посмотреть в тотале, то пусть нажмет F3, а если хочет поредактировать , то пальцы так и тянуться к F4.

Только это по идее касается не столько компонента, сколько программ, которые его используют, а если конкретнее то Lister-плагинов к Total Commander'у: Syn и SynPlus  smile 
PM MAIL WWW ICQ YIM   Вверх
Sep.
Дата 2.8.2006, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 109
Регистрация: 22.7.2004

Репутация: 6
Всего: 6



Если она не сильно мешает, лучше ее по умолчанию включить. А то если выключена, то это ведь равносильно написанию прог которые бы затирали CodeFolding правила в подсветке. CustomData надеюсь перерастет когда нибудь также в стандартизированную структуру, и не будет выглядеть как будто это левые данные чужой программы которые мне совершенно не нужны. =)
Цитата

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

На кого это такие грязные намеки? =) После пары лет пользования SynPlus быстро отучаешься нажимать F4. А для тех кто любит просто смотреть уже ведь есть SciLister и т.д. 
Цитата

Итак у нас есть файл, хранящий конфигурационную информацию по подсветке, а надо еще чего настроечного хранить. Надо подумать над единым конфигурационным файлом, который может хранить разнородную конфигурационную информацию, в том числе и информацию по подсветкам.

Так идея то не нова. Это ж просто сделали как у SciTE было уже давно. Там для каждого языка есть файл в котором лежат и цвета и параметры связанные с языком. И люди не жалуются. А ты хочешь все эти параметры вынуть и в другой файл положить, отдельный?
--------------------
Syn - TotalCommander lister plugin |  SynTree - coders sourcebook  
PM MAIL   Вверх
Vitalik
Дата 2.8.2006, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Координатор проекта
Сообщений: 653
Регистрация: 8.11.2004
Где: Ukraine, Kharkov

Репутация: 9
Всего: 12



Чтобы внести небольшую ясность по поводу мнения jasny, процитирую некоторые наши сообщения из аськи smile

JASNY: не понял примеров, зачем они нужны smile

Vitalik: Подсветка теперь сможет хранить в себе не только собственно правила для подсветки, но что-то еще. При чем это "что-то еще" будет трактовать уже сам разработчик (пользователь компонента) smile

JASNY: я почитатель пронципа бритвы оккама
и соответсвенно думаю, что не надо ничего лишнего пихать в подсветку
ты же , как я понимаю собираешься написать движок какой-то - от этого пострадает скорость и ошибкоемкость (о! какое слово smile), но зато будет универсально
я правильно тебя понимаю?


Vitalik: Движка как такового нету.. Все это уже работает, скорость (на сколько мне известно) не страдает совершенно smile
Но можешь об этом спросить на форуме и я тебе там отвечу, чтобы другие пользователи так тоже не подумали smile


JASNY: позволь мне немного примеров зачем тебе хранить еще какие-то произвольные данные?
и кстати для произвольных данных надо хранить их обработку?


Vitalik: Обработка уже будет ВНЕ компонента smile
В компоненте - только просто банальное хранение smile
Просто это нужно было для SynPlus и для нового плагина Syn smile
В Syn используется первый пример, в SynPlus когда-то очень давно хотелось использовать второй smile


JASNY: так просто тебя просячт, чтобы ты в файлах подсветки хранил дополнительные данные для других надобностей, типа сделать из файла подстветки своеобразный инишник?
дабы не плодить конфигурационные файлы? тада я за


Vitalik: Ага, ты все правильно понял smile

JASNY: гы, счас проголосую

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

PM MAIL WWW ICQ YIM   Вверх
jasny
Дата 2.8.2006, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 30.11.2004

Репутация: нет
Всего: нет



Цитата(Sep. @  2.8.2006,  15:11 Найти цитируемый пост)
Так идея то не нова. Это ж просто сделали как у SciTE было уже давно. Там для каждого языка есть файл в котором лежат и цвета и параметры связанные с языком. И люди не жалуются. А ты хочешь все эти параметры вынуть и в другой файл положить, отдельный? 


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

а насчет грязных намеков.... 

я давным-давно на заре SynPlus-a (или тогда еще был SynEdit) общался с Сергем Черных, тестируя его компонент (кстати мой ник есть даже в ебауте smile ) и убеждая не превращать свою dll-ку в редактор. он меня не послушал - ну как бы его право он писатель.

а чисто редакторскиъх возможностей synplus мне не хватает, я им как редактором не пользовался и не собираюсь.
PM MAIL   Вверх
Sagara
Дата 2.8.2006, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 25.7.2005

Репутация: нет
Всего: нет



IMHO такие дополнительные данные нужны для многих полезных фич по редактированию текста, например, тот же самый comment/uncomment block of code. Проголосовал за 1.
PM   Вверх
Seldon
Дата 4.8.2006, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 23.12.2005
Где: Minsk

Репутация: 2
Всего: 2



проголосовал за 1

интересно, а чем эта возможность может мешать?
--------------------
MiBEditor v2.Alpha 10 - Программерский редактор
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | SynUniHighlighter и SynEdit | Следующая тема »


 




[ Время генерации скрипта: 0.1351 ]   [ Использовано запросов: 23 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.