summaryrefslogtreecommitdiff
path: root/src/buffer.hh
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2014-01-09 21:01:29 +0000
committerMaxime Coste <frrrwww@gmail.com>2014-01-09 21:01:29 +0000
commit85387b3efecec5e291a5ffaf20ab227f6094bd7b (patch)
treef5753dc53bb56f008fac8be0910a29feec27162b /src/buffer.hh
parente6884f989c2d955b8893d9b8eccc80f8cda0c7ca (diff)
Buffers can hold arbitrary values for for other systems
Diffstat (limited to 'src/buffer.hh')
-rw-r--r--src/buffer.hh7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/buffer.hh b/src/buffer.hh
index 9c648625..17de0f07 100644
--- a/src/buffer.hh
+++ b/src/buffer.hh
@@ -6,6 +6,7 @@
#include "option_manager.hh"
#include "keymap_manager.hh"
#include "string.hh"
+#include "value.hh"
#include <vector>
#include <list>
@@ -166,6 +167,8 @@ public:
KeymapManager& keymaps() { return m_keymaps; }
const KeymapManager& keymaps() const { return m_keymaps; }
+ ValueMap& values() const { return m_values; }
+
void run_hook_in_own_context(const String& hook_name, const String& param);
std::unordered_set<BufferChangeListener*>& change_listeners() const { return m_change_listeners; }
@@ -224,6 +227,10 @@ private:
HookManager m_hooks;
KeymapManager m_keymaps;
+ // Values are just data holding by the buffer, so it is part of its
+ // observable state
+ mutable ValueMap m_values;
+
friend constexpr Flags operator|(Flags lhs, Flags rhs)
{
return (Flags)((int) lhs | (int) rhs);