Home Explore Blog CI



neovim

44th chunk of `runtime/doc/api.txt`
298a18bc160945c78bc4284db81d6240668b54b57d8189650000000100000fc7
 namespace, but fall back to global
    highlights (ns=0) when missing.

    This takes precedence over the 'winhighlight' option.

    Attributes: ~
        Since: 0.8.0

    Parameters: ~
      • {ns_id}   the namespace to use

nvim_win_set_var({window}, {name}, {value})               *nvim_win_set_var()*
    Sets a window-scoped (w:) variable

    Attributes: ~
        Since: 0.1.0

    Parameters: ~
      • {window}  |window-ID|, or 0 for current window
      • {name}    Variable name
      • {value}   Variable value

nvim_win_set_width({window}, {width})                   *nvim_win_set_width()*
    Sets the window width. This will only succeed if the screen is split
    vertically.

    Attributes: ~
        Since: 0.1.0

    Parameters: ~
      • {window}  |window-ID|, or 0 for current window
      • {width}   Width as a count of columns

nvim_win_text_height({window}, {opts})                *nvim_win_text_height()*
    Computes the number of screen lines occupied by a range of text in a given
    window. Works for off-screen text and takes folds into account.

    Diff filler or virtual lines above a line are counted as a part of that
    line, unless the line is on "start_row" and "start_vcol" is specified.

    Diff filler or virtual lines below the last buffer line are counted in the
    result when "end_row" is omitted.

    Line indexing is similar to |nvim_buf_get_text()|.

    Attributes: ~
        Since: 0.10.0

    Parameters: ~
      • {window}  |window-ID|, or 0 for current window.
      • {opts}    Optional parameters:
                  • start_row: Starting line index, 0-based inclusive. When
                    omitted start at the very top.
                  • end_row: Ending line index, 0-based inclusive. When
                    omitted end at the very bottom.
                  • start_vcol: Starting virtual column index on "start_row",
                    0-based inclusive, rounded down to full screen lines. When
                    omitted include the whole line.
                  • end_vcol: Ending virtual column index on "end_row",
                    0-based exclusive, rounded up to full screen lines. When 0
                    only include diff filler and virtual lines above
                    "end_row". When omitted include the whole line.
                  • max_height: Don't add the height of lines below the row
                    for which this height is reached. Useful to e.g. limit the
                    height to the window height, avoiding unnecessary work. Or
                    to find out how many buffer lines beyond "start_row" take
                    up a certain number of logical lines (returned in
                    "end_row" and "end_vcol").

    Return: ~
        Dict containing text height information, with these keys:
        • all: The total number of screen lines occupied by the range.
        • fill: The number of diff filler or virtual lines among them.
        • end_row: The row on which the returned height is reached (first row
          of a closed fold).
        • end_vcol: Ending virtual column in "end_row" where "max_height" or
          the returned height is reached. 0 if "end_row" is a closed fold.

    See also: ~
      • |virtcol()| for text width.


==============================================================================
Win_config Functions                                          *api-win_config*

nvim_open_win({buffer}, {enter}, {config})                   *nvim_open_win()*
    Opens a new split window, or a floating window if `relative` is specified,
    or an external window (managed by the UI) if `external` is specified.

    Floats are windows that are drawn above the split layout, at some anchor
    position in some other window. Floats can be drawn internally or by
    external GUI with the |ui-multigrid| extension. External windows are only
    supported with multigrid GUIs, and are displayed as separate top-level
    windows.

    For a general

Title: Neovim Window Functions: Height and Configuration
Summary
This section details the `nvim_win_text_height` function, which calculates the screen lines occupied by a text range in a window, considering off-screen text and folds. It also describes `nvim_open_win`, which opens a new split window, floating window, or external window, depending on the provided configuration.