Added tags interface, vim.environ, signs.find(linenr), suggestion for
__enter__/__exit__:
``vim._tag_files``, ``{buffer}._tag_files``:
Iterators yielding tag file names. ``list(vim._tag_files)`` is an expanded
version of ``&tags`` option.
``vim.tags``, ``{buffer}.tags``:
Mapping-like object mapping tag names to ``vim.Tag`` objects. Does not
support assignment. Iterates over ``vim.Tag`` objects, not over tag names.
Iterator loads tags from files lazily, holding file handle while until its
destruction or until exhausting tags in that file.
Note: it would be good if parsed contents of tag files was cached and if
there added a possibility to define tags not present in files (like with
zsh
``hash`` command: by adding tags to cache through existing API). Without
caching it would not be possible to solve performance problems with
``taglist()``.
``tag``:
Objects with the following attributes:
========= ===============
Attribute Description
========= ===============
name Name of the tag
filename Name of the file where tag is defined
lineno ``None`` or line number in that file
pattern ``None`` or pattern used to locate tag in that file
cmd ``None`` or Ex command used to locate tag; is present in case
it is neither lineno nor pattern (should not really ever happen)
kind String, tag kind
static ``True`` or ``False``, specifies whether tag is specific to
this file
========= ===============
Also has method ``.jump()``.
``vim.disabled_autocommands``:
Object with defined ``__enter__`` method setting ``&eventignore`` to
``all``
and ``__exit__`` method restoring previous value. Should be written in pure
python. Used to allow expressions like::
…
with vim.disabled_autocommands:
buffer = vim.buffers.new('aurum://file:…')
vim.current.buffer = buffer
…
---------------------------------------
Buffer- and window-manipulation methods
---------------------------------------
``vim.buffers.new(name=None, encoding={&enc}, binary=False, fileformat={…})``:
Create a new buffer. ``None`` in place of name means “create buffer with
empty name”. Returns ``vim.Buffer`` object.
``vim.windows.new(direction, buffer=None, size=0.5)``, also for
``vim.current.tabpage.windows``:
Split the window. ``size`` may be either an integer (absolute size) or
a floating-point value in the open interval ``(1.0, 0.0)`` (size relative
to
the current window size or total vim size, depending on direction).
``buffer`` specifies what buffer will be opened in new window, defaults to
``vim.current.buffer``, must be a ``vim.Buffer`` object. ``direction`` may
be one of the following:
============== ===========
Direction Description
============== ===========
``horizontal`` Like ``:split``
``vertical`` Like ``:vsplit``
``diff`` Like ``:diffsplit``, but without setting ``diff*`` options
``above`` Like ``:above vsplit``
``below`` Like ``:below vsplit``
``left`` Like ``:lefta split``
``right`` Like ``:rightb split``
``top`` Like ``:top split``, uses &lines for relative sizes
``bottom`` Like ``:bot split``, uses &lines for relative sizes
``leftmost`` Like ``:topleft vsplit``, uses &columns for relative sizes
``rightmost`` Like ``:botright vsplit``, uses &columns for relative sizes
============== ===========
May use numeric constants in place of strings as a direction.
Returns ``vim.Window`` object.
* ``{buffer}``, ``{window}`` and ``{tabpage}`` ``__enter__`` and ``__exit__``
methods: temporary switch to given buffer/window/tabpage and switch back
afterwards.
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.