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.