Ru-Board.club
← Вернуться в раздел «Программы»

» SciTE - Open Source Text Editor for Windows & Linux

Автор: dB6
Дата сообщения: 28.10.2005 14:06

Цитата:
Предлагаю свой вариант строки статуса

Я теж

Код:
statusbar.text.1=\
Строка: $(LineNumber) (Всего: $(NbOfLines)) Колонка: $(ColumnNumber) Выделено: $(SelLength) (Всего: $(BufferLength)) символов, $(SelHeight) строк Режим: $(OverType) EOL: $(EOLMode) Файл: $(FileNameExt) Дата: $(FileDate) $(FileTime) Аттрибуты: $(FileAttr)
statusbar.text.2=\
Строка: $(LineNumber) ($(NbOfLines)) : $(ColumnNumber) Выделено: $(SelLength) ($(BufferLength)), $(SelHeight) Режим: $(OverType) EOL: $(EOLMode) Файл: $(FileNameExt) ($(FileDate) $(FileTime) $(FileAttr))
statusbar.text.3=\
Строка: $(LineNumber) / Колонка: $(ColumnNumber) / Режим: $(OverType) / Метка конца строки: ($(EOLMode)) /
statusbar.text.4=\
$(BufferLength) символов в $(NbOfLines) строках / Выделено: $(SelLength) символов / Выделено: $(SelHeight) строк /
statusbar.text.5=\
Сейчас: Дата: $(CurrentDate) / Время: $(CurrentTime) /
statusbar.text.6=\
Имя файла: $(FileNameExt) / Дата ($(FileDate)) и время ($(FileTime)) создания / Атрибуты: $(FileAttr) /
Автор: Ang
Дата сообщения: 28.10.2005 14:50
mozers

Цитата:
А сам то не пробовал

Я всё больше с паскалем работаю, а для него эти тэги уж больно муторно настраивать. Сама-то программа под C "заточена" (как я понял).
Автор: mozers
Дата сообщения: 28.10.2005 22:31
Ang
Как я понял, под С прога заточена самими разработчиками и их ближайшими соратниками.
Под другие языки затачивать придется нам самим.
Благо возможности для этого в сабже заложены. И наработки кое какие уже имеются. Тока попыхтеть все равно придется изрядно...
А может соберем с миру по нитке путные настройки да выпустим сборку имени ru-board ?
Ну чтобы другим людям для полного счастья было достаточно изменить 2-3 позиции, а не перелопачивать весь конфиг и кучу документации как сейчас?
Спасибо огромное 8AleX8 - не с нуля начинаем :)
Таперича свести все настройки в SciTEGlobal.properties (так просто намного удобнее) и снабдить их подробными русскими комментариями...
Автор: 8AleX8
Дата сообщения: 28.10.2005 23:55
mozers
Спасибо конечно.
Но.

Возможности конфигурирования SciTE, под дополнительные языки или изменение многих аспектов поведения SciTE, без создания собственных lexers сильно ограниченны. Точнее без программирования специального лексера - это IMHO не реальная задача.
И внесение изменений в SciTEGlobal.properties я щетаю ошибочным решением. Повторю то что я в этом топике уже 100 раз говорил. Идеологически верно вносить изменения в конфиг SciTEUser.properties. Другими словами толко добавлять новые или переназначать существующие настройки.
Внесение изменений в SciTEGlobal влечёт за собой зависимость пользователей от билдостроителей. Например юзер не может перейти на новую версию пока билдостроители не выпустят свой новый билд. При всём моём уважении мне кажется что правильней оставить SciTEGlobal в первозданном виде.

Ну и по моему опыту на ru-board.com я знаю, что если mozers берётся за дело то прогресс обеспечен
Автор: dB6
Дата сообщения: 29.10.2005 00:18

Цитата:
И внесение изменений в SciTEGlobal.properties я щетаю ошибочным решением. Повторю то что я в этом топике уже 100 раз говорил. Идеологически верно вносить изменения в конфиг SciTEUser.properties.

Пожалуй, соглашусь с 8AleX8
А если делать сборку и надо, чтобы настройки были в одном месте, то можно оставить глобальные настройки, как есть, и изменить сорцы, чтобы SciTEUser.properties подгружался из каталога SciTE.
Автор: 8AleX8
Дата сообщения: 29.10.2005 00:32
dB6

Цитата:
изменить сорцы, чтобы SciTEUser.properties подгружался из каталога SciTE

Ещё лучше....
А зачем?
Если юзер не в состоянии поместить SciTEUser.properties в C://%USERNAME%. То ему нужен другой редактор.
Автор: dB6
Дата сообщения: 29.10.2005 00:37
8AleX8
Читаем внимательней:

Цитата:
А если делать сборку и надо, чтобы настройки были в одном месте, то можно...

Иногда необходимо, чтобы все настройки были в одном месте. Для этого случая я предложил вариант. Для другого - согласен, удобно, когда настройки каждого пользователя лежат отдельно.
Автор: 8AleX8
Дата сообщения: 29.10.2005 02:11
Прошу прощение за излишнюю резкость.

P.S.
list is for general discussion of SciTE, including how to use it and enhancement requests
RSS
Автор: mozers
Дата сообщения: 29.10.2005 11:48
8AleX8 dB6
Я тоже прошу меня извинить если я буду слишком гр(л)уб(п):

Цитата:
list is for general discussion of SciTE, including how to use it and enhancement requests

Все таки давайте постараемся выдавать сюда какие то полезные выжимки, касающиеся рассматриваемого вопроса, а не отсылать новичка к чуждоязычной нам конференции Ни в одном топике ru-board нет такого обилия громадных по объему, вырезок из английского HELP и прочих импортных источников без какого то мало-мальски понятного комментария самого автора сообщения.
Давайте все таки постараемся выражать не вычитанное где то, а свое мнение.
Лично я считаю, что существование SciTEUser.properties оправдано только в единственном (и крайне редком) случае: Если за машиной работают несколько любителей SciTE и каждому из них хочется иметь свои собственные настройки.

Цитата:
Внесение изменений в SciTEGlobal влечёт за собой зависимость пользователей от билдостроителей. Например юзер не может перейти на новую версию пока билдостроители не выпустят свой новый билд.

Не понял Как могут помешать компиляции ядра внешние настройки программы ???
Да и если дело касается сборки (читай - учебное пособие для новичков) то вряд ли кто из них будет самостоятельно компилировать ядро. Ну а профессионалы и устанавливать не будут - просто вытащат понравившиеся настройки да скрипты из пакета - было бы только чего вытаскивать...
Вот, например, Serge Baranov (его сборку можно скачать с сайта scintilla) тоже решил свести все настройки в один файл.
Чиста удобно. Ничего более.

Цитата:
Возможности конфигурирования SciTE, под дополнительные языки или изменение многих аспектов поведения SciTE, без создания собственных lexers сильно ограниченны.

Это, конечно, несколько сбивает запал, но хотя бы отточить SciTE под популярные скриптовые языки, под тот же HTML - это же реально! Ты же сам уже начало заложил

Цитата:
если mozers берётся за дело то прогресс обеспечен

Неа. Я не хочу и не буду делать сборку имени mozers-а. Я даже не смогу поставить свою подпись в длинном (я надеюсь) списке создателей пакета, поскольку толковых собственных наработок у меня нет.
Есть только желание сделать такой пакет и надежда что меня поддержат.
Автор: dB6
Дата сообщения: 29.10.2005 13:33
8AleX8
Ребята, давайте жить дружно (с) кот Леопольд.

mozers

Цитата:
Не понял Как могут помешать компиляции ядра внешние настройки программы ???

Я думаю, ты не так понял Попробую объяснить, как понял я. Ну и чуток добавить. Смысл в том, что есть ядро программы - лексеры, экзешник, properties, дефолтные настройки в SciTEGlobal.properties и т.д.
А есть сборка ru-board (пока только в головах). Основное отличие сборки от стандартной версии - в дополнительных скриптах lua, в доп. утилитах - tidy, xcode и т.д, в оптимизированных настройках с комментариями на русском. И эти все дополнительные возможности подключаются через SciTEUser.properties.

Дык вот.. Если у человека сборка ru-board, то когда выходит новая версия самой программы, а сборщики (шучу - "сборко-строители") не выпустили еще обновление, то человек может взять и сам заменить ядро программы (лексеры, экзешник, properties, дефолтные настройки в SciTEGlobal.properties и т.д), а все "фичи" сборки останутся нетронутыми. И будут работать, как и раньше, т.к. хранятся отдельно.

И вообще - давайте голосовать Кто за то, чтобы настройки сборки хранились отдельно? Т.е. чтобы это было, как надстройка, не затрагивающая основные настройки и функционал? Которую можно в любой момент подключить/отключить.
Я - за такой способ.


Цитата:
Лично я считаю, что существование SciTEUser.properties оправдано только в единственном (и крайне редком) случае: Если за машиной работают несколько любителей SciTE и каждому из них хочется иметь свои собственные настройки.

Свое мнение выразил выше. Да и ситуация описанная - не такая уж редкость.

Предлагаю несколько вариантов (не скажу, что все нравятся, просто предлагаю):
1. Хранить все доп. настройки отдельно - в SciTEUser.properties. Можно:
- Подгружать их из каталога пользователя
- Изменить сорцы (нежелательно), чтобы подключался из каталога программы
2. Менять сам SciTEGlobal.properties.

Ваши мнения?
Автор: mozers
Дата сообщения: 29.10.2005 20:17
dB6
А... вон про что... понял.
ИМХО если пользователь собирается обновить прогу, качнув ее с офф-сайта, и при этом сохранить все свои настройки, то он наверное догадается что заменять можно все файлы, кроме настроенного им самим SciTEGlobal.properties.
Так же любому мало-мальски грамотному пользователю не составит никакого труда скопировать SciTEGlobal.properties в свой пользовательский каталог (естественно, поменяв имя).
А вообще тема своей актуальностью схожа с известной проблемой "с какой стороны яйцо надо бить?"
Что, на мой взгляд, действительно сейчас надо:
- русскую документацию (на http://scite.ruteam.ru так и не хватило запала перевести все)
- lua скрипты, api файлы, файлы сокращений, цветовые схемы, просто удачные куски из файлов настроек,...
Я еще раз повторяю, что один за все это не возьмусь. Если кто решится - с готовностью ему помогу. Во всяком случае пока не появится какой то другой, более настраиваемый редактор... Идея то лежит на поверхности и почему никто ее до сих пор не реализовал???
Автор: 8AleX8
Дата сообщения: 29.10.2005 21:12

Цитата:
пока не появится какой то другой, более настраиваемый редактор...

http://scintilla.sourceforge.net/ScintillaRelated.html
Автор: dB6
Дата сообщения: 29.10.2005 21:57

Цитата:
Цитата:

Цитата: пока не появится какой то другой, более настраиваемый редактор...


http://scintilla.sourceforge.net/ScintillaRelated.html
Автор: mozers
Дата сообщения: 30.10.2005 12:43
8AleX8 dB6
Чтобы нас не обвинили в несоответствии обсуждаемой темы названию треда, расшифровываю свою идею тут.
Автор: mozers
Дата сообщения: 31.10.2005 11:29
ALL
Никто не пробовал сочинить скрипт, сохраняющий в .properties позицию и размер окна ?
Автор: dB6
Дата сообщения: 31.10.2005 17:51
mozers
Привыкли, однако, читать русские доки
Способ добавления своих пунктов в контекстное меню (Взято с офф. документации):

Код: Define additional commands for the context menu. This is a '|' delimited list of menu items and the commands they produce with commands defined as in user.shortcuts. An empty item produces a separator.
user.context.menu=\
||\
Next File|IDM_NEXTFILE|\
Prev File|IDM_PREVFILE|
Автор: Ang
Дата сообщения: 01.11.2005 15:58
Приятственный "помогальничек" для SciTe.
_http://llt.chez.tiscali.fr/ Filerx - Windows - SciTE Projects & Macros
Только у текущей версии проблемы с русским языком. Если бы кто перекомпилил и выложил его...
Автор: dB6
Дата сообщения: 01.11.2005 17:27
Ang
Ну и как он? Помогает хорошо?
А то мне что-то он не понравился.
Можешь пример полезного использования подсказать?
Автор: VedunO
Дата сообщения: 07.11.2005 16:37

Цитата:

dB6

Привыкли, однако, читать русские доки
Способ добавления своих пунктов в контекстное меню (Взято с офф. документации):

Код:
Define additional commands for the context menu. This is a '|' delimited list of menu items and the commands they produce with commands defined as in user.shortcuts. An empty item produces a separator.
user.context.menu=\
||\
Next File|IDM_NEXTFILE|\
Prev File|IDM_PREVFILE|


Что-то не работает

В какой файл добавлять или что с этим делать ???
Автор: dB6
Дата сообщения: 07.11.2005 20:48
VedunO
Пишем в SciTEGlobal.properties или SciTEUser.properties:

Код:
user.context.menu=\
||\
Next File|IDM_NEXTFILE|\
Prev File|IDM_PREVFILE|
Автор: VedunO
Дата сообщения: 07.11.2005 21:16
dB6

Прости я имел ввиду, можно ли вставить свой пункт (т.е. ссылку на скрипт...) ???
Автор: dB6
Дата сообщения: 07.11.2005 23:23
VedunO
Насколько следует из документации (с погрешностью на мое знание английского), нельзя добавить туда ссылку на скрипт. А можно только определенные команды самого SciTE:

Цитата:
Named IDs and numeric IDs below 2000 are SciTE menu commands which can be found in from scite/src/SciTE.h

Автор: mozers
Дата сообщения: 08.11.2005 11:11
VedunO

Цитата:
можно ли вставить свой пункт (т.е. ссылку на скрипт...) ???

Можно исхитрится так:

Код: user.context.menu=\
||\
Мой пункт|IDM_TOOLS|
Автор: mozers
Дата сообщения: 08.11.2005 22:38
Все. Допетрил
Чтобы вставить любой пункт из меню Tools (Сервис) в ваше контекстное меню
надо прибавить номер этого пункта к числу 1100
И все!
Непонятно? Объясняю на примере:
В меню Tools у меня имеется такая команда:
Код: command.name.22.*=ASCII Table
Автор: mozers
Дата сообщения: 09.11.2005 14:36
Ау, люди!... Неужель никто ответы на мои вопросы не знает?

При использовании внешних команд, встраиваемых в меню Tools в основном используется следующая технология:
1. Текущий файл сохраняется
2. С помощью команды из меню Tools типа
Код: command.9.*="$(SciteDefaultHome)\tools\WordCheck.vbs" "$(FilePath)"
command.subsystem.9.*=2
Автор: mozers
Дата сообщения: 14.11.2005 21:40
Театр одного актера продолжает свою работу.
Файл HELP.JS
Код: // -----------------------------------------------------------------------
// SciTE Help Context
// mozers™ icq#256106175
// -----------------------------------------------------------------------
// Вызывает справку по SciTE
// Подсвечивает все вхождения выделенного текста и позиционирует справку на первое найденное вхождение
// Для подключеня добавьте в свой файл .properties следующие строки:
// command.name.31.*=SciTE Help
// command.31.*=wscript "$(SciteDefaultHome)\tools\help.js" "$(SciteDefaultHome)\doc\SciTEDoc.html" "$(CurrentSelection)"
// command.subsystem.31.*=2
// command.shortcut.31.*=F1
// command.mode.31.*=savebefore:no
// -----------------------------------------------------------------------

var Args = WScript.Arguments;
var objIE = new ActiveXObject('InternetExplorer.Application');
objIE.MenuBar = 0;
objIE.ToolBar = 0;
objIE.StatusBar = 0;
objIE.Navigate (Args(0));
objIE.Visible = 1;

if (Args(1)) {
    var r=objIE.document.body.createTextRange();
    for(var i=0;r.findText(Args(1));i++){
        r.execCommand('BackColor','','yellow');
        r.execCommand('CreateBookmark','','bmk'+i);
        r.collapse(false);
    }
    if (i==0){
        WScript.Echo ('Текст не найден !');
    } else {
        objIE.document.location.href=objIE.document.location.href+'#bmk0';
    }
}
Автор: dB6
Дата сообщения: 15.11.2005 21:01
mozers

Цитата:
Театр одного актера продолжает свою работу.

Юмор - это хорошо.. Но все-таки ты - молодец!

Цитата:
-- Перевести в ВЕРХНИЙ (Ctrl+Shift+U) и нижний регистр (Ctrl+U)
-- (т.к. встроенная функция не понимает кириллицу)
-- За основу был взят скрипт, взятый на http://scite.ruteam.ru

Добавил бы еще возможность инвертирования регистра. Т.е. проверку на еще один case, типа I - Invert.


Добавлено:
Кстати, не работает инвертирование регистра для таких символов, как Ў, ў, І, і - а в белорусском языке без них никак. Можешь посмотреть, добавить?

Добавлено:

Цитата:
Файл HELP.JS
Код:
Код: // -----------------------------------------------------------------------
// SciTE Help Context
// mozers™ icq#256106175
// -----------------------------------------------------------------------
// Вызывает справку по SciTE
// Подсвечивает все вхождения выделенного текста и позиционирует справку на первое найденное вхождение
// Для подключеня добавьте в свой файл .properties следующие строки:
// command.name.31.*=SciTE Help
// command.31.*=wscript "$(SciteDefaultHome)\tools\help.js" "$(SciteDefaultHome)\doc\SciTEDoc.html" "$(CurrentSelection)"
// command.subsystem.31.*=2
// command.shortcut.31.*=F1
// command.mode.31.*=savebefore:no
// -----------------------------------------------------------------------
Автор: mozers
Дата сообщения: 15.11.2005 22:47
dB6

Цитата:
Добавил бы еще возможность инвертирования регистра
А оно кому то действительно надо? (Я почему и переделал, что меня это инвертирование всех символов подряд бесило...)
Цитата:
Ў, ў, І, і - а в белорусском языке без них никак. Можешь посмотреть, добавить?
Можно, конечно. Только там 1 надо прибавлять, а не 32... (Не так красиво код будет смотреться

Цитата:
Чтобы привязка была именно к файлам .properties
Согласен. А по большому счету, можно задать patterns, например так:
Код: SciHELP=*.properties;*.lua;*.iface
Автор: mozers
Дата сообщения: 16.11.2005 23:34
Вот. Теперь понимает белорусские Ў І / ў і и может инвертировать:
Код: -- Перевести в ВЕРХНИЙ (Ctrl+Shift+U) и нижний регистр (Ctrl+U)
-- (т.к. встроенная функция не понимает кириллицу)
-- За основу был взят скрипт, взятый на http://scite.ruteam.ru
function SetCase(case)
local str = editor:GetSelText()
local res = ''
if str ~= nil then
for i = 1, string.len(str) do
local strS = string.sub(str,i,i)
local strB = string.byte(strS,1)
if case ~= 'U' and (strB > 191 and strB < 224) then --// [А-Я]
res = res..string.char(strB + 32)
elseif case ~= 'U' and (strB == 161 or strB == 178) then -- // Ў І
res = res..string.char(strB + 1)
elseif case ~= 'L' and (strB > 223 and strB <= 255) then --// [а-я]
res = res..string.char(strB - 32)
elseif case ~= 'L' and (strB == 162 or strB == 179) then -- // ў і
res = res..string.char(strB - 1)
elseif case ~= 'U' and (strB > 64 and strB < 91) then --// [A-Z]
res = res..string.lower(strS)
elseif case ~= 'L' and (strB > 96 and strB < 123) then --// [a-z]
res = res..string.upper(strS)
else
res = res..strS
end
end
end
editor:ReplaceSel(res)
end
------------------------------------------------------------------
-- а теперь добавляем нужные нам команды в меню Tools
ToolsCommand (11,'Перевести в ВЕРХНИЙ регистр','SetCase U','Ctrl+Shift+U')
ToolsCommand (12,'Перевести в нижний регистр','SetCase L','Ctrl+U')
ToolsCommand (13,'Инвертировать регистр','SetCase I','Ctrl+I')
Автор: dB6
Дата сообщения: 17.11.2005 00:19
mozers
Молодец!!!! Спасибо!!!)
Только не удержусь еще от одного замечания - не работает, если работаем с текстом в кодировке DOS.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869

Предыдущая тема: LeechGet


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.