Skip to content

Commit 53b5895

Browse files
committed
Add LUM for Viewer and LUM for Dialog
1 parent aaa0446 commit 53b5895

24 files changed

+780
-2
lines changed

Common/locales/rhsConfigDef.lua

+2
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,9 @@ local Data = {
4343
cfg_LuaEUM = "LUM for &Editor",
4444
cfg_LuaEUM_Insert = "├ Template Insert",
4545
cfg_LuaEUM_ChsKit = "└ Characters Kit",
46+
cfg_LuaVUM = "LUM for &Viewer",
4647
cfg_LuaPUM = "LUM for &Panels",
48+
cfg_LuaDUM = "LUM for &Dialog",
4749
cfg_LumSVN = "LUM for &SVN",
4850
cfg_LumFLS = "&fl scripts LUM",
4951
cfg_Scripts = "Scripts:", -- Scripts:

Common/locales/rhsConfigRus.lua

+2
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,9 @@ local Data = {
4444
cfg_LuaEUM = "LUM для &Редактора",
4545
cfg_LuaEUM_Insert = "├ Вставка шаблона",
4646
cfg_LuaEUM_ChsKit = "└ Набор символов",
47+
cfg_LuaVUM = "LUM для Пр&осмотра",
4748
cfg_LuaPUM = "LUM для &Панелей",
49+
cfg_LuaDUM = "LUM для &Диалога",
4850
cfg_LumSVN = "LUM для &SVN",
4951
cfg_LumFLS = "LUM дл&я fl scripts",
5052
cfg_Scripts = "Скрипты:", -- Scripts:

Common/rhsConfig.cfg.russian

+12
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,24 @@ do local t = {}; Data = t
1313
t["Title"] = "&Текстовые шаблоны"
1414
end
1515
end
16+
do local t = {}; Data["mLuaVUM"] = t
17+
t["Title"] = "LU&M для Просмотра"
18+
do local t = {}; Data["mLuaVUM"]["config"] = t
19+
t["Title"] = "LUM для П&росмотра"
20+
end
21+
end
1622
do local t = {}; Data["mLuaPUM"] = t
1723
t["Title"] = "LU&M для Панелей"
1824
do local t = {}; Data["mLuaPUM"]["config"] = t
1925
t["Title"] = "LUM для &Панелей"
2026
end
2127
end
28+
do local t = {}; Data["mLuaDUM"] = t
29+
t["Title"] = "LU&M для Диалога"
30+
do local t = {}; Data["mLuaDUM"]["config"] = t
31+
t["Title"] = "LUM для &Диалога"
32+
end
33+
end
2234
do local t = {}; Data["sLUMs"] = t
2335
t["Title"] = "Меню UM"
2436
end

Common/rhsConfig.lua

+34
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,9 @@ local CfgDataOrder = {
6969
"mLuaEUM",
7070
"mLuaEUM_Insert",
7171
"mLuaEUM_ChsKit",
72+
"mLuaVUM",
7273
"mLuaPUM",
74+
"mLuaDUM",
7375
"mLumFLS",
7476
"sScripts", -- Скрипты:
7577
"mVoidTruncate",
@@ -156,6 +158,22 @@ local DefCfgData = {
156158
Comment = " -- Paired structures handling menu.",
157159
},
158160
--]==]
161+
mLuaVUM = {
162+
Area = "vc",
163+
enabled = true,
164+
Name = "LuaVUM",
165+
Title = "LU&M for Viewer",
166+
--HotKey = "Alt+Shift+F2",
167+
Command = "luavum",
168+
BasePath = "ScriptsPath",
169+
FilePath = [[LuaVUM\\LuaVUM]],
170+
config = {
171+
enabled = true,
172+
Title = "LUM for &Viewer",
173+
Param1 = "Config",
174+
},
175+
Comment = "-- LUM for Viewer.",
176+
},
159177
mLuaPUM = {
160178
Area = "pc",
161179
enabled = true,
@@ -172,6 +190,22 @@ local DefCfgData = {
172190
},
173191
Comment = "-- LUM for Panels.",
174192
},
193+
mLuaDUM = {
194+
Area = "dc",
195+
enabled = true,
196+
Name = "LuaDUM",
197+
Title = "LU&M for Dialog",
198+
--HotKey = "Alt+Shift+F2",
199+
Command = "luadum",
200+
BasePath = "ScriptsPath",
201+
FilePath = [[LuaDUM\\LuaDUM]],
202+
config = {
203+
enabled = true,
204+
Title = "LUM for &Dialog",
205+
Param1 = "Config",
206+
},
207+
Comment = "-- LUM for Dialog.",
208+
},
175209
mLumFLS = {
176210
Area = "evpdc",
177211
enabled = true,

LuaDUM/LuaDUM.lua

+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
--[[ LUM for Dialog ]]--
2+
3+
----------------------------------------
4+
--[[ description:
5+
-- LUM for Viewer.
6+
-- LUM для просмотра.
7+
--]]
8+
----------------------------------------
9+
--[[ uses:
10+
LuaFAR,
11+
Rh Utils, LUM.
12+
-- areas: editor.
13+
--]]
14+
--------------------------------------------------------------------------------
15+
16+
----------------------------------------
17+
local logShow = context.ShowInfo
18+
19+
--local getFileType = context.detect.area.dialog
20+
21+
----------------------------------------
22+
local farUt = require "Rh_Scripts.Utils.Utils"
23+
24+
--------------------------------------------------------------------------------
25+
local function LuaUserMenu (args)
26+
-- 1. Определение "охвата" меню.
27+
-- Базовое меню для главного меню.
28+
local BaseName = args[1]
29+
local Scope = { BaseName = BaseName, args = args }
30+
31+
if not BaseName or BaseName ~= "Config" then
32+
-- Получение информации о файле в редакторе.
33+
Scope.FileName = "" --dialog.GetInfo().FileName
34+
Scope.FileType = "none" --getFileType()
35+
-- Функция вставки шаблона для редактора.
36+
Scope.InsertText = farUt.FarInsertText.dialog
37+
end -- if
38+
39+
-- 2. Вызов пользовательского меню.
40+
--local LUM = require "Rh_Scripts.LuaUM.LUM"
41+
local LUM = farUt.urequire "Rh_Scripts.LuaUM.LUM"
42+
local Config = require "Rh_Scripts.LuaDUM.LuaDUMer"
43+
Config.Scope = Scope
44+
return LUM(Config)
45+
end ---- LuaUserMenu
46+
47+
--return LuaUserMenu(...)
48+
return farUt.usercall(nil, LuaUserMenu, ...)
49+
--------------------------------------------------------------------------------

LuaDUM/LuaDUMEng.hlf

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
.Language=English,English
2+
.PluginContents=Lua User Menu for Dialog
3+
.Options TabSize=4
4+
.Options CtrlColorChar=\
5+
.Options CtrlStartPosChar=¦
6+
7+
@Contents
8+
$ #Lua User Menu for Dialog# (~LuaDUM~)
9+
LuaDUM is a variant of LUM utility, used to work in FAR dialog.
10+
11+
~Menu items~@LUM_Items@
12+
~Files of utility~@LUM_Files@
13+
14+
Links:
15+
~Rh_Scripts~@<..\doc\>Contents@ pack
16+
~Lua User Menu~@<..\LuaUM\>Contents@ (LUM)
17+
18+
@Help
19+
~LuaDUM~@Contents@
20+
21+
@LUM_Items
22+
$ #Menu items#: LuaDUM
23+
24+
~Contents~@Contents@
25+
26+
@LUM_Files
27+
$ #Files of utility#: LuaDUM
28+
Files:
29+
\37LuaDUM.lua\-  — ¦LuaDUM menu: Implementation.
30+
\37LuaDUMer.lua\-  — ¦LuaDUM settings: Configurator.
31+
32+
~Contents~@Contents@

LuaDUM/LuaDUMRus.hlf

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
.Language=Russian,Russian (Русский)
2+
.PluginContents=Lua User Menu для Диалога
3+
.Options TabSize=4
4+
.Options CtrlColorChar=\
5+
.Options CtrlStartPosChar=¦
6+
7+
@Contents
8+
$ #Пользовательское меню Lua для Диалога# (~LuaDUM~)
9+
LuaDUM — вариант утилиты LUM, предназначенный для работы в диалогах FAR.
10+
11+
~Пункты меню~@LUM_Items@
12+
~Файлы утилиты~@LUM_Files@
13+
14+
Ссылки:
15+
~Rh_Scripts~@<..\doc\>Contents@ pack
16+
~Пользовательское меню Lua~@<..\LuaUM\>Contents@ (LUM)
17+
18+
@Help
19+
~LuaDUM~@Contents@
20+
21+
@LUM_Items
22+
$ #Пункты меню#: LuaDUM
23+
24+
~Содержание~@Contents@
25+
26+
@LUM_Files
27+
$ #Файлы утилиты#: LuaDUM
28+
Файлы:
29+
\37LuaDUM.lua\-  — ¦Меню LuaDUM: Реализация.
30+
\37LuaDUMer.lua\-  — ¦Настройка LuaDUM: Конфигуратор.
31+
32+
~Содержание~@Contents@

LuaDUM/LuaDUMer.lua

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
--[[ LuaVUM settings ]]--
2+
3+
----------------------------------------
4+
--[[ description:
5+
-- LuaVUM settings.
6+
-- Настройка LuaVUM.
7+
--]]
8+
--------------------------------------------------------------------------------
9+
local LUM_Path = "scripts\\Rh_Scripts\\LuaVUM\\"
10+
11+
local ArgData = {
12+
Basic = {
13+
LuaUMName = "LuaVUM",
14+
LuaUMPath = LUM_Path,
15+
}, -- Basic
16+
Files = {
17+
FilesPath = LUM_Path.."config\\",
18+
MenusFile = "LumBinds.lua",
19+
MenusPath = LUM_Path.."config\\",
20+
LuaScPath = LUM_Path.."scripts\\",
21+
}, -- Files
22+
UMenu = {
23+
MenuTitleBind = false,
24+
CompoundTitle = false,
25+
BottomHotKeys = true,
26+
CaptAlignText = true,
27+
TextNamedKeys = true,
28+
FullNamedKeys = false,
29+
KeysAlignText = false,
30+
ShowErrorMsgs = true,
31+
ReturnToUMenu = false,
32+
}, -- UMenu
33+
} --- ArgData
34+
35+
return require("Rh_Scripts.LuaUM.LumCfg").Configure(ArgData)
36+
--------------------------------------------------------------------------------

LuaDUM/config/LumBinds.lua

+82
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
--[[ LuaVUM ]]--
2+
3+
----------------------------------------
4+
--[[ description:
5+
-- Binding type to menu.
6+
-- Привязка типа к меню.
7+
--]]
8+
--------------------------------------------------------------------------------
9+
10+
----------------------------------------
11+
--local context = context
12+
13+
local locale = require 'context.utils.useLocale'
14+
15+
--------------------------------------------------------------------------------
16+
17+
---------------------------------------- Custom
18+
local Custom = {
19+
label = "LumBinds",
20+
name = "lum",
21+
path = "Rh_Scripts.LuaVUM.config.",
22+
locale = { kind = 'require', },
23+
} ---
24+
25+
---------------------------------------- Locale
26+
local L, e1, e2 = locale.localize(Custom)
27+
if L == nil then
28+
return locale.showError(e1, e2)
29+
end
30+
31+
---------------------------------------- Data
32+
local Data = {
33+
34+
["@"] = { -- Информация
35+
Author = "Aidar",
36+
pack = "Rh_Scripts",
37+
text = "LuaVUM",
38+
},
39+
40+
["="] = { -- Замены:
41+
ini = "none",
42+
tzt = "none",
43+
},
44+
45+
Default = { Caption = L.MainMenu,
46+
After = "UAddons;UScripts;UCommands;"..
47+
"U_DefSep;FARMacro;UMConfig", },
48+
49+
back = { Menu = "UAddons;UScripts;U_DefSep;UMConfig", noDefault = true, },
50+
51+
--none = { Menu = "Characters", },
52+
none = { Menu = "J_None", },
53+
--text = { Menu = "Characters", },
54+
55+
--text
56+
--plain
57+
--rich
58+
--define
59+
--(subtitles)
60+
--sub
61+
62+
--markup
63+
--sgml
64+
--html
65+
--xml
66+
--(book)
67+
--fb2
68+
69+
--source
70+
--main
71+
--(freqs)
72+
--c
73+
--pascal
74+
--dbl
75+
--codscript
76+
--lua
77+
--lua_lum
78+
79+
} ---
80+
81+
return Data
82+
--------------------------------------------------------------------------------

0 commit comments

Comments
 (0)