aboutsummaryrefslogtreecommitdiff
path: root/core/init.lua
diff options
context:
space:
mode:
authormitchell <70453897+667e-11@users.noreply.github.com>2009-01-16 09:31:52 -0500
committermitchell <70453897+667e-11@users.noreply.github.com>2009-01-16 09:31:52 -0500
commit73da184d79d6219101f57a01519c04c0057a15c1 (patch)
treeb51b85e095d7e0ca57d4ed08a7a5e62503a718ff /core/init.lua
parent7759c62c4e94b213553cf35210ef0197a0ffed8c (diff)
downloadtextadept-73da184d79d6219101f57a01519c04c0057a15c1.tar.gz
textadept-73da184d79d6219101f57a01519c04c0057a15c1.zip
Created a way to print messages to different kinds of buffers, not just error.
Earlier textadept.print() printed to the error buffer. Now it prints to its own message buffer. Additional textadept.print() calls print to that same buffer.
Diffstat (limited to 'core/init.lua')
-rw-r--r--core/init.lua36
1 files changed, 36 insertions, 0 deletions
diff --git a/core/init.lua b/core/init.lua
index 38ed7734..da95f94c 100644
--- a/core/init.lua
+++ b/core/init.lua
@@ -34,6 +34,42 @@ function textadept.check_focused_buffer(buffer)
end
---
+-- Helper function for printing messages to buffers.
+-- Opens a new buffer (if one hasn't already been opened) for printing messages.
+-- @param buffer_type String type of message buffer.
+-- @param ... Message strings.
+-- @usage textadept._print('shows_errors', error_message)
+-- @usage textadept._print('shows_messages', message)
+function textadept._print(buffer_type, ...)
+ local function safe_print(...)
+ local message = table.concat({...}, '\t')
+ local message_buffer
+ for index, buffer in ipairs(textadept.buffers) do
+ if buffer[buffer_type] then
+ message_buffer = buffer
+ if buffer.doc_pointer ~= textadept.focused_doc_pointer then
+ view:goto_buffer(index)
+ end
+ break
+ end
+ end
+ if not message_buffer then
+ message_buffer = textadept.new_buffer()
+ message_buffer[buffer_type] = true
+ end
+ message_buffer:append_text(message..'\n')
+ message_buffer:set_save_point()
+ end
+ pcall(safe_print, ...) -- prevent endless loops if this errors
+end
+
+---
+-- Prints messages to the Textadept message buffer.
+-- Opens a new buffer (if one hasn't already been opened) for printing messages.
+-- @param ... Message strings.
+function textadept.print(...) textadept._print('shows_messages', ...) end
+
+---
-- Displays a CocoaDialog of a specified type with given arguments returning
-- the result.
-- @param kind The CocoaDialog type.