summaryrefslogtreecommitdiff
path: root/src/window.cc
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2014-01-18 01:56:51 +0000
committerMaxime Coste <frrrwww@gmail.com>2014-01-18 01:59:37 +0000
commit5cffc48efc3f79eaa8c8d5dbb91e2289b5fccf5e (patch)
tree70dec742bdf56d3d976e38a9dc8e6ea5b4b4e14a /src/window.cc
parente1eec8903a2a15efe0f71809794601c34aaadfb1 (diff)
Pass a HighlightFlags parameter to highlighters
When only highlighting for finding character position on screen pass HighlightFlags::MoveOnly so that non moving highlighters do not need to run.
Diffstat (limited to 'src/window.cc')
-rw-r--r--src/window.cc18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/window.cc b/src/window.cc
index c982bd82..6cc1a4dd 100644
--- a/src/window.cc
+++ b/src/window.cc
@@ -13,9 +13,9 @@ namespace Kakoune
{
// Implementation in highlighters.cc
-void highlight_selections(const Context& context, DisplayBuffer& display_buffer);
-void expand_tabulations(const Context& context, DisplayBuffer& display_buffer);
-void expand_unprintable(const Context& context, DisplayBuffer& display_buffer);
+void highlight_selections(const Context& context, HighlightFlags flags, DisplayBuffer& display_buffer);
+void expand_tabulations(const Context& context, HighlightFlags flags, DisplayBuffer& display_buffer);
+void expand_unprintable(const Context& context, HighlightFlags flags, DisplayBuffer& display_buffer);
Window::Window(Buffer& buffer)
: m_buffer(&buffer),
@@ -82,8 +82,8 @@ void Window::update_display_buffer(const Context& context)
}
m_display_buffer.compute_range();
- m_highlighters(context, m_display_buffer);
- m_builtin_highlighters(context, m_display_buffer);
+ m_highlighters(context, HighlightFlags::Highlight, m_display_buffer);
+ m_builtin_highlighters(context, HighlightFlags::Highlight, m_display_buffer);
// cut the start of the line before m_position.column
for (auto& line : lines)
@@ -166,8 +166,8 @@ void Window::scroll_to_keep_selection_visible_ifn(const Context& context)
lines.emplace_back(AtomList{ {buffer(), last.line, last.line+1} });
display_buffer.compute_range();
- m_highlighters(context, display_buffer);
- m_builtin_highlighters(context, display_buffer);
+ m_highlighters(context, HighlightFlags::MoveOnly, display_buffer);
+ m_builtin_highlighters(context, HighlightFlags::MoveOnly, display_buffer);
// now we can compute where the cursor is in display columns
// (this is only valid if highlighting one line and multiple lines put
@@ -250,8 +250,8 @@ BufferCoord Window::offset_coord(BufferCoord coord, LineCount offset)
InputHandler hook_handler{*m_buffer, SelectionList{ {} } };
hook_handler.context().set_window(*this);
- m_highlighters(hook_handler.context(), display_buffer);
- m_builtin_highlighters(hook_handler.context(), display_buffer);
+ m_highlighters(hook_handler.context(), HighlightFlags::MoveOnly, display_buffer);
+ m_builtin_highlighters(hook_handler.context(), HighlightFlags::MoveOnly, display_buffer);
CharCount column = find_display_column(lines[0], buffer(), coord);
return find_buffer_coord(lines[1], buffer(), column);