diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2011-10-07 14:16:38 +0000 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2011-10-07 14:16:38 +0000 |
| commit | a19f4f059d3e76210cfefdbb2881255d7fbc7879 (patch) | |
| tree | a7c8740ec1308c6855d781f191c635323ce41ce4 /src/debug.cc | |
| parent | 9db4aa96917184aab8d28436bec37b12ae6a4448 (diff) | |
Debug: add a write_debug function
write_debug writes in a Scratch buffer named '*debug*', so that debug
messages are accessibles from within kakoune
Diffstat (limited to 'src/debug.cc')
| -rw-r--r-- | src/debug.cc | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/debug.cc b/src/debug.cc new file mode 100644 index 00000000..2aa7b179 --- /dev/null +++ b/src/debug.cc @@ -0,0 +1,27 @@ +#include "debug.hh" + +#include "assert.hh" +#include "buffer_manager.hh" + +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) + buffer = new Buffer(debug_buffer_name, Buffer::Type::Scratch); + + assert(buffer); + return *buffer; +} + +void write_debug(const std::string& str) +{ + Buffer& debug_buffer = get_or_create_debug_buffer(); + debug_buffer.insert(debug_buffer.end(), str); +} + +} |
