57baad4afd
set-face now takes a scope argument, and faces can be overridden on a buffer or window basis. colorscheme apply on global scope, which should be good enough for now. Fixes #1411
56 lines
1.2 KiB
C++
56 lines
1.2 KiB
C++
#include "highlighter.hh"
|
|
|
|
#include "buffer_utils.hh"
|
|
|
|
namespace Kakoune
|
|
{
|
|
|
|
void Highlighter::highlight(HighlightContext context, DisplayBuffer& display_buffer, BufferRange range)
|
|
{
|
|
if (context.pass & m_passes) try
|
|
{
|
|
do_highlight(context, display_buffer, range);
|
|
}
|
|
catch (runtime_error& error)
|
|
{
|
|
write_to_debug_buffer(format("Error while highlighting: {}", error.what()));
|
|
}
|
|
}
|
|
|
|
void Highlighter::compute_display_setup(HighlightContext context, DisplaySetup& setup) const
|
|
{
|
|
if (context.pass & m_passes)
|
|
do_compute_display_setup(context, setup);
|
|
}
|
|
|
|
|
|
bool Highlighter::has_children() const
|
|
{
|
|
return false;
|
|
}
|
|
|
|
Highlighter& Highlighter::get_child(StringView path)
|
|
{
|
|
throw runtime_error("this highlighter do not hold children");
|
|
}
|
|
|
|
void Highlighter::add_child(HighlighterAndId&& hl)
|
|
{
|
|
throw runtime_error("this highlighter do not hold children");
|
|
}
|
|
|
|
void Highlighter::remove_child(StringView id)
|
|
{
|
|
throw runtime_error("this highlighter do not hold children");
|
|
}
|
|
|
|
Completions Highlighter::complete_child(StringView path, ByteCount cursor_pos, bool group) const
|
|
{
|
|
throw runtime_error("this highlighter do not hold children");
|
|
}
|
|
|
|
void Highlighter::fill_unique_ids(Vector<StringView>& unique_ids) const
|
|
{}
|
|
|
|
}
|