import { nvim_buf_add_highlight } from "https://deno.land/x/denops_std@v4.1.4/function/nvim/mod.ts";
Adds a highlight to buffer.
Useful for plugins that dynamically generate highlights to a buffer (like
a semantic highlighter or linter). The function adds a single highlight to
a buffer. Unlike |matchaddpos()| highlights follow changes to line
numbering (as lines are inserted/removed above the highlighted line), like
signs and marks do.
Namespaces are used for batch deletion/updating of a set of highlights. To
create a namespace, use |nvim_create_namespace()| which returns a
namespace id. Pass it in to this function as ns_id
to add highlights to
the namespace. All highlights in the same namespace can then be cleared
with single call to |nvim_buf_clear_namespace()|. If the highlight never
will be deleted by an API call, pass ns_id = -1
.
As a shorthand, ns_id = 0
can be used to create a new namespace for the
highlight, the allocated id is then returned. If hl_group
is the empty
string no highlight is added, but a new ns_id
is still returned. This is
supported for backwards compatibility, new code should use
|nvim_create_namespace()| to create a new empty namespace.
Parameters: ~
{buffer} Buffer handle, or 0 for current buffer
{ns_id} namespace to use or -1 for ungrouped highlight
{hl_group} Name of the highlight group to use
{line} Line to highlight (zero-indexed)
{col_start} Start of (byte-indexed) column range to highlight
{col_end} End of (byte-indexed) column range to highlight, or -1 to
highlight to end of line
Return: ~
The ns_id that was used