сделать стартовой  |  добавить в избранное

   SciTE - редактор кода для программистов

Архив SciTE-форума


Автор: mozers, Отправлено:09:52 04-12-2007
SciTE 1.75 .54Ru-Board Edition [Сборка 03.12.2007]
То, что выкладывалось неделю назад назовем пре-релизом.
Честно говоря даже не ожидал что за неделю будет сделано столько глобальных изменений...

Больше нигде, кроме как тут, инфа пока не обновлена. Пока что просто некогда...
Автор: Fraerok, Отправлено:13:03 04-12-2007
mozers
можно на мои вопросы ответить из последнего сообщения на прошлой странице? =)

и еще один - как в эти горячие клавиши добавить такую функцию, которая будет вставлять определенные тэги по сторонам от выделенного текста? (например, удивляет, что не стандартный функций, типа, "<b>выделенный текст</b>" при нажатии Ctrl+b)
Автор: perloid, Отправлено:14:25 04-12-2007
А есть в русской сборке поддержка сниппетов ?

Автор: vladvro, Отправлено:17:40 04-12-2007
Fraerok

Цитата:
Кстати, а релизовать 4) и 6) будет трудно?

основная сложность найти весь код отвечающий за данный функционал...


Цитата:
но не могу понять, как повесить на Ctrl+Space "&nbsp;" или Ctrl+Shift+L "&laquo;"?

user.shortcuts позволяет навесить сочетание клавиш на уже существующие команды, в твоем случае надо эти команды еще создать, сделать можно напрмер так:

Код:
command.name.210.*=&nbsp;
command.210.*=dostring editor:ReplaceSel('&nbsp;')
command.mode.210.*=subsystem:lua,savebefore:no
command.shortcut.210.*=Ctrl+Space

command.name.211.*=&laquo;
command.211.*=dostring editor:ReplaceSel('&laquo;')
command.mode.211.*=subsystem:lua,savebefore:no
command.shortcut.211.*=Ctrl+Shift+L



Цитата:
и еще один - как в эти горячие клавиши добавить такую функцию, которая будет вставлять определенные тэги по сторонам от выделенного текста? (например, удивляет, что не стандартный функций, типа, "<b>выделенный текст</b>" при нажатии Ctrl+b)

можно реализовать например так:

Код:
command.name.212.*=<b></b>
command.212.*=dostring editor:ReplaceSel('<b>'..editor:GetSelText()..'</b>')
command.mode.212.*=subsystem:lua,savebefore:no
command.shortcut.212.*=Ctrl+B


редактор расчитан на вдумчивое использование, то есть каждый настриавает его под себя, под те языки и окружение с которыми работает.
возможно эти функции и стоит включить в сборку, но пока что таких желаний не высказывалось.
Автор: Fraerok, Отправлено:19:31 04-12-2007
vladvro
Спасибо огромное.
Написал я несколько своих команд и сокращений [more]command.name.111.*=&nbsp;
command.111.*=dostring editor:ReplaceSel('&nbsp;')
command.mode.111.*=subsystem:lua,savebefore:no
command.shortcut.111.*=Ctrl+Space

command.name.112.*=&laquo;
command.112.*=dostring editor:ReplaceSel('&laquo;')
command.mode.112.*=subsystem:lua,savebefore:no
command.shortcut.112.*=Ctrl+Shift+L

command.name.113.*=&raquo;
command.113.*=dostring editor:ReplaceSel('&raquo;')
command.mode.113.*=subsystem:lua,savebefore:no
command.shortcut.113.*=Ctrl+Shift+R

command.name.114.*=<br>
command.114.*=dostring editor:ReplaceSel('<br>')
command.mode.114.*=subsystem:lua,savebefore:no
command.shortcut.114.*=Ctrl+Enter

command.name.115.*=<b></b>
command.115.*=dostring editor:ReplaceSel('<b>'..editor:GetSelText()..'</b>')
command.mode.115.*=subsystem:lua,savebefore:no
command.shortcut.115.*=Ctrl+B

command.name.116.*=<u></u>
command.116.*=dostring editor:ReplaceSel('<u>'..editor:GetSelText()..'</u>')
command.mode.116.*=subsystem:lua,savebefore:no
command.shortcut.116.*=Ctrl+U

command.name.117.*=<img src="" width="" height="" alt="">
command.117.*=dostring editor:ReplaceSel('<img src="" width="" height="" alt="">')
command.mode.117.*=subsystem:lua,savebefore:no
command.shortcut.117.*=Ctrl+Shift+I

command.name.118.*=<a href=""></a>
command.118.*=dostring editor:ReplaceSel('<a href="">'..editor:GetSelText()..'</a>')
command.mode.118.*=subsystem:lua,savebefore:no
command.shortcut.118.*=Ctrl+Shift+A[/more]
Но теперь они расползлись по меня Tools - кто куда. Как их засунуть куда-нить в одно меню с выпадающим подменю? И, кстати, я их прописал в SciTEGlobal.properties в секции ShortCuts, но что-то мне подсказывает, что как по-другому это должно быть?)))
Автор: vladvro, Отправлено:22:51 04-12-2007
Fraerok

Цитата:
Но теперь они расползлись по меня Tools - кто куда. Как их засунуть куда-нить в одно меню с выпадающим подменю? И, кстати, я их прописал в SciTEGlobal.properties в секции ShortCuts, но что-то мне подсказывает, что как по-другому это должно быть?)))

пример создания своего подменю:

Код:
# Custom Commands for HTML
command.submenu.name.209.*=HTML

# Bold style tags
command.parent.210.*=209
command.name.210.*=<b></b>
command.210.*=dostring editor:ReplaceSel('<b>'..editor:GetSelText()..'</b>')
command.mode.210.*=subsystem:lua,savebefore:no
command.shortcut.210.*=Ctrl+B


правила для добавления своих настроек:
- используй файл Пользовательских настроек, для всех своих добавлений и именений, настройки заданные в этом файле переопределяют глобальные настройки.
так тебе будет проще потом обновляться на новую версию сборки.
- для создания пунктов меню используй номера 200+, они не используются в сборке.
Автор: Fraerok, Отправлено:23:57 04-12-2007
vladvro
Благодарствую) Только там в строке command.parent.210=209 знаки ".*" после parent не нужны (полчаса наверное искал почему не появляется, пока в доках не увидел это))).

Теперь следующие вопросы у меня возникли - что такое HTML Toolbar? (и как его вызвать, а то Ctrl+6 - пишет установите Helper какой-то)
И, если развить вопрос о том, что нужен параметр отключающий консоль - не стоит ли перенести параметр "Консоль сбоку" из меню Настройки в меню Вид?
Мне кажется или знак ровно немного выше середины по вертикали?
Настройки расцветки html из html.properies как лучше переносить при переходе на новую сборку? Или их тоже можно перекрыть файлом пользовательских настроек?

P.s. Какой я дотошный)
Автор: dB6, Отправлено:00:27 05-12-2007
Fraerok

Цитата:
Только там в строке command.parent.210=209 знаки ".*" после parent не нужны

У тебя, наверное, не последняя сборка. В ней - нужны.


Цитата:
что такое HTML Toolbar? (и как его вызвать, а то Ctrl+6 - пишет установите Helper какой-то)

Это творение очень уставшего от вопросов mozers. Helper интегрируется через меню. Что-то типа "настроить интеграцию с Windows".


Цитата:
нужен параметр отключающий консоль

Моё мнение = не нужен такой параметр.

Цитата:
не стоит ли перенести параметр "Консоль сбоку" из меню Настройки в меню Вид?

Не лишено смысла.


Цитата:
P.s. Какой я дотошный)

Документацию почитай, пожалуйста, а то получится хуже..

Добавлено:

Цитата:
Мне кажется или знак ровно немного выше середины по вертикали?

Да.

Добавлено:
perloid

Цитата:
А есть в русской сборке поддержка сниппетов ?

Нету.
Автор: Fraerok, Отправлено:02:18 05-12-2007
У меня сборка 1.75.53
[more=Прописал подменю с горячими клавишами в файле пользовательских настроек]#Подменю с горячими клавишами для тэгов HTML
command.submenu.name.210.*=HTML

command.parent.211=210
command.name.211.*=&nbsp;
command.211.*=dostring editor:ReplaceSel('&nbsp;')
command.mode.211.*=subsystem:lua,savebefore:no
command.shortcut.211.*=Ctrl+Space

command.parent.212=210
command.name.212.*=&laquo;
command.212.*=dostring editor:ReplaceSel('&laquo;')
command.mode.212.*=subsystem:lua,savebefore:no
command.shortcut.212.*=Ctrl+Shift+L

command.parent.213=210
command.name.213.*=&raquo;
command.213.*=dostring editor:ReplaceSel('&raquo;')
command.mode.213.*=subsystem:lua,savebefore:no
command.shortcut.213.*=Ctrl+Shift+R

command.parent.214=210
command.name.214.*=<br>
command.214.*=dostring editor:ReplaceSel('<br>')
command.mode.214.*=subsystem:lua,savebefore:no
command.shortcut.214.*=Ctrl+Enter

command.parent.215=210
command.name.215.*=<b></b>
command.215.*=dostring editor:ReplaceSel('<b>'..editor:GetSelText()..'</b>')
command.mode.215.*=subsystem:lua,savebefore:no
command.shortcut.215.*=Ctrl+B

command.parent.216=210
command.name.216.*=<u></u>
command.116.*=dostring editor:ReplaceSel('<u>'..editor:GetSelText()..'</u>')
command.mode.216.*=subsystem:lua,savebefore:no
command.shortcut.116.*=Ctrl+U

command.parent.217=210
command.name.217.*=<img src="" width="" height="" alt="">
command.217.*=dostring editor:ReplaceSel('<img src="" width="" height="" alt="">')
command.mode.217.*=subsystem:lua,savebefore:no
command.shortcut.217.*=Ctrl+Shift+I

command.parent.218=210
command.name.218.*=<a href=""></a>
command.218.*=dostring editor:ReplaceSel('<a href="">'..editor:GetSelText()..'</a>')
command.mode.218.*=subsystem:lua,savebefore:no
command.shortcut.218.*=Ctrl+Shift+A[/more]

Но заметил такую особенность - когда этот файл отредактируешь - горячие клавиши работают. Закроешь SciTe, потом снова откроешь и половина из этих горячих клавиш не работает. Откроешь файл с настройками - удалишь любую букву, потом братно её напишешь - сохранишь файл с настройками и опять начинают горячие клавиши работать до перезапуска =(
Т.е. то, что знак выше середины - это так и задумано? Зачем?)
Автор: mozers, Отправлено:10:05 05-12-2007
Fraerok
Ну тебе же ясно сказали - скачай ПОСЛЕДНЮЮ версию. Там до хрена что исправлено (изменено).
Автор: vladvro, Отправлено:15:26 05-12-2007
Fraerok

Цитата:
Настройки расцветки html из html.properies как лучше переносить при переходе на новую сборку? Или их тоже можно перекрыть файлом пользовательских настроек?

да, лучше и их поместить в файл пользовательских настроек


Цитата:
У меня сборка 1.75.53

последняя сборка 1.75.54


Цитата:
Т.е. то, что знак выше середины - это так и задумано? Зачем?)

вопрос не к нам, а к автором шрифта.

Добавлено:
perloid

Цитата:
А есть в русской сборке поддержка сниппетов ?

а о каком функционале конкретно идет речь, можно по подробнее?
уверен что все это можно реализовать на базе скриптов и аббревиатур.
Автор: dB6, Отправлено:17:04 05-12-2007
Fraerok


Цитата:
Настройки расцветки html из html.properies как лучше переносить при переходе на новую сборку? Или их тоже можно перекрыть файлом пользовательских настроек?

Можно создать файл html_my.properties и написать в конце html.properties - import html_my.properties
Автор: Shabba, Отправлено:01:29 06-12-2007
Господа, подскажите если не сложно..

У меня вот есть пунктик в меню, который выполняет

Код:
*sed -n /$(1)/= "$(FilePath)"

т.е. в output'e оказываются номера строк, в которых найден регексп, кот я задал..

Как бы так сделать, чтобы это в итоге выглядело как после FindText.lua (ctrl+alt+f), т.е. найденные строки с маркерами и выделением того что ищем..
Очень хочется использовать sed для поиска Если кто знает, помогите пожалуйста..
Автор: perloid, Отправлено:17:20 06-12-2007

Цитата:
а о каком функционале конкретно идет речь, можно по подробнее?
уверен что все это можно реализовать на базе скриптов и аббревиатур.


"Сниппеты как в текстмейт" - http://caladbolg.net/scite_snippets.php
Пробовал его скрипт - нифига не пашет чтото. Вставляет абрукадабру как есть (прописана
в скрипте) и никаких переходов.
Упрощенная поддержка уже есть в notepad++, но редактор тормознут и глючноват (подсветка глючит).
Вобщем то не так уж актуально, потомучто наткнулся на e-texteditor.
Автор: vladvro, Отправлено:19:35 06-12-2007
perloid

Цитата:
"Сниппеты как в текстмейт" - http://caladbolg.net/scite_snippets.php ...

ага, теперь понятно.
не пробовал, лень Руби ставить.
не плохо бы периписать этот скриптик, что б без Руби работал...
Автор: mozers, Отправлено:19:42 06-12-2007
Shabba
Теоретически сделать можно... Например, сразу после того как отработал sed, запускать lua скрипт, который будет анализировать текст в окне консоли и на его основании искать и подсвечивать текст в окне редактора. Но чесноговоря такое хитромудрое решение мне совсем не нравится. Гораздо проще написать скрипт, который без помощи этого sed будет искать строки с использованием регулярных выражений.

perloid
Про сниппеты уже был разговор... Но все как то...
Автор: Shabba, Отправлено:22:15 06-12-2007
mozers

Цитата:
Теоретически сделать можно... Например, сразу после того как отработал sed, запускать lua скрипт, который будет анализировать текст в окне консоли и на его основании искать и подсвечивать текст в окне редактора. Но чесноговоря такое хитромудрое решение мне совсем не нравится. Гораздо проще написать скрипт, который без помощи этого sed будет искать строки с использованием регулярных выражений.


Будет искать использую регулярные выражения, которые понимает scite? Если да, то их конечно не сравнить с sed..
Я просто хочу sed использовать и для замены тоже, мне он больше нравится т.к. можно использовать за один запуск несколько регекспов по очереди, да и куча всяких возможностей у него..
Если не затруднит подскажите хотябы как сразу после sed'a запустить lua скрипт и передать ему то что получилось после sed'a?

Автор: mozers, Отправлено:23:58 06-12-2007
Shabba
Цитата:
Будет искать использую регулярные выражения, которые понимает scite?
Используя выражения, которые понимает скрипт. У LUA (если скрипт будет на нем) на порядок более богатые возможности по сравнению с SciTE. Я все никак не допишу один скрипт (поиск/замена в SciTE с помощью jscript - тут, естественно, использоваться будут регсепы JS/VBS)...

Цитата:
Если не затруднит подскажите хотябы как сразу после sed'a запустить lua скрипт и передать ему то что получилось после sed'a?
Да зря я про это брякнул (решение через одно место):

Код:
command.name.235.*=sed
command.235.*=*CMD /C sed -n /$(1)/= "$(FilePath)" && "$(SciteDefaultHome)\scite.exe" "-extender:dofile g:\\SciTE\\tools\\my_script.lua"
где my_script.lua
Код:
local all_text = output:GetText()
print(all_text)



Автор: Shabba, Отправлено:02:43 07-12-2007
mozers
еще маленький вопросик

после запуска

Код:
command.name.235.*=sed
command.235.*=*CMD /C sed -n /$(1)/= "$(FilePath)" && "$(SciteDefaultHome)\scite.exe" "-extender:dofile C:\\Portable\\Text\\Edit\\SciTE.Ru\\tools\\sed.lua"


у меня в консоли:

Код:

>CMD /C sed -r -n /iii/= "T:\temp.txt" && "C:\Portable\Text\Edit\SciTE.Ru\scite.exe" "-extender:dofile C:\\Portable\\Text\\Edit\\SciTE.Ru\\tools\\sed.lua"
3
6


и все это попадает в строку all_text.. а хотелось бы чтобы только номера строк после seda..
можно ли как нибудь запустить скрипт, чтобы в консоль не попадало
">CMD /C sed -r -n /iii/= "T:\temp.txt" && "C:\Portable\Text\Edit\SciTE.Ru\scite.exe" "-extender:dofile C:\\Portable\\Text\\Edit\\SciTE.Ru\\tools\\sed.lua""?

Автор: DJ makrus, Отправлено:12:44 07-12-2007
mozers
у меня тут накопилось "немного"

пробовал ваш SessionManager...
Сначала на Win2K он у меня не заработал, при выборе пункта "Загрузить сессию..." появляется окно с заголовком "SessionManager 0.7" и поверх него окно ошибки с заголовком "Ошибка сценария Internet Explorer" и далее в окне:
Строка: 91
Символ: 2
Ошибка: Путь не найден
Код: 0
URL: file://E:\Program Files\For Text\Scite\tools\SessionManager\SessionManager.hta
ниже "Продолжить выполнение сценариев на этой странице?"
и две кнопки "Да" и "Нет", нажатие ни на одну из них не помогает загрузить сессию..., ну винда старая (в смысле давно не переустанавливалась) - где-то что-то не сраслось видимо (хотя справка из последней сборки нормально открывается), и на ней я стандартным образом работаю с сессиями.

Попробовал и на WinXP, там все работало и пользоваться им было удобно: не надо "скакать по папкам" в поиске той где хранятся все сессии, у сессий есть комментарии (мелочь, а приятно), и хранятся комментарии в "общепринятом" виде - тоже удобно, но есть:
- одно пожелание, когда сохраняешь сессию и надо не новую сохранить, а существующую обновить, то надо знать первые символы имени файла сессии которую обновляешь, как только набрал первый/ые символы, дальше имя автодополняется и комментарий соотвествующий появляется если есть..., но вот вспоминать первые символы - есть маленько неудобно, вот если бы была хотя бы подсказка с именами файлов существующих сессий, а еще лучше если бы в нужную можно было "ткнуть" мышью и она появилась в соотвествующем поле (как при стандартном окне сохранения) - то процедура сохранении сессии проходила бы "легко и красиво"
- один вопрос, у меня всегда открыт SciTE с набором файлов наиболее часто требующих редактирования, и иногда необходимо открыть другую сессию с настройками какой-либо программы, для этого я запускаю второй SciTE командной строкой:
Код:
E:\Program Files\For Text\Scite\SciTE.exe -property:check.if.already.open=0 "-loadsession:E:\\Program Files\\System\\Wwr\\Wwr.session" -property:save.session=0
(тут мож чего подправить надо?) и часто надо обновить сохраненный файл сессии открытый во втором экземпляре редактора, так вот SessionManager работает только с первым экземпляром программы, и по этой причине мне пришлось от него отказаться ...

В последней сборке перестал "привычно" работать комментарий: если выделить строки среди которых вперемешку идут закомментированные и не закомментированые участки кода, то по Ctrl+Q каждая строка инвертировала свое состояние и это было очень удобно , теперь же все закомментированные строки выделенного блока кода раскомментируется - если первая строка закомментированная, или все строки комментируется (повторно если строка уже была закомментированна) если первая строка была незакомментирована , если "отключить" xComment.lua, то все работает по прежнему, я, в принципе, и отключать его могу, но, IMHO, может лучше настроить его и на "построчное инвертирование комментирования" ?

И еще по поводу комментирования, в файлах Forth'а и nnCron'а в качестве символов комментирования используется "\ " (слеш-пробел), в файле nncrontab.properties строка
Код:
comment.block.nncrontab=\
заканчивается пробелом, а в forth.properties пробела в конце нет, и как результат комментирование не работает, но это еще не все, если параметр strip.trailing.spaces=1, то после первого же редактирования обоих файлов пробелы будут удалены со всеми вытекающими , поэтому у меня эта часть обоих файлов выглядит следующим образом, на примере nnCron'а:
Код:
# # пустая строка после следующей - обязательна, иначе вставка комментария строки в виде "\ " по Ctrl+Q - невозможна
comment.block.nncrontab=\\

можно конечно эту особенность описать в комментариях к данной строке и оставить как есть, но, IMHO, лучше изменить файлы настроек идущих по дефолту.

Большое спасибо авторам abbrevlist.lua за эту функцию, она у меня работает и в версии 1.1 и в 1.2, внешне различий вроде бы нет, в чем их принципиальное отличие?

Есть еще интересная особенность в совместной работе функций вставки сокращения и автодополнения, точнее говоря в выводе всплывающего окошка со списком.
Файлы автодополнения подключаются у меня следующей строкой:
Код:
api.$(file.patterns.nncron)=$(SciteDefaultHome)\api\forth.api;$(SciteDefaultHome)\api\nncron.api;$( SciteDefaultHome)\api\my.api

в файле nnCrontab.abbrev есть следующие две строчки:
Код:
FOR=FOR-WINDOWS:\n\n;FOR-WINDOWS
FOR=FOR-FILES: "|"\n\t%SEL%\n;FOR-FILES
в файле forth.api есть строка:
Код:
FORTH
набираю в кронтабе: "F" появляется список автодополнения со словами из всех файлов в том числе и слово FORTH, продолжаю набирать "O" - список резко сокращается до слова FORTH, но после набора "R" я, к своему разочарованию, не вижу списка аббревиатур, а только дополнения все к тому же слвоу FORTH - оно мож и правильно, но меня так не устраивает, так как мне нужны аббревиатуры, т.е. получается что все сокращения надо заканчивать какими-то специальными символами что бы их можно было увидеть в сплывающием списке..., но решил я попробовать перенести слово FORTH из файла forth.api в файл nncron.api и после набора в кронтабе "FOR" я увидел список с аббревиатурами , теперь строка подключения списков автодополнения у меня выглядит следующим образом:
Код:
api.$(file.patterns.nncron)=$(SciteDefaultHome)\api\blank.api;$(SciteDefaultHome)\api\forth.api;$( SciteDefaultHome)\api\nncron.api;$(SciteDefaultHome)\api\Makrus.api;$(SciteDefaultHome)\api\Test .api
наличие файла blank.api - не обязательно.

И, вроде бы, последний вопрос: в файлах автодополнения можно после слова писать "комментарий" к нему, который потом можно посмотреть в всплывающей подсказке, где в настройках задается символ обозначающий начало комментария? Щас это вроде бы "(" и если его не написать, то текст на строке не отображается в всплывающей подсказке..., можно в качестве такого символа задать пробел?

PS на днях пришлось поверхностно глянуть на оффициальный дистрибутив SciTE'а..., в ужас меня привела уже только мешанина из файлов в папке куда его распаковываешь..., огромное спасибо за сборку и "доведения до ума" (до ума обычного пользователя)



1 / 2 / 3 / 4 / 5 / 6 / 7 / 8 / 9 / 10 / 11 / 12 / 13 / 14 / 15 / 16 / 17 / 18 / 19 / 20 / 21 / 22 / 23 / 24 / 25 / 26 / 27 / 28 / 29 / 30 / 31 / 32 / 33 / 34 / 35 / 36 / 37 / 38 / 39 / 40 / 41 / 42 / 43 / 44 / 45 / 46 / 47 / 48 / 49 / 50 / 51 / 52 / 53 / 54 / 55 / 56 / 57 / 58 / 59 / 60 / 61 / 62 / 63 / 64 / 65 / 66 / 67 / 68 / 69 / 70 / 71 / 72 / 73 / 74 / 75 / 76 / 77 / 78 / 79 / 80 / 81 / 82 / 83 / 84 / 85 / 86 / 87 / 88 / 89 / 90 / 91 / 92 / 93 / 94 / 95 / 96 / 97 / 98 / 99 / 100 / 101 / 102 / 103 / 104 / 105 / 106 / 107 / 108 / 109 / 110 / 111 / 112 / 113 / 114 / 115 / 116 / 117 / 118 / 119 / 120 / 121 / 122 / 123 / 124 / 125 / 126 / 127 / 128 / 129 / 130 / 131 / 132 / 133 / 134 / 135 / 136 / 137 / 138 / 139 / 140 / 141 / 142 / 143 / 144 / 145 / 146 / 147 / 148 / 149 / 150 / 151 / 152 / 153 / 154 / 155 / 156 / 157 / 158 / 159 / 160 / 161 / 162 / 163 / 164 / 165 / 166 / 167 / 168 / 169 / 170 / 171 / 172 / 173 / 174 / 175 / 176 / 177 / 178 / 179 / 180 / 181 / 182 / 183 / 184 / 185 / 186 / 187 / 188 / 189 / 190 / 191 / 192 / 193 / 194 / 195 / 196 / 197 / 198 / 199 / 200 / 201 / 202 / 203 / 204 / 205 / 206 / 207 / 208 / 209 / 210 / 211 / 212 / 213 /
SciTE © 2004 - 2011