Syn (Lister plugin)
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
у меня нормально работает на всех файлах что я тестил. Пиши подробнее как получить. При этом у тебя Ctrl-A потом SortAsc, и WordWrap в конце файла нормально работают?1. Не пофиксил
2Lev
Почитай страницу комментов раньше. Тот баг о котором ты пишешь - это другой баг, и про него я уже отвечал. А баг с выделением - это просто выделяешь текст мышкой и все падает.
Да. Плагин гораздо удобнее (можно выделять клавой и т.п.). А расширения бывают совсем разные. Но Хочется чтобы он открывал эти файлы только при 2 пробеге по списку плагинов, а при первом открывал только то для чего настроенно соответсвие подсветок. И эти настройки всетаки хочется менять.ты хочешь чтобы листер открывал файлы для которых нет подсветки?
Всетаки не понял, вернул скрипт параметры в консоль, а дальше куда они деваются. Т.е. в скрипте изменил пременную Text, как дальше применяются эти изменения?По поводу других скриптовых языков.
Дело в том что нет никакого первого или второго пребега. Плагину передается имя файла и он может его принять или нет. Ему не передается номер пробега. То о чем ты говоришь про цифру 4 может быть немного другое. В первый раз плагину не передается имя файла потому как не совпадает с его DetectString. Но если еще раз нажать 4 то имя передается всем плагинам у которых в DetectString написано FORCE. Поэтому и получаетсячто в первый раз плагин не срабатывает, а во второй срабатывает, но от самого плагина это не зависит. По крайней мере я не знаю как это сделать. Можно только сделать чтобы плагин не открывал файлы для которых нет подсветки, но я не вижу в этом смысла, проще поставить плаг в самый низ списка =)Но Хочется чтобы он открывал эти файлы только при 2 пробеге по списку плагинов
Ну если поменял, значит и сам текст файла поменяется. Плагин читает консоль и все переменные. Соответственно им и меняет текст, выделение или позицию курсора, или просто показывает сообщение. Поэтому и требуется вывод всех переменных даже если скрипт не менял их.Т.е. в скрипте изменил пременную Text, как дальше применяются эти изменения
Создал такой файл, нормально открывается подсветкой VBS. Попробуй стереть файл 'cfg/FileHist.dat', в нем запоминаются подсветки и т.д. для открытых файлов. Может в хистори для него стоит подсветка none.Пример файл uninstoffice.vbs открывается без подсветки.
- Maximus
- Сообщения: 927
- Зарегистрирован: Чт апр 07, 2005 10:51
- Откуда: Украина, Кировоградская обл., г. Знаменка
- Контактная информация:
1. По Alt+X, если Syn запущен отдельным приложением - закрывает Total Commander.
2. При установке/убиранию Bookmark`а не устанавливается/не снимается выделение цветом пока не подвигать курсором.
3. При закрыти присобаченого окна поиска/замены по нажатию Cancel не устанавливается фокус на основное окно. Как результат, Syn не принимает ввод с клавиатуры пока не щелкнуть мышью в окне.
4. При переносе строк если долго жать стрелку вправо под правым боком окна редактирования, то она отображается на одном и том же месте, но для то, чтобы возвратиться назад стрелкой влево надо нажать ею такое же количество раз, как будто бы она куда-то действительно двигалась.
Отправил на sepich на рамблере архив с двумя файлами. В них происходят следующие ошибки:
5. Файл "Копия notes2.txt". Установить курсор в самое начало. Зажать шифт и выделить текст до самого низа. Нажать Delete. Сюрприз.
По двум Esc закрывается, но если потом щелкнуть мышью по окну редактирования, то уже появляется такое окошко, которое снимается только через Диспетчер задач.
6. Файл "HISTORY-.TXT". Ищем текст (Зберегти налаштування") по Ctrl+F. Текст, который нужно искать взял в скобки, кавычки обязательны. Жмем Delete. Дублируются строки. Думаю проблема с подсветкой.
<Добавлено>
7. Если запускать отдельной программой - строка состояния как-то уж сильно обрезается снизу.
8. В строке состояния неплохо было бы подсказку сделать жирным шрифтом, чтобы она выделить на фоне остального. А еще бы она подмигивала или становилась красной, когда сообщения важные, например, когда выдает "NotFound!"
9. Было бы неплохо если бы при использовании стрелки вправо для передвижения по строке, когда курсор находится за последним символом строки, следующее нажатие кнопки вправо переводило курсор на первый символ следующей строки, а не куда-то дальше.
10. Хочется обнуления полей Search и Replace при повторном вызове диалога. Чаще диалог вызывается для поиска нового слова/фразы.
А лучше просто выделять весь текст чтобы его можно было заменить без лишних манипуляций. И при табе на Replace - тоже выделять весь текст.
11. Срочно нужна горячая клавиша на выделение текущего слова как мышью по двойному щелчку, т.е без пробелов.
12. Еще хочу, чтобы при поиске/замене как-нибудь учитывался регистр того слова, на которое заменяется. В зависимости от того слова которое найдено. Например, ищется "слово", заменяется на "word" без учета регистра. Нашли "Слово". И логично было бы заменять его на "Word", а не на "word".
2. При установке/убиранию Bookmark`а не устанавливается/не снимается выделение цветом пока не подвигать курсором.
3. При закрыти присобаченого окна поиска/замены по нажатию Cancel не устанавливается фокус на основное окно. Как результат, Syn не принимает ввод с клавиатуры пока не щелкнуть мышью в окне.
4. При переносе строк если долго жать стрелку вправо под правым боком окна редактирования, то она отображается на одном и том же месте, но для то, чтобы возвратиться назад стрелкой влево надо нажать ею такое же количество раз, как будто бы она куда-то действительно двигалась.
Отправил на sepich на рамблере архив с двумя файлами. В них происходят следующие ошибки:
5. Файл "Копия notes2.txt". Установить курсор в самое начало. Зажать шифт и выделить текст до самого низа. Нажать Delete. Сюрприз.
По двум Esc закрывается, но если потом щелкнуть мышью по окну редактирования, то уже появляется такое окошко, которое снимается только через Диспетчер задач.
6. Файл "HISTORY-.TXT". Ищем текст (Зберегти налаштування") по Ctrl+F. Текст, который нужно искать взял в скобки, кавычки обязательны. Жмем Delete. Дублируются строки. Думаю проблема с подсветкой.
<Добавлено>
7. Если запускать отдельной программой - строка состояния как-то уж сильно обрезается снизу.
8. В строке состояния неплохо было бы подсказку сделать жирным шрифтом, чтобы она выделить на фоне остального. А еще бы она подмигивала или становилась красной, когда сообщения важные, например, когда выдает "NotFound!"
9. Было бы неплохо если бы при использовании стрелки вправо для передвижения по строке, когда курсор находится за последним символом строки, следующее нажатие кнопки вправо переводило курсор на первый символ следующей строки, а не куда-то дальше.
10. Хочется обнуления полей Search и Replace при повторном вызове диалога. Чаще диалог вызывается для поиска нового слова/фразы.
А лучше просто выделять весь текст чтобы его можно было заменить без лишних манипуляций. И при табе на Replace - тоже выделять весь текст.
11. Срочно нужна горячая клавиша на выделение текущего слова как мышью по двойному щелчку, т.е без пробелов.
12. Еще хочу, чтобы при поиске/замене как-нибудь учитывался регистр того слова, на которое заменяется. В зависимости от того слова которое найдено. Например, ищется "слово", заменяется на "word" без учета регистра. Нашли "Слово". И логично было бы заменять его на "Word", а не на "word".
Код: Выделить всё
В первый раз плагину не передается имя файла потому как не совпадает с его DetectString. Но если еще раз нажать 4 то имя передается всем плагинам у которых в DetectString написано FORCEКод: Выделить всё
проще поставить плаг в самый низ списка Код: Выделить всё
Пример файл uninstoffice.vbs открывается без подсветки.Очень хочется иметь возможность настраивать соответствие расширений подсветок, заодно оттуда можно будет взять все расширения для прописи в DetectString.
Про прикрутку макросов VBS
Ну тогда все должно быть просто.
-----------Заголовок
dim FileName =
dim FileSaved =
dim Text =
dim CurX =
dim CurY=
dim SelectedText=
dim SelectedBlockX =
dim SelectedBlockY =
dim SelectedBlockX1 =
dim SelectedBlockY1 =
-----------Заголовок
-----------В конец
Wscript.Echo FileName
Wscript.Echo FileSaved
Wscript.Echo Text
Wscript.Echo CurX
Wscript.Echo CurY
Wscript.Echo SelectedText
Wscript.Echo SelectedBlockX
Wscript.Echo SelectedBlockY
Wscript.Echo SelectedBlockX1
Wscript.Echo SelectedBlockY1
-----------В конец
строка запуска csript.exe scripname.vbs
Но вообще, если все так просто, то можно сделать
В настройках внесение этих 3 пунктов. И установка\сохраненнение настроек для разных парсеров.
При поиске с регэкспами чего-нибудь вроде .* не находит следующий символ, сколько ни тыкай Find Next, стоит на одном.
Регэксп ("|<)(.*)("|>) не находит ничего (даже <gl.h>, "header.h")
а ("|<)([^">]*)("|>) находит.
При клике на include'нутый файл, имя файла Syn'у передаётся без кавычек. Он безуспешно пытается открыть файл C:\program вместо c:\Program Files\NVIDIA Corporation\SDK 9.5\DEMOS\OpenGL\src\glsl_skinning\skinning.h
В Code Explorer'е цвет выделения синий, а цвет шрифта чёрный, тяжело читать. (стиль винды - классический)
Регэксп ("|<)(.*)("|>) не находит ничего (даже <gl.h>, "header.h")
а ("|<)([^">]*)("|>) находит.
При клике на include'нутый файл, имя файла Syn'у передаётся без кавычек. Он безуспешно пытается открыть файл C:\program вместо c:\Program Files\NVIDIA Corporation\SDK 9.5\DEMOS\OpenGL\src\glsl_skinning\skinning.h
В Code Explorer'е цвет выделения синий, а цвет шрифта чёрный, тяжело читать. (стиль винды - классический)
2Maximus
Ага, мыло получил. Некоторые баги уже пофиксил. По поводу 12: Можно просто заменять в два прохода. Или покопаться с PCRE, там есть возможность задания условий.
$Text=file_get_contents('file.tmp'); И для JS не мог бы пример привести? Еще надо тестовый скрипт какой нибудь, который что нибудь бы делал, и с коментариями в коде.
Остальное поправлю.
К сожалению в ближайшее время не будет обновлений и я не смогу отвечать на форуме. Меняю работу. Но багрепорты пишите, я поправлю когда в колею войду и время свободное появится.
Ага, мыло получил. Некоторые баги уже пофиксил. По поводу 12: Можно просто заменять в два прохода. Или покопаться с PCRE, там есть возможность задания условий.
Ну значит плагину всегда имя файла передается, если кто то выше него не перехватил еще.Не знал, спасибо. А что делается если строка DetectString не заполнена для плагина?
Есть такой listplugin.hlp файл, на этом сайте, для разработчиков плагинов. Там подробно описано как её писать.Не я лучше правильно DetectString напишу
Какие расширения файлов у тебя указаны в файле vbs.hgl ? Нет ли в папке HL новой созданной пустой подсветки с названием none и расширениями файлов VBS. Кто нибудь еще может подтвердить или опровергнуть это? Попробуй переименовать папку с плагином в другое место. А на старое место распаковать чистый дистрибутив и проверить в нем.пробую открыть любой .vbs открывает без подсветки
Чем тебя не устраивает то что сейчас? Расширения настраиваются в файлах подсветки.Очень хочется иметь возможность настраивать соответствие расширений подсветок, заодно оттуда можно будет взять все расширения для прописи в DetectString.
ну так и как например в переменную Text записать текст из файла в темп папке? Есть что нибудь типаПро прикрутку макросов VBS
$Text=file_get_contents('file.tmp'); И для JS не мог бы пример привести? Еще надо тестовый скрипт какой нибудь, который что нибудь бы делал, и с коментариями в коде.
По умолчанию они ведь жадные. Надо же всегда писать ("|<)(.*?)("|>) или переключать режим жадности в начале.При поиске с регэкспами
Остальное поправлю.
К сожалению в ближайшее время не будет обновлений и я не смогу отвечать на форуме. Меняю работу. Но багрепорты пишите, я поправлю когда в колею войду и время свободное появится.
Баги
1. Почему-то ^ как начало строки чаще не срабатывает чем срабатывает. Также как $.
2. В С++ функции могут быть:
char* name(...)
int __stdcall name(...)
т.е быть 2 или 3 слова.
В RegEx надо писать не то, что там сейчас, а что-то типа
"^\s*?([a-z\*])+(\s+([_a-z])+)?\s+([a-z_\~][a-z0-9_\:]*)\s*?(\([^)]*\))\s*?"
Иначе он не находит варианты int __stdcall name(...)
Но так он берет в имя функции $2. И получаем у ф-ций типа char* name(...) имени нет и он при попытке перейти на нее прыгает в начало документа.
У функций типа int __stdcall name(...) имя у всех "__stdcall".
Может стоит сделать так, если $2 пусто, то брать $3
А вот с этим проблема надо подумать.
1. Почему-то ^ как начало строки чаще не срабатывает чем срабатывает. Также как $.
2. В С++ функции могут быть:
char* name(...)
int __stdcall name(...)
т.е быть 2 или 3 слова.
В RegEx надо писать не то, что там сейчас, а что-то типа
"^\s*?([a-z\*])+(\s+([_a-z])+)?\s+([a-z_\~][a-z0-9_\:]*)\s*?(\([^)]*\))\s*?"
Иначе он не находит варианты int __stdcall name(...)
Но так он берет в имя функции $2. И получаем у ф-ций типа char* name(...) имени нет и он при попытке перейти на нее прыгает в начало документа.
У функций типа int __stdcall name(...) имя у всех "__stdcall".
Может стоит сделать так, если $2 пусто, то брать $3
Код: Выделить всё
ну так и как например в переменную Text записать текст из файла в темп папке?Пока не хочу этого делать, пестровато по моему будет. Если NotFound! то и так раздается звуковой сигнал.В строке состояния неплохо было бы подсказку сделать жирным шрифтом, чтобы она выделить на фоне остального. А еще бы она подмигивала или становилась красной, когда сообщения важные, например, когда выдает "NotFound!"
Остальное вроде пофиксил
v 1.3
- Сброс выделения при обновлении CodeExplorer
- Можно выставить размеры/положение окна по умолчанию (подробнее в readme.txt)
- При переходе к вложенному файлу его имя передается в кавычках
- Цвета выделения в CodeExplorer берутся системные
- Alt-X в syn.exe теперь не закрывает TC
- Перекрашивает цвет фона строки когда закладка ставится хоткеем
- Фокус на редактор при закрытии панели Search/Replace
- Курсор переходит на следующую строку в режиме WordWrap при нажатии Right в конце строки/экрана
- Выделение содержимого полей Search/Replace при заходе в них
- Новый хоткей - Select Word on cursor (Ctrl-])
- Новый режим поиска - 'Whole Words only'
- Не удаляет последний CRLF в конце файла (при 'Trim trailings' выкл.)
- Баг с MatchToken при удалении выделения или PgUp/PgDn
- Всегда копировать как Unicode в буфер обмена если возможно
- Неверный расчет размера окна при запуске через syn.exe (теперь не обрезает статусбар)
- Поддержка более одного уровня вложенности файлов
- Баг с неверным восстановленем TopLine из хистори при WordWrap