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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » FAR Manager (часть 5)

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

Maz (15-01-2020 17:38): FAR Manager (часть 6)  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

Alexyz21



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

Код:
local Code=[[
local F=far.Flags
local LFSTag={}
local patt=regex.new("<\\/?\\w+","ix")
local GetTag=function()
  local s=editor.GetStringW()
  if not s then return end
  local pos,pEnd = editor.GetInfo().CurPos,s.StringLength+1
  if pos>pEnd then return
  elseif pos==pEnd then pos=pos-1
  end
  local text,start = s.StringText.."\0",1
  local txt
  while true do
    local b,e = patt:findW(text,start)
    if b==nil or b>pos then break
    elseif e>=pos then
      LFSTag.Num=1
      LFSTag.Txt=win.Utf16ToUtf8(win.subW(text,b+1,e))
      LFSTag.Tag=LFSTag.Txt:match("%w+$")
      break
    end
    start=e+1
  end
end
 
local Data={
  sSearchPat="<(/?\\w+)[ >]",
  sReplacePat="if T[1]==LFSTag.Txt then LFSTag.Num=LFSTag.Num+1 elseif T[1]:match('%w+$')==LFSTag.Tag then LFSTag.Num=LFSTag.Num-1 end if LFSTag.Num==0 then return true,true end",
  sRegexLib="pcre",
  bRegExpr=true,
  bRepIsFunc=true,
  bConfirmReplace=true,
  fUserChoiceFunc=function() return "cancel" end
}
 
GetTag()
far.Message("Txt="..LFSTag.Txt.."\nTag="..LFSTag.Tag,"")
 
Data.bSearchBack=LFSTag.Txt~=LFSTag.Tag
lfsearch.EditorAction("test:replace",Data)
 
--local EGI=editor.GetInfo()
--local PosData={
--  CurLine       =EGI.CurLine,
--  CurPos        =EGI.CurPos,
--  CurTabPos     =EGI.CurTabPos,
--  TopScreenLine =EGI.TopScreenLine,
--  LeftPos       =EGI.LeftPos,
--  Overtype      =EGI.Overtype
--}
--
--if Data.bSearchBack
--then PosData.CurPos=PosData.CurPos-0
--else PosData.CurPos=PosData.CurPos+0
--end
--editor.SetPosition(nil,PosData)
]]
--<div><div><p></p></div></div>
 
Macro {
  description="Goto begin-end of Html Tags";
  area="Editor"; key="AltM";
  action=function()
    local LFS_Guid="8E11EA75-0303-4374-AC60-D1E38F865449"
    Plugin.Call(LFS_Guid,"code",Code)
  end
}

Всего записей: 3486 | Зарегистр. 16-06-2007 | Отправлено: 20:42 21-09-2019 | Исправлено: Alexyz21, 20:54 21-09-2019
   

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

Компьютерный форум Ru.Board » Компьютеры » Программы » FAR Manager (часть 5)
Maz (15-01-2020 17:38): FAR Manager (часть 6)


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru