aboutsummaryrefslogtreecommitdiff
path: root/modules/textadept/menu.lua
diff options
context:
space:
mode:
authormitchell <70453897+667e-11@users.noreply.github.com>2010-11-23 19:09:21 -0500
committermitchell <70453897+667e-11@users.noreply.github.com>2010-11-23 19:09:21 -0500
commit5f29cb8190dbee6bb10b4eb904c8c39750de352d (patch)
treeef9d178b4834087d829702d4894ec3b9330f3c0b /modules/textadept/menu.lua
parent1f3bbef0357b89f82a65d1e67caa1980eee3f40b (diff)
downloadtextadept-5f29cb8190dbee6bb10b4eb904c8c39750de352d.tar.gz
textadept-5f29cb8190dbee6bb10b4eb904c8c39750de352d.zip
Code cleanup.
Also modified the editing module's enclose() and select_enclosed() functions.
Diffstat (limited to 'modules/textadept/menu.lua')
-rw-r--r--modules/textadept/menu.lua50
1 files changed, 36 insertions, 14 deletions
diff --git a/modules/textadept/menu.lua b/modules/textadept/menu.lua
index 196d685a..436f86bb 100644
--- a/modules/textadept/menu.lua
+++ b/modules/textadept/menu.lua
@@ -10,6 +10,20 @@ local gui = _G.gui
-- This module, like _m.textadept.keys, should be 'require'ed last.
module('_m.textadept.menu', package.seeall)
+-- Markdown:
+--
+-- ## Events
+--
+-- The following is a list of all menu events generated in
+-- `event_name(arguments)` format:
+--
+-- * **menu\_clicked** (menu\_id)<br />
+-- Called when a menu item is selected.
+-- - menu\_id: the numeric ID of the menu item set in
+-- [`gui.gtkmenu()`][gui_gtkmenu].
+--
+-- [gui_gtkmenu]: ../modules/gui.html#gtkmenu
+
local SEPARATOR = 'separator'
local b, v = 'buffer', 'view'
local m_snippets = _m.textadept.snippets
@@ -121,24 +135,32 @@ menubar = {
{ L('Convert _Indentation'), { m_editing.convert_indentation } },
{ title = L('S_election'),
{ title = L('_Enclose in...'),
- { L('_HTML Tags'), { m_editing.enclose, 'tag' } },
- { L('HTML Single _Tag'), { m_editing.enclose, 'single_tag' } },
- { L('_Double Quotes'), { m_editing.enclose, 'dbl_quotes' } },
- { L('_Single Quotes'), { m_editing.enclose, 'sng_quotes' } },
- { L('_Parentheses'), { m_editing.enclose, 'parens' } },
- { L('_Brackets'), { m_editing.enclose, 'brackets' } },
- { L('B_races'), { m_editing.enclose, 'braces' } },
- { L('_Character Sequence'), { m_editing.enclose, 'chars' } },
+ { L('_HTML Tags'), {
+ function()
+ m_editing.enclose('<', '>')
+ local buffer = buffer
+ local pos = buffer.current_pos
+ while buffer.char_at[pos - 1] ~= 60 do pos = pos - 1 end -- '<'
+ buffer:insert_text(-1,
+ '</'..buffer:text_range(pos, buffer.current_pos))
+ end
+ } },
+ { L('HTML Single _Tag'), { m_editing.enclose, '<', ' />' } },
+ { L('_Double Quotes'), { m_editing.enclose, '"', '"' } },
+ { L('_Single Quotes'), { m_editing.enclose, "'", "'" } },
+ { L('_Parentheses'), { m_editing.enclose, '(', ')' } },
+ { L('_Brackets'), { m_editing.enclose, '[', ']' } },
+ { L('B_races'), { m_editing.enclose, '{', '}' } },
},
{ L('_Grow'), { m_editing.grow_selection, 1 } },
},
{ title = L('Select i_n...'),
- { L('_HTML Tag'), { m_editing.select_enclosed, 'tags' } },
- { L('_Double Quote'), { m_editing.select_enclosed, 'dbl_quotes' } },
- { L('_Single Quote'), { m_editing.select_enclosed, 'sng_quotes' } },
- { L('_Parenthesis'), { m_editing.select_enclosed, 'parens' } },
- { L('_Bracket'), { m_editing.select_enclosed, 'brackets' } },
- { L('B_race'), { m_editing.select_enclosed, 'braces' } },
+ { L('_HTML Tag'), { m_editing.select_enclosed, '>', '<' } },
+ { L('_Double Quote'), { m_editing.select_enclosed, '"', '"' } },
+ { L('_Single Quote'), { m_editing.select_enclosed, "'", "'" } },
+ { L('_Parenthesis'), { m_editing.select_enclosed, '(', ')' } },
+ { L('_Bracket'), { m_editing.select_enclosed, '[', ']' } },
+ { L('B_race'), { m_editing.select_enclosed, '{', '}' } },
{ L('_Word'), { m_editing.current_word, 'select' } },
{ L('_Line'), { m_editing.select_line } },
{ L('Para_graph'), { m_editing.select_paragraph } },