Syn (Lister plugin)
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
Нет смысла это в программе реализовывать, потому как у всех свои виды на стиль форматирования кода. Сделай примитивный скрипт code Beatufier на php. И запускай его после загрузки файла. А перед сохранением можно сделать скрипт-компрессор. Я например когда то давно так и написал скрипт который ужимает (стирает все табы, пробелы, комменты) js файлы. Т.к. они грузятся на комп юзера, то хотелось бы чтобы они были как можно меньше. До сих пор им и пользуюсь. Скрипт который будет наоборот код форматировать, написать не проблема, главное знать чего именно хочешь. Благо эти скрипты даже так встречаются, можно просто портировать.Ну, например, есть у меня кусок кода на java:
токо сейчас понял что ты про syn.exe говоришь =)Очень просто: Alt+Tab куда-нибудь, Alt+Tab обратно в Syn.
С стандалоне то же самое. syn.exe это лишь загрузчик, и если в нем сделать табы то уже внутри таба будут менюшки. Так что тоже в каком то смысле извращение. А листеров на табах нет потому что надо при открытии нового листера как то воровать у него имя файла и закрывать листер. А в первом открытом это имя открывать. В общем ничего хорошего и багов много будет. Вот гислер бы реализовал API и все были бы счастливы =)Не, это будет извращение, а вот в standalone exe - в самый раз.
Это было видимо после того как ты что то делал с кодфолдингом свернутым. Раньше эти баги просто не выбавали экшепнов, но после того как Виталик понаходил утечки, любой даже мелкий баг себя сразу проявляет. В подсветке delphi достаточно свернуть строку , поставить курсор в ее начало и нажать enter. И отловить его я вообще не могу. Кодфолдинг очень не стабильный, потому то я и задумался о переходе на другой движок.Несколько раз при первой попытке сохранения Syn выдвал Access Violation
тогда надо запретить свои подсветки писатьНет смысла это в программе реализовывать, потому как у всех свои виды на стиль форматирования кода
Это мне придётся php на машину ставить и учить его...Сделай примитивный скрипт code Beatufier на php
А если я двухсотмеговый постскрипт файл хочу поразглядывать? вставить перевод строки после "}" и некоторых операторовИ запускай его после загрузки файла. А перед сохранением можно сделать скрипт-компрессор
В принципе, я написал для себя подобную штуку на VBScript lister, но там нельзя раскрасску сделать
Ну, ладно, придётся обойтись
-
George_7209
- Сообщения: 1
- Зарегистрирован: Чт июл 27, 2006 10:33
2George
Кажется так сделать нельзя. Но можно сделать наоборот. Ввести диапазон, начинающийся с пробела, если он стоит в начале строки, и заканчивающийся на конце строки. И в этом диапазоне писать все остальные правила. А корневой диапазон (Root) и будет подсвечивать строки, не начинающиеся с пробела. Возможно есть способ лучше, но я его не знаю.
Кажется так сделать нельзя. Но можно сделать наоборот. Ввести диапазон, начинающийся с пробела, если он стоит в начале строки, и заканчивающийся на конце строки. И в этом диапазоне писать все остальные правила. А корневой диапазон (Root) и будет подсвечивать строки, не начинающиеся с пробела. Возможно есть способ лучше, но я его не знаю.
WhiteWind
Спасибо!
sepa
Почему-то при подгрузке подсветки наблюдается визуальный эффект скачка строчек - то ли увеличивается междустрочный интервал, то ли увеличивается шрифт. Особенно хорошо видно на больших файлах, когда подсветка подгружается не моментально.
Например, я вижу это на pas-файлах с дистрибутивной подсветкой.
У меня шрифт просмотра - Courier New - Regular - 10. Остальные шрифты не менял.
Добавлено:
Для поиска нажимаю Ctrl+F. Затем вставляю из буфера - Ctrl+V. Содержимое буфера вставляется дважды.
Добавлено:
Почему-то поиск назад по Shift+F3 работает только при заполненном поле быстрого поиска.
И, поскольку поиск по Ctrl+F -> F3 и F7 -> F5 работают независимо, то есть ли горячая клавиша для очистки поля быстрого поиска, чтобы работало F7 -> F3?
Добавлено:
Хотелось бы опционально иметь возможность для показа в заголовке не полного пути файла, а только имени.
Спасибо!
sepa
Почему-то при подгрузке подсветки наблюдается визуальный эффект скачка строчек - то ли увеличивается междустрочный интервал, то ли увеличивается шрифт. Особенно хорошо видно на больших файлах, когда подсветка подгружается не моментально.
Например, я вижу это на pas-файлах с дистрибутивной подсветкой.
У меня шрифт просмотра - Courier New - Regular - 10. Остальные шрифты не менял.
Добавлено:
Для поиска нажимаю Ctrl+F. Затем вставляю из буфера - Ctrl+V. Содержимое буфера вставляется дважды.
Добавлено:
Почему-то поиск назад по Shift+F3 работает только при заполненном поле быстрого поиска.
И, поскольку поиск по Ctrl+F -> F3 и F7 -> F5 работают независимо, то есть ли горячая клавиша для очистки поля быстрого поиска, чтобы работало F7 -> F3?
Добавлено:
Хотелось бы опционально иметь возможность для показа в заголовке не полного пути файла, а только имени.
Syn 0.6
[-]
1. В поиске, после нахождения первого вхождения, не работает кнопка F3, т.к. курсор находиться в поле для поиска, приходиться нажимать Esc, что бы активировать поиск по F3
2. Не работает в поиске RegEx
3. Не ищет по F3 RegEx в файлах, в которых были обнаружены регулярные выражения после поиска в TC. Т.е. после поиска по Alt+F7, в найденном файле жмем F3,открывается листер, жмем еще раз F3 и тут он уже не находит эту строку которую только, что искали, либо у ты с гислером используешь разные RegEx, либо в листер не передается строка которую мы искали, либо передается, но не правильно разбирается. В родном листере работает! Например ищу строку blablabla(.*)xxxx
4. На панелях, куда не клацнешь правой кнопкой всегда вылезает редактор кнопочек, и в Code Explorer`e тоже!
5. При ReadOnly, В Code Explorer`e, если клацаешь на переменных, то он вставляются в текшую позицию курсора, а я так понимаю, курсор должен переходить на то место, где она объявлена!
6. Не открывает Пустые файлы.
7. Комбинация Ctrl+Shift+U не работает, в отличие от Shift+Tab.
8. Не работает печать, и комбинация тоже Ctrl+P.
9. Выскачила ошибка при поиске
10. Так же остался буг с копированием русского текста в англицкой раскладке. Абра-кодабра вылазиет.
11. При повторном сохранении вылезла ошибка I/O Error 32, при первом сохранении все нормально, сначало подумал что что-то с флешкой, потом на винт скопировал также фигня, кстати SunPlus тоже не сохраняет, блокнот предлагает сохранить под другим именем. Если изначально работать с блокнотом, т.е. не открывать Syn -ом то все нормально. Короче какая-то херня происходит.
Дополнение к 11. Как ни странно все эти глюки отслежывались только при написании замечаний к Плагину!
[-]
1. В поиске, после нахождения первого вхождения, не работает кнопка F3, т.к. курсор находиться в поле для поиска, приходиться нажимать Esc, что бы активировать поиск по F3
2. Не работает в поиске RegEx
3. Не ищет по F3 RegEx в файлах, в которых были обнаружены регулярные выражения после поиска в TC. Т.е. после поиска по Alt+F7, в найденном файле жмем F3,открывается листер, жмем еще раз F3 и тут он уже не находит эту строку которую только, что искали, либо у ты с гислером используешь разные RegEx, либо в листер не передается строка которую мы искали, либо передается, но не правильно разбирается. В родном листере работает! Например ищу строку blablabla(.*)xxxx
4. На панелях, куда не клацнешь правой кнопкой всегда вылезает редактор кнопочек, и в Code Explorer`e тоже!
5. При ReadOnly, В Code Explorer`e, если клацаешь на переменных, то он вставляются в текшую позицию курсора, а я так понимаю, курсор должен переходить на то место, где она объявлена!
6. Не открывает Пустые файлы.
7. Комбинация Ctrl+Shift+U не работает, в отличие от Shift+Tab.
8. Не работает печать, и комбинация тоже Ctrl+P.
9. Выскачила ошибка при поиске
10. Так же остался буг с копированием русского текста в англицкой раскладке. Абра-кодабра вылазиет.
11. При повторном сохранении вылезла ошибка I/O Error 32, при первом сохранении все нормально, сначало подумал что что-то с флешкой, потом на винт скопировал также фигня, кстати SunPlus тоже не сохраняет, блокнот предлагает сохранить под другим именем. Если изначально работать с блокнотом, т.е. не открывать Syn -ом то все нормально. Короче какая-то херня происходит.
Дополнение к 11. Как ни странно все эти глюки отслежывались только при написании замечаний к Плагину!
Последний раз редактировалось KF-121 Чт июл 27, 2006 17:39, всего редактировалось 2 раза.
Во всем виновато КАКАДУ!
--------------------------------
IIIypuk©KF-121
--------------------------------
IIIypuk©KF-121
- Vitalik
- Сообщения: 21
- Зарегистрирован: Ср дек 15, 2004 00:56
- Откуда: Украина, Харьков
- Контактная информация:
Ты про использование clr-файла со стилями?Batya писал(а):Возвращаясь "к нашим баранам"... А выбор стиля подсветки не работатет на новом движке?
Если да, то этого пока временно нету.. Ввиду его нестабильности..
Спасибо, что придумал такое оригинальное решение проблемыМитяй писал(а):Кажется так сделать нельзя. Но можно сделать наоборот.
Добро пожаловать на http://www.unihighlighter.com
- Vitalik
- Сообщения: 21
- Зарегистрирован: Ср дек 15, 2004 00:56
- Откуда: Украина, Харьков
- Контактная информация:
Дело в том, что если в подсветке присутствуют правила с атрибутами, содержащими одновременно стили шрифта "подчеркивание" и "курсив", то междустрочный интервал автоматически увеличиваться на 1 или 2 пикселя (в зависимости от размера шрифта), чтобы там это подчеркивание смогло поместитьсяBatya писал(а):Почему-то при подгрузке подсветки наблюдается визуальный эффект скачка строчек - то ли увеличивается междустрочный интервал, то ли увеличивается шрифт.
Это особенность не UniHighlighter'а, а SynEdit'а.
Добро пожаловать на http://www.unihighlighter.com
Да, я про это. Жаль, что большое начинание так завершилосьVitalik писал(а):Ты про использование clr-файла со стилями?
Если да, то этого пока временно нету.. Ввиду его нестабильности..![]()
ОК. Понятно. И, я так понимаю, что, поскольку подсветка грузится уже после отображения содержимого, это побороть нельзяVitalik писал(а):Дело в том, что если в подсветке присутствуют правила с атрибутами, содержащими одновременно стили шрифта "подчеркивание" и "курсив", то междустрочный интервал автоматически увеличиваться на 1 или 2 пикселя (в зависимости от размера шрифта), чтобы там это подчеркивание смогло поместиться
Это особенность не UniHighlighter'а, а SynEdit'а.
а по моему раскраска и форматирование текста по моему совершенно разные вещи =)тогда надо запретить свои подсветки писать
не понял. один Search Next от Listera, другой от плагина и они не связаны. Когда у тебя не работает Shift-F3? если ты пользовался QuickSearch то в нем есть текст. Если Ctrl-R то тоже работает. А в листере нет SearchBack.И, поскольку поиск по Ctrl+F -> F3 и F7 -> F5 работают независимо, то есть ли горячая клавиша для очистки поля быстрого поиска, чтобы работало F7 -> F3?
исправленоДля поиска нажимаю Ctrl+F. Затем вставляю из буфера - Ctrl+V. Содержимое буфера вставляется дважды.
2KF-121
1. так и задумывалось, используй enter
2. если ты про QuickSearch то так и задумано
3. недостаток API листера. в плагин передается только строка и 4 атрибута:
lcs_findfirst Search from the beginning of the first displayed line (not set: find next)
lcs_matchcase The search string is to be treated case-sensitively.
lcs_wholewords Find whole words only.
lcs_backwards Search backwards towards the beginning of the file.
4. не дает работать? =)
5. подправил
6. подправил
7. ты выделять не забываешь?
8. ее и не делал и не собираюсь пока
9. пока не найти причину =(
10. ты чекбокс в опциях включал?
11. ты же тестер, сам знаешь что это плохое сообщение о баге =)
v 0.7
- CodeExplorer settings are now saved in Highlighter
- SelectionColor and ActiveLineColor for each highlighter (set color to clDefaut to use Defaults)
- Focus lost on Alt-Tab in syn.exe
- Drag files over syn.exe header
- Right margin position in options
- Open blank files
- Small fixes
цвет активной строки, цвета выделения и 5 строковых значений с вкладки Code в опциях плагина. Так же доработан дизайнер. Чтобы выбрать цвет по умолчанию (тот что задан в программе) нажмите средней кнопкой мышки на колорбоксе и выберите clDefault.
Регекспы для детектирования функций и переменных в подсветках прописал на скорую руку для тех языков что знал, так что кто доработает выкладывайте тут.
Выкусил из ини файла mystix (http://sf.net/projects/mystix)Регекспы для детектирования функций и переменных в подсветках прописал на скорую руку для тех языков что знал, так что кто доработает выкладывайте тут.
C#, C++
DocumentTypeFunctionRegExp3=^[A-Za-z]+([\x20\t]*)[A-Za-z]+[A-Za-z0-9_:]*\([^)]*\)
INI
DocumentTypeFunctionRegExp7=\[[A-Za-z0-9_]+\]
Pascal
DocumentTypeFunctionRegExp12=^(function|procedure)([\x20\t]*)[A-Za-z]+[A-Za-z0-9_.]*\([^)]*\)
Perl
DocumentTypeFunctionRegExp13=sub([\x20\t]*)[A-Za-z]+[A-Za-z0-9_]*\([^)]*\)
PHP
DocumentTypeFunctionRegExp14=function([\x20\t]*)[A-Za-z]+[A-Za-z0-9_]*\([^)]*\)
VBScript, Visual Basic
DocumentTypeFunctionRegExp16=^(private|public)?([\x20\t]*)(function|sub)([\x20\t]*)[A-Za-z]+[A-Za-z0-9_.]*\([^)]*\)