diff options
author | 2009-03-01 16:32:59 -0500 | |
---|---|---|
committer | 2009-03-01 16:32:59 -0500 | |
commit | 5919fc6b3a124f215c50bf1d187b37dad5a37858 (patch) | |
tree | e71e49a5b34f83945de48b0d255ea6c133ed3e63 /core/ext | |
parent | c2c910627f6b8dc4bd638d2d83b3dcf83d92b857 (diff) | |
download | textadept-5919fc6b3a124f215c50bf1d187b37dad5a37858.tar.gz textadept-5919fc6b3a124f215c50bf1d187b37dad5a37858.zip |
Added support for multiple character encodings through g_convert().
Can open, save, and convert between different character encodings now.
Diffstat (limited to 'core/ext')
-rw-r--r-- | core/ext/menu.lua | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/core/ext/menu.lua b/core/ext/menu.lua index eafcefbe..963967ab 100644 --- a/core/ext/menu.lua +++ b/core/ext/menu.lua @@ -100,7 +100,7 @@ local ID = { START_RECORDING_MACRO = 413, STOP_RECORDING_MACRO = 414, PLAY_MACRO = 415, - -- Buffers + -- Buffer NEXT_BUFFER = 501, PREV_BUFFER = 502, TOGGLE_VIEW_EOL = 503, @@ -111,8 +111,13 @@ local ID = { EOL_MODE_CRLF = 509, EOL_MODE_CR = 510, EOL_MODE_LF = 511, + ENCODING_UTF8 = 512, + ENCODING_ASCII = 513, + ENCODING_ISO88591 = 514, + ENCODING_MACROMAN = 515, + ENCODING_UTF16 = 516, REFRESH_SYNTAX_HIGHLIGHTING = 508, - -- Views + -- View NEXT_VIEW = 601, PREV_VIEW = 602, SPLIT_VIEW_VERTICAL = 603, @@ -261,6 +266,13 @@ local menubar = { { l.MENU_BUF_EOL_MODE_CR, ID.EOL_MODE_CR }, { l.MENU_BUF_EOL_MODE_LF, ID.EOL_MODE_LF }, }, + { title = l.MENU_BUF_ENCODING_TITLE, + { l.MENU_BUF_ENCODING_UTF8, ID.ENCODING_UTF8 }, + { l.MENU_BUF_ENCODING_ASCII, ID.ENCODING_ASCII }, + { l.MENU_BUF_ENCODING_ISO88591, ID.ENCODING_ISO88591 }, + { l.MENU_BUF_ENCODING_MACROMAN, ID.ENCODING_MACROMAN }, + { l.MENU_BUF_ENCODING_UTF16, ID.ENCODING_UTF16 }, + }, { SEPARATOR, ID.SEPARATOR }, { l.MENU_BUF_REFRESH, ID.REFRESH_SYNTAX_HIGHLIGHTING }, }, @@ -297,6 +309,10 @@ local m_bookmarks = _m.textadept.bookmarks local m_macros = _m.textadept.macros local m_run = _m.textadept.run +local function set_encoding(encoding) + buffer:set_encoding(encoding) + t.events.update_ui() -- for updating statusbar +end local function toggle_setting(setting) local state = buffer[setting] if type(state) == 'boolean' then @@ -314,7 +330,7 @@ end local function set_lexer_language(lexer) buffer:set_lexer_language(lexer) buffer:colourise(0, -1) - textadept.events.update_ui() -- for updating statusbar + t.events.update_ui() -- for updating statusbar end local actions = { @@ -416,7 +432,7 @@ local actions = { [ID.START_RECORDING_MACRO] = { m_macros.start_recording }, [ID.STOP_RECORDING_MACRO] = { m_macros.stop_recording }, [ID.PLAY_MACRO] = { m_macros.play }, - -- Buffers + -- Buffer [ID.NEXT_BUFFER] = { 'goto_buffer', v, 1, false }, [ID.PREV_BUFFER] = { 'goto_buffer', v, -1, false }, [ID.TOGGLE_VIEW_EOL] = { toggle_setting, 'view_eol' }, @@ -427,8 +443,13 @@ local actions = { [ID.EOL_MODE_CRLF] = { set_eol_mode, 0 }, [ID.EOL_MODE_CR] = { set_eol_mode, 1 }, [ID.EOL_MODE_LF] = { set_eol_mode, 2 }, + [ID.ENCODING_UTF8] = { set_encoding, 'UTF-8' }, + [ID.ENCODING_ASCII] = { set_encoding, 'ASCII' }, + [ID.ENCODING_ISO88591] = { set_encoding, 'ISO-8859-1' }, + [ID.ENCODING_MACROMAN] = { set_encoding, 'MacRoman' }, + [ID.ENCODING_UTF16] = { set_encoding, 'UTF-16LE' }, [ID.REFRESH_SYNTAX_HIGHLIGHTING] = { 'colourise', b, 0, -1 }, - -- Views + -- View [ID.NEXT_VIEW] = { t.goto_view, 1, false }, [ID.PREV_VIEW] = { t.goto_view, -1, false }, [ID.SPLIT_VIEW_VERTICAL] = { 'split', v }, |