From d955abad5f427b936393ec92028d1ef01192a8da Mon Sep 17 00:00:00 2001 From: mitchell <70453897+667e-11@users.noreply.github.com> Date: Wed, 24 Nov 2010 17:33:42 -0500 Subject: Added key commands and menu options for toggling virtual space. --- modules/textadept/keys.lua | 26 ++++++++++++++------------ modules/textadept/menu.lua | 6 ++++-- 2 files changed, 18 insertions(+), 14 deletions(-) (limited to 'modules') diff --git a/modules/textadept/keys.lua b/modules/textadept/keys.lua index ad4ed760..df088b44 100644 --- a/modules/textadept/keys.lua +++ b/modules/textadept/keys.lua @@ -155,12 +155,12 @@ local function any_char_mt(f) if #k == 1 then return { f, k, k } end end }) end -local function toggle_setting(setting) +local function toggle_setting(setting, i) local state = buffer[setting] if type(state) == 'boolean' then buffer[setting] = not state elseif type(state) == 'number' then - buffer[setting] = buffer[setting] == 0 and 1 or 0 + buffer[setting] = buffer[setting] == 0 and (i or 1) or 0 end events.emit('update_ui') -- for updating statusbar end @@ -292,11 +292,12 @@ if not OSX then keys['c\t'] = { 'goto_buffer', v, 1, false } keys['cs\t'] = { 'goto_buffer', v, -1, false } keys.ct.v = { - e = { toggle_setting, 'view_eol' }, - w = { toggle_setting, 'wrap_mode' }, - i = { toggle_setting, 'indentation_guides' }, - ['\t'] = { toggle_setting, 'use_tabs' }, - [' '] = { toggle_setting, 'view_ws' }, + e = { toggle_setting, 'view_eol' }, + w = { toggle_setting, 'wrap_mode' }, + i = { toggle_setting, 'indentation_guides' }, + ['\t'] = { toggle_setting, 'use_tabs' }, + [' '] = { toggle_setting, 'view_ws' }, + v = { toggle_setting, 'virtual_space_options', 2 }, } keys.cl = { _m.textadept.mime_types.select_lexer } keys['f5'] = { 'colourise', b, 0, -1 } @@ -424,11 +425,12 @@ else keys['c\t'] = { 'goto_buffer', v, 1, false } keys['cs\t'] = { 'goto_buffer', v, -1, false } keys.at.v = { - e = { toggle_setting, 'view_eol' }, - w = { toggle_setting, 'wrap_mode' }, - i = { toggle_setting, 'indentation_guides' }, - ['\t'] = { toggle_setting, 'use_tabs' }, - [' '] = { toggle_setting, 'view_ws' }, + e = { toggle_setting, 'view_eol' }, + w = { toggle_setting, 'wrap_mode' }, + i = { toggle_setting, 'indentation_guides' }, + ['\t'] = { toggle_setting, 'use_tabs' }, + [' '] = { toggle_setting, 'view_ws' }, + v = { toggle_setting, 'virtual_space_options', 2 }, } keys.cl = { _m.textadept.mime_types.select_lexer } keys['f5'] = { 'colourise', b, 0, -1 } diff --git a/modules/textadept/menu.lua b/modules/textadept/menu.lua index 436f86bb..f94aad56 100644 --- a/modules/textadept/menu.lua +++ b/modules/textadept/menu.lua @@ -36,12 +36,12 @@ local function set_encoding(encoding) buffer:set_encoding(encoding) events.emit('update_ui') -- for updating statusbar end -local function toggle_setting(setting) +local function toggle_setting(setting, i) local state = buffer[setting] if type(state) == 'boolean' then buffer[setting] = not state elseif type(state) == 'number' then - buffer[setting] = buffer[setting] == 0 and 1 or 0 + buffer[setting] = buffer[setting] == 0 and (i or 1) or 0 end events.emit('update_ui') -- for updating statusbar end @@ -230,6 +230,8 @@ menubar = { { toggle_setting, 'indentation_guides' } }, { L('Toggle Use _Tabs'), { toggle_setting, 'use_tabs' } }, { L('Toggle View White_space'), { toggle_setting, 'view_ws' } }, + { L('Toggle _Virtual Space'), + { toggle_setting, 'virtual_space_options', 2} }, { SEPARATOR }, { title = L('EOL Mode'), { L('CRLF'), { set_eol_mode, 0 } }, -- cgit v1.2.3