************ 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.