2011-10-07 16:16:38 +02:00
|
|
|
#include "debug.hh"
|
|
|
|
|
|
|
|
#include "assert.hh"
|
|
|
|
#include "buffer_manager.hh"
|
2012-03-07 00:12:48 +01:00
|
|
|
#include "editor.hh"
|
2011-10-07 16:16:38 +02:00
|
|
|
|
|
|
|
namespace Kakoune
|
|
|
|
{
|
|
|
|
|
|
|
|
static Buffer& get_or_create_debug_buffer()
|
|
|
|
{
|
|
|
|
static const std::string debug_buffer_name("*debug*");
|
|
|
|
Buffer* buffer = BufferManager::instance().get_buffer(debug_buffer_name);
|
|
|
|
|
|
|
|
if (not buffer)
|
2012-03-07 00:12:48 +01:00
|
|
|
buffer = new Buffer(debug_buffer_name, Buffer::Type::Scratch, "");
|
2011-10-07 16:16:38 +02:00
|
|
|
|
|
|
|
assert(buffer);
|
|
|
|
return *buffer;
|
|
|
|
}
|
|
|
|
|
|
|
|
void write_debug(const std::string& str)
|
|
|
|
{
|
|
|
|
Buffer& debug_buffer = get_or_create_debug_buffer();
|
2012-03-07 00:12:48 +01:00
|
|
|
Editor editor(debug_buffer);
|
|
|
|
editor.select(debug_buffer.end());
|
|
|
|
editor.insert(str);
|
2011-10-07 16:16:38 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|