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

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

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


Автор: mozers, Отправлено:19:36 24-12-2006
vladvro
Все правильно. Еще раз простите торопыгу. Список переменных SciTE которые не работают в abbrev конечен. Вот он весь:
Код:
CurrentSelection, CurrentWord, Replacements, SelectionStartColumn, SelectionStartLine, SelectionEndColumn, SelectionEndLine, LineNumber, ColumnNumber, SelHeight, SelLength, OverType, EOLMode, NbOfLines, BufferLength, FileDate, FileTime, FileAttr
Все остальные (в т.ч. и любые пользовательские) можно использовать совершенно свободно.
Кстати и любую из "запретных" переменных вполне можно заменить аналогичной пользовательской, значение которой вычисляется скриптом
Автор: vladvro, Отправлено:11:27 25-12-2006
mozers

Цитата:
Список переменных SciTE которые не работают в abbrev конечен.

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

но список не совсем корректен, например в нем нет CurrentDate, CurrentTime,
с другой стороны все переменные LineNumber, ColumnNumber, SelHeight, SelLength, OverType, EOLMode, NbOfLines, BufferLength, FileDate, FileTime, FileAttr, CurrentDate, CurrentTime - работают только при заполнении строки состояния.
где работает Replacements я чет даже не нашел, мнда, далеко мне еще до полного изучения редактора

таким образом, на мой взгляд, было бы точнее сказать, что список неработающих переменных:
Код:
CurrentSelection, CurrentWord, SelectionStartColumn, SelectionStartLine, SelectionEndColumn, SelectionEndLine
из тех, что доступны в любом месте.
проверить значение переменной можно по команде Alt-V (Узнать значение переменной) из сборки Ru-Board.
Автор: codewarlock1101, Отправлено:14:00 25-12-2006
vladvro
Скажи - в чем удобство и для чего можно использовать

Код:

abbrev.expand.incremental=1

ВСЕМ
Скажите, плиз. по умолчанию ставится асм-лексер. В Какой переменной можно задать лексер по умолчанию для созданных документов?
Автор: vladvro, Отправлено:18:03 25-12-2006
codewarlock1101

Цитата:
Скажи - в чем удобство и для чего можно использовать
Код:
abbrev.expand.incremental=1

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


Цитата:
В Какой переменной можно задать лексер по умолчанию для созданных документов?

default.file.ext
например у меня стоит:
default.file.ext=.lua

P.S.
кстати я перенес все свои настройки в файл SciTEUser.properties, оставив файл SciTEGlobal.properties таким, каким он идет в сборке, а для удобства работы с ним в скрипте SciTEGlobal_ToggleFold.lua поменял условие на:

Код:
if props['FileNameExt'] == 'SciTEGlobal.properties' or props['FileNameExt'] == 'SciTEUser.properties' then ...

и всем своим командам меню дал номера больше 200 (увеличив ограничение до 300),
теперь я могу легко обновляться на новую версию сборки как и советовал mozers

Автор: codewarlock1101, Отправлено:18:26 25-12-2006
vladvro
Спасибо!
А случаем не можешь разобраться с зацикливанием, когад из MenuCommand IDM_GO вызываешь!
Автор: vladvro, Отправлено:10:32 26-12-2006
codewarlock1101

Цитата:
А случаем не можешь разобраться с зацикливанием, когад из MenuCommand IDM_GO вызываешь!

причину этого дела я нашел:
запуск задач на выполнение в редакторе организован через очередь, видимо так решено было реализовать возможность собрать код перед запуском. Есть процедура добавления в конец очереди и процедура запуска на выполнение, выполнение всегда начинается с начала очереди.
Исполнение скриптов реализовано через этот же механизм, в результате получаем в начале очереди команду на испольнение нашего скрипта, исполнение которой приводит к очередному запуску на выполнение.

а вот как устранять этот баг пока что идей нет
Автор: codewarlock1101, Отправлено:11:15 26-12-2006
vladvro
как увеличить количество команд?
Автор: vladvro, Отправлено:13:31 26-12-2006
codewarlock1101

Цитата:
как увеличить количество команд?

ты про команды меню? меняешь число в файле SciTEBase.h в строке 488:
    enum { toolMax = 300 }; //!-change-[ToolsMax]


Автор: codewarlock1101, Отправлено:14:06 26-12-2006
vladvro
спасиба
Автор: mazzagavazza, Отправлено:16:53 27-12-2006
а не подскажите нельзя ли чтобы SciTEUser.properties лежал в папочке со scite? ну т.е. чтобы не только лежал, но еще и работали настройки оттуда
Автор: vladvro, Отправлено:19:09 27-12-2006
mazzagavazza

Цитата:
не подскажите нельзя ли чтобы SciTEUser.properties лежал в папочке со scite?

для сборки Ru-Board надо прописать полный путь в переменную scite.userhome
обсуждалось здесь
Автор: mozers, Отправлено:22:57 27-12-2006
Ядро 1.71 .30Ru
EXE + DLL [443kB]
Source [322kB] (только измененные файлы)
Список всех доработок

Уважаемый VladVRO исправил злосную багу, не позволявшую использовать в параметре scite.userhome внутренние переменные SciTE
Теперь свободно можно записать, например, так:
scite.userhome=$(SciteDefaultHome)\home
У Р А !
Автор: Shabba, Отправлено:02:14 28-12-2006
ох, супер СПАСИБО!

Добавлено:
mozers

Цитата:
Добавить строчку
Код:command.0.subsystem.$(file.patterns.qwerty)=4

не работает все рано
Автор: mozers, Отправлено:10:33 29-12-2006
Shabba
Виноват, упустил важную подробность:
Если ты запускаешь CHM из меню Tools, а не как принято по F1, то писать надо так:
Код:
command.name.0.$(file.patterns.qwerty)=Help
command.0.$(file.patterns.qwerty)=HH "$(SciteDefaultHome)\help\qwerty.chm"
command.0.subsystem.$(file.patterns.qwerty)=4
Подробности - тут
Автор: Shabba, Отправлено:12:44 31-12-2006
Спасибо
Автор: codewarlock1101, Отправлено:11:42 11-01-2007
Всех с наступившими праздниками!

какая-то дасада -
в abbrev:

Код:

i=if (|) then\nbegin\n%SEL%\nend
i =if %SEL% then
if=if (|) then\nbegin\n%SEL%\nend
if =if %SEL% then
of=if (|) then\nbegin\n%SEL%\nend
of =if %SEL% then


Из этого списка раскрываются все аббревы кроме "if с пробелом". ((((
То есть почему-то он проглатывается при этом вообще "if с пробелом" игнорируется даже если это единственная аббревиатура.
Автор: vladvro, Отправлено:17:19 11-01-2007
Всех с Новым Годом!

небольшой скриптик для упрощения настройки редактора, позволяет легко менять номера выделенных пунктов меню в файле настроек:

Код:
function MoveMenuItem (delta)
local new = ""
local text = editor:GetSelText().."\n"
for str in string.gfind(text, "([^\n]*)\n") do
str = string.gsub(str, "(%.%d+)", function (s) return "."..tonumber(string.sub(s,2))+delta end, 1)
if new ~= "" then new = new.."\n" end
new = new..str
end
local ss, se = editor.SelectionStart, editor.SelectionEnd
editor:ReplaceSel(new)
editor:SetSel(ss, se)
end

и добавляем в файл настроек:

Код:
# Util \ Move menu item up
command.parent.111=30
command.name.111.*.properties=Move menu item Up
command.111.*.properties=MoveMenuItem -1
command.mode.111.*.properties=subsystem:lua,savebefore:no
command.shortcut.111.*.properties=Alt+Shift+Up

# Util \ Move menu item down
command.parent.112=30
command.name.112.*.properties=Move menu item Down
command.112.*.properties=MoveMenuItem 1
command.mode.112.*.properties=subsystem:lua,savebefore:no
command.shortcut.112.*.properties=Alt+Shift+Down



codewarlock1101

Цитата:
вообще "if с пробелом" игнорируется даже если это единственная аббревиатура

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

Автор: mozers, Отправлено:17:28 13-01-2007
vladvro
Правда, удобно Особенно в комплекте с MoveLines codewarlock1101
Вплотную приближаемся к созданию GUI-шной утилы для визуального построения меню Tools...
Автор: mozers, Отправлено:00:46 16-01-2007
Ядро 1.72 .31Ru
EXE + DLL [446kB]
Source [324kB] (только измененные файлы)
Список всех доработок

Для выпуска сборки на новом ядре не хватает только толкового перевода ScintillaHistory.html
Автор: ALeXkRU, Отправлено:07:27 16-01-2007
Scintilla и SciTE 1.72
Релиз 15 января 2007

Изменения:
Performance of per-line data improved.
- улучшено быстродействие при работе с строковыми данными

SC_STARTACTION flag set on the first modification notification in an undo transaction to help synchronize the container's undo stack with Scintilla's.
- флаг SC_STARTACTION устанавливается при первой модификации в транзакции отмены, чтобы синхронизировать контейнеры стека отмены с Scintilla

On GTK+ drag and drop defaults to move rather than copy.
- в GTK+ в режиме перетаскивания по умолчанию используется перемещение, а не копирование

Scintilla supports extending appearance of selection to right hand margin.
- в Scintilla расширена поддержка возникновения выделения правой границы

Incremental search available on GTK+.
- в GTK+ действует последовательный поиск

Find in Files can optionally ignore binary files or directories that start with ".".
- в режиме "Найти в файлах..." можно опционально игнорировать двоичные файлы или каталоги, если задать в качестве параметра "."

Lexer added for "D" language.
- добавлен лексер для языка "D"

Export as HTML shows folding with underline lines and +/- symbols.
- Экспорт в HTML показывает сворачивание блоков с помошью подчеркивания строк и символов +/-

Ruby lexer interprets interpolated strings as expressions.
- лексер Ruby интерпретировал интерполированные строки как выражения

Lua lexer fixes some cases of numeric literals.
- лексер Lua исправлены некоторые ошибки для числовых литералов

C++ folder fixes bug with "@" in doc comments.
- в папках C++ исправлена ошибка с "@" в комментариях

NSIS folder handles !if and related commands.
- папка NSIS обрабатывает !if и связанные команды

Inno setup lexer adds styling for single and double quoted strings.
- в лексер Inno setup добавлены стили для строк в одинарных и двойных кавычках

Matlab lexer handles backslashes in string literals correctly.
- лексер Matlab корректно обрабатывает бэкслеш в строковых литералах

HTML lexer fixed to allow "?>" in comments in Basic script.
- в лексере HTML разрешается применение "?>" в комментариях в скриптах Basic (Бейсик)

Added key codes for Windows key and Menu key.
- добавлены клавишные коды для клавиш Windows и Меню

Lua script method scite.MenuCommand(x) performs a menu command.
- в скриптах Lua метод scite.MenuCommand(x) выполняет команду меню

SciTE bug fixed with box comment command near start of file setting selection to end of file.
- исправлена ошибка SciTE: команда комментировать блок в начале файла устанавливала выделение в конец файла

SciTE on GTK+, fixed loop that occurred with automatic loading for an unreadable file.
- SciTE в GTK+, исправлено зацикливание при автоматической загрузке нечитаемого файла

SciTE asks whether to save files when Windows shuts down.
- SciTE теперь запрашивает сохранение файлов при завершении работы Windows

Save Session on Windows now defaults the extension to "ses".
- сохраненная сессия в Windows теперь по умолчанию имеет расширение "ses"

Bug fixed with single character keywords.
- исправлена ошибка с односимвольными ключевыми словами

Fixed infinite loop for SCI_GETCOLUMN for position beyond end of document.
- исправлена ошибка с появлением зацикливания, если переменной SCI_GETCOLUMN передавалось значение за пределами конца документа

Fixed failure to accept typing on Solaris/GTK+ when using default ISO-8859-1 encoding.
- исправлена ошибка ввода в Solaris/GTK+ при использовании кодировки ISO-8859-1 по умолчанию

Fixed warning from Lua in SciTE when creating a new buffer when already have maximum number of buffers open.
- исправлено замечание, выдаваемое Lua в SciTE, при создании нового буфера если уже открыто максимальное число буферов

Crash fixed with "%%" at end of batch file.
- исправлена фатальная ошибка, возникающая при наличии "%%" в конце пакетного файла (.bat-файла)


Скачать:
Исходный код в zip-формате Windows (1540 Кб)
Исходный код в tgz-формате Linux (1330 Кб)
Дистрибутив для Windows (780 Кб)



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