diff options
Diffstat (limited to 'src/buffer.hh')
| -rw-r--r-- | src/buffer.hh | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/buffer.hh b/src/buffer.hh index 5a336f23..0221e46a 100644 --- a/src/buffer.hh +++ b/src/buffer.hh @@ -7,6 +7,10 @@ #include <memory> #include "line_and_column.hh" +#include "filter.hh" +#include "exception.hh" +#include "completion.hh" +#include "idvaluemap.hh" namespace Kakoune { @@ -149,6 +153,18 @@ public: void register_modification_listener(BufferModificationListener* listener); void unregister_modification_listener(BufferModificationListener* listener); + struct filter_id_not_unique : public runtime_error + { + filter_id_not_unique(const std::string& id) + : runtime_error("filter id not unique: " + id) {} + }; + + void add_filter(FilterAndId&& filter); + void remove_filter(const std::string& id); + + CandidateList complete_filterid(const std::string& prefix, + size_t cursor_pos = std::string::npos); + // returns an iterator pointing to the first character of the line // iterator is on BufferIterator iterator_at_line_begin(const BufferIterator& iterator) const; @@ -190,6 +206,8 @@ private: size_t m_last_save_undo_index; std::vector<BufferModificationListener*> m_modification_listeners; + + idvaluemap<std::string, FilterFunc> m_filters; }; } |
