aboutsummaryrefslogtreecommitdiff
path: root/core/init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'core/init.lua')
-rw-r--r--core/init.lua78
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