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

» SciTE - Open Source Text Editor for Windows & Linux

Автор: gansA
Дата сообщения: 31.03.2006 07:12
dB6

Цитата:
Там, кстати, (в настройках) удобнее - галочка отображается

Вызов
Цитата:
IDM_ONTOP
из контекстного меню тоже ставит эту галочку

Автор: dB6
Дата сообщения: 31.03.2006 12:11
gansA

Цитата:
из контекстного меню тоже ставит эту галочку

Да, ставит галочку в главном меню (настройки), а не в контекстном. Я это имел в виду.
Автор: mozers
Дата сообщения: 03.04.2006 11:29
SciTE 1.68 Ru-Board EditionДоработанный код
Полностью русифицированный интерфейс
Частично русифицированный HELP
Нестандартная структура
Оригинальные файлы конфигураций
Подключены полезные скрипты
Это - первая пробная попытка сделать русскую сборку SciTE
Были использованы решения:
mimir - Главный программист - все доработки ядра программы, настройки, LUA-скрипты
mirk (Сергей Тугаринов) - Русификация HELP, настройки, скрипты и конечно сайт http://scite.ruteam.ru
dB6 - Настройки редактора, коррекция ошибок
gansA - Настройки редактора, LUA-скрипты
xdude - Настройки автоотступа
yurinb - Скрипт переключения между кодировками Win1251/DOS866
8AleX8 - Настройки .properties, .abbrev,... Да и ВООБЩЕ - родоначальник нашего топика SciTE на Ru-Board. С него все началось...
mozers™ - настройки, скрипты, комментарии, сборка

Хотелось бы упомянуть Grisper, DeadMorozBLR, ALeXkRU, VictorGS и других активных участников топика,
которые хотя и не принимали непосредственное участии в создании данной сборки,
но своими вопросами и замечаниями помогли сделать ее лучше
Если кого то забыл упомянуть, простите великодушно и сообщите мне свои координаты.

Очень надеюсь на обильную и конструктивную критику и толковые предложения.
Автор: gansA
Дата сообщения: 03.04.2006 12:22
mozers
Реально крут!!!

сдам еще пару пустяковых скриптов )))
скрипт 1
--//============================================================================
--// трасировка выделенного текста в коды ASCII
--//============================================================================
local str = editor:GetSelText()

if string.len(str) > 0 then
    print('>ASCII code')

    for i = 1, string.len(str) do

        local strS = string.sub(str,i,i)
        local strB = string.byte(strS,1)

        print('['..strS..'] '..strB)
    end
end

скрипт 2 (работает по F5), ещет вхожения строки str0 или str1 и взависимости от них запускает бровзер

command.go.subsystem.$(file.patterns.web)=3
command.go.$(file.patterns.web)=dofile $(SciteDefaultHome)\lua\asp_browse.lua

--//============================================================================
--// запуск на исполнение страниц asp
--//============================================================================

local str0 = '\\адрес 1\\'
local str1 = '\\адрес 2\\'

local f = props['FilePath']

local s,e,path,file = string.find(f,str0..'(.*)')
local target = 'localhost'

if path == nil then
    target = 'server'
    s,e,path,file = string.find(f,str1..'(.*)')
end

if path ~= nil then
    local target = ('http://'..target..'/'..path)
    local browser = ('explorer ' .. target .. ' &')
    os.execute(browser)
else
    print('! Path template not found')
end

так же есть еще развернутая vbscript.api

Добавлено:
+ еще раз повторюсь (оригинал 16.12.2005)

Да тишина....
Сделал еще одну полезняшку, автозакрытие символов, как все оказалось просто
startup.lua

Цитата:
function SymbolAutoClose(charAdded,symS,symE,pos)
if charAdded == symS then
editor:InsertText(pos,symE)
end
return 0
end

function OnChar(charAdded)
local pos = editor.CurrentPos

SymbolAutoClose(charAdded,'(',')',pos)
SymbolAutoClose(charAdded,'"','"',pos)
SymbolAutoClose(charAdded,'[',']',pos)
SymbolAutoClose(charAdded,'{','}',pos)
SymbolAutoClose(charAdded,"'",string.char(39),pos)
end
Автор: DeadMorozBLR
Дата сообщения: 03.04.2006 14:46
gansA

Спасибо за автозакрытие символов: попользовался, однако прибил. Дело в том, что часто случается так, что автоматом набираешь открывающую и закрывающую скобки вместе - привычка, выработанная годами - и получается, что закрывающих скобок набирается две.

В Zend Studio это сделано более интеллектуально: при наборе следующего после автозакрытия символа проверяется, не является ли он этим самым "закрывающим", и в таком случае второй раз не набирается, а курсор остается между ними.

С удовольствием потестил бы исправленную версию. =)
Автор: mimir
Дата сообщения: 03.04.2006 17:30
DeadMorozBLR

Цитата:
С удовольствием потестил бы исправленную версию. =)

Наслаждайся

function SymbolAutoClose(charAdded,symS,symE,pos)
if(pos<2)then
return 0
end
local PrevSym = string.char(editor.CharAt[pos-2])
-- print('PrevSym='..PrevSym..' '..charAdded)
if ((PrevSym == symS) and (charAdded ~= symE)) then
editor:InsertText(pos,symE)
end
return 0
end

ЗЫ. Спасибо за идею.
Автор: mirk
Дата сообщения: 03.04.2006 18:43
Блин, ребята молодцы, клёво, собрать такое......

Скачал, поставил, сразу же после установки в глаза бросилось отсутствие проблем с русскими именами пользователя винды.

Нашел одну ошибку в сборке:
В файле open with scite.reg нужно убрать комменты, иначе винда не воспринимает его как файл реестра.

Просьба к коммунити, кто сможет написать скрипт переноса выделенных строк, по сочетанию клавиш, Alt+up, Aly+Down, с удовольствием повозился бы сам, но никак
Спасибо заранее.

P.S. Извините за несвязанную речь, весь в себе



Добавлено:
Новый пост на сайте: Примеры настроек подсветки синтаксиса ЯП со скриншотами

Суть в следуещем: человек выкладывает пример настройки подсветки синтаксиса ЯП со скриншотом открытого файла в SciTE.

Ну, кто хочет первым засветиться своим УЖАСНЫМ цветовым вкусом? ))

P.S. Для размещения скриншота необходима регистрация.
Автор: ALeXkRU
Дата сообщения: 03.04.2006 21:20

Цитата:
В файле open with scite.reg нужно убрать комменты, иначе винда не воспринимает его как файл реестра.

достаточно переставить комментарий после REGEDIT4

mozers
класс! узнал много нового

в подсказках синтаксиса:

Цитата:
А теперь то же самое - с помощью шорткатов Сtrl+I и Сtrl+Enter

у меня работают только с Ctrl+Space
Автор: mozers
Дата сообщения: 03.04.2006 21:31
Спасибо за добрые слова
Вначале извините за SciLister.wlx
Плагин, конечно, неплохой, но в дистрибутв сборки он попал по недосмотру...

gansA
Спасибо за скрипты Правда тот первый (автозакрытие) мне чой то не понравился. Я и в других редакторах эту прелесть всегда отрубаю.
Новые варианты еще не смотрел - обязательно гляну.
Для таких вредных как я можно создавать в пропертях переменную (например braces.autoclose=0) которую скрипт будет проверять и выполнять свою работу или нет. Тогда пользователь сможет легко включить/отключить эту фичу.
Цитата:
так же есть еще развернутая vbscript.api
Так поделись пожалуйста! Чо людей то дразнишь?
Если сам делал, то копирайты не забудь поставить.

Кстати, ВСЕМ кто выдает для людей законченные произведения.
Постарайтесь хоть немного оформить код перед публикацией. Не забывайте указывать свои координаты.
Я понимаю вашу природную скромность, но тут - другое дело. Кому пойдут замечания, предложения по вашей фиче???...
Ну, в общем, понятно...


mirk
Цитата:
в глаза бросилось отсутствие проблем с русскими именами пользователя винды
УРА! САМО ПОЧИНИЛОСЬ ))

Цитата:
Выкладываем свои настройки подсветки синтаксиса со скриншотом
ОЧЕНЬ ИНТЕРЕСНАЯ ИДЕЯ!


Видимо пока никто еще не изучал файлы конфигураций сборки...
А то я туда вопросов навтыкал...
Самый главный:
КАК заставить автодополнение автоматом врубаться после нажатия на точку???
(Даже в HELP пример есть - только не работает ни хрена ни с JS ни с VBS


Добавлено:
ALeXkRU
Спасибо, вижу что лазил по настройкам
Ответить, правда не могу. С этим чудесным автодополнением, что подарил нам mimir я сам до конца не разобрался Где то работает на "отлично". Где то - в упор не видит api-файл
Автор: ALeXkRU
Дата сообщения: 03.04.2006 22:18
mozers
вот, позаимствовал в Notepad++ некоторое количество файлов автоподстановки - api
APIs.rar ... мож пригодится
Автор: mirk
Дата сообщения: 04.04.2006 01:11
ЖЖ , работает кросспостинг с сайта
Автор: dB6
Дата сообщения: 04.04.2006 02:02
mimir
Цитата:
Наслаждайся
А сам то хоть пробовал?;) Имхо, весьма глючный скрипт. Дополняет и дополняет...

mirk
Малайца!

Ну а mozers - полный респект
Но заслуженную критику получит
Автор: Grisper
Дата сообщения: 04.04.2006 08:19
mirk в ЖЖ лучше имхо комьюнити завести.
Тогда люди смогут вопросы задавать там и т.п.
Например http://community.livejournal.com/ru_mirandaim/ - удачный пример тому
Автор: mozers
Дата сообщения: 04.04.2006 08:26
Прошу прощения перед участниками - вопрос назрел только для программистов:
Дико хочется наладить нормальное взаимодействие между Скайтом и внешними прогами и скриптами. Такое же простое и прозрачное как существующествующее со встроенным LUA. Т.е. хочу писать так:
Код: Set objScite = WScript.CreateObject("Scite.Application")
text = objScite.GetSelText
text = "<B>" + text + "</B>"
objScite.ReplaceSelText text
Автор: mirk
Дата сообщения: 04.04.2006 10:33

Цитата:
Лично я уже высказывался ПРОТИВ растаскивания обсуждения в разные места.
Повторюсь: Я - за то чтобы обсуждение велось ТОЛЬКО ТУТ!


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


Цитата:
mirk в ЖЖ лучше имхо комьюнити завести.

неа См. выше.

P.S. Кстати, если будете размещать комментарии на сайте, подпишитесь пожалуйста на рассылку новых комментов, вроде ошибка исправлена(не отсылались сообщения о новых комментариях подписавшимся), осталось только протестировать.
Автор: mimir
Дата сообщения: 04.04.2006 11:37
dB6

Цитата:
А сам то хоть пробовал?;) Имхо, весьма глючный скрипт. Дополняет и дополняет...

Согласен, я это заметил еще вчера вечером, и по дороге домой придумал несколько вариантов. Самый удачный на мой взгляд - это проверять не предыдшествующий символ, а символ который был набран последний раз.
Например


Цитата:

function SymbolAutoClose(charAdded,symS,symE,pos)
local PrevSym = props['PrevKey']
if ((PrevSym == symS) and (charAdded ~= symE)) then
editor:InsertText(pos,symE)
end
return 0
end


function OnChar(charAdded)
if(props['braces.autoclose']=='1')then --For mosers
local pos = editor.CurrentPos
SymbolAutoClose(charAdded,'(',')',pos)
props['PrevKey'] = charAdded;
end
end


Может стоит проверять и на не равество вновь введенного символа открывающемусимволу или проверять и место последнего введенного символа, в общем жду идей.
mozers

Цитата:
Где то работает на "отлично". Где то - в упор не видит api-файл

По Ctrl-B он вызывает IDM_COMPLITEWORD, a я переделал IDM_COMPLITE

Цитата:
КАК заставить автодополнение автоматом врубаться после нажатия на точку???

Проблема в том что для заполнения списка используеться начало слова, а точка являеться разделителем, поэтому в список должны поподать все возможные слова, но это запрещено(для автодополнения должно существовать начало слова).

Цитата:
Нахожу окно редактирования и посылаю ему сообщение EM_GETSELTEXT.

По сути именно этот способ и есть правельный. Сообщения для того и сделаны.
mirk

Цитата:
Просьба к коммунити, кто сможет написать скрипт переноса выделенных строк, по сочетанию клавиш, Alt+up, Aly+Down, с удовольствием повозился бы сам, но никак

Присоединяюсь к просьбе.
У меня не очень получаеться

Цитата:

local line = editor:LineFromPosition(editor.CurrentPos)
local ls = editor:GetLine(line)
editor:LineDelete()
editor:LineUp();
editor:InsertText(editor.CurrentPos,ls)

Я не нашел как найти начало линии. Может кто подскажет
Автор: mozers
Дата сообщения: 04.04.2006 12:38
mimir

Цитата:
Проблема в том что для заполнения списка используеться начало слова, а точка являеться разделителем, поэтому в список должны поподать все возможные слова, но это запрещено(для автодополнения должно существовать начало слова).

Имхо точка является разделителем только в литературе
В программировании основной разделитель - пробел, запятая, ...
Может поправить это дело можно ???

Цитата:
EM_GETSELTEXT.
По сути именно этот способ и есть правельный

Ну проблему получения текста так решить можно (хотя мне не нравится). А как читать значения пропертей (допустим)? Писать собственную процедуру анализа конфигурационных файлов? Чо то - нехорошо.
Вот если бы использовать встроенные функции самого SciTE... Сказка...
Чо, нельзя что ли их сделать экспортируемыми ???
Ничего другого в голову не лезет - так меня эта идея убуяла
Автор: mimir
Дата сообщения: 04.04.2006 13:09
Вызывать ф. надо синхронно и для этого используеться механизм сообщений(сам Scite именно так и вызывает многие ф.), а если их начать вызывать из разных потоков, то еще неизвестно как все будет работать.

Цитата:
Писать собственную процедуру анализа конфигурационных файлов?


Тоже не получиться, ведь проперти пожно создовать и в скриптах.

http://scintilla.sourceforge.net/ScintillaDoc.html#SCI_GETPROPERTY
SCI_GETPROPERTY
SCI_GETPROPERTYINT

На счет точки там надо посмотреть. Я говорил про автокомплит(по нажатию Ctrl+Space), а автоматическое включение я еще не смотрел

И еще как на счет скрипта перемещения строк?
Автор: dB6
Дата сообщения: 04.04.2006 13:40
mimir
Цитата:
Самый удачный на мой взгляд - это проверять не предыдшествующий символ, а символ который был набран последний раз.

Мне эта же идея вчера в голову пришла, как поюзал твой скрипт и сделал даже набросок.
Только у тебя есть маленькая ошибка - если я набираю подряд закрывающий и открывающий символ и если символ закрывающий равен открывающему.
Я проверял на совпадение и если было совпадение, то очищал буфер с пред. символом набранным.
А потом родилась идея - использовать массив для того чтобы автозакрывать не только последний символ, а несколько подряд т.е. ('текст').

Автор: mirk
Дата сообщения: 04.04.2006 14:22

Цитата:
Я не нашел как найти начало линии. Может кто подскажет

editor:Home(); - вроде это то что ты ищешь.


Вот что я накидал (пашет, но с глюками):


Код:
command.name.31.*=Переместить строку вверх
command.subsystem.31.*=3
command.31.*=MoveLineUp
command.mode.31.*=savebefore:no
command.shortcut.31.*=Alt+Up

command.name.32.*=Переместить строку вниз
command.subsystem.32.*=3
command.32.*=MoveLineDown
command.mode.32.*=savebefore:no
command.shortcut.32.*=Alt+Down


function MoveLineUp()
editor:LineCut();
editor:LineUp();
editor:Home();
editor:Paste();
editor:LineUp();
editor:LineScrollUp();
end

function MoveLineDown()
editor:LineCut();
editor:LineDown();
editor:Home();
editor:Paste();
editor:LineUp();
editor:LineScrollDown();
end
Автор: mimir
Дата сообщения: 04.04.2006 14:28
Все оказалось просто.
Устанавливаете
word.characters.*=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.
autocomplete.*.start.characters=.
и все работает
Автор: mirk
Дата сообщения: 04.04.2006 14:33
Нашел интересный проект ChSciTE - IDE На базе SciTE и Scintilla заточенная под C++. Возможностей как я понял куча.

Скриншоты:


Автор: mimir
Дата сообщения: 04.04.2006 15:42
dB6

Цитата:
А потом родилась идея - использовать массив для того чтобы автозакрывать не только последний символ, а несколько подряд т.е. ('текст').

Я даже сделал пробный скрипт, но проблема встает с тем что символы можно удалять, и удалять не в том месте где пишешь или то что ковычки не парные или много еще чего.

Для того чтобы комплит работал после точки можно писать например так
autocomplete.*.start.characters=.
word.characters.*=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.
Но при этом комплит будет брать слова до точки.

Для исправления можно изменить

while (iswordcharforsel(*wordend))
wordend++;
на
while (wordCharacters.contains(*wordend))
wordend++;

в SciTEBase::StartAutoComplete(SciTEBase::StartAutoCompleteWord) по желанию

хотя там все очень запутано

Если комплит начинаеться с autocomplete.*.start.characters то вызываеться StartAutoComplete, но если его нет в word.characters то список не создаеться,
Иначе если установлен autocompleteword.automatic то вызываеться StartAutoCompleteWord.
Автор: mirk
Дата сообщения: 04.04.2006 21:42
А что господа, никто не хочет выложить свой скрин?
А ведь столько желающих было

Добавлено:
Вообщем с помощью друга была переведена большая часть What New`s SciTE 1.68


Цитата:

[04.04.2006 22:57:13] >> * Released on 9 March 2006.
Выпущен 9 марта 2006 г.
* Translucent drawing implemented for caret line and box indicators.
Линия каретки и индикатор рамки теперь полупрозрачные
* Lexer specifically for TCL is much more accurate than reusing C++ lexer.
Лексический анализ TCL теперь более точный, чем лексер C++
* Support for Inno Setup scripts.
Поддержка скриптов Inno Setup

* Support for Opal language.
Поддержка языка Opal
* Calltips may use a new style, STYLE_CALLTIP which allows choosing a different font for calltips.
Для всплывающих подсказок может быть применен новый стиль отображения, настройка проводится через STYLE_CALLTIP, позволяющий сменить шрифт подсказок.

* Python lexer styles comments on decorators.
Изменен лексер стилей языка Python (как более точно = хз, не понимаю)

* HTML lexer refined handling of "?>" and "%>" within server side scripts.
Лексер в HTML теперь правильно обрабатывает серверные команды рядом с тегами ?> и %>

* Batch file lexer improved.
Улучшен лексер при массовом редактировании файлов

* Eiffel lexer doesn't treat '.' as a name character.
Лексер в языке Eiffel больше не считает точку (.) именным символом

* Lua lexer handles length operator, #, and hex literals.
Лексер в Lua обрабатывает индикатор длины, # и литералы HEX

* Properties file lexer has separate style for keys.
Лексер файла свойств теперь имеет отдельные стили для ключей

* PL/SQL folding improved.
Улучшена поддержка уровней в PL/SQL

* SciTE Replace dialog always searches in forwards direction.
Поиск с заменой теперь идёт только в направлении "вниз"

* SciTE can detect language of file from initial #! line.
Scite определяет язык файла с первой строки файла ( #! )

* SciTE on GTK+ supports output.scroll=2 setting.
Scite на GTK+ поддерживает настройку output.scroll=2

* SciTE can perform an import a properties file from the command line.
scite поддерживает импорт файла свойств через командную строку

* Set of word characters used for regular expression \< and \>.
ХЗ
* Bug fixed with SCI_COPYTEXT stopping too early.
Исправлена ошибка, когда SCI_COPYTEXT останавливался слишком рано

* Bug fixed with splitting lines so that all lines are split.
Исправлена ошибка с разделением линий

* SciTE calls OnSwitchFile when closing one buffer causes a switch to another.
ХЗ непонял

* SciTE bug fixed where properties were being reevaluated without good reason after running a macro.
ХЗ
* Crash fixed when clearing document with some lines contracted in word wrap mode.
хз
* Palette expands as more entries are needed.

не понял что за pallette в scite. ..
* SCI_POSITIONFROMPOINT returns more reasonable value when close to last text on a line.
* On Windows, long pieces of text may be drawn in segments if they fail to draw as a whole.
* Bug fixed with bad drawing when some visual changes made inside SCN_UPDATEUI notification.
* SciTE bug fixed with groupundo setting.


Кому не сложно, и кто не страдает отсутствием знаний английского, просьба поправить текст.

P.S. Наконец то руки дошли до этого, а то тут народ нас обвиняет в том, что мы заснули
Автор: xdude
Дата сообщения: 04.04.2006 22:43

Цитата:
Кому не сложно, и кто не страдает отсутствием знаний английского, просьба поправить текст.

Вот что получилось:


Цитата:
[04.04.2006 22:57:13] >> * Released on 9 March 2006.
Выпущен 9 марта 2006 г.
* Translucent drawing implemented for caret line and box indicators.
Линия каретки и индикатор рамки теперь полупрозрачные
* Lexer specifically for TCL is much more accurate than reusing C++ lexer.
Лексический анализ TCL теперь более точный, чем лексер C++
* Support for Inno Setup scripts.
Поддержка скриптов Inno Setup

* Support for Opal language.
Поддержка языка Opal
* Calltips may use a new style, STYLE_CALLTIP which allows choosing a different font for calltips.
Для всплывающих подсказок может быть применен новый стиль отображения, настройка проводится через STYLE_CALLTIP, позволяющий сменить шрифт подсказок.

* Python lexer styles comments on decorators.
Лексер Питона стилизует комментарии декораторами (тоже хз, но что-то в этом роде )

* HTML lexer refined handling of "?>" and "%>" within server side scripts.
Лексер в HTML теперь правильно обрабатывает серверные команды рядом с тегами ?> и %>

* Batch file lexer improved.
Улучшен лексер батч-файлов (*.bat)

* Eiffel lexer doesn't treat '.' as a name character.
Лексер в языке Eiffel больше не считает точку (.) именным символом

* Lua lexer handles length operator, #, and hex literals.
Лексер в Lua обрабатывает индикатор длины, # и литералы HEX

* Properties file lexer has separate style for keys.
Лексер файла свойств теперь имеет отдельные стили для ключей

* PL/SQL folding improved.
Улучшена поддержка уровней в PL/SQL

* SciTE Replace dialog always searches in forwards direction.
Поиск с заменой теперь идёт только в направлении "вниз"

* SciTE can detect language of file from initial #! line.
Scite определяет язык файла с первой строки файла ( #! )

* SciTE on GTK+ supports output.scroll=2 setting.
Scite на GTK+ поддерживает настройку output.scroll=2

* SciTE can perform an import a properties file from the command line.
scite поддерживает импорт файла свойств через командную строку

* Set of word characters used for regular expression \< and \>.
Набор словесных символов, используемый для регулярных выражений \< и \>

* Bug fixed with SCI_COPYTEXT stopping too early.
Исправлена ошибка, когда SCI_COPYTEXT останавливался слишком рано

* Bug fixed with splitting lines so that all lines are split.
Исправлена ошибка с разделением линий

* SciTE calls OnSwitchFile when closing one buffer causes a switch to another.
Скайт вызывает функцию OnSwitchFile, когда закрытие одного файла(буфера) приводит к переключению на другой

* SciTE bug fixed where properties were being reevaluated without good reason after running a macro.
Исправлена ошибка, когда свойства перечитывались без всякой причины после запуска любого макроса

* Crash fixed when clearing document with some lines contracted in word wrap mode.
Исправлена критическая ошибка (приводящая к краху программы) при очистке документа с несколькими объединенными строками в режиме переноса по словам

* Palette expands as more entries are needed.
Палитра расширяется по мере необходимости
(скорее всего, имеется в виду системная палитра, используемая для раскраски документа)

* SCI_POSITIONFROMPOINT returns more reasonable value when close to last text on a line.
SCI_POSITIONFROMPOINT возвращает более корректный результат когда близко к последнему тексту в строке (хз что они имеют в виду, скорее всего - близко к концу текста в строке)

* On Windows, long pieces of text may be drawn in segments if they fail to draw as a whole.
В Винде большие куски текста могут быть прорисованы по сегментам, если их нельзя прорисовать целиком

* Bug fixed with bad drawing when some visual changes made inside SCN_UPDATEUI notification.
Исправлен баг с некорректной прорисовкой после некоторых визуальных изменений, произошедших в обработчике SCN_UPDATEUI

* SciTE bug fixed with groupundo setting.
Исправлен баг Скайта с групповой отменой последнего действия (Group Undo)

Если че не досмотрел - прошу простить великодушно
Автор: ALeXkRU
Дата сообщения: 05.04.2006 00:33
некоторые пункты в моем исполнении :


Цитата:
* HTML lexer refined handling of "?>" and "%>" within server side scripts.
HTML-лексер теперь правильно обрабатывает теги "?>" и "%>" в серверных скриптах

* Lua lexer handles length operator, #, and hex literals.
Лексер в Lua обрабатывает оператор length, # и шестнадцатиричные литералы

* SciTE can detect language of file from initial #! line.
SciTE может определять язык файла по строке инициализации ( #! )

* Set of word characters used for regular expression \< and \>.
Добавлена поддержка метасимволов начала и конца ("\<" и "\>") слова в регулярных выражениях

* SciTE calls OnSwitchFile when closing one buffer causes a switch to another.
SciTE вызывает функцию OnSwitchFile при закрытии одного буфера и переключении на другой

* Crash fixed when clearing document with some lines contracted in word wrap mode.
Исправлен сбой программы при очистке документа с сокращенными некоторыми строками в режиме переноса по словам

* Palette expands as more entries are needed.
Палитра расширяется при увеличении числа элементов
(видимо, палитра цветов)

* SCI_POSITIONFROMPOINT returns more reasonable value when close to last text on a line.
Переменная SCI_POSITIONFROMPOINT возвращает более разумное значение для закрытого текста в конце строки

* On Windows, long pieces of text may be drawn in segments if they fail to draw as a whole.
В Windows длинный текст может отображаться частично, если неправильно отображается целиком.

* Bug fixed with bad drawing when some visual changes made inside SCN_UPDATEUI notification.
Исправлена ошибка неверной отрисовки при внесении некоторых визуальных изменений в SCN_UPDATEUI

* SciTE bug fixed with groupundo setting.
Исправлена ошибка SciTE с групповой отменой настроек
Автор: mimir
Дата сообщения: 05.04.2006 11:08
Я опять за свое

***.properties
braces.autoclose=1
braces.open=({['"
braces.close=)}]'"

***.lua
function OnChar(charAdded)
if(props['braces.autoclose']=='1')then
SymbolAutoClose(charAdded)
end
end
function SymbolAutoClose(charAdded)
    local pos = editor.CurrentPos
    local brIdx = string.byte(props['PrevIdx'])
    local f=charAdded
    
    if(brIdx~=nil)and(brIdx>0)then
        local symE
        symE = string.sub(props['braces.close'],brIdx,brIdx)
        if (charAdded ~= symE) then
            editor:InsertText(pos,symE)
        else
            props['PrevIdx'] = string.char(0)
            return 0
        end
    end
    
    if(charAdded=="(")or(charAdded=="[")then
        f=string.format("%%%s",charAdded)
    end
    brIdx =string.find(props['braces.open'],f,1)
    if(brIdx~=nil)then
        props['PrevIdx'] = string.char(brIdx)
    else
        props['PrevIdx'] = string.char(0)
    end
return 0
end

Еще может можно это сделать для лексеров например для HTML можно добавить <>
Щас думаю как сделать что-то типа
braces.open=|[q]|[b]|
braces.close=|[\q]|[\b]|
В таком случае наверное лучше проверять именно предшествующие символы. Главная проблема состоит в том что можно при вводе ошибиться и потом заменить тег в середине, но факта удаления символа мы отлавить не можем.
Автор: dB6
Дата сообщения: 05.04.2006 13:07
mimir
Цитата:
Я опять за свое

Молодец Только вот ты пробовал быстренько что-нить набрать? У меня очень сильно грузит проц. Когда набираю текст на енг. Если русский - то все ок. Имхо, связано с принадлежностью к chars.alpha.



Добавлено:
Кхм... Тормоза зависят от размера текста в окне... Если текста много - тормоза больше, меньше - почти не чувствуется.
Автор: mimir
Дата сообщения: 05.04.2006 13:17
dB6

Цитата:
Только вот ты пробовал быстренько что-нить набрать? У меня очень сильно грузит проц. Когда набираю текст на енг. Если русский - то все ок.

У меня ненаблюдаеться
А вот это не понятно

Цитата:
Имхо, связано с принадлежностью к chars.alpha.


Может это связано с "dos866<->win1251"?

Добавлено:
Celeron 1.7 512Mb
Автор: dB6
Дата сообщения: 05.04.2006 13:21
Блин... Уникальный глюк... Перезапустил SciTE - все пропало.. "Обвинения" снимаются до следующего инцидента...
Напишите, если у кого похожее что-то..

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869

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


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