Top

neovim.api.window module

API for working with Nvim windows.

"""API for working with Nvim windows."""
from .common import Remote


__all__ = ('Window')


class Window(Remote):

    """A remote Nvim window."""

    _api_prefix = "nvim_win_"

    @property
    def buffer(self):
        """Get the `Buffer` currently being displayed by the window."""
        return self.request('nvim_win_get_buf')

    @property
    def cursor(self):
        """Get the (row, col) tuple with the current cursor position."""
        return self.request('nvim_win_get_cursor')

    @cursor.setter
    def cursor(self, pos):
        """Set the (row, col) tuple as the new cursor position."""
        return self.request('nvim_win_set_cursor', pos)

    @property
    def height(self):
        """Get the window height in rows."""
        return self.request('nvim_win_get_height')

    @height.setter
    def height(self, height):
        """Set the window height in rows."""
        return self.request('nvim_win_set_height', height)

    @property
    def width(self):
        """Get the window width in rows."""
        return self.request('nvim_win_get_width')

    @width.setter
    def width(self, width):
        """Set the window height in rows."""
        return self.request('nvim_win_set_width', width)

    @property
    def row(self):
        """0-indexed, on-screen window position(row) in display cells."""
        return self.request('nvim_win_get_position')[0]

    @property
    def col(self):
        """0-indexed, on-screen window position(col) in display cells."""
        return self.request('nvim_win_get_position')[1]

    @property
    def tabpage(self):
        """Get the `Tabpage` that contains the window."""
        return self.request('nvim_win_get_tabpage')

    @property
    def valid(self):
        """Return True if the window still exists."""
        return self.request('nvim_win_is_valid')

    @property
    def number(self):
        """Get the window number."""
        return self.request('nvim_win_get_number')

Classes

class Window

A remote Nvim window.

class Window(Remote):

    """A remote Nvim window."""

    _api_prefix = "nvim_win_"

    @property
    def buffer(self):
        """Get the `Buffer` currently being displayed by the window."""
        return self.request('nvim_win_get_buf')

    @property
    def cursor(self):
        """Get the (row, col) tuple with the current cursor position."""
        return self.request('nvim_win_get_cursor')

    @cursor.setter
    def cursor(self, pos):
        """Set the (row, col) tuple as the new cursor position."""
        return self.request('nvim_win_set_cursor', pos)

    @property
    def height(self):
        """Get the window height in rows."""
        return self.request('nvim_win_get_height')

    @height.setter
    def height(self, height):
        """Set the window height in rows."""
        return self.request('nvim_win_set_height', height)

    @property
    def width(self):
        """Get the window width in rows."""
        return self.request('nvim_win_get_width')

    @width.setter
    def width(self, width):
        """Set the window height in rows."""
        return self.request('nvim_win_set_width', width)

    @property
    def row(self):
        """0-indexed, on-screen window position(row) in display cells."""
        return self.request('nvim_win_get_position')[0]

    @property
    def col(self):
        """0-indexed, on-screen window position(col) in display cells."""
        return self.request('nvim_win_get_position')[1]

    @property
    def tabpage(self):
        """Get the `Tabpage` that contains the window."""
        return self.request('nvim_win_get_tabpage')

    @property
    def valid(self):
        """Return True if the window still exists."""
        return self.request('nvim_win_is_valid')

    @property
    def number(self):
        """Get the window number."""
        return self.request('nvim_win_get_number')

Ancestors (in MRO)

  • Window
  • neovim.api.common.Remote
  • builtins.object

Static methods

def __init__(

self, session, code_data)

Initialize from session and code_data immutable object.

The code_data contains serialization information required for msgpack-rpc calls. It must be immutable for Buffer equality to work.

def __init__(self, session, code_data):
    """Initialize from session and code_data immutable object.
    The `code_data` contains serialization information required for
    msgpack-rpc calls. It must be immutable for Buffer equality to work.
    """
    self._session = session
    self.code_data = code_data
    self.handle = unpackb(code_data[1])
    self.api = RemoteApi(self, self._api_prefix)
    self.vars = RemoteMap(self, self._api_prefix + 'get_var',
                          self._api_prefix + 'set_var')
    self.options = RemoteMap(self, self._api_prefix + 'get_option',
                             self._api_prefix + 'set_option')

def request(

self, name, *args, **kwargs)

Wrapper for nvim.request.

def request(self, name, *args, **kwargs):
    """Wrapper for nvim.request."""
    return self._session.request(name, self, *args, **kwargs)

Instance variables

var buffer

Get the Buffer currently being displayed by the window.

var col

0-indexed, on-screen window position(col) in display cells.

var cursor

Get the (row, col) tuple with the current cursor position.

var height

Get the window height in rows.

var number

Get the window number.

var row

0-indexed, on-screen window position(row) in display cells.

var tabpage

Get the Tabpage that contains the window.

var valid

Return True if the window still exists.

var width

Get the window width in rows.