mozers
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Посвящается тем, кто выжил в этой отупляющей жаре Код: -- Вставка спецсимволов (©,®,§,±,…) из раскрывающегося списка (для HTML вставляются их обозначения) -- mozers™ icq#256106175 -- Для подключения добавьте в свой файл .properties следующие строки: -- command.name.21.*=Вставить спецсимвол (©, ®, §, ±,…) -- command.21.*=SpecialChar -- command.mode.21.*=subsystem:lua,savebefore:no ----------------------------------------------------------------------- function SpecialChar() local sep = ';' local user_list = ' '..sep..'™'..sep..'©'..sep..'®'..sep..'§'..sep..'«'..sep..'»'..sep..'“'..sep..'”'..sep..'‘'..sep..''..sep..'±'..sep..'•'..sep..'¤'..sep..'°' editor.AutoCSeparator = string.byte(sep) editor:UserListShow(12,user_list) editor.AutoCSeparator = string.byte(' ') end local char2html = {[' ']=" ",['™']="™",['©']="©",['®']="®",['§']="§",['«']="«",['»']="»",['“']="“",['”']="”",['‘']="‘",['']="’",['±']="±",['•']="·",['¤']="¤",['°']="°"} function OnUserListSelection(tp,sel_value) if tp == 12 then local pos = editor.CurrentPos if editor.Lexer == SCLEX_HTML then sel_value = char2html[sel_value] end editor:InsertText(pos, sel_value) pos = pos + string.len(sel_value) editor:SetSel(pos, pos) end end | Я думаю, что данный скрипт будет интересен и для тех, кто никогда спецсимволы не вставляет. Просто таким образом можно очень удобно оранизовывать пользовательские контекстные меню для решения самых разнообразных задач. Все никак не могу довести до ума еще один, более интересный скрипт для автодополнения. Ну, чтобы работало нормально как у солидных редакторов, а не так как сейчас. Т.е. пишем имя объекта, ставим точку - сразу возникает список его свойств и методов (берется из api-файла). Выбираем , допустим, один из методов, ставим точку - опять возникает список свойств и методов но уже того, что выбрали ранее. Например, так: Код: self.document.body.createTextRange | Тыкаюсь как слепой кутенок, не зная толком LUA. Все операторы списываю с чужих кодов и тестирую отдельно - чтобы врубится как тот или иной работает. Зависаю по нескольку дней над решением монументальных проблем - "Как заменить нужный текст если этот текст не выделен?", "Как узнать имя подключенного в данный момент api-файла?", "Как вставить текст и одновременно передвинуть курсор в конец этой вставки?",... ну и т.п.... P.S. mirk Поздравляю Не слишком много отсыпайся - у нас делов.... |