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

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

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


Автор: mirk, Отправлено:01:59 13-04-2006
ALeXkRU
А что конкретно?

P.S. Давай технические вопросы обсуждать по почте: tugarinov[собака]gmail.com....
Я не думаю, что остальным пользователям будут интересно их читать
Автор: ALeXkRU, Отправлено:01:59 13-04-2006
mirk
заодно, что такое

Цитата:
command.name.45.*=Ajouter aux resourcestring

Автор: mirk, Отправлено:02:00 13-04-2006

Цитата:
заодно, что такое

ПО мнению Mozers`a это переводиться как: Добавляться к resourcestring.... Для чего служит эта команда, я так и не разобрался...

))
Автор: Grisper, Отправлено:09:21 13-04-2006
у меня список функций скриптом сделан...
может кому пригодится.
заточено под lua
------------------------------------
command.name.23.*=Список функций
command.23.*=dofile $(SciteDefaultHome)\\tools\\FuncListTBM.lua
command.mode.23.*=subsystem:lua,savebefore:no
------------------------------------
[more]

Код:

function TrimString (sss)
    -- удаляем двойные пробелы и всякое лишнее
    local str1 = sss
    while string.find(str1," ") do str1 = string.gsub(str1," "," ") end
    str1 = string.gsub(str1,"_G "," ")
    str1 = string.gsub(str1,"_G[[]","[")
    
    -- удаляем пробелы слева
    while (string.sub (str1,1,1)==" ") and (string.len(str1)>1) do str1 = string.sub(str1, 2) end
    local bool_tochka = false
    while (string.sub (str1,1,1)==",") and (string.len(str1)>1) do str1 = string.sub(str1, 2); bool_tochka = true end
    while (string.sub (str1,1,1)==" ") and (string.len(str1)>1) do str1 = string.sub(str1, 2) end
    
    -- Q.MyFunc(self, args) --> Q:MyFunc(args)
    if string.find(str1,"self")
    then
        while string.find(str1,"self ") do str1 = string.gsub(str1,"self ","self") end
        while string.find(str1,"self,") do str1 = string.gsub(str1,"self,","self") end
        str1 = string.gsub(str1,"self","")
        while string.find(str1," ") do str1 = string.gsub(str1," "," ") end
        while string.find(str1,"[(] ") do str1 = string.gsub(str1,"[(] ","(") end
        while string.find(str1," [)]") do str1 = string.gsub(str1," [)]",")") end
        while string.find(str1," ") do str1 = string.gsub(str1," "," ") end
        str1="self:"..str1
    else
        if bool_tochka then str1 = "."..str1 end
    end
    
    return str1
end

function SkipSubStrings (ss)
    skip_table = {"= function","function", "="}
    local ss1 = ss
    for i,v in pairs (skip_table) do
        ss1 = string.gsub(ss1,v," ")
    end
    ss1 = TrimString (ss1)
    return ss1
end

local sText = "function"
local flag = 0

output:ClearAll()

trace("> Список функций: \n")
local s,e = editor:findtext(sText,flag,0)
local count = 0
if(s~=nil)
then
    local m = editor:LineFromPosition(s) - 1
    while s do
        local l = editor:LineFromPosition(s)
        if (l ~= m)
        then
            count = count + 1
            local str = string.gsub(" "..editor:GetLine(l),"%s+"," ")
            trace(":"..(l + 1)..":\t"..SkipSubStrings (str).."\n")
            m = l
        end
        s,e = editor:findtext(sText,flag,e+1)
    end
    trace("> Найдено: "..count.." функций\nДвойной щелчок на строке с результатом\nустановит курсор на оригинальную строку")
else
    trace("> Функций не найдено!")
end
--

[/more]

------------------------------------

Автор: gansA, Отправлено:12:49 13-04-2006
Grisper

Цитата:
у меня список функций скриптом сделан...  

И у меня тож ))), правда скрипт довольно сырой (вот уже с год как сырой но иногда помогает) , потому пока его и не показываю, но ежели кому интересно предоставлю сорцы для дальнейшего развития.
Сейчас отлавливает sub or function независимо от регистра, и пытается строить дерево с вложением вызываемых функций.
Автор: Grisper, Отправлено:12:59 13-04-2006
кинь на мыло что ли... посмотрю.
grisper()voronezh.net
мне-то и этого скрипта хватает, но нормальный сделать было бы неплохо
Автор: gansA, Отправлено:13:12 13-04-2006
Grisper см мыло
Автор: mozers, Отправлено:16:36 13-04-2006
Grisper gansA
Ребята, мне тоже интересно (и думаю, не только мне). Это мы на сайте все уже отлаженное выклыдываем (и то накладки случаются).
А в форуме то - сам Бог велел
Только заключи код в теги [ more ] [/ more ] чтобы места много не занимал. (скобочки, так как я, широко расставлять не надо)
Автор: Grisper, Отправлено:16:48 13-04-2006
gansA
посмотрел. прикольно

mozers
я запостил свой вариант... если что-то ещё от скрипта нужно - говорите, поскольку меня этот вариант (который я постил) полностью устраивает.
Автор: mirk, Отправлено:21:05 13-04-2006
Новый дизайн сайта Жду ваших замечаний и предложений...

Пара недаработок есть, я знаю:
1) теги <li> отображаются криво
2) Иконка SciTE кривая... кстати, кто тут у нас художник, и может ее подправить?
3) Цветовая схема будет заменена.
Автор: ALeXkRU, Отправлено:00:48 14-04-2006
mirk
посмотри здесь - в самом низу в комментарии что-то странное творится...
похоже, это на всех страницах... с кодом что-то произошло
Автор: mirk, Отправлено:01:20 14-04-2006
ALeXkRU
Глянул в чем дело, и начал тихо со стула сползать.. у меня оказывается непонятным образом все шаблоны похерелись

Вообщем все исправил, все нормально.
Автор: DeadMorozBLR, Отправлено:17:04 14-04-2006
Простите за то, что перебиваю ваше обсуждение сайта, я снова с вопросом для себя:

Как в LUA получить содержимое всего редактируемого докуменда и в нем по регулярному выражению найти интересующую меня строку, например:

/Эта строка находится здесь: "([^"])+"/

Спасибо.
Автор: gansA, Отправлено:21:49 15-04-2006
Привет всем.
Вопрос кто нибудь "щупал" вот это: http://www.autoitscript.com/autoit3/scite/
DeadMorozBLR
Если не сложно, приведи пример строки посмотрю.
Автор: yumaxg, Отправлено:11:11 17-04-2006

Цитата:
Вопрос кто нибудь "щупал" вот это: http://www.autoitscript.com/autoit3/scite/


есть парочка инересных скриптиков (правда сама прога старовата будет) переделаные предлагаю для правок и использования

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

[more]
добавить в функцию обработки собития добавления символа function OnChar(charAdded)
такое:
--...............................................
    ls = editor.StyleAt[editor.CurrentPos-2]
--     тут нюансик из editor.StyleAt[editor.CurrentPos-2] для оптимізації робить лише для ідентифікаторів
--    11 - для Луа для інших може бути інші ідентифікатори
    if ls == 11 and charAdded == " " then
        Abbreviations() --see below
    end
--...............................................


end



--===================================================================================
-- Expand abbreviations and show tooltip when appropriated. by Jos van der Zande (JdeB)
-- changed yumax#301170722
function Abbreviations()
    -- get current word
    from = editor:WordStartPosition(editor.CurrentPos-2)
    to = editor:WordEndPosition(editor.CurrentPos-2)
    curword = editor:textrange(from, to)
    if string.sub(curword,1,1) == ' ' and string.sub(curword,2,2) == ' ' then
        curword = string.sub(curword,3,-1)
        from = from - 2;
    end
--     print(from..' '..to..'-'..curword..'-'..editor.CurrentPos)
    -- get possible replacement from abbrev.properties
    local repword = ""
    ext = props['FileExt']
    abbrev_file = props['abbrev.$(file.patterns.'..ext..')'];
--     print(abbrev_file)
    local f = io.open(abbrev_file)
    
    if f ~= nil then
        local Abbrevtxt = f:read('*a')
        if Abbrevtxt then
            f:close()
            local rep_start = string.find(Abbrevtxt,"\n" .. string.lower(curword) .. "=")
            
--             print('-'..Abbrevtxt..'-'.. curword..'-',rep_start,"-\n" .. string.lower(curword)..'-')
            if rep_start ~= nil and rep_start ~= 0 then
             rep_start = rep_start + string.len(curword) + 2
             rep_end = string.find(Abbrevtxt .. "\n","\n",rep_start)-1
             repword = string.sub(Abbrevtxt .. "\n",rep_start,rep_end)
--                  _ALERT("rep_start:" ..rep_start.. "rep_end:"..rep_end )
            end
        end
    end
    -- if found process it
--     _ALERT("abbr:" .. curword .. " replaced by: " .. repword .. "|" )
    if repword ~= nil and repword ~= "" then
        -- get indent info
        local s_indent = ""
        if editor.LineIndentation[editor:LineFromPosition(editor.CurrentPos)] then
            currentindent = editor.LineIndentation[editor:LineFromPosition(editor.CurrentPos)]
--             _ALERT(currentindent)
            if editor.UseTabs then
                n_idents = editor.LineIndentation[editor:LineFromPosition(editor.CurrentPos)] / editor.TabWidth
                s_indent = string.rep("\t",n_idents)
            else
                n_idents = editor.LineIndentation[editor:LineFromPosition(editor.CurrentPos)]
                s_indent = string.rep(" ",n_idents)
            end
        end
        --end
        -- remove current word
        editor:remove(from, to +1)
        -- replace text \n for LF plus the indent info
        repword = string.gsub(repword, "\\n", "\n" .. s_indent)
        -- replace text \t for TAB
        repword = string.gsub(repword, "\\t", "\t")
        -- find caret position in the word
        tcaretpos = string.find(repword,"|")
        -- when string to insert contains | then calculate the pos and remove it
        if tcaretpos ~= nil and tcaretpos ~= 0 then
            caretposword = string.find(repword,"|") -1
            caretpos = from + string.find(repword,"|") -1
            repword = string.gsub(repword, "|", "")
        else
            -- set caret pos to the end of the inserted string
            caretposword = 0
            caretpos = from + string.len(repword)
        end
        editor:insert(from,repword)
        editor:GotoPos(caretpos)
        --
        -- try to create the tooltip()
        -- get keyword/function name part infront of the (
        braceopenpos = string.find(repword,"%(")
        braceclosepos = string.find(repword,"%)")
        -- when string to insert contains | then calculate the pos and remove it
        --_ALERT(braceclosepos)
        if braceclosepos ~= nil and braceclosepos < caretposword then
            -- caret pos not inside the first function
            repword = ""
        elseif braceopenpos then
            -- get keyword/function name part infront of the |
            repword = string.sub(repword,1,braceopenpos-1)
        elseif caretposword ~= 0 then            
            repword = string.sub(repword,1,caretposword)
        else
            repword = ""
        end
        --_ALERT("repword:" .. repword )
        if repword ~= "" and braceopenpos then
            f = io.open(props['SciteDefaultHome'].."\\api\\au3.api")
            if f ~= nil then
                local apitxt = f:read('*a')
                if apitxt then
                     f:close()
                     local rep_start = string.find(string.lower(apitxt),"\n" .. string.lower(repword).."[\n ]")
                     if rep_start ~= nil then
                         rep_end = string.find(apitxt,"\n",rep_start+2)-1
                         repword = string.sub(apitxt,rep_start+1,rep_end)
                         -- put the description on the next line..
                         repword = string.gsub(repword, "%)", "%)\n",1)
                         editor:CallTipShow(caretpos, repword)
                     end
                end
            end
        end
    end
end

[/more]

Автор: mirk, Отправлено:11:19 17-04-2006
2 новости:
1) В общем сменил дизайн, смотрите, ругайте...
2) Обязательная регистрация пользователей на сайте, причина банальна, сайт начали спамить через комментарии.

Автор: unreal666, Отправлено:11:42 17-04-2006
mirk

Дизайн стал получше.
А чего у тебя в меню сайта для раздела "документация" написано (1). А в самом разделе пусто.
Автор: mirk, Отправлено:12:29 17-04-2006

Цитата:
А чего у тебя в меню сайта для раздела "документация" написано (1). А в самом разделе пусто.

Не большая не понятка с категориями, со временем исправлю.
Автор: yumaxg, Отправлено:12:46 17-04-2006
также может понадобитца скриптик копирование строк отмеченых как закладок

--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Insert a copy of the Bookmarked line(s) by Jos van der Zande (JdeB)
-- shortcut Ctrl+Shift+B Insert Copy of Bookmark(s)
function Copy_BookMarks()
editor:Home() -- goto beginning of the line
ml = editor:MarkerNext(0,2) -- Find first bookmarked line
s_text = ""
while (ml > -1) do
_ALERT("Inserted bookmarked line:" .. ml + 1 )
s_text = s_text .. editor:GetLine(ml) -- Add text to var
ml = editor:MarkerNext(ml+1,2) -- Find next bookmarked line
end
editor:AddText(s_text) -- Add found text to Script
end

Автор: mozers, Отправлено:15:43 17-04-2006
SciTE 1.68 Ru-Board Edition [17.04.2006] Сборка (ядро 1.68 .06Ru)
  • Новое ядро .06Ru - Добавлен фолдинг для MASM (Автор: UsAr)
  • Добавлены новые и откорректированы существующие api файлы html python vbscript jscript lua xml nncron nsis perl fortran (Спасибо: mirk и gansA)
  • Добавлены новые и откорректированы существующие файлы сокращений html vbscript jscript
  • Корректировка файлов настроек (Спасибо всем кто нашел ошибки и прислал замечания)
  • Добавлен SciTE Helper, COM-сервер для управления SciTE (Автор: mozers™)
  • Модернизирован скрипт "Цветочник" (pallete.hta) (Автор: mozers™)
  • Автозакрытие скобок (SciTEStartup.lua) (Авторы: gansA, mimir)
  • Вывод списка функций, имеющихся в коде (FuncListTBM.lua) (Автор: Grisper)
  • Построение дерева документа на базе function или|и sub (tree.lua) (Автор: gansA)
  • Трасировка выделенного текста в коды ASCII (ascii.lua) (Автор: gansA)

    yumaxg
    Поздравляю с первыми (и какими толковыми!) постами
    Ты - крут





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