Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » SciTE - Open Source Text Editor for Windows & Linux

Модерирует : gyra, Maz

Widok (09-10-2007 14:48): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

Grisper

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору


Код:
 
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  
--
 
 

Всего записей: 52 | Зарегистр. 21-01-2006 | Отправлено: 09:21 13-04-2006 | Исправлено: Grisper, 16:44 13-04-2006
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » SciTE - Open Source Text Editor for Windows & Linux
Widok (09-10-2007 14:48): лимит страниц. продолжаем здесь


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru