Syn (Lister plugin)
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
Открываешь программой любой файл cpp, нажимаешь на маленькую стрелочку рядом с изображением лампочки на панели инструментов. Выбираешь пункт Cpp.hgl (он должен выбраться автоматически, но лучше перестраховаться). Теперь нажимаешь на саму лампочку. Открывается диалог настройки схем подсветки. Слева - дерево правил. Самый нижний пунк в нем - это правила свертывания (две синие стрелки). Выбираешь его, нажимаешь на кнопку Add Fold Region, добавляется правило. Присваиваешь этому правилу имя, и выставляешь значения: Open="{", Close="}". Верхний переключатель ставишь в положение Character (т.к. открывающий тег - один символ). Нижние чекбоксы - Добавлять закрывающий тег при закрытии; Не создавать подуровни; Ключевое слово может быть частью слова. Отметить надо только первую галочку.
Теперь также создаёшь правило для условий препроцессора (#if ... #endif). Верхний переключатель - в положении Keyword (ключевое слово).
И ещё для коментариев (/* ... */). Второй чекбокс отмечен (подуровни не нужны). Нажимаешь OK. На всякий случай перезапускаешь Syn.
Конец.
PS. Прости, если писал слишком подробно, но писал не столько для тебя, сколько для всех тех, кто никогда не правил схемы SynPlus и не знает английского языка.
Теперь также создаёшь правило для условий препроцессора (#if ... #endif). Верхний переключатель - в положении Keyword (ключевое слово).
И ещё для коментариев (/* ... */). Второй чекбокс отмечен (подуровни не нужны). Нажимаешь OK. На всякий случай перезапускаешь Syn.
Конец.
PS. Прости, если писал слишком подробно, но писал не столько для тебя, сколько для всех тех, кто никогда не правил схемы SynPlus и не знает английского языка.
Митяй, сорри, должен покинуть форум, если не трудно, отмыль на bbrandin@yandex.ru
Митяй писал(а):Если сравнивать Syn и SynPlus, то окажется, что Syn уже обошел своего конкурента (нагло стащив всё что мог) ...
Syn и SynPlus сделаны на одном движке схем подсветки, в разработке которого участвует Vitalik - соавтор SynPlus вместе с SCHMaster именно по этой части. Только SCHMaster в последнее время сильно неудовлетворен взаимодействием с Vitalik-ом и функционал схем подсветки в SynPlus правит сам, особо кардинально ничего не меняя. Однако, Vitalik и компания, видимо, продолжают менять движок схем подсветки. И как раз новый вариант и успользуется в Syn.Митяй писал(а):- Автор стащил у создателей SynPlus диалог настройки схем подсветки ...
Проверь detect-строку в wincmd.ini.Митяй писал(а):- у меня дома плагин упорно не хочет загружаться по F3 ...
Добавь в detect-строку плагина в wincmd.ini:Sam Dark писал(а):2. Как не открывать плагином txt?
Код: Выделить всё
& ext!="TXT"Если он и новый, то очень уж какой-то глючный. Обрати внимание на то, что я писал про схему подсветки HGL и про копирование диапазона. А диалог управления схемами подсветки нужно было вставить обязательно. Иначе менять расширения ассоциированных файлов можно только вручную.Batya писал(а):И как раз новый вариант и успользуется в Syn.
Это я сделал в первую очередь. И даже переместил плагин на первое место в списке. Но он упорно не загружался. Приду домой, попробую ещё раз.Batya писал(а):Проверь detect-строку в wincmd.ini.
будем правитьBatya писал(а):Падает на ReadOnly-файлах.
К сожалению не планируется.Англоязычный интерфейс напрягает, но думаю это будет исправлено в следующих версиях.
багExe-файл невозможно запустить без параметров.
Можно поменять в подсветке, по умолчанию(для правила root)Добавить возможность менять шрифт на жирный.
Дизайнер не мой. Используется наиболее стабильная версия 1.8, которая не может пока править асоциированные расширения. Могу подключить дизайнер 2.0 который может, но в нем больше багов. (Посмотреть на дизайнер 2.0 можете в моей проге SynTree)Диалог настройки схем подсветки сделан коряво.
добавлю кнопкуПоле с номерами строк и поле с вложенными уровнями - это разные вещи
Попробуй поменять шрифт на гутере. Считается что он должен быть точно таким же как и в текстовой области, по крайней мере ширина символов. Некоторые шрифты сочетаются, но большинство нет, даже если подгонять их размеры.В больших файлах поле с номерами строк расширяется, а поле с вложенными уровнями за счёт этого сжимается и крестики и линии становятся плохо видны.
Планируется. Пока не было реализовано т.к. надо менять размеры не плагина, а листера. Интерфейс это не позволяет, надо морочится с WinAPIПрограмма должна запоминать размер и положение окна при закрытии и восстанавливаться при следующем запуске.
Для меня это в первую очередь редактор. Зачем режим только чтение никогда не понимал, тебя же не просят Save нажимать.В листере должен включаться режим только-чтение.
Считается что ты не будешь убирать кнопки, если ты ими пользуешься. Места для панелей много.Должена быть возможность доступа ко всем коммандам из какого-нибудь меню.
Именно так, как всегда о последних продвижениях на фронте можете прочесть здесьОднако, Vitalik и компания, видимо, продолжают менять движок схем подсветки. И как раз новый вариант и успользуется в Syn.
Теперь к главному:
Спасибо ER2 запостил в комментах
Это похоже глюк каспера. syn.exe написан на KOL/MCK и даже если пустую форму скомпилировать - каспер ругается. У меня была версия KOL 1.80, скачал последнюю 2.30 - то же самое =( Пока не знаю что придумать, кого смущает - сотрите syn.exe. Каспер говорит, что у меня винт чистый. А был бы это по правде вирь - он бы размножался как то...толи каспер глючит, толи в архиве вирь сидит
Trojan-PSW.Win32.Lineage.mz
Если кто знает как помочь, подскажите. Пока у меня идея только пожать каким нибудь ASpack'ом екзешник с шифрацией, чтобы сигнатура не определялась. Если есть программеры, подскажите ругается ли у вас каспер на проги под KOL? На сайте KOL есть демо проги (http://bonanzas.rinet.ru/e_demos.htm) но они скомпилированы под Delphi5 и видимо по этому с ними каспер молчит. У меня есть только 7ка =(
- Vitalik
- Сообщения: 21
- Зарегистрирован: Ср дек 15, 2004 00:56
- Откуда: Украина, Харьков
- Контактная информация:
Всем привет 
Кое-что обо мне и движке подсветки Batya написал правильно:

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


Дело в том, что когда я менял механизм загрузки подсветок в компонент, я исключил один метод (GetAsStream) и временно закоментировал строку в дизайнере, которая этот метод использовала (при копировании правила в буфер обмена). Так что просто напросто сейчас ничего в буфер обмена не копируется..
Не волнуйтесь, это будет исправлено
Нужно учитывать несколько моментов. Попробую рассказать обо всем по порядку..
Существует несколько форматов файлов для подсветки, которые сложились исторически..
В первых версиях SynPlus использовался формат файла версии 1.5 (совместим с 1.0). В этом формате была возможность хранить для каждой подсветки список цветовых схем подсветки прямо в файле с подсветкой. Т.о. в одном файле было сразу несколько цветовых схем.
Новый формат 1.8 исключал эту возможность, так как предполагалось вынести эти цветовые схемы во внешний файл. Но при загрузке файлов старого формата (1.5) просто загружалась первая по списку цветовая схема, а не та, которая считалась "текущей".
В новой версии компонента исправлен этот недочет, поэтому при загрузке старых файлов (1.5) в новой версии компонента и выбирается иногда "другая" цветовая схема.
Также нужно учитывать, что новая версия компонента (которая используется в Syn и скоро будет в SynPlus) использует еще более обновленный формат (2.0) для поддержки CodeFolding'а (сворачивания кода) и мультитеговости (назначение для одного диапазона нескольких вариантов открытия/закрытия).

Спасибо
Кое-что обо мне и движке подсветки Batya написал правильно:
А вот следующее высказывание для меня было новостьюBatya писал(а):Syn и SynPlus сделаны на одном движке схем подсветки, в разработке которого участвует Vitalik - соавтор SynPlus вместе с SCHMaster именно по этой части.
И, наконец, вполне резонное предположение:Batya писал(а):Только SCHMaster в последнее время сильно неудовлетворен взаимодействием с Vitalik-ом и функционал схем подсветки в SynPlus правит сам, особо кардинально ничего не меняя.
А теперь, так как в качестве компонента подсветки в Syn используется UniHighlighter, то позвольте попытаться ответить на некоторые ваши вопросы (которые касаются подсветки)Batya писал(а):Однако, Vitalik и компания, видимо, продолжают менять движок схем подсветки. И как раз новый вариант и успользуется в Syn.
В качестве временного решения данной проблемы можно просто вручную менять hgl-файлы. Найти нужный параметр не сложно, он всегда находится в секции <Info> и в зависимости от версии формата файла может называться либо FileTypeName, либо ExtensionsМитяй писал(а):- Автор стащил у создателей SynPlus диалог настройки схем подсветки, но не догадался захватить диалог управления схемами подсветки. В результате можно по всякому настраивать свою схему, но изменить ассоциированные с ней файлы нельзя. Например, имеющаяся схема PHP ассоциирована с "PHP Files". Значит она будет использоваться при открытии PHP, но не будет при открытии PHP3, PHP4, PHTML и т.д.
В дальнейшем планируется добавить возможность редактирования таких свойств подсветки (название, расширения, инфа об авторе) прямо в редактор подсветки (т.н. дизайнер).
Замечу, что в этом плагине для определения связей подсветки с расширениями файлов Sepa придумал очень простой механизм. При открытии файла плагином загружаются все подсветки поочереди и как только будет найдена подсветка, содержащая нужное расширение файла, то она будет выбрана для загрузки
Учитывая то, что я написал выше - нужно просто удалить файл подсветки Txt.hglSam Dark писал(а):2. Как не открывать плагином txt?
Упс... НедосмотрелМитяй писал(а):- Диалог настройки схем подсветки сделан коряво. При попытке скопировать диапазон и вставить в другое место выдаёт ошибку и вставляет неизвестно что
Дело в том, что когда я менял механизм загрузки подсветок в компонент, я исключил один метод (GetAsStream) и временно закоментировал строку в дизайнере, которая этот метод использовала (при копировании правила в буфер обмена). Так что просто напросто сейчас ничего в буфер обмена не копируется..
Не волнуйтесь, это будет исправлено
Нет, дело совсем не в этом..Митяй писал(а):- Одинаковые схемы в Syn и в SynPlus выглядят по разному (например схема HGL). Думаю, это от того, что SynPlus сначала подсвечивает диапазоны, а потом уже ключевые слова и группы символов, а Syn наоборот.
Нужно учитывать несколько моментов. Попробую рассказать обо всем по порядку..
Существует несколько форматов файлов для подсветки, которые сложились исторически..
В первых версиях SynPlus использовался формат файла версии 1.5 (совместим с 1.0). В этом формате была возможность хранить для каждой подсветки список цветовых схем подсветки прямо в файле с подсветкой. Т.о. в одном файле было сразу несколько цветовых схем.
Новый формат 1.8 исключал эту возможность, так как предполагалось вынести эти цветовые схемы во внешний файл. Но при загрузке файлов старого формата (1.5) просто загружалась первая по списку цветовая схема, а не та, которая считалась "текущей".
В новой версии компонента исправлен этот недочет, поэтому при загрузке старых файлов (1.5) в новой версии компонента и выбирается иногда "другая" цветовая схема.
Также нужно учитывать, что новая версия компонента (которая используется в Syn и скоро будет в SynPlus) использует еще более обновленный формат (2.0) для поддержки CodeFolding'а (сворачивания кода) и мультитеговости (назначение для одного диапазона нескольких вариантов открытия/закрытия).
Если не затруднит, скинь подсветку на мыло highlighters(at)gmail(dot)comМитяй писал(а):Если кто хочет, могу прислать свою настроенную схему C++ (подсветка в стиле Borland CBuilder6), вместе со списком быстрой вставки по Ctrl+J и автозаполнением кода по Ctrl+Spase. В файле автозаполнения даны только основные типы, ключевые слова и директивы препроцессора без объяснений.
Спасибо
Добро пожаловать на http://www.unihighlighter.com
- Maximus
- Сообщения: 927
- Зарегистрирован: Чт апр 07, 2005 10:51
- Откуда: Украина, Кировоградская обл., г. Знаменка
- Контактная информация:
А вот и результаты моего взаимодействия с этим чУдным плагином:

На этом скриншоте зафиксировано сразу три (как минимум) бага/недочёта:
1. Сразу в глаза бросается - куча артефактов от хинтов на панели задач. С этим жить можно, меня даже веселит немного - уж больно красивые артефакты.
2. Открыт файл с кодировкой ДОС. На панели состояния это показывается правильно. Но вот в меню это совсем не так.
3. Это замечаешь не сразу. Скорее недочет, чем баг. Обратите внимание, код какого символа показывает на панели состояния и куда установлен курсор. Символ "а" - последний, на который был установлен курсор перед тем как я поместил его на пустое место.
4. А вот это уже точно баг. Попробуйте произвести следующие действия:
а. Создайте файл по Shift+F4.
б. Наберите в открывшемся блокноте один символ (я вводил w :).
в. Закройте блокнот.
г. Откройте файл по F3.
д. Наберите любую абракадабру (у меня получалось всегда :).
е. Нажмите Ctrl+S.
ё. Эффект (сообщение об ошибке) на лицо.
Если с файлом работать дальше (после перезагрузки ТС само собой :), то все нормально.
Радует контекстное меню с небольшим количеством пунктов (я не теряюсь, как в SynPlus), но вызов настроек туда запихнуть стоит
И еще радует прекрасный внешний вид.

На этом скриншоте зафиксировано сразу три (как минимум) бага/недочёта:
1. Сразу в глаза бросается - куча артефактов от хинтов на панели задач. С этим жить можно, меня даже веселит немного - уж больно красивые артефакты.
2. Открыт файл с кодировкой ДОС. На панели состояния это показывается правильно. Но вот в меню это совсем не так.
3. Это замечаешь не сразу. Скорее недочет, чем баг. Обратите внимание, код какого символа показывает на панели состояния и куда установлен курсор. Символ "а" - последний, на который был установлен курсор перед тем как я поместил его на пустое место.
4. А вот это уже точно баг. Попробуйте произвести следующие действия:
а. Создайте файл по Shift+F4.
б. Наберите в открывшемся блокноте один символ (я вводил w :).
в. Закройте блокнот.
г. Откройте файл по F3.
д. Наберите любую абракадабру (у меня получалось всегда :).
е. Нажмите Ctrl+S.
ё. Эффект (сообщение об ошибке) на лицо.
Если с файлом работать дальше (после перезагрузки ТС само собой :), то все нормально.
Радует контекстное меню с небольшим количеством пунктов (я не теряюсь, как в SynPlus), но вызов настроек туда запихнуть стоит
И еще радует прекрасный внешний вид.
Всем спасибо за багрепоры.
v 0.3
Так же подправлены подсветки, добавлены регионы схлопывания.
v 0.3
- Improved autoindent after {
- Improved ACP replacing
- Improved find tag on </
- Crush when close lister by own button when codepage was rereaded
- syn.exe HL list was empty if no file given
- syn.exe no ask save if empty
- Ctrl-X,C,V work now in QuickSearch
- Brackets ' and " not autocomplete inside string vars
- WinXP style on syn.exe
- Button ShowGutter changed to ShowLineNumbers
- Crush on ReadOnly files
- window pos/size & selected encoding/highlighter now saved in history
- CollapseCurrent moves cursor
Так же подправлены подсветки, добавлены регионы схлопывания.
2sepa:
сделай плиз сохранение по F2, рука сама тянется - а фигушки
вообще не помешает реализовать назначение клавиш на все возможные действия...
поддерживаю мыслю открывать изначально файл в режиме "только для чтения" (опционально конечно)
ЗЫ: плагин понравился, в виде эксперимента поставил его первым в списке...
сделай плиз сохранение по F2, рука сама тянется - а фигушки
вообще не помешает реализовать назначение клавиш на все возможные действия...
поддерживаю мыслю открывать изначально файл в режиме "только для чтения" (опционально конечно)
ЗЫ: плагин понравился, в виде эксперимента поставил его первым в списке...
- Vitalik
- Сообщения: 21
- Зарегистрирован: Ср дек 15, 2004 00:56
- Откуда: Украина, Харьков
- Контактная информация:
По поводу сохранения по F2 и первоначального открытия как ReadOnly обеими руками за! 
Добро пожаловать на http://www.unihighlighter.com
Вообще-то, это уже относится к другой теме, но все же (ты, видимо, пропустил):Vitalik писал(а):А вот следующее высказывание для меня было новостью
Batya писал(а):Только SCHMaster в последнее время сильно неудовлетворен взаимодействием с Vitalik-ом и функционал схем подсветки в SynPlus правит сам, особо кардинально ничего не меняя.
И когда-то SCHMaster, вроде, упоминал, что правил немного функционал подсветок.SCHMaster писал(а):Гм... Ну скажу уже открыто - я первый и последний раз взялся че-то писать с кем-то в паре (2Виталик - ничего личного, я прекрасно понимаю - проблемы со свободным временем). Все. Пока Виталик сам не объявится... Если объявится еще. Они там новую версию компонента подсветки наваяли. С новой архитектурой. Т.е. все по новой преписывать+глюки. Но я ничего менять не собираюсь - плагин работает стабильно - пусть так и остается.