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

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

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

Maz (23-11-2017 18:57): FAR Manager (часть 5)  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

Alexyz21



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

Код:
local DLGITEMTYPE_EDIT,DLGITEMTYPE_PSWEDIT,DLGITEMTYPE_FIXEDIT=4,5,6
local DialogTools_MainGuid="B2EC2264-0F55-4B86-87F7-F1392B8FC5DC"
local DialogTools_UndoGuid="1117C0E3-76BA-443D-90E3-89D20C45F364"
local DialogTools_EditGuid="D0C5118D-E750-4E00-A4D4-0E0E0063571F"
local DialogTools_PwShGuid="C8D4D4A4-943B-436F-8414-D36CBAF37C53"
 
local function inEditField()
  return Dlg.ItemType==DLGITEMTYPE_EDIT or Dlg.ItemType==DLGITEMTYPE_FIXEDIT
end
 
local function callUndoRedo(stepKey)
  Plugin.Menu(DialogTools_MainGuid,DialogTools_UndoGuid)
  Keys(stepKey..' '..'Enter')
end
 
Macro {
  description="DialogTools: Undo";
  area="Dialog"; key="CtrlZ AltBS";
  condition=inEditField;
  action=function() callUndoRedo('') end
}
 
Macro {
  description="DialogTools: Redo";
  area="Dialog"; key="CtrlShiftZ AltShiftBS";
  condition=inEditField;
  action=function() callUndoRedo('Up') end
}
 
Macro {
  description="DialogTools: Edit";
  area="Dialog"; key="F4";
  condition=function() return Dlg.Id~="20089D97-090F-4897-8AA0-09189746FF0D" and inEditField() end;
  action=function() Plugin.Menu(DialogTools_MainGuid,DialogTools_EditGuid) end
}
 
Macro {
  description="DialogTools: Show password";
  area="Dialog"; key="F3";
  condition=function() return Dlg.ItemType==DLGITEMTYPE_PSWEDIT end;
  action=function() Plugin.Menu(DialogTools_MainGuid,DialogTools_PwShGuid) end
}
 
local patt = {AltO=regex.new("[\\w\\-]+"),CtrlO=regex.new("\\S+")}
 
Macro {
  description="DialogTools: Paste word under cursor";
  area="Dialog"; key="AltO CtrlO";
  condition=inEditField;
  action=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
    while true do
      local b,e = patt[akey(1)]:findW(text,start)
      --far.Show(b,e)
      if b == nil or b > pos then break
      elseif e >= pos then print(win.Utf16ToUtf8(win.subW(text,b,e))) break
      end
      start = e+1
    end
  end
}
 

Всего записей: 3484 | Зарегистр. 16-06-2007 | Отправлено: 23:25 15-05-2017 | Исправлено: Alexyz21, 23:33 15-05-2017
   

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

Компьютерный форум Ru.Board » Компьютеры » Программы » FAR Manager (часть 4)
Maz (23-11-2017 18:57): FAR Manager (часть 5)


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru