codewarlock1101
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Код: --[[-------------------------------------------------- FindText v6.2 Автор: неизвесен <http://forum.ruteam.ru/index.php?action=vthread&forum=22&topic=175> Корректировки: mozers™, mimir, Алексей Поиск выделенного в окне редактора (или консоли) текста с выводом содержащих его строк в консоль Внимание: В скрипте используются функции из COMMON.lua (EditorMarkText, EditorClearMarks) ----------------------------------------------- Для подключения добавьте в свой файл .properties следующие строки: command.name.22.*=Поиск текста command.22.*=dofile $(SciteDefaultHome)\tools\FindText.lua command.mode.22.*=subsystem:lua,savebefore:no Дополнительно можно задать в файле настроек стиль используемого маркера (в этом скрипте используется 31 маркер) например, так: find.mark.31=#FF0000, plain --]]---------------------------------------------------- local sText = props['CurrentSelection'] if UNDERLINE_ONLY==1 then local len=0 if editor.SelectionStart==editor.LineEndPosition[editor:LineFromPosition(editor.SelectionStart)] then editor.SelectionStart=editor.SelectionStart-1 editor.SelectionEnd=editor.SelectionStart end if editor.SelectionEnd==editor.SelectionStart then len=1 end local xs,xl=editor.SelectionStart, editor.SelectionEnd - editor.SelectionStart+len if scite.SendEditor(SCI_INDICATORVALUEAT, 31, xs)==1 then EditorClearMarks(xs,xl) else EditorMarkText(xs,xl,31) end return end if string.len(sText) > 0 then local s,e = editor:findtext(sText,flag,0) local count = 0 local iscom='' if(s~=nil)then local m = editor:LineFromPosition(s) - 1 if IsComment(s) then iscom='--' elseif IsString(s) then iscom='""' else iscom='\t' end while s do local l = editor:LineFromPosition(s) EditorMarkText(s, e-s, 31) count = count + 1 if l ~= m then local str = string.gsub(' '..editor:GetLine(l),'%s+',' ') print(props['FileNameExt']..':'..(l + 1)..':'..iscom..str) m = l end s,e = editor:findtext(sText,flag,e) end print('> Result: '..count) else print('> Nothing Found') end else EditorClearMarks(0, editor.Length) end |
|