summaryrefslogtreecommitdiff
path: root/src/selectors.hh
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2017-06-26 14:56:50 +0100
committerMaxime Coste <mawww@kakoune.org>2017-06-26 14:56:50 +0100
commitdc378aed7290eb9fd90b752a2841fa2457bb91d0 (patch)
tree1b72f64d2ecce3184f1e4734abda0512e242bc0f /src/selectors.hh
parent477f0700f04f626f3c9a15e0ad70adf22bc577f6 (diff)
Pass a context instead of just the buffer to selector functions
Diffstat (limited to 'src/selectors.hh')
-rw-r--r--src/selectors.hh43
1 files changed, 22 insertions, 21 deletions
diff --git a/src/selectors.hh b/src/selectors.hh
index c87f6321..5dd34068 100644
--- a/src/selectors.hh
+++ b/src/selectors.hh
@@ -7,6 +7,7 @@ namespace Kakoune
{
class Regex;
+class Context;
template<typename Iterator> struct MatchResults;
inline Selection keep_direction(Selection res, const Selection& ref)
@@ -18,39 +19,39 @@ inline Selection keep_direction(Selection res, const Selection& ref)
template<WordType word_type>
Optional<Selection>
-select_to_next_word(const Buffer& buffer, const Selection& selection);
+select_to_next_word(const Context& context, const Selection& selection);
template<WordType word_type>
Optional<Selection>
-select_to_next_word_end(const Buffer& buffer, const Selection& selection);
+select_to_next_word_end(const Context& context, const Selection& selection);
template<WordType word_type>
Optional<Selection>
-select_to_previous_word(const Buffer& buffer, const Selection& selection);
+select_to_previous_word(const Context& context, const Selection& selection);
Optional<Selection>
-select_line(const Buffer& buffer, const Selection& selection);
+select_line(const Context& context, const Selection& selection);
Optional<Selection>
-select_matching(const Buffer& buffer, const Selection& selection);
+select_matching(const Context& context, const Selection& selection);
Optional<Selection>
-select_to(const Buffer& buffer, const Selection& selection,
+select_to(const Context& context, const Selection& selection,
Codepoint c, int count, bool inclusive);
Optional<Selection>
-select_to_reverse(const Buffer& buffer, const Selection& selection,
+select_to_reverse(const Context& context, const Selection& selection,
Codepoint c, int count, bool inclusive);
template<bool only_move>
Optional<Selection>
-select_to_line_end(const Buffer& buffer, const Selection& selection);
+select_to_line_end(const Context& context, const Selection& selection);
template<bool only_move>
Optional<Selection>
-select_to_line_begin(const Buffer& buffer, const Selection& selection);
+select_to_line_begin(const Context& context, const Selection& selection);
Optional<Selection>
-select_to_first_non_blank(const Buffer& buffer, const Selection& selection);
+select_to_first_non_blank(const Context& context, const Selection& selection);
enum class ObjectFlags
{
@@ -63,52 +64,52 @@ constexpr bool with_bit_ops(Meta::Type<ObjectFlags>) { return true; }
template<WordType word_type>
Optional<Selection>
-select_word(const Buffer& buffer, const Selection& selection,
+select_word(const Context& context, const Selection& selection,
int count, ObjectFlags flags);
Optional<Selection>
-select_number(const Buffer& buffer, const Selection& selection,
+select_number(const Context& context, const Selection& selection,
int count, ObjectFlags flags);
Optional<Selection>
-select_sentence(const Buffer& buffer, const Selection& selection,
+select_sentence(const Context& context, const Selection& selection,
int count, ObjectFlags flags);
Optional<Selection>
-select_paragraph(const Buffer& buffer, const Selection& selection,
+select_paragraph(const Context& context, const Selection& selection,
int count, ObjectFlags flags);
Optional<Selection>
-select_whitespaces(const Buffer& buffer, const Selection& selection,
+select_whitespaces(const Context& context, const Selection& selection,
int count, ObjectFlags flags);
Optional<Selection>
-select_indent(const Buffer& buffer, const Selection& selection,
+select_indent(const Context& context, const Selection& selection,
int count, ObjectFlags flags);
Optional<Selection>
-select_argument(const Buffer& buffer, const Selection& selection,
+select_argument(const Context& context, const Selection& selection,
int level, ObjectFlags flags);
Optional<Selection>
-select_lines(const Buffer& buffer, const Selection& selection);
+select_lines(const Context& context, const Selection& selection);
Optional<Selection>
-trim_partial_lines(const Buffer& buffer, const Selection& selection);
+trim_partial_lines(const Context& context, const Selection& selection);
void select_buffer(SelectionList& selections);
enum Direction { Forward, Backward };
template<Direction direction>
-Selection find_next_match(const Buffer& buffer, const Selection& sel,
+Selection find_next_match(const Context& context, const Selection& sel,
const Regex& regex, bool& wrapped);
void select_all_matches(SelectionList& selections, const Regex& regex, int capture = 0);
void split_selections(SelectionList& selections, const Regex& regex, int capture = 0);
Optional<Selection>
-select_surrounding(const Buffer& buffer, const Selection& selection,
+select_surrounding(const Context& context, const Selection& selection,
StringView opening, StringView closing, int level,
ObjectFlags flags);