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

» SciTE - Open Source Text Editor for Windows & Linux

Автор: mozers
Дата сообщения: 10.06.2006 11:04
C помощью mimir перехватил таки стандартный шорткат нормализации размера шрифта.
Почему раньше этот Ctrl+KeypadDivide у меня не работал не понимаю
SciTEStartup.lua
Код: -- Собственная функция, заменяющая стандартную Zoom
-- Достоинство: вместе с отображаемыми шрифтами, масштабируется и выводимый на принтер шрифт
-- mozers™ icq#256106175
function Zoom (i)
if i == '1' then
editor:ZoomIn()
end
if i == '-1' then
editor:ZoomOut()
end
if i == '0' then
editor.Zoom = 0
end
local zoom = editor.Zoom
local font_base = props['font.base']
local font_size = string.sub(font_base,string.find(font_base,'size:',1)+5)
props["print.magnification"] = zoom
props["font.current.size"] = font_size + zoom
--~ print ("Font Size: "..font_size + zoom.."px")
editor:VCHome()
end
Автор: masterZZZ
Дата сообщения: 12.06.2006 02:25
Здравствуйте, уважаемые.
Спасибо всем за огромное количество информации по настройкам SciTE.
Всё настроил под себя, но споткнулся о параметры caret.policy.

Проблема в следующем:
При просмотре/редактировании нескольких файлов в одном многовкладочном окне SciTE при переключении с одной вкладки на другую линия текста с курсором меняет своё положение абсолютно непредсказуемым образом. Т.е. просматриваю два файла, нашёл интересное место, установил линию текста с курсором в нижней части окна, переключаюсь на вкладку второго файла, просматриваю его, возвращаюсь к первому файлу - линия текста с курсором может переместиться в верхнюю или нижнюю часть окна.
При работе с десятью файлами всё это превращается в беспредел по возвращению убегающих линий на место, удобное для восприятия.
Видимо в этом есть какая-то логика и это не баг а фича, но мне она не понятна и есть желание её отключить.
Подозрение падает на параметры:

Цитата:
caret.policy.xslop=1
caret.policy.width=20
caret.policy.xstrict=0
caret.policy.xeven=0
caret.policy.xjumps=0
caret.policy.yslop=1
caret.policy.lines=1
caret.policy.ystrict=1
caret.policy.yeven=1
caret.policy.yjumps=0
#visible.policy.strict=1
#visible.policy.slop=1
#visible.policy.lines=4

Единственное, что удалось - это привязать линию курсора к определённому месту с помощью параметра strict, но это не выход - хочется свободы...

В общем - чего хочется:
Что-бы линия курсора оставалась на том-же месте, на котором была оставлена до переключения на следующую вкладку во всех вкладках - это МИНИМУМ.

Получить толковое описание, основанное на личном опыте, вышеупомянутых параметров - это МАКСИМУМ.

Заранее спасибо ВСЕМ.

P.S.
"Жить стало лучше, жить стало веселее..."
by Stalin
Автор: mozers
Дата сообщения: 12.06.2006 11:44
masterZZZ

Цитата:
При просмотре/редактировании нескольких файлов в одном многовкладочном окне SciTE при переключении с одной вкладки на другую линия текста с курсором меняет своё положение абсолютно непредсказуемым образом.

Похоже что какой то злобный lua скрипт хулиганит
Грохни все файлы *.properties (более мягкий вариант - отключи SciTEStartup.lua) и попробуй снова - такого безобразия не будет.
Автор: mozers
Дата сообщения: 12.06.2006 18:14
Поговорил тут с Neil Hodgson (разработчиком SciTE)...
Прямо скажу, впечатление - удручающее
Мало того что этот тип приписал себе все то, что придумал и реализовал mimir.
Как выяснилось, то что SciTE может работать с кодировкой DOS 866 для него - новость.
"Это - незапланированное поведение и я не приложу никаких усилий чтобы поддерживать это в будущих версиях".
Нет слов...
То, что от реализации многих удачных находок этот кадр постоянно открещивается, не давая никаких аргументированных объяснений я уже не говорю...
"I won't be adding this" и все
Короче, ребята, ситуация такова что расчитывать надо только на свои силы.
Уважаемые русские программисты, все наши взоры прикованы к вам
Автор: masterZZZ
Дата сообщения: 13.06.2006 01:35
Нашёл причину:

Цитата:
При просмотре/редактировании нескольких файлов в одном многовкладочном окне SciTE при переключении с одной вкладки на другую линия текста с курсором меняет своё положение абсолютно непредсказуемым образом.

Подозрение с caret.policy снимается.
Виноват параметр fold.on.open=1.

Воспроизвести можно на всех последних версиях SciTE

Цитата:
fold=1
fold.compact=1
fold.flags=16
fold.symbols=1
fold.on.open=1
fold.comment=1
fold.preprocessor=1



Автор: mimir
Дата сообщения: 13.06.2006 10:24
Люди, как можно отменить выдиление, т.е. по ДоблеКлик я хочу поставить закладку и при этом я не хочу чтобы слово выделялось. Может кто знает как это сделать?Желательно чтобы курсор тоже оставался на масте.
Автор: mozers
Дата сообщения: 13.06.2006 11:20
mimir
Ты - про первый вариант моего скрипта? (его еще gansA усовершенствовал) ?
А че те второй вариант (с помощью двойного клика мыши на боковой панели с номерами строк) вообще не понравился?
Или свой хочешь изобразить?
Я думаю, что слово все равно выделятся будет. Можно попробовать тут же в скрипте снять это выделение, подвинув курсор.
А чтобы ДаблКликнуть и курсор при этом не сместился - вообще фантастика. (Правда, если постоянно сохранять его координаты, а после ДаблКлика восстанавливать...)
Автор: mimir
Дата сообщения: 13.06.2006 11:36

Цитата:
Ты - про первый вариант моего скрипта? (его еще gansA усовершенствовал) ?
А че те второй вариант (с помощью двойного клика мыши на боковой панели с номерами строк) вообще не понравился?

Я сделал по Ctrl+DoubleClick. Меня это полнустью устраивает.
Попозже если надо пришлю исправления.
А твой второй скрипт я не смотрел еще, но посмотрю обязательно .
На счет abbrev, так я надеялся на конструктивную критику и рац. предложения, но если это всех устраивает, то выкладывай.

Автор: mozers
Дата сообщения: 13.06.2006 13:35
Дополнение для abbrev (c) mimir
Он теперь поддерживает переменные %SEL%(выделенный текст), %CLB% (скопированный) и %GUID% (это какой?).
Идея принадлежит codewarlock1101.

Например можно в abbrev написать так:
Код: <a =<a href="|" alt="" target=_blank>%SEL%</a>
Автор: mimir
Дата сообщения: 13.06.2006 14:13

Цитата:
И вопросы возникают по изобретению:
%GUID% ???

GUID-это GUID.({41FA0775-E644-4195-81A7-E5713638A914});
Я как раз писала COM сарвер и там они очень пригодились для шаблонов интерфейсов, классов и и т.д.

Цитата:
не понял про что ты

Я вроде писал.
например для паскаля .
propsg=property %SEL%:%CLB% read Get%SEL% write Set%SEL%;
где
%SEL% - имя
%CLB% - тип

но если захотеть автоматически генерировать процедуры надо иметь еще имя класса
function %???%.Get%SEL%:%CLB%
begin
Result := F%SEL%;
end;

Вот я и смотрю, может в выделенном тексте искать конструкции типа %...% и брать их как %PAR_N%
Автор: mirk
Дата сообщения: 13.06.2006 15:15
По поводу несмешения курсора и не выделения:
1 шаг выделения позиции вперед , 1 назад
Автор: mozers
Дата сообщения: 13.06.2006 16:04
mimir
Поскольку этот твой новый код (я про abbrev) никак не отменяет все старые привычные приемы, я добавлю его при компиляции новой версии сборки.
Пусть тот кому нужно это, использует и делится с нами своими решениями
Лично я пока - не готов к его использованию
Автор: codewarlock1101
Дата сообщения: 13.06.2006 16:05
mozers,mimir
Привет.
На счет доп параметров ( для некоторого abbr):
abbr%ЗНАЧЕНИЕ_ПАРАМ1%ЗНАЧЕНИЕ_ПАРАМ2%.....
Только главное - чтобы в параметрах пробелов не было.... а в коде аббревиатуры - соответственно %1% %2% итд. При этом если в коде парамов нет - пусть их отбрасывает нафиг.

То есть (как в примере mimir)
fn=function %1%.Get%SEL%:%CLB%\nbegin\nResult := F%SEL%;\nend;\n
Вызвать
fn%TSomeClass%

еще можно прикол для удобства:
if+34 - перед раскрытием аббревиатуры выделит текст после ифа -- до 34 строки и потом уже обработает %SEL%. Это чтобы лишний раз не выделять куски кода.
Извращение, что-то вроде:
ife=if %CLB% then\nbegin\n%SEL%\nend\nelse\nbegin\n%1%\nend;
ife+515%result:=false;break% <МНОГО СТРОК ТЕКСТА АЖ ДО 515 строчки>

mimir!
А возможно подправить код чтобы не заморочно было с позицией курсора после аббрева? и чтобы пробелы и символы переноса между выделенным и аббревом не учитывались...
Автор: mimir
Дата сообщения: 13.06.2006 16:06
Пока так.
i = editor.CurrentPos
editor:SetSel(i,i)
Теперь надо сохранить позицию перед первым кликом.
Автор: codewarlock1101
Дата сообщения: 13.06.2006 16:19
ДРУЗЬЯ ПРОГРАММИСТЫ!
Еще момент -
При сохранении сессии очень хорошобы было сохранять букмарки, и не очищать их если файл был изменен другим приложением....
С_П_А_С_И_Б_О
Автор: xdude
Дата сообщения: 13.06.2006 16:46
А я все жду, когда ж добавят возможность перетаскивать (менять местами) вкладки.
Заранее спасибо
Автор: masterZZZ
Дата сообщения: 14.06.2006 01:26
Здравствуйте.
Подскажите, пожалуйста, значения параметров:

Цитата:

# KOI8-R - input code
code.page=
character.set=
chars.accented=

# DOS866 - input code
code.page=866
character.set=255
chars.accented=
Автор: mirk
Дата сообщения: 14.06.2006 04:08
На WikiPedia про SciTE заметку написали без указания ссылки на наш сайт, пришлось исправлять ситуацию
Автор: mirk
Дата сообщения: 15.06.2006 00:50
С конференции:

Приблизительный перевод:

Цитата:

В ближайшее время я планирую выпустить версию 1.7, в которой будут использованы преищущества второй международной модификации GTK+ - использование входных методов для всех локалей и набор символов конвертации лениента(?) для буфера обмена. Выйдет версия скорее всего во вторник. Заплатки будут скоро высланы и все, больше в этой версии ничего нового не появится.


I'm thinking of releasing 1.70 relatively soon to distribute the
benefits of the two GTK+ internationalisation modifications: use of
input method for all locales and lenient character set conversion for
clipboard. Probably around Tuesday next week. New fixes should be sent
soon and its unlikely I'll accept any new features for this release.


Выкладываю на форум, потому что пока сижу на девере, а вырубать его лень


2Mozers:

Тоже с конференции:

Цитата:

Tugarinov Sergey:
> > Neil Hodgson пишет:
>> > > mozers:
>>> > >> Good mimir's idea was not added in SciTE 1.69
>> > > I won't be adding this.
> > Why?

Insufficient motivation: saying something is a good idea is useless
whereas explaining how particular uses are enabled can help.
Heavyweight scaffolding that may not be needed with an import x.abbrev
for every possible language and an extra directory to complicate
installers and other utilities and packaging. I doubt per-language
abbreviation files will be commonly useful amongst multiple users to
the extent that they are swapped or downloaded but if usage determines
that they are then additional facilities can be included based on that
usage.

SciTE should stay minimal but allow others to distribute their own
targeted packages: if a community likes abbreviations files to the
extent of maintaining a set then they can distribute either a full
SciTE setup or just a set of properties files.

Neil

Автор: mozers
Дата сообщения: 17.06.2006 20:11
mirk
Задолбало меня уже на том форуме убедительно доказывать что 2+2=4
Да и не все мои ответы доходят до этой долбанутой эхи

masterZZZ
Для DOS866 указанных параметров вполне достаточно для нормальной работы.
chars.accented можно вставить по аналогии с win1251. Я когда то пробовал - толку от нее тут никакого.
KOI8-R - не поддерживается.
(Да и то, что с DOS866 можно нормально работать, как выяснилось - баг программы. Так считает ее автор - Neil Hodgson

mimir
Цитата:
Я сделал по Ctrl+DoubleClick. Меня это полнустью устраивает.
Попозже если надо пришлю исправления.

Я жду
Автор: mirk
Дата сообщения: 17.06.2006 20:19

Цитата:
Задолбало меня уже на том форуме убедительно доказывать что 2+2=4

Заметил уже...
Но съехал он красиво, типа все должно быть расширяемо и по минимуму

mozers
Цитата:
(Да и то, что с DOS866 можно нормально работать, как выяснилось - баг программы. Так считает ее автор - Neil Hodgson

Самое главное, чтобы он его не исправил
Автор: IDreamer
Дата сообщения: 17.06.2006 22:43
Подскажите, как в SciTE подсветить выбраный текст и запоминить эту подсветку при дальнейшем открытии файла?
Автор: mozers
Дата сообщения: 18.06.2006 00:00
IDreamer
Что есть "подсветить"?
Можно сделать поиск по тексту, выбрав "Пометить все", тогда текст будет подсвечен полупрозрачными прямоугольниками.
Можно подсветить фон текста, используя функцию...
Опа! К удивлению своему такой не обнаружил
Нашел SetStyling (выделяет текст подчеркиванием) и SetSelBack(эта меняет фон выделения).
Другие (например StyleBack) находятся не в IFaceFunction, а в IFaceProperty, т.е. для редактирования недоступны.
Или я чо туплю? Если - ДА, то ответте с примерчиком, pls.

Цитата:
запоминить эту подсветку при дальнейшем открытии файла
Тоже думаю что можно это сделать на Lua (где то мелькнул пример в котором данные сохраняются/читаются из файла) ...

Вообще, сама цель "подсветить выбраный текст и запоминить" меня не заинтересовала. Просто очень интересно (для решения других задач) как это можно реализовать на LUA? Я уверен что можно.
"Спецы" попробуйте?
А то все скрипты у нас из одних и тех же 5 функций состоят...

ALL
Слышали что тут Нейл предложил в ответ на просьбу откорректировать алгоритм api файлов? (Ну чтоб всегда, а не только после первой точки список свойств/методов возникал).
Он предложил мне написать собственный алгоритм для автодополнения (на LUA).
Шютка? А я башку ломаю с какой стороны зайти...
Автор: masterZZZ
Дата сообщения: 18.06.2006 02:36
mozers

Цитата:
то, что с DOS866 можно нормально работать, как выяснилось - баг программы. Так считает ее автор - Neil Hodgson

А мы тут уже наредактировали в DOS866 и что теперь с этим делать?
Видимо Neil-у Hodgson-у придётся извиниться перед пользователями за столь досадное недоразумение, приведшее к расширению возможностей программы и породившее несбыточную надежду, что SciTE станет всётаки полноценным редактором, работающим со всеми стандартными кодировками.
ALL
А если серьёзно, то DOS866 часто попадается и с ним приходится работать, а на KOI8-R практически весь русский Linux сидит и от этого никуда не деться.
Обвеситься скриптами и перекодировщиками - думаю не выход.
Отказываться от сабжа только потому, что у автора затмение по поводу кодировок?
Автор: IDreamer
Дата сообщения: 18.06.2006 13:12
mozers
Требуется выделение цветом.
Вот как ты в своем посте выделил 2 предложения.
Важно, чтобы это сохранялось при дальнейшем открытии файла.
Автор: mirk
Дата сообщения: 19.06.2006 02:22
Статистика посещаемости сайта за прошлую неделю:

Чтение RSS каналов - 927 раз (к лету упала в 1.5 раза )
Скачивание сборки - 174 раза
Скачивание исходников сборки - 18 раз

Дата Хосты Хиты [главная страница]
Автор: mozers
Дата сообщения: 19.06.2006 21:44
IDreamer
Я уже один раз наврал, говоря о том что "IFaceProperty, т.е. для редактирования недоступны".
Вполне доступны, например, так:
Код: editor.StyleBack[32]=16763904
Автор: unreal666
Дата сообщения: 19.06.2006 22:29
IDreamer
Текстовые файлы вообще нельзя раскрасить. Где в файле будет храниться инфа о раскраске?!
Автор: mirk
Дата сообщения: 20.06.2006 02:04
Подчеркнуть можно, где-то видел такой скрипт, вполне возможно, что вот здесь - http://lua-users.org/wiki/SciteScripts
По идее и места подчеркивания сохранить можно, тоже не страшно.
Автор: unreal666
Дата сообщения: 20.06.2006 02:32

Цитата:
По идее и места подчеркивания сохранить можно, тоже не страшно.

А где это будет сохраняться?
Только если этот скрипт будет использовать для сохранения какой-то отдельный файл, в котором будет прописан путь к текстовому файлу и место этого подчеркивания (или выделения каким либо цветом).
Какая вообще версия Lua используется в Scite ?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869

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


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