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

» SciTE - Open Source Text Editor for Windows & Linux

Автор: eriik
Дата сообщения: 13.10.2005 16:13
Ребята, как заставить SciTE искать UserProperties не в папке пользователей а в своей собственной? Можно исправлением исходников, можно reverse engineering...

Уже не надо - сам нашел
Автор: VedunO
Дата сообщения: 14.10.2005 19:12
Расскажи как ?

я тоже бьюсь над этим, но у меня пока не получилось
Автор: dB6
Дата сообщения: 15.10.2005 20:00

Цитата:
Ребята, как заставить SciTE искать UserProperties не в папке пользователей а в своей собственной

А смысл?
Имхо, можно использовать SciTEGlobal.properties.
Автор: eriik
Дата сообщения: 15.10.2005 20:32
dB6
Cмысл? Заставить читать настройки из ini-файла в той же папке где лежит sc1.exe.
Зачем? Ну хоть для использования в качестве программерской IDE для заточки на конкретный язык программирования.

VedunO
в scite\src\SciTEIO.cxx:
const char propUserFileName[] = "SciTEUser.properties";

в scite\src\SciTEProps.cxx:
FilePath SciTEBase::GetUserPropertiesFileName() {
    return FilePath(GetSciteUserHome(), propUserFileName);
}

Ну а далее присваиваем переменной FilePath в GetSciteUserHome() путь из GetCurrentDirectory();
Если я в чем-то ошибся - поправьте...
Автор: dB6
Дата сообщения: 15.10.2005 21:45
eriik
Повторюсь - а SciTEGlobal.properties юзать нельзя?
Или идея в том, чтобы не заменялись настройки из SciTEGlobal.properties, если есть SciTEUser.properties ?
Или в SciTEGlobal нельзя указать некоторые настройки, а можно только в SciTEUser?
Автор: eriik
Дата сообщения: 16.10.2005 09:14
Ну в крайнем случае можно и Global.properties использовать...
Автор: mozers
Дата сообщения: 24.10.2005 14:53
Ищу API файл для JavaScript, VBScript.
Никто не поделится?
Несколько странно что в стандартной поставке они отсутствуют
Вообще, складывается впечатление, что кроме любителей C++ и Perl данный продукт вообще никого не интересует.
Нехорошо
Автор: 8AleX8
Дата сообщения: 24.10.2005 16:51
mozers

Цитата:
Ищу API файл для JavaScript, VBScript. Никто не поделится?

JavaScript
http://www.mail-archive.com/scite-interest@lyra.org/msg00633.html
Автор: mozers
Дата сообщения: 24.10.2005 22:42
8AleX8
Спасибо
Откровенно говоря, ни хрена не понял я комментариях этого француза.
Подключил по простому:
Код: api.*.js=$(SciteDefaultHome)\api\JavaScript.api
Автор: yurinb
Дата сообщения: 25.10.2005 14:36
Как scite настроить на редактирование DOS (CP866) файлов??
Автор: 8AleX8
Дата сообщения: 25.10.2005 17:05
yurinb

Цитата:
Как scite настроить на редактирование DOS (CP866) файлов??

насколько я знаю ни как.
Автор: mozers
Дата сообщения: 25.10.2005 22:32
yurinb
Я - новичок в SciTE, но не сказал бы однозначно "нет".
Во первых можно предварительно перекодировать файл в win1251, добавив такую команду в меню:

Код: command.name.5.*=Convert to Win1251
command.5.*=$(SciteDefaultHome)\tools\xcode.exe -E -w $(FileNameExt) "$(FileNameExt)"
command.subsystem.5.*=1
Автор: eriik
Дата сообщения: 26.10.2005 09:02
mozers

Цитата:
Файл то мы просмотреть так сможем (причем в - лучшем виде), а вот редактировать, увы - нет

Отчего ж?

Код:
if PLAT_WIN
    check.if.already.open=1
    #Russian (DOS,CP866) Encoding Command
    command.name.1.*=Russian (Dos)
    command.1.*=$(SciteDefaultHome)\SciTE.exe -code.page=866 -character.set=255 -chars.accented=_ _Ў'ў__"¤:_рс&#9532;&#9474;&#9578;_Ё%c_Є<<_&#9488;_-_R_Ї_а'б'в"г"де-ж-з_иTй_к>л_м_н_о_п
    command.is.filter.1.*=1
    command.subsystem.1.*=1
    #Russian (Win1251) Encoding Command
    command.name.2.*=Russian (Win1251)
    command.2.*=$(SciteDefaultHome)\SciTE.exe -code.page=1251 -character.set=204 -chars.accented=АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя
    command.is.filter.2.*=1
    command.subsystem.2.*=1
Автор: mozers
Дата сообщения: 26.10.2005 10:11
eriik
Жизнь выправляется к лучшему
А я эксперементировал-эксперементировал с этой строкой chars.accented (кстати, не описанной в документации - ничего так и не получилось (т.е. мой SciTE на нее похоже вообще не реагирует

Цитата:
отображение OEM здесь хромает

Почему? Уж что касается отображения то оно вообще у меня лучше чем в любом другом редакторе. И масштабируется и псевдографику корректно отображает. Может у тебя фонт какой неудачный стоит?
А вот что касается клавы... (т.е. редактирования) то скажу честно - твой код переврал форум (надо было его вставлять в тегах [code])
Поэтому - ввод не работает Пока...
Автор: eriik
Дата сообщения: 26.10.2005 12:34
"отображение OEM здесь хромает" - это в смысле что форум переврал chars.accented
Я прежде посмотрел теги, но ничего путного не нашел.
Пробовал исправить - все равно некоторые выдаются юникодом
Автор: dB6
Дата сообщения: 26.10.2005 12:56
eriik
Выложи может где txt.
Автор: eriik
Дата сообщения: 26.10.2005 14:03
Стыдно признаться, но похоже я сглупил. Действительно, тод код что я выдал чуть выше хорош только для просмора, но не для редактирования. Странно, что я не замечал этого раньше - просто по работе приходилось больше набивать английские слова и псевдографику в DOS-OEM чем русские.

Приношу извинения тем кого случайно ввел в заблуждение!
Автор: mozers
Дата сообщения: 26.10.2005 14:21
eriik
Тем не менее... Правильной дорогой идете, товарищи! (с)Ленин
Бум думать дальше...
Кстати, кспиременты показали что -code.page=866 погоду не делает (т.е. нафиг не нужен?)
Тома -character.set=255
Автор: dB6
Дата сообщения: 26.10.2005 15:08
mozers

Цитата:
Откровенно говоря, ни хрена не понял я комментариях этого француза.
Подключил по простому:
Код:api.*.js=$(SciteDefaultHome)\api\JavaScript.api
Работает.
Только 20 методов всего... Это - практически нуль

Можно подключить и так.
А ты подключал в SciTEGlobal.properties или в cpp.properties ?
А расширить список методов можно, но только вручную редактируя api-файл

Автор: mozers
Дата сообщения: 26.10.2005 15:25
dB6
Подключал в SciTEGlobal.properties
А че, неправильно?
Глупый вопрос: А при чем тут cpp.properties ?

Цитата:
вручную редактируя api-файл

Вручную... У... е... Это ж скока времени надо угорбить?... Такие вещи только толпой делать. Каждому - по букве и...
Есть у меня маленький скрипт, который выводит все свойства указанного объекта, но это - лишь чуть-чуть может упростить дело...

Автор: dB6
Дата сообщения: 26.10.2005 18:57
mozers

Цитата:
Подключал в SciTEGlobal.properties
А че, неправильно?

Да не, правильно. Сорри, сам попутал.

Цитата:
Глупый вопрос: А при чем тут cpp.properties ?

Подсветка и т.д. для *.js настраивается там (ну если не переносил никуда сам), и используется лексер cpp.
Я просто думал, что api можно подключить через cpp.properties, а оказалось - что нет:/ Или я плохо пробовал. Попробую завтра разобраться.
Автор: mozers
Дата сообщения: 26.10.2005 22:21
LUA скрипт - основное, (а главное - встроенное!) средство автоматизации SciTE.
Вызов скрипта можно назначить через меню Тооls.
Можно навесить шорткат на этот пункт меню.
Вопрос:
Может ли SciTE инициировать выполнение скрипта сам, допустим при:
- открытии документа
- нажатии на любую клавишу
- при клике мыши
- и т.д.
Если - ДА, то очень бы хотелось увидеть простенькие примеры.

Автор: 8AleX8
Дата сообщения: 27.10.2005 01:33
mozers
http://scintilla.sourceforge.net/SciTELua.html

Цитата:
To begin, you can handle any many of the events exposed by the SciTE Extension Interface
http://scintilla.sourceforge.net/SciTEExtension.html
Автор: yurinb
Дата сообщения: 27.10.2005 01:57
mozers

Цитата:
Мне кажется что умному человеку не составит большого труда написать LUA скрипт, заменяющий символы, вводимые с клавиатуры, на соответствующие в кодировке dos866. Вот тогда бы получилась конфетка


Ты был прав на 100%
Посидел я сегодня вечером, поразбирался с scite и LUA и вроде написал нормальный переключатель между DOS и WIN кодировками, который не перезаписывает исходный
текстовый файл(мне это было очень важно) и не вызывает внешние программы-перекодировщики:

1. Создаем загрузочный файл со скриптами, если его еще нет
(у меня это startup.lua в той же папке, что и SciTE.exe)
и в конце файла добавляем строки

Код:
-- win1251 to cp866 keyboard mapper
-- 2005-10-27 (c) icq=2614215
function change_codepage_ru()
if props["character.set"]=='255' then
props["character.set"]='204'
return 0
else
props["character.set"]='255'
return 0
end
end
local charset1251to866 =
{
[168]=240, --Ё
[184]=241, --ё
[185]=252, --номер
[192]=128,[193]=129,[194]=130,[195]=131,[196]=132,
[197]=133,[198]=134,[199]=135,[200]=136,[201]=137,
[202]=138,[203]=139,[204]=140,[205]=141,[206]=142,
[207]=143,[208]=144,[209]=145,[210]=146,[211]=147,
[212]=148,[213]=149,[214]=150,[215]=151,[216]=152,
[217]=153,[218]=154,[219]=155,[220]=156,[221]=157,
[222]=158,[223]=159,[224]=160,[225]=161,[226]=162,
[227]=163,[228]=164,[229]=165,[230]=166,[231]=167,
[232]=168,[233]=169,[234]=170,[235]=171,[236]=172,
[237]=173,[238]=174,[239]=175,[240]=224,[241]=225,
[242]=226,[243]=227,[244]=228,[245]=229,[246]=230,
[247]=231,[248]=232,[249]=233,[250]=234,[251]=235,
[252]=236,[253]=237,[254]=238,[255]=239
}
function OnChar(charAdded)
    if props["character.set"]=='255' then
        local a1=string.byte(charAdded)
            if charset1251to866[a1] ~= nil then
                local pos = editor.CurrentPos
                editor:SetSel(pos, pos - 1)
                editor:ReplaceSel( string.char( charset1251to866[a1] ) )
            end
        return 0
    end
end
Автор: mozers
Дата сообщения: 27.10.2005 10:05
yurinb
Вы не поверите, но РАБОТАЕТ !!!
Браво, автор

Отвечаю себе сам

Цитата:
Может ли SciTE инициировать выполнение скрипта сам, допустим при:

- открытии документа - bool OnOpen(const char *path);
- нажатии на любую клавишу - bool OnChar(char ch);
- при клике мыши - bool OnDoubleClick();
Кароче - СИЛА

8AleX8
Из твоего конфига (в шапке):

Код:     #Russian Encoding Command
    command.name.0.*=Russian
    command.0.*=$(SciteDefaultHome)\SciTE.exe -character.set=204 -chars.accented=АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя
    command.is.filter.0.*=1
    command.subsystem.0.*=2
Автор: 8AleX8
Дата сообщения: 27.10.2005 16:31
mozers

Цитата:
Из твоего конфига (в шапке):
Код:
#Russian Encoding Command command.name.0.*=Russian command.0.*=$(SciteDefaultHome)\SciTE.exe -character.set=204 -chars.accented=АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя command.is.filter.0.*=1 command.subsystem.0.*=2     
Зачем нужна такая команда? Не правильнее просто забить в конфиг:
Код:
character.set=204 chars.accented=АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя     
?

Так работать не будет.
Но буду рад увидиить более элегантнуй вариант.
Автор: eriik
Дата сообщения: 27.10.2005 16:54
Ребята, а можно как-нибудь содержимое *.lua-файла засунуть в .properties и оттуда его вызывать?
Автор: Ang
Дата сообщения: 27.10.2005 17:32
mozers

Цитата:
Цитата:вручную редактируя api-файл

Вручную... У... е... Это ж скока времени надо угорбить?...

А попробовать использовать программу "CTags" ? _http://ctags.sourceforge.net
Автор: dB6
Дата сообщения: 27.10.2005 21:43

Цитата:
1. Если я пишу собственную функцию с параметрами (ну, допустим на VB)
то может ли SciTE потом, когда я ее буду вызывать (а она у меня на этом же листе) подсказать мне эти параметры? (Ну так, как это делают другие редакторы кода) ?

Насколько я знаю - нельзя. Может только название функции подсказать.
Если вдруг я не прав и можно сделать так, чтобы выводило подсказку - скажите мне, буду очень благодарен

Добавлено:

Цитата:
2. Если подключен api файл, то может ли SciTE подсказывать не все подряд, а в зависимости от слова?
Т.е. если я написал объект window то после точки мне вывалятся его свойства и методы, а если я написал document то появятся свойства/методы document ?

Мне кажется, что единственный вариант, это писать все свойства и методы для document и window в формате:
window.метод1(список параметров) описание
window.метод2(список параметров) описание
и т.д.
Да и сначала придется нажимать ctrl+space, а потом уже писать window и выбирать из отфильтрованных методов/свойств.

Автор: mozers
Дата сообщения: 28.10.2005 12:57

Цитата:
Не правильнее просто забить в конфиг:
Код:
character.set=204 chars.accented=АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя

8AleX8

Цитата:
Так работать не будет

Странно. У меня - работает.

Цитата:
Но буду рад увидиить более элегантнуй вариант

Так yurinb и сделал Куда уж лучше
Вот только теперь для KOI-8 по аналогии наваять...
Ang

Цитата:
А попробовать использовать программу "CTags" ?

Качнул. Буду изучать... А сам то не пробовал ???

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869

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


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