summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2013-03-06 14:17:28 +0100
committerMaxime Coste <frrrwww@gmail.com>2013-03-06 14:27:33 +0100
commitfb7234544eb6e536b37d7d036ab147d029e2a978 (patch)
treef975499d40cffc369e12c3f666b3d101762d9979 /src
parent558f32d2d55907a85e8a2d4351817902a335463c (diff)
HighlightersFactories takes back a Window parameter
Diffstat (limited to 'src')
-rw-r--r--src/commands.cc2
-rw-r--r--src/highlighter.hh3
-rw-r--r--src/highlighters.cc8
3 files changed, 7 insertions, 6 deletions
diff --git a/src/commands.cc b/src/commands.cc
index fc315fd3..f83931e4 100644
--- a/src/commands.cc
+++ b/src/commands.cc
@@ -280,7 +280,7 @@ void add_highlighter(const CommandParameters& params, Context& context)
: window.highlighters();
auto& factory = registry[name];
- group.append(factory(highlighter_params));
+ group.append(factory(highlighter_params, window));
}
void rm_highlighter(const CommandParameters& params, Context& context)
diff --git a/src/highlighter.hh b/src/highlighter.hh
index 29992c99..615680a5 100644
--- a/src/highlighter.hh
+++ b/src/highlighter.hh
@@ -23,7 +23,8 @@ typedef std::function<void (DisplayBuffer& display_buffer)> HighlighterFunc;
typedef std::pair<String, HighlighterFunc> HighlighterAndId;
typedef memoryview<String> HighlighterParameters;
-using HighlighterFactory = std::function<HighlighterAndId (const HighlighterParameters& params)>;
+using HighlighterFactory = std::function<HighlighterAndId (const HighlighterParameters& params,
+ const Window& window)>;
struct HighlighterRegistry : FunctionRegistry<HighlighterFactory>,
Singleton<HighlighterRegistry>
diff --git a/src/highlighters.cc b/src/highlighters.cc
index 3afd50ce..49ce0a0c 100644
--- a/src/highlighters.cc
+++ b/src/highlighters.cc
@@ -119,7 +119,7 @@ private:
}
};
-HighlighterAndId colorize_regex_factory(const HighlighterParameters params)
+HighlighterAndId colorize_regex_factory(const HighlighterParameters params, const Window&)
{
if (params.size() < 2)
throw runtime_error("wrong parameter count");
@@ -182,7 +182,7 @@ private:
RegexColorizer m_colorizer;
};
-HighlighterAndId highlight_search_factory(const HighlighterParameters params)
+HighlighterAndId highlight_search_factory(const HighlighterParameters params, const Window&)
{
if (params.size() != 1)
throw runtime_error("wrong parameter count");
@@ -316,7 +316,7 @@ class SimpleHighlighterFactory
public:
SimpleHighlighterFactory(const String& id) : m_id(id) {}
- HighlighterAndId operator()(const HighlighterParameters& params) const
+ HighlighterAndId operator()(const HighlighterParameters& params, const Window&) const
{
return HighlighterAndId(m_id, HighlighterFunc(highlighter_func));
}
@@ -324,7 +324,7 @@ private:
String m_id;
};
-HighlighterAndId highlighter_group_factory(const HighlighterParameters& params)
+HighlighterAndId highlighter_group_factory(const HighlighterParameters& params, const Window&)
{
if (params.size() != 1)
throw runtime_error("wrong parameter count");