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

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

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


Автор: chupakabra, Отправлено:23:18 07-06-2007
mirk
ссылки в документации не работают, к примеру
Установка lexer в SciTE
ApiBuilder.java
Автор: mozers, Отправлено:13:47 08-06-2007
chupakabra
Поправил ссылочки. mirk тут ни при чем
Автор: mozers, Отправлено:19:42 10-06-2007
Тут Нейла спросили как, мол, сделать чтобы команда в меню Tools не показывалась, но работала (по шорткату, например). Он не растерялся и привел такой пример:
Код:
command.name.21.*.properties=
command.21.*.properties=cmd /c echo $(FileNameExt)
user.shortcuts=\
Ctrl+Shift+V|1121|\
Я попробовал (и на сборке и на оригинальном SciTE 1.73) - ни хрена не пашет
Попробуйте сами - кто дурак?
Не забудьте что для тестирования на сборке надо писать
Код:
Ctrl+Shift+V|2021

Автор: WATERPROOF, Отправлено:02:39 11-06-2007
А можно ли где-то найти список всех номеров команд? C описанием.
Автор: mozers, Отправлено:09:00 11-06-2007
WATERPROOF
ДА

Добавлено:
Вот такой
Код:
command.name.21.*=
command.21.*=dostring print(props["FileNameExt"])
command.mode.21.*=subsystem:lua,savebefore:no
user.shortcuts=Alt+Shift+A|1121|
работает как задумано на оригинальном SciTE. На сборке - ни хрена
Автор: mozers, Отправлено:23:26 12-06-2007
Нейл дополнил FAQ про эту хитрость (невидимый, но работающий пункт в меню Tools).
А BioInfo сделал чтобы это работало и в нашей сборке
Автор: chupakabra, Отправлено:00:10 13-06-2007
При редактировании исходного кода на C++ заметил что при вводе комментариев вида
// copy file attributes
редактор автоматически меняет его таким образом (т.е. заменяет первую букву на заглавную):
// Copy file attributes

Что это такое и как отключить?
Автор: mozers, Отправлено:14:54 13-06-2007
chupakabra
Первая мысль - Punto дурит Ан, нет. Сам SciTE так умничает... Даже не знаю как с такой радостью бороться

Автор: chupakabra, Отправлено:16:38 13-06-2007
mozers
Сейчас проверил на оригинальной версии - там такого явления нет, т.е. очевидно дело в настройках.
Автор: vladvro, Отправлено:17:38 13-06-2007
chupakabra
Цитата:
редактор автоматически меняет его таким образом (т.е. заменяет первую букву на заглавную):
// Copy file attributes

это результат работы скрипта AutocompleteObject.lua,
если сильно донимает то можно его отключить, закомментировав строчку
SciTEStartup.lua строка 65
Код:
require (props[[no]"SciteDefaultHome"[/no]]..[no]"\\tools\\AutocompleteObject.lua"[/no])
Данный код внедрен в форум с помощью скрипта vladvro

Автор: chupakabra, Отправлено:18:36 13-06-2007
vladvro, спасибо, помогло.

Ещё пара вопросов:

1. При включённой автоиндентации и вводе однострочных операторов С++ вида:
if (c) do();
при переходе на следующую строку редактор добавляет отступ, который в данном случае вовсе не нужен. Т.е. он был бы полезен если бы я написал так:
if (c) {
do();
}
При вводе же однострочных операторов постоянно приходится удалять этот отступ вручную.
Подскажите как можно поправить, если не на уровне настроек программы, то хотя бы где смотреть в исходном коде.

2. Как бы сделать так, чтобы при выборе команды Build программа make запускалась бы в указанном каталоге (т.е. к примеру исходный код лежит в каталоге src, а сборка производится в каталоге bin).
Автор: vladvro, Отправлено:19:05 13-06-2007
chupakabra
Цитата:
Подскажите как можно поправить, если не на уровне настроек программы, то хотя бы где смотреть в исходном коде.

смотреть видимо надо тут:
SciTEBase.cxx строка 3402
Код:
void SciTEBase::AutomaticIndentation(char ch) {
Данный код внедрен в форум с помощью скрипта vladvro

Цитата:
Как бы сделать так, чтобы при выборе команды Build программа make запускалась бы в указанном каталоге

команда которая запускается задается строкой:
command.build.$(file.patterns.cplusplus)=$(make.command)
можно, например, переопределить ее локальным файлом настроек для данного проекта, и прописать конкретный путь к файлу make
Автор: BioInfo, Отправлено:08:58 14-06-2007
chupakabra

Цитата:
1. При включённой автоиндентации и вводе однострочных операторов С++ вида:
if (c) do();
при переходе на следующую строку редактор добавляет отступ, который в данном случае вовсе не нужен. Т.е. он был бы полезен если бы я написал так:
if (c) {
do();
}


Альтернативный совет
Я обычно пишу так:
if (c)
do();
Очень мало где требуется чтобы уж было if (c) do(); - в одну строку
Если нужно if (с) do1() else do2(); то записываю так:
(с)?do1():do2();
Автор: vladvro, Отправлено:10:28 14-06-2007
Нейл пообещал скоро выпустить новый релиз редактора 1.74

Цитата:
There are some test downloads available from SourceForge:

http://scintilla.sourceforge.net/scite.zip Source
http://scintilla.sourceforge.net/wscite.zip Windows executable

I hope to release version 1.74 in a few days.

The changes from 1.73 are (for Scintilla unless SciTE mentioned):

OS X support.
Поддержка OS X.
Indicators changed to be a separate data structure allowing more indicators. Storing indicators in high bits of styling bytes is deprecated and will be removed in the next version.
Indicators выделенны в отдельную структуру, что позволит увеличить их количество. Хранение indicators в старших битах стилистических байтов является устаревшим и будет удален в следующей версии.
Unicode support extended to all Unicode characters not just the Basic Multilingual Plane.
Поддержка Unicode расширена на все символы Unicode, а не только на Basic Multilingual Plane.
Performance improved on wide lines by breaking long runs in a single style into shorter segments.
Повышена эффективность работы на длинных строках, за счет дробления длинных непрерывных кусков одного стиля на более короткие сегменты.
Performance improved by caching layout of short text segments.
Повышена эффективность путем кэширования формата коротких сегментов текста.
Caret may be displayed as a block.
Курсор (каретка) может быть отображен в виде блока.
Lexer added for GAP.
Добавлен лексер для GAP.
Lexer added for PL/M.
Добавлен лексер для PL/M.
Lexer added for Progress.
Добавлен лексер для Progress.
SciTE session files have changed format to be like other SciTE .properties files and now use the extension .session. Bookmarks and folds may optionally be saved in session files.
Изменен формат файлов сессий SciTE на формат файлов SciTE .properties и изменено расширение на .session. Закладки и фолдинг могут по желанию сохраняться в файлах сессии.
On GTK+, copying to the clipboard does not include the text/urilist type since this caused problems when pasting into Open Office.
В GTK+, копирования в буфер обмена не содержит тип text/urilist, так как это создает проблемы при вставке в Open Office.
On GTK+, Scintilla defaults caret blink rate to platform preference.
В GTK+, по умолчанию в Scintilla скорость мигания курсора берется из настроек платформы.
Dragging does not start until the mouse has been dragged a certain amount. This stops spurious drags when just clicking inside the selection.
Перенос (Dragging) начинается только после некоторого перемещения мыши. Это убирает ошибочный перенос (drag), возникавший при простом клике по выделению.
Bug fixed where brace highlight not shown when caret line background set.
Исправлена ошибка с подсветкой скобок если указан фон каретки.
Bug fixed in Ruby lexer where out of bounds access could occur.
Исправлена ошибка в лексере Руби с выходом за пределы.
Bug fixed in XML folding where tags were not being folded because they are singletons in HTML.
Исправлена ошибка с фолдингом в XML, не сворачивались теги являющиеся singletons (без закрывающего тега) в HTML.
SciTE hang fixed when using UNC path with directory properties feature.
Исправлено зависание SciTE при использовании UNC пути (сетевой путь до файла) с новой возможностью задания настроек для проекта (directory properties).
Bug on Windows fixed by examining dropped text for Unicode even in non-Unicode mode so it can work shen source only provides Unicode or when using an encoding different from the system default.
Исправлена ошибка под Windows с проверкой кидаемого текста на Unicode даже в не Unicode режиме, с тем чтобы можно было работать с Unicode источником или при использовании кодировки отличающейся от системной.
SciTE bug on GTK+ fixed where Stop Executing did not work when more than a single process started.
Исправлена ошибка на GTK+ с невозможностью остановить исполнение, если запущенно более одного процесса.
Minor line end fix to PostScript lexer.
Мелкое исправление окончания строк в PostScript лексере.

Neil


Автор: mozers, Отправлено:10:34 14-06-2007
chupakabra vladvro
Цитата:
редактор автоматически меняет его таким образом (т.е. заменяет первую букву на заглавную):
// Copy file attributes
это результат работы скрипта AutocompleteObject.lua,
если сильно донимает то можно его отключить
Диагноз - точный Постараюсь поправить этот нюансик...
В С++ отключить, конечно можно - не шибко нужен. А вот скрипты писать без него - тоскливо...

ALL
Наверное все про это уже знают... Но мне показалось интересным:
Подключение нескольких api файлов:
Код:
api.$(file.patterns.lua)=$(SciteDefaultHome)\api\SciTELua.api;$(SciteDefaultHome)\api\LuaWoW.api


Добавлено:
Под давлением общественности Нейл добавил в SciTE 1.74
Цитата:
The version now up has OnKey, OnClose, OnDwellStart and has enabled
loadlib on Linux. The documentation mentions that the arguments to
OnKey may change in the future.
Ссылки загрузки - те же самые что привел vladvro
Автор: chupakabra, Отправлено:00:44 15-06-2007
По поводу проблемы с автоиндентацией для однострочных операторов: я внес следующие изменения в код и вроде бы нужный эффект достигнут:
[more=Код]
SciTEBase.cxx строка 2925
Код:
IndentationStatus SciTEBase::GetIndentState(int line) {
[no]// C like language indentation defined by braces and keywords[/no]
IndentationStatus indentState = isNone;
SString controlWords[20];
unsigned int parts = GetLinePartsInStyle(line, statementIndent.styleNumber,
-1, controlWords, ELEMENTS(controlWords));
for (unsigned int i = 0; i < parts; i++) {
if (includes(statementIndent, controlWords[i]))
indentState = isKeyWordStart;
}
parts = GetLinePartsInStyle(line, statementEnd.styleNumber,
-1, controlWords, ELEMENTS(controlWords));
for (unsigned int i = 0; i < parts; i++) {
if (includes(statementEnd, controlWords[i]))
indentState = isNone;
}
[no]// Braces override keywords[/no]
SString controlStrings[20];
parts = GetLinePartsInStyle(line, blockEnd.styleNumber,
-1, controlStrings, ELEMENTS(controlStrings));
for (unsigned int j = 0; j < parts; j++) {
if (includes(blockEnd, controlStrings[j]))
indentState = isBlockEnd;
if (includes(blockStart, controlStrings[j]))
indentState = isBlockStart;
}
return indentState;
}
Данный код внедрен в форум с помощью скрипта vladvro
[/more]
Прошу знающих людей проверить и если претензий нет, то внести в код сборки.

vladvro

Цитата:
можно, например, переопределить ее локальным файлом настроек для данного проекта, и прописать конкретный путь к файлу make

Сделал так - создал в каталоге с исходным кодом файл SciTEDirectory.properties с содержимым:
command.build.directory.*=<полный путь к каталогу для сборки>
command.build.*=nmake
save.all.for.build=1
Это на тот случай, если кому-то еще этот вопрос интересен.

BioInfo
Совет хороший, но я просто привык так писать, не люблю переносить один оператор на новую строку.
Автор: mozers, Отправлено:10:32 15-06-2007
chupakabra
Постите, пожалуйста, изменения по коду в соответствующей теме.
Ответил там.

Добавлено:
ALL
А в SciTE 1.74 добавляются долгожданные возможности
Цитата:
A new testing version is up with Lua 5.1.

http://scintilla.sourceforge.net/scite.zip Source
http://scintilla.sourceforge.net/wscite.zip Windows executable

Neil

Автор: Serg2308, Отправлено:08:41 18-06-2007
Доброго времени суток...
А есть уже сборка которая понимает Русские операторы в подсветке?
Если есть киньте пожалуйста ссылку, был бы крайне признателен...
Автор: alrusdi81, Отправлено:10:04 18-06-2007
Serg2308
Вот только что скомпилил последние исходники. Тестируй)
Автор: Dennica, Отправлено:11:08 18-06-2007
Подскажите, можно ли как-то разрешить курсору движение за eol?



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