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

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

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


Автор: unreal666, Отправлено:00:12 29-08-2006
mozers

Цитата:
Лучше четко сформулировать задачу, тогда есть шанс решить ее в этом топике самостоятельно.

А я ее не могу сформулировать. Слишком много чего при составлении лексера для nnCron'а надо учитывать. Вот разберусь со своими проблемами (структура логич. раздела накрылась), тогда возьмусь за исходники лексера nnCron'а.
Автор: mozers, Отправлено:10:13 29-08-2006
ALeXkRU
Ага, апшибся
Только что перезалил. Поправил еще одну неприятную мелочь:
Цитата:
Выделенный текст вставлялся в диалог поиска в файлах исключительно в кодировке UTF-8, поэтому русский текст превращался в "крякозяблы" (\scite\src\SciTEBase.cxx)

Желающие могут исправить самостоятельно
Код:
findWhat = sel;
на
Код:
findWhat = EncodeString(sel);

Кстати, советую пользовать встроенный поиск (внешний, с использованием findstr работает гораздо хуже)

ALL
Народ! Можете порекомендовать хороший фиксированный (не пропорциональный) шрифт ?

Добавлено:
unreal666
Дело в том что ты - первый, кто жалуется на этот лексер. Может быть твои настройки не оптимальны? Может быть проблему можно решить с помощью LUA?
А ты сразу за исходники...
Конечно есть проблемы, которые можно решить только правкой исходников.
Очень хотелось бы что бы ваши знания использовались бы для решения именно таких, нерешаемых иным способом, проблем.
А их пока - достаточно...
Автор: Moon_aka_Sun, Отправлено:13:48 29-08-2006

Цитата:
mozers написал: <...> недостаточно ???

Это какой-то идиотский способ. Моно - это одно, а всё богатое разнообразие остальных шрифтов в не-моно режиме - это другое. Я не нашёл ничего убедительного в запрете автора сделать use.monofont режимом по умолчанию. Он ссылается на какие-то жалобы каких-то пользователей. Ну что ж, на то и пользователи, чтоб жаловаться. У меня другие жалобы, но они с моношрифтами не связаны. Так что пусть не морочит голову. Редактор текстов и исходников должен прежде всего работать в моношрифтовом режиме. Так он у меня и работает.

Спасибо за исходники!

Разбираюсь тут пока, что нужно и что не нужно от Mitchell'a Foral'a. Ох он и накуролесил!


Добавлено:


Цитата:
хороший фиксированный

Я Люсидой Консольной пользуюсь. Есть ещё интересный DP Custom Mono - самый крутой А вообще - http://www.lowing.org/fonts/

Автор: mozers, Отправлено:17:22 29-08-2006
Moon_aka_Sun
А почему бы не иммитировать (с помощью LUA) нажатие на Ctrl+F11 при открытии файла ? Простенько и результат - тот что ты хочешь...

Автор: Moon_aka_Sun, Отправлено:23:18 29-08-2006
Можно, наверное. Да ещё и для каждого буфера это делать. Нет, мне проще флаг раз и навсегда поменять.
Автор: mozers, Отправлено:21:57 30-08-2006

Цитата:
флаг раз и навсегда поменять
Лучше бы ключик сделать типа font.monospace.default=1
Если получится - скажи - охота глянуть...
А со скриптом промашка вышла
Не знаю я как из LUA выполнить команду меню IDM_MONOFONT.
Да и вообще как выполнить любую команду меню? (например для IDM_CLOSE или IDM_SAVE процедуры, аналогичные по действию, отсутствуют вообще
Как быть если НАДО? Подскажите!

Добавлено:
Придумал как обойтись без IDM_MONOFONT
Получилось даже лучше чем с этой командой:

Код:
-- Смена текущих установок шрифта
-- C блеском заменяет Ctrl+F11.
-- Действует одновременно на все отрытые буфера
-- Можно задать любые комбинации шрифтов
-- mozers™ icq#256106175 (выполняя пожелание Moon_aka_Sun)

-- Для подключения добавьте в свой файл .properties следующие строки:
-- command.name.48.*=FontChanger
-- command.48.*=dofile $(SciteDefaultHome)\tools\FontChanger.lua
-- command.mode.48.*=subsystem:lua,savebefore:no
-- command.shortcut.48.*=Ctrl+F11
-- так же необходимо задать все необходимые шрифты (font.0.* и font.1.*)
------------------------------------------------
if props["font.set"] ~= "1" then
props["font.base"] = props["font.1.base"]
props["font.small"] = props["font.1.small"]
props["font.comment"] = props["font.1.comment"]
props["font.set"] = "1"
else
props["font.base"] = props["font.0.base"]
props["font.small"] = props["font.0.small"]
props["font.comment"] = props["font.0.comment"]
props["font.set"] = "0"
end

Мои наборы шрифтов. Предложите лучше!

Код:
# Первая подборка шрифтов - monospace (заменяет 2й набор после нажатия на Ctrl+F11)
font.0.base=font:Lucida Console,size:10
font.0.small=font:Courier New,size:8
font.0.comment=font:Lucida Console,size:10,italics

# Вторая подборка шрифтов - proportional (заменяет 1й набор после нажатия на Ctrl+F11)
font.1.base=font:Verdana,size:10
font.1.small=font:Microsoft Sans Serif,size:8
font.1.comment=font:Comic Sans MS,size:8

# Определяем какой из наборов шрифтов будет использоваться по умолчанию
font.base=$(font.0.base)
font.small=$(font.0.small)
font.comment=$(font.0.comment)


P.S.1 Moon_aka_Sun я твой вопрос решил. (Я думаю, что мой вариант даже лучше чем ты бы получил после правки кода). Попробуй решить мой вопрос:
Сделать функцию onClick (keycode). А то mimir пообещал и в отпуск ушел

P.S.2 Вопрос "как выполнить любую команду меню?" все равно не снимается!

Автор: unreal666, Отправлено:02:06 31-08-2006
Есть в SciTE переменная, содержащая имя активного в данный момент лексера?
Хочу добавить отображение активного лексера в строку состояния.
Автор: ALeXkRU, Отправлено:02:17 31-08-2006
mozers

Цитата:
Смена текущих установок шрифта
...
Мои наборы шрифтов

оригинально смотрится
Автор: mozers, Отправлено:08:53 31-08-2006
unreal666
Код:
function GetLexerName()
-- Функция возвращает имя текщего лексера в текстовом виде
local lexers = {
[0] = "",
[1] = "null",
[2] = "python",
[3] = "cpp",
[4] = "hypertext",
[5] = "xml",
[6] = "perl",
[7] = "sql",
[8] = "vb",
[9] = "props",
[10] = "errorlist",
[11] = "makefile",
[12] = "batch",
[14] = "latex",
[15] = "lua",
[16] = "diff",
[17] = "conf",
[18] = "pascal",
[19] = "ave",
[20] = "ada",
[21] = "lisp",
[22] = "ruby",
[23] = "eiffel",
[24] = "eiffelkw",
[25] = "tcl",
[26] = "nncrontab",
[27] = "bullant",
[28] = "vbscript",
[29] = "asp",
[30] = "php",
[31] = "baan",
[32] = "matlab",
[33] = "scriptol",
[34] = "asm",
[35] = "cppnocase",
[36] = "fortran",
[37] = "f77",
[38] = "css",
[39] = "pov",
[40] = "lout",
[41] = "escript",
[42] = "ps",
[43] = "nsis",
[44] = "mmixal",
[45] = "clarion",
[46] = "clarionnocase",
[47] = "lot",
[48] = "yaml",
[49] = "tex",
[50] = "metapost",
[51] = "powerbasic",
[52] = "forth",
[54] = "octave",
[55] = "mssql",
[56] = "verilog",
[57] = "kix",
[58] = "gui4cli",
[59] = "specman",
[60] = "au3",
[61] = "apdl",
[62] = "bash",
[63] = "asn1",
[64] = "vhdl",
[65] = "caml",
[66] = "blitzbasic",
[67] = "purebasic",
[68] = "haskell",
[69] = "phpscript",
[70] = "tads3",
[71] = "rebol",
[72] = "smalltalk",
[73] = "flagship",
[74] = "csound",
[75] = "freebasic",
}
return lexers[editor.Lexer]
end

ALeXkRU
А мне не нравится
И шрифт путный так и не нашел, хотя перепробовал - кучу.
Полно шрифтов которые называются Mono но фактически являются пропорциональными (все таблицы коверкаются). У других - нет русского набора символов

Автор: Ang, Отправлено:09:05 31-08-2006
mozers

Цитата:
И шрифт путный так и не нашел, хотя перепробовал - кучу

А Andale Mono не пробовал?
Автор: gansA, Отправлено:10:43 31-08-2006
mozers

Цитата:
P.S.2 Вопрос "как выполнить любую команду меню?" все равно не снимается!

В свое время тоже озадачивался этим вопросом и ничего кроме http://lua-users.org/wiki/SciteOther не нашел...

Автор: WATERPROOF, Отправлено:12:17 31-08-2006
для обновления сборки рубоард нужно лишь загрузить экзешник? т.е. в исполняемом файле не ковырялись?

Извините, сморозил глупость
Автор: mozers, Отправлено:13:23 31-08-2006
Ang
Цитата:
А Andale Mono не пробовал?
Кинь - попробую
В инете - или KOI-8 или за 30 баксов

gansA
Огорчительно... Это почти тоже самое что из LUA запускать scitecommand...
Одним словом - через ж.

WATERPROOF
Ага, ковырялись только в ядре Пооэтому копируй его поверх и все.
Все остальное (а остального накопилось предостаточно) все никак не оформлю...
Завал - короче
Автор: Ang, Отправлено:14:42 31-08-2006
mozers

Цитата:
Кинь - попробую

_http://rapidshare.de/files/31416347/andalemo.zip.html
Автор: mozers, Отправлено:15:20 31-08-2006
Ang
Спасибо! Неплохой шрифт Правда я предпочитаю потолще. Эх, если бы Fixedsys масштабировался...
Автор: Ang, Отправлено:15:30 31-08-2006
mozers
Мне ещё понравился шрифт Raize от Rize Software (_http://www.raize.com/DevTools/Tools/RzFont.asp), но он только с латинским диапазоном и растровый...
Автор: mozers, Отправлено:15:59 31-08-2006
Неплохо Но давай, все таки извинимся перед модератором! Есть же соответствующая тема
Автор: gansA, Отправлено:17:25 31-08-2006
Понравилась мне тема "хайку" , сами знаете имени кого

Цитата:

command.name.7.*=Trim all spaces
command.7.*=dostring local text=editor:GetSelText(); local bF=0; if string.len(text)==0 then text=editor:GetText(); bF=1; end; text=string.gsub(text,' +',' ');text=string.gsub(text,'    +',' '); if bF==0 then editor:ReplaceSel(text); else editor:SetText(text); end;
command.mode.7.*=subsystem:lua,savebefore:no
command.shortcut.7.*=Shift+Space


Следует отметить, что первый text=string.gsub(text,' +',' ') содержит символ пробела перед плюсом, второй string.gsub(text,' +',' ') содержит симол табуляции, как их скрестить в одной команде хз .

В принципе все это дело можно заменить одной командой text=string.gsub(text,'%s+',' ') и в итоге получается одна длинная строка, отличие от стандартной команды [Правка\Абзац\Объеденить] удаляются все лишние пробельные символы.


Автор: mozers, Отправлено:22:04 31-08-2006
gansA
Цитата:
как их скрестить в одной команде хз

Поместить пробел и табуляцию в квадратных скобках
Только мне не понравилось что скрипт грохает отступы в начале строк (код завсегда этими отступами выделяется) и оставляет пробелы в конце строк (когда код из форума копируешь они частенько остаются). Так что подработать бы надо...
Кстати, вопрос: А нафига ты в строке dostring точки с запятой ставишь? Для наглядности? Или есть еще какой то скрытый смысл?

К слову: Присобачил на F7 команду для тестирования скриптов во встроенном интерпретаторе (внешнего Lua.exe у меня сроду не стояло):
Код:
# Команда меню - Собрать
command.build.*.lua=dofile $(FilePath)
command.build.subsystem.*.lua=3
Удобно
Автор: unreal666, Отправлено:22:35 31-08-2006
mozers

Цитата:
function GetLexerName()
-- Функция возвращает имя текщего лексера в текстовом виде
...

А где в скайте содержатся нумерация этих лексеров? Или это в исходники встроенно?




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