nvim_runtime_lua

vim.lsp.folding_range.State

Methods9

function State.evaluate() -> nil

Re-evaluate the cached foldinfo in the buffer.

function State.multi_handler(results: {integer, { err: lsp.ResponseError?, result: lsp.FoldingRange[]? }}, ctx: lsp.HandlerContext) -> nil
function State.handler(err: lsp.ResponseError | nil, result: lsp.FoldingRange[] | nil, ctx: lsp.HandlerContext) -> nil
Parameters
resultlsp.FoldingRange[] | nil
ctxlsp.HandlerContext

, config?: table

Returns
nil
function State.refresh(client_id: integer) -> nil

Request textDocument/foldingRange from the server. foldupdate() is scheduled once after the request is completed.

function State.reset() -> nil
function State.new(bufnr: integer) -> vim.lsp.folding_range.State

Initialize state and event hooks, then request folding ranges.

function State.on_attach(client_id: integer) -> nil
function State.on_detach(client_id: integer) -> nil

@params client_id integer

function State.foldclose(kind: lsp.FoldingRangeKind, winid: integer) -> nil

Fields11

State.active : {integer, vim.lsp.folding_range.State | nil}
State.version : nil | integer

TextDocument version this state corresponds to.

State.lang : nil | string

treesitter language of the buffer, used for foldtext highlights.

State.client_state : {integer, lsp.FoldingRange[] | nil}

Never use this directly, evaluate() the cached foldinfo then use on demand via row_* fields.

Index In the form of client_id -> ranges

State.row_level : {integer, (integer, ">" | "<" | nil) | nil}

Index in the form of row -> [foldlevel, mark]

State.row_kinds : {integer, {lsp.FoldingRangeKind, true | nil} | nil}

Index in the form of start_row -> kinds

Index in the form of startrow -> collapsedtext

State.row_text : {integer, nil | string}
State.row_virt_text : {integer, (string, string[] | nil)[]}

Index in the form of start_row -> [text, highlight[]?][]

State.name: string = "folding_range"
State.method: string = "textDocument/foldingRange"
State.__index : vim.lsp.folding_range.State