diff options
Diffstat (limited to 'core/init.lua')
-rw-r--r-- | core/init.lua | 78 |
1 files changed, 4 insertions, 74 deletions
diff --git a/core/init.lua b/core/init.lua index fcf8e354..39497614 100644 --- a/core/init.lua +++ b/core/init.lua @@ -2,8 +2,6 @@ _RELEASE = "Textadept 2.2" -local textadept = _G.textadept - package.path = _HOME..'/core/?.lua;'..package.path _USERHOME = os.getenv(not WIN32 and 'HOME' or 'USERPROFILE')..'/.textadept' @@ -29,83 +27,15 @@ require 'iface' require 'locale' require 'events' require 'file_io' +require 'gui' rawset = nil -- do not allow modifications which could compromise stability --- LuaDoc is in core/.textadept.lua. -function textadept.check_focused_buffer(buffer) - if type(buffer) ~= 'table' or not buffer.doc_pointer then - error(locale.ERR_BUFFER_EXPECTED, 2) - elseif textadept.focused_doc_pointer ~= buffer.doc_pointer then - error(locale.ERR_BUFFER_NOT_FOCUSED, 2) - end -end - --- LuaDoc is in core/.textadept.lua. -function textadept._print(buffer_type, ...) - local function safe_print(...) - local message = table.concat({...}, '\t') - local message_buffer, message_buffer_index - local message_view, message_view_index - for index, buffer in ipairs(textadept.buffers) do - if buffer._type == buffer_type then - message_buffer, message_buffer_index = buffer, index - for jndex, view in ipairs(textadept.views) do - if view.doc_pointer == message_buffer.doc_pointer then - message_view, message_view_index = view, jndex - break - end - end - break - end - end - if not message_view then - local _, message_view = view:split(false) -- horizontal split - if not message_buffer then - message_buffer = textadept.new_buffer() - message_buffer._type = buffer_type - events.emit('file_opened') - else - message_view:goto_buffer(message_buffer_index, true) - end - else - textadept.goto_view(message_view_index, true) - end - message_buffer:append_text(message..'\n') - message_buffer:set_save_point() - end - pcall(safe_print, ...) -- prevent endless loops if this errors -end - --- LuaDoc is in core/.textadept.lua. -function textadept.print(...) textadept._print(locale.MESSAGE_BUFFER, ...) end - --- LuaDoc is in core/.textadept.lua. -function textadept.switch_buffer() - local items = {} - for _, buffer in ipairs(textadept.buffers) do - local filename = buffer.filename or buffer._type or locale.UNTITLED - local dirty = buffer.dirty and '*' or '' - items[#items + 1] = dirty..filename:match('[^/\\]+$') - items[#items + 1] = filename - end - local out = - textadept.dialog('filteredlist', - '--title', locale.SWITCH_BUFFERS, - '--button1', 'gtk-ok', - '--button2', 'gtk-cancel', - '--no-newline', - '--columns', 'Name', 'File', - '--items', unpack(items)) - local i = tonumber(out:match('%-?%d+$')) - if i and i >= 0 then view:goto_buffer(i + 1, true) end -end - --- LuaDoc is in core/.textadept.lua. -function textadept.user_dofile(filename) +-- LuaDoc is in core/._G.lua. +function _G.user_dofile(filename) if lfs.attributes(_USERHOME..'/'..filename) then local ret, errmsg = pcall(dofile, _USERHOME..'/'..filename) - if not ret then textadept.print(errmsg) end + if not ret then gui.print(errmsg) end return ret end return false |