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

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

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


Автор: vladvro, Отправлено:13:55 02-03-2007
Midas
Цитата:
-- Скрипт для поддержки сохранения RO/Hidden/System файлов

небольшое исправление для скрипта:

Код:
...
local function AfterSave(FN)
    -- Если была сохранена строка с аттрибутами, то установим их
    local FileAttrNumber = tonumber(props['FileAttrNumber'])
    if FileAttrNumber > 0 then
        os.setfileattr(FN, FileAttrNumber)
    end
end
...

Автор: mirk, Отправлено:22:19 02-03-2007
О нас пишут - http://www.ua-admin.com/
Автор: ALeXkRU, Отправлено:00:45 03-03-2007
mirk
что-то не очень удачно у тебя ссылка получилась
а пишут - больше про SciTE

Цитата:
статья: Специалист широкого профиля
...
впечатления от программы можно вместить в четыре слова: гибкость, функциональность, простота и. оригинальность. Надеюсь, SCITE не разочарует и вас.

Автор: mirk, Отправлено:01:17 03-03-2007

Цитата:
а пишут - больше про SciTE

Ну так упоминают и советуют

Ладно, сознаюсь, мое хобби работа журналистом и составление громких заголовков Так-что не серчайте
Автор: mozers, Отправлено:21:52 04-03-2007
Ядро 1.72 .35Ru
EXE + DLL [448kB]
Source [387kB] (только измененные файлы)
Список всех доработок

Цитата:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[macro] (Автор: VladVRO)
Поддержка записи и воспроизведения макросов с помощью LUA
Внесена небольшая доработка в функции для Lua Extension, по аналогии с базовыми функциями.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[FileAttr in PROPS] (Автор: Midas)
Теперь из скриптов доступны дополнительные свойства файла
FileAttr, FileTime, FileDate.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[Euphoria] (Автор: Midas)
Добавлен новый лексер для языка Euphoria <http://www.rapideuphoria.com>

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ToolsMax] (Автор: Moon_aka_Sun, VladVRO)
Число допустимых пунктов в меню Tools увеличено до 300.
Для создания пользовательских команд в user.context.menu следует использовать формулу:
пользовательская команда = 2000 + номер этой команды в меню Tools

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[MSGBOX] (Автор: Midas)
В LUA Extention добавлены функции:
- os.msgbox(<Text>, <Title>, <Options>) - Окно с сообщением. Возвращает выбранную кнопку;
- os.exec(<Cmd>, <WindowStyle>) - wrapper для WinExec;
- os.getfileattr(<FileName>) - возвращает аттрибуты файла в виде числа;
- os.setfileattr(<FileName>, <FileAttr>) - устанавливает аттрибуты файла;
Сборка обновится чуть позднее...
Автор: ALeXkRU, Отправлено:04:12 06-03-2007
Не помню, мелькала ли здесь уже сборка SciTE with Extensions от Bruce Dodson (GIS Developer)
и, заодно, работающий на её основе Source Code Viewer для Directory Opus (файл-менеджер,
топик на Ru-Board) (линк на оф.сайт)
Автор: vladvro, Отправлено:17:37 06-03-2007
mozers
хочу напомнить про фичу от Midas:
2) Следующии исправления добавляют "[R/O]" в Табе для файлов "только для чтения",
если ее сделать опциональной, то можно добавлять в сборку, для этого в файле SciTEBase.cxx вместо:
Код:
buffers.buffers[buffers.Current()].isRO = isReadOnly;
добавляем
Код:
buffers.buffers[buffers.Current()].isRO = (props.GetInt("tabbar.readonly.visible",0) == 1) && isReadOnly;

и кроме того предлагаю заменить слишком длинное обозначение в табе "[R/O]" на один символ "•", для это в файле SciTEBuffers.cxx вместо
Код:
strcat(entry, " [R/O]");
strcat(titleTab, " [R/O]");
добавляем
Код:
strcat(entry, " •");
strcat(titleTab, " •");

Автор: mozers, Отправлено:21:34 06-03-2007
vladvro
Про фичу Midas-а я помню
Согласен, что опциональность тут просто обязательна.
Только я бы предложил опционально задавать саму символьную последовательность (хошь [R/O], хошь " •", а хошь че другое).
Если ничего не задано, то фича просто отключается.
Правда, сам автор пока еще борется с выявлеными проблемами:
Цитата:
Сделаю позже, т.к. обнаружил ряд траблов (например при установке из скрипта editor.ReadOnly=1)


Добавлено:

Еще одна мысль...
На мой взгляд, диалог для ввода параметров в SciTE работает слишком примитивно. Например он не позволяет работать с динамически меняющимися переменными. Попробуйте сделать такой пункт меню Tools:
Код:
command.name.28.*=Test
command.28.*=*dostring print("$(CurrentSelection) - $(FileNameExt)")
command.mode.28.*=subsystem:lua,savebefore:no
и увидите что в полях ввода параметров не появились ни значение $(CurrentSelection) ни значение $(FileNameExt)
На мой взгляд, логичнее было бы, перед открытием диалога параметров присвоить $(1) значение $(CurrentSelection), а $(2) значение $(FileNameExt). Тогда бы все сработало очень правильно...
Никого из знатоков С++ не задела эта идея?...
Просто уже много говорилось об отсутствии диалога Input. На мой взгляд, в таком усовершенствованном виде диалог параметров вполне мог бы его заменить...
Автор: dB6, Отправлено:00:40 07-03-2007
mozers
Сорри, я может слепой или еще чего.. но не совсем понимаю о каком окне ввода параметров ты говоришь?
Меню->Вид->Параметры ?
Что-то я совсем не понимаю, как этим пользоваться и что ты имеешь в виду.
Автор: vladvro, Отправлено:14:48 07-03-2007
dB6
просто сделай то, что предложил в качестве примера mozers


mozers
Цитата:
Попробуйте сделать такой пункт меню Tools:
занятная фишка, а я даже не знал про нее

Цитата:
и увидите что в полях ввода параметров не появились ни значение $(CurrentSelection) ни значение $(FileNameExt)
ну это то на мой взгляд логично, а вот парсить строку команды на предмет вхождения в нее переменных и подменять ими параметры не логично, т.к. получается неоднозначная ситуация, а если надо будет получить значение из $(1) и при этом в команде используются еще несколько переменных?

вобщем родилась у меня доработка, позволяющая вызывать диалог параметров из Луа скрипта [more]
файл Extender.h строка 34:
Код:
virtual void DoMenuCommand(int cmdID)=0;
virtual bool ShowParametersDialog(const char *msg)=0; //!-add-[ParametersDialogFromLua]

файл SciTEBase.h строка 913:
Код:
void DoMenuCommand(int cmdID);
bool ShowParametersDialog(const char *msg); //!-add-[ParametersDialogFromLua]

файл SciTEBase.cxx в конец файла:
Код:
bool SciTEBase::ShowParametersDialog(const char *msg) {
parameterisedCommand = msg;
return ParametersDialog(true);
}

файл LuaExtension.cxx строка 332:
Код:
//!-end-[UpdateStatusBar]

//!-start-[ParametersDialogFromLua]
static int cf_scite_show_parameters_dialog(lua_State *L) {
const char *s = luaL_checkstring(L, 1);
lua_pushboolean(L, host->ShowParametersDialog(s));
return 1;
}
//!-end-[ParametersDialogFromLua]

файл LuaExtension.cxx строка 1598:
Код:
//!-end-[UpdateStatusBar]

//!-start-[ParametersDialogFromLua]
lua_pushliteral(luaState, "ShowParametersDialog");
lua_pushcfunction(luaState, cf_scite_show_parameters_dialog);
lua_rawset(luaState, -3);
//!-end-[ParametersDialogFromLua]


теперь можно использовать команду scite.ShowParametersDialog(txt)
где txt - короткий комментарий в окне параметров
возвращает false если пользователь отказался (нажал отмену или Escape) иначе true
[/more]

Автор: mozers, Отправлено:00:19 08-03-2007
dB6
Цитата:
о каком окне ввода параметров ты говоришь?
Меню->Вид->Параметры ?
Да. Именно о нем.
Если при задании команды для меню Tools первый символ будет * то появится этот диалог в который можно вписать свои данные. Переменные $(1), $(2), $(3), $(4) соответствуют значениям, введенным в соответствующие поля. Пример:
Код:
command.name.29.*=Test
command.29.*=*dostring print(" var_1=$(1)\n var_2=$(2)\n var_3=$(3)\n var_4=$(4)")
command.mode.29.*=subsystem:lua,savebefore:no

vladvro
Цитата:
а если надо будет получить значение из $(1) и при этом в команде используются еще несколько переменных?
Я полагал, что необходимо пробежать по строке command и присвоить переменной $(1) значение 1й встретившейся переменной, переменной $(2) значение 2й встретившейся переменной, и т.д. до 4й

Цитата:
доработка, позволяющая вызывать диалог параметров из Луа скрипта
Хм Из меню запустить скрипт без параметров, из скрипта вызвать диалог ввода параметров, ввести их, и снова, теперь уже с параметрами запустить скрипт... Уж очень оригинально... Хотя надо потестировать...
Цитата:
txt - короткий комментарий в окне параметров
Давно мечтаю чтобы вместо дурной формулы, в верхней части этого диалогового окна писалось что то внятное, например - command.name

Автор: dB6, Отправлено:16:09 08-03-2007
mozers
Спасибо за внятные объяснения. А я все думал - что за меню параметры и нафиг оно надо..
Автор: vladvro, Отправлено:11:18 09-03-2007
mozers
Цитата:

Цитата:
а если надо будет получить значение из $(1) и при этом в команде используются еще несколько переменных?
Я полагал, что необходимо пробежать по строке command и присвоить переменной $(1) значение 1й встретившейся переменной, переменной $(2) значение 2й встретившейся переменной, и т.д. до 4й

я так и понял, вот пример противоречия:

Код:
command.name.29.*=Test
command.29.*=*dostring print(" CurrentSelection=$(CurrentSelection)\n var_1=$(1)\n var_2=$(2)\n var_3=$(3)\n var_4=$(4)")
command.mode.29.*=subsystem:lua,savebefore:no



Цитата:
Хм Из меню запустить скрипт без параметров, из скрипта вызвать диалог ввода параметров, ввести их, и снова, теперь уже с параметрами запустить скрипт...
не ну я не предлагал использовать таким способом
я полагал, что если это луа скрипт, то теперь можно вызывать диалог не до запуска скрипта, а во время.
при этом по необходимости можно задавать и начальные значения параметрам:
Код:
props[1] = props["CurrentSelection"]
scite.ShowParametersDialog("выполнить")
local param = props[1]
...


Автор: mozers, Отправлено:15:24 09-03-2007

Цитата:
я так и понял, вот пример противоречия:

Имхо это не противоречие, а просто ошибочная запись, после выполнения которой
$(1) получит значение $(CurrentSelection)
$(2) получит значение $(1) (если это значение было задано ранее, то оно появится в поле ввода, нет - значит - нет)
$(3) получит значение $(2) ...
$(4) получит значение $(3) ...
(если значение $(4) было задано ранее, то оно просто потеряется).
Эти полученные значения появятся в полях ввода и их можно будет исправить.
А после нажатия на ОК
$(1) получит значение вписанное в 1 поле
$(2) получит значение вписанное в 2 поле
$(3) получит значение вписанное в 3 поле
$(4) получит значение вписанное в 4 поле
а $(CurrentSelection), естественно, потеряется.
Все строго и логично.


Автор: vladvro, Отправлено:15:43 09-03-2007
mozers
Цитата:
Имхо это не противоречие, а просто ошибочная запись, после выполнения которой
...
Все строго и логично.

прости, но не понимаю где тут логика?!
что мне делать, после внедрения твоего предложения, если я хочу получить на выходе результат, где первая строка это выделенный текст, а остальные это переменные с 1 по 4??
не пользоваться более командной строкой, а делать это отдельной функцией?
а если рассмотреть иную ситуацию:
в командной строке необходимо использовать переменную для указания правильного пути к файлу скрипта, а в скрипте для формулы должны использоваться значения переменных с 1 по 4?
тогда что делать?
Автор: mozers, Отправлено:02:59 12-03-2007
В приватной беседе с vladvro сошлись на том, что возможность задания дополнительного параметра в .properties типа такого:
Код:
command.dialog.12.*=title:Dialog header, 1:$(CurrentSelection), 2:$(SelectionStartColumn)
была бы самым логичным решением проблемы.
вот только кто это сделать сможет ???
Автор: deryabin_ka, Отправлено:10:41 12-03-2007
mozers
Не смог скачать сборки с http://scite.ruteam.ru/scite/sborki/scite-ru-board.
Ошибка 404.
Автор: dB6, Отправлено:17:39 12-03-2007
deryabin_ka

Цитата:
Не смог скачать сборки с http://scite.ruteam.ru/scite/sborki/scite-ru-board.


Ну.. С точкой в конце точно будет 404.

А если так? http://scite.ruteam.ru/scite/sborki/scite-ru-board
Автор: Joker_XN_Team, Отправлено:18:13 12-03-2007
dB6
Он про файлы говорил
The requested URL /engine/upfiles/mozers/SciTE_172_36Ru_120307.zip was not found on this server.
Автор: dB6, Отправлено:18:26 12-03-2007
Joker_XN_Team

Цитата:
Он про файлы говорил

Ну если про файлы, то mozers еще не успел залить файл.
Доступен старый SciTE_172_31Ru_160107.zip



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