Home Explore Blog CI



neovim

25th chunk of `runtime/doc/lua.txt`
3fffa2b0a99e9a70b71875ce2133e1b61f526980e10864480000000100000fe3
      child's process handle.
      • {on_exit}  (`fun(out: vim.SystemCompleted)?`) Called when subprocess
                   exits. When provided, the command runs asynchronously.
                   Receives SystemCompleted object, see return of
                   SystemObj:wait().

    Return: ~
        (`vim.SystemObj`) Object with the fields:
        • cmd (string[]) Command name and args
        • pid (integer) Process ID
        • wait (fun(timeout: integer|nil): SystemCompleted) Wait for the
          process to complete, including any open handles for background
          processes (e.g., `bash -c 'sleep 10 &'`). To avoid waiting for
          handles, set stdout=false and stderr=false. Upon timeout the process
          is sent the KILL signal (9) and the exit code is set to 124. Cannot
          be called in |api-fast|.
          • SystemCompleted is an object with the fields:
            • code: (integer)
            • signal: (integer)
            • stdout: (string), nil if stdout argument is passed
            • stderr: (string), nil if stderr argument is passed
        • kill (fun(signal: integer|string))
        • write (fun(data: string|nil)) Requires `stdin=true`. Pass `nil` to
          close the stream.
        • is_closing (fun(): boolean)


==============================================================================
Lua module: vim.inspector                                      *vim.inspector*

vim.inspect_pos({bufnr}, {row}, {col}, {filter})           *vim.inspect_pos()*
    Get all the items at a given buffer position.

    Can also be pretty-printed with `:Inspect!`.                   *:Inspect!*

    Attributes: ~
        Since: 0.9.0

    Parameters: ~
      • {bufnr}   (`integer?`) defaults to the current buffer
      • {row}     (`integer?`) row to inspect, 0-based. Defaults to the row of
                  the current cursor
      • {col}     (`integer?`) col to inspect, 0-based. Defaults to the col of
                  the current cursor
      • {filter}  (`table?`) Table with key-value pairs to filter the items
                  • {syntax} (`boolean`, default: `true`) Include syntax based
                    highlight groups.
                  • {treesitter} (`boolean`, default: `true`) Include
                    treesitter based highlight groups.
                  • {extmarks} (`boolean|"all"`, default: true) Include
                    extmarks. When `all`, then extmarks without a `hl_group`
                    will also be included.
                  • {semantic_tokens} (`boolean`, default: true) Include
                    semantic token highlights.

    Return: ~
        (`table`) a table with the following key-value pairs. Items are in
        "traversal order":
        • treesitter: a list of treesitter captures
        • syntax: a list of syntax groups
        • semantic_tokens: a list of semantic tokens
        • extmarks: a list of extmarks
        • buffer: the buffer used to get the items
        • row: the row used to get the items
        • col: the col used to get the items

vim.show_pos({bufnr}, {row}, {col}, {filter})                 *vim.show_pos()*
    Show all the items at a given buffer position.

    Can also be shown with `:Inspect`.                              *:Inspect*

    Example: To bind this function to the vim-scriptease inspired `zS` in
    Normal mode: >lua
        vim.keymap.set('n', 'zS', vim.show_pos)
<

    Attributes: ~
        Since: 0.9.0

    Parameters: ~
      • {bufnr}   (`integer?`) defaults to the current buffer
      • {row}     (`integer?`) row to inspect, 0-based. Defaults to the row of
                  the current cursor
      • {col}     (`integer?`) col to inspect, 0-based. Defaults to the col of
                  the current cursor
      • {filter}  (`table?`) A table with the following fields:
                  • {syntax} (`boolean`, default: `true`) Include syntax based
                    highlight groups.
                  • {treesitter}

Title: Lua API: vim.system() Completion and vim.inspector Module
Summary
This section details the completion of the `vim.system()` function documentation, including the `kill`, `write`, and `is_closing` methods of the returned `vim.SystemObj`. It then introduces the `vim.inspector` module, specifically the `vim.inspect_pos()` and `vim.show_pos()` functions. These functions allow you to get and display items at a specific buffer position, considering syntax, treesitter highlights, extmarks, and semantic tokens. Parameters such as buffer number, row, column, and filter options are described.