summaryrefslogtreecommitdiff
path: root/src/scope.hh
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2017-10-28 11:00:51 +0800
committerMaxime Coste <mawww@kakoune.org>2017-10-28 13:43:04 +0800
commitd49555fc7568cff0db385d019a68cfdb0f28f8b0 (patch)
tree54c852fe6bba4236baf632111341312547ed77f8 /src/scope.hh
parent9a449a33446f1c52bb02b4bea13bbc86d5742f2d (diff)
Move highlighters into Scopes
That means we can now have highlighters active at global, buffer, and window scope. The add-highlighter and remove-highlighter syntax changed to take the parent path (scope/group/...) as a mandatory argument, superseeding the previous -group switch.
Diffstat (limited to 'src/scope.hh')
-rw-r--r--src/scope.hh25
1 files changed, 15 insertions, 10 deletions
diff --git a/src/scope.hh b/src/scope.hh
index a27d5fce..58cc9477 100644
--- a/src/scope.hh
+++ b/src/scope.hh
@@ -5,6 +5,7 @@
#include "hook_manager.hh"
#include "keymap_manager.hh"
#include "option_manager.hh"
+#include "highlighter_group.hh"
#include "utils.hh"
namespace Kakoune
@@ -17,16 +18,19 @@ public:
: m_options(parent.options()),
m_hooks(parent.hooks()),
m_keymaps(parent.keymaps()),
- m_aliases(parent.aliases()) {}
-
- OptionManager& options() { return m_options; }
- const OptionManager& options() const { return m_options; }
- HookManager& hooks() { return m_hooks; }
- const HookManager& hooks() const { return m_hooks; }
- KeymapManager& keymaps() { return m_keymaps; }
- const KeymapManager& keymaps() const { return m_keymaps; }
- AliasRegistry& aliases() { return m_aliases; }
- const AliasRegistry& aliases() const { return m_aliases; }
+ m_aliases(parent.aliases()),
+ m_highlighters(parent.highlighters()) {}
+
+ OptionManager& options() { return m_options; }
+ const OptionManager& options() const { return m_options; }
+ HookManager& hooks() { return m_hooks; }
+ const HookManager& hooks() const { return m_hooks; }
+ KeymapManager& keymaps() { return m_keymaps; }
+ const KeymapManager& keymaps() const { return m_keymaps; }
+ AliasRegistry& aliases() { return m_aliases; }
+ const AliasRegistry& aliases() const { return m_aliases; }
+ Highlighters& highlighters() { return m_highlighters; }
+ const Highlighters& highlighters() const { return m_highlighters; }
private:
friend class GlobalScope;
@@ -36,6 +40,7 @@ private:
HookManager m_hooks;
KeymapManager m_keymaps;
AliasRegistry m_aliases;
+ Highlighters m_highlighters;
};
class GlobalScope : public Scope, public Singleton<GlobalScope>