65 lines
2.7 KiB
ReStructuredText
65 lines
2.7 KiB
ReStructuredText
Introduction
|
|
============
|
|
|
|
This is the next version of Powerline, implemented in Python. It aims to
|
|
resolve some of the "unresolvable" problems of the vimscript implementation,
|
|
as well as providing a common code base for all projects that use Powerline
|
|
in some way (e.g. shell prompts and tmux themes).
|
|
|
|
The project is currently in beta, and most of the functionality in the old
|
|
vimscript project is already implemented.
|
|
|
|
Screenshots
|
|
-----------
|
|
|
|
**Mode-dependent highlighting**
|
|
|
|
* .. image:: _static/img/pl-mode-normal.png
|
|
:alt: Normal mode
|
|
* .. image:: _static/img/pl-mode-insert.png
|
|
:alt: Insert mode
|
|
* .. image:: _static/img/pl-mode-visual.png
|
|
:alt: Visual mode
|
|
* .. image:: _static/img/pl-mode-replace.png
|
|
:alt: Replace mode
|
|
|
|
**Automatic truncation of segments in small windows**
|
|
|
|
* .. image:: _static/img/pl-truncate1.png
|
|
:alt: Truncation illustration
|
|
* .. image:: _static/img/pl-truncate2.png
|
|
:alt: Truncation illustration
|
|
* .. image:: _static/img/pl-truncate3.png
|
|
:alt: Truncation illustration
|
|
|
|
The font in the screenshots is `Pragmata Pro`_ by Fabrizio Schiavi.
|
|
|
|
.. _`Pragmata Pro`: http://www.fsd.it/fonts/pragmatapro.htm
|
|
|
|
Feature highlights
|
|
------------------
|
|
|
|
* **Better performance.** Python performs quite a bit better than vimscript,
|
|
and by having most of the code in Python instead of vimscript it's also
|
|
much easier to profile the code and eliminate bottlenecks.
|
|
* **A much leaner code base.** With most of the functionality of the old
|
|
project implemented the new version consists of less than half the amount
|
|
of code.
|
|
* **Automatic removal of less important segments in small windows.** Not all
|
|
information is equally important to have in the statusline, and segments
|
|
with e.g. encoding and file format information are automatically removed
|
|
in smaller windows.
|
|
* **Dynamic statusline evaluation in Python.** Statuslines are dynamically
|
|
rendered in Python instead of relying on vim's statusline flags, which
|
|
allows much more flexibility when creating statuslines.
|
|
* **The possibility of adding more segments.** Because of vim's hardcoded
|
|
limitation of 80 statusline options, the vimscript implementation
|
|
triggered an error when adding more segments to the default theme. Since
|
|
segment contents are now rendered as plain text in Python it's possible to
|
|
add many more segments in the statusline before reaching this limit.
|
|
* **New and improved theme and colorscheme syntax.** Themes and colorschemes
|
|
are now written in JSON, with a much cleaner syntax that's easier to learn
|
|
and work with. Themes and colorschemes are also much more configurable,
|
|
and it's easy to write your own and store them in your home config
|
|
directory.
|