diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2012-11-23 13:40:20 +0100 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2012-11-23 13:40:20 +0100 |
| commit | d2f811a8d5ef527eb98da7acdee93fa8f00131f2 (patch) | |
| tree | 151b9e0b9c2dbc5c952f329b919d2aa772ce0a25 /src/filter.hh | |
| parent | 11e885e5a5e31f75cfb18dd02907b86e3c40b8da (diff) | |
Refactor filter and highlighter registry into a common template
Diffstat (limited to 'src/filter.hh')
| -rw-r--r-- | src/filter.hh | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/filter.hh b/src/filter.hh index 6f54d496..28fa0202 100644 --- a/src/filter.hh +++ b/src/filter.hh @@ -1,9 +1,13 @@ #ifndef filter_hh_INCLUDED #define filter_hh_INCLUDED +#include <functional> + #include "string.hh" +#include "utils.hh" +#include "memoryview.hh" #include "selection.hh" -#include <functional> +#include "function_registry.hh" namespace Kakoune { @@ -18,6 +22,13 @@ class BufferIterator; using FilterFunc = std::function<void (Buffer& buffer, Selection& selection, String& content)>; using FilterAndId = std::pair<String, FilterFunc>; +using FilterParameters = memoryview<String>; +using FilterFactory = std::function<FilterAndId (const FilterParameters& params)>; + +struct FilterRegistry : FunctionRegistry<FilterFactory>, + Singleton<FilterRegistry> +{}; + } #endif // filter_hh_INCLUDED |
