Powerline is a statusline plugin for vim, and provides statuslines and prompts for several other applications, including zsh, bash, tmux, IPython, Awesome and Qtile.
Go to file
Tais P. Hansen ff629c388e
Implement GitHub actions for build and publish (#2118)
Requires a secret named PYPI_TOKEN containing a valid PyPI API token.

Note that this drop support for Python 2.6 as GitHub Actions only
supports Python 2.7+.

Fixes #2116
2020-09-21 20:03:15 +09:00
.github/workflows Implement GitHub actions for build and publish (#2118) 2020-09-21 20:03:15 +09:00
client Fix #2027 - Use `command -v` instead of which 2019-10-09 23:40:13 -05:00
docs Shifted away from (abandoned) Yahoo API to OpenWeatherMap (#2038) 2020-09-19 14:31:49 +09:00
font Add more Droid Sans Mono families 2014-03-17 19:26:43 +04:00
powerline Shifted away from (abandoned) Yahoo API to OpenWeatherMap (#2038) 2020-09-19 14:31:49 +09:00
scripts Remove mutable global variables from daemon script 2016-08-20 21:03:24 +03:00
tests Shifted away from (abandoned) Yahoo API to OpenWeatherMap (#2038) 2020-09-19 14:31:49 +09:00
tools Add script that will close all PRs not to develop branch 2015-05-30 14:09:00 +03:00
.editorconfig Move some settings from .local.vimrc to .editorconfig 2014-05-04 12:10:32 +04:00
.gitattributes ignore trailing whitespace errors in .rst files 2013-08-20 09:35:42 -04:00
.gitignore Add skip command, rename tests/failures to tests/status 2017-12-02 17:56:34 +03:00
.local.vimrc Fix powerline style 2014-08-15 20:58:19 +04:00
.travis.yml Update .travis.yml 2020-05-15 07:19:18 +09:00
CONTRIBUTING.rst Update various URLs: powerline has moved to github.com/powerline 2014-12-07 16:08:24 +03:00
LICENSE Update various URLs: powerline has moved to github.com/powerline 2014-12-07 16:08:24 +03:00
MANIFEST.in Include license file in MANIFEST.in 2018-01-19 10:06:41 -05:00
README.rst Update to include default path for apt-get (#2095) 2020-05-24 17:56:47 +09:00
setup.py Factored statement always executed in conditional (#2121) 2020-09-07 14:28:56 +09:00

README.rst

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Powerline
=========

:Author: Kim Silkebækken (kim.silkebaekken+vim@gmail.com)
:Source: https://github.com/powerline/powerline
:Version: beta

**Powerline is a statusline plugin for vim, and provides statuslines and 
prompts for several other applications, including zsh, bash, fish, tmux,
IPython, Awesome, i3 and Qtile.**

* `Support forum`_ (powerline-support@googlegroups.com)
* `Development discussion`_ (powerline-dev@googlegroups.com)

.. image:: https://api.travis-ci.org/powerline/powerline.svg?branch=develop
   :target: `travis-build-status`_
   :alt: Build status

.. _travis-build-status: https://travis-ci.org/powerline/powerline
.. _`Support forum`: https://groups.google.com/forum/#!forum/powerline-support
.. _`Development discussion`: https://groups.google.com/forum/#!forum/powerline-dev

Features
--------

* **Extensible and feature rich, written in Python.** Powerline was 
  completely rewritten in Python to get rid of as much vimscript as 
  possible. This has allowed much better extensibility, leaner and better 
  config files, and a structured, object-oriented codebase with no mandatory
  third-party dependencies other than a Python interpreter.
* **Stable and testable code base.** Using Python has allowed unit testing 
  of all the project code. The code is tested to work in Python 2.6+ and 
  Python 3.
* **Support for prompts and statuslines in many applications.** Originally 
  created exclusively for vim statuslines, the project has evolved to 
  provide statuslines in tmux and several WMs, and prompts for shells like 
  bash/zsh and other applications. Its simple to write renderers for any 
  other applications that Powerline doesnt yet support.
* **Configuration and colorschemes written in JSON.** JSON is 
  a standardized, simple and easy to use file format that allows for easy 
  user configuration across all of Powerlines supported applications.
* **Fast and lightweight, with daemon support for even better performance.**
  Although the code base spans a couple of thousand lines of code with no 
  goal of “less than X lines of code”, the main focus is on good performance 
  and as little code as possible while still providing a rich set of 
  features. The new daemon also ensures that only one Python instance is 
  launched for prompts and statuslines, which provides excellent 
  performance.

*But I hate Python / I dont need shell prompts / this is just too much 
hassle for me / what happened to the original vim-powerline project / …*

You should check out some of the Powerline derivatives. The most lightweight
and feature-rich alternative is currently the `vim-airline 
<https://github.com/vim-airline/vim-airline>`_ project.

Configuration
-------------

Basic powerline configuration is done via `JSON` files located at `.config/powerline/`. It is a good idea to start by copying the default configuration located at `powerline_root/powerline/config_files/` to `.config/powerline/`.
If you installed the powerline from the AUR or via pip, `powerline_root` should be `/usr/lib/python3.6/site-packages/` or something similar, depending on your python version.

If you installed powerline via apt-get 'powerline_root' should be '/usr/share/powerline/'.

This should yield you the following directory structure:

    ::

        .config/powerline/
        ├── colorschemes
        │   ├── ...
        │   └── wm
        |       └── default.json  // Your configuration goes here
        ├── colors.json
        ├── config.json
        └── themes
            ├── ...
            └── wm
                └── default.json  // Your configuration goes here



The files in the subdirectories of `themes` are used to specify which segments shall be shown; the files in subdirectories of `colorschemes` are used to specify which colors (as defined in `colors.json`) shall be used to display a segment.

Note that your local configuration only overrides the global configuration, it does not replace it, i.e. if you don't configure something locally, the global default will be used instead.

* Consult the `documentation <https://powerline.readthedocs.org/en/latest/configuration.html#quick-setup-guide>`_ for more details. See also the `segment reference <https://powerline.readthedocs.org/en/latest/configuration/segments.html>`_ for available segments and their configuration.
* Check out `powerline-fonts <https://github.com/powerline/fonts>`_ for 
  pre-patched versions of popular, open source coding fonts.

Screenshots
-----------

Vim statusline
^^^^^^^^^^^^^^

**Mode-dependent highlighting**

* .. image:: https://raw.github.com/powerline/powerline/develop/docs/source/_static/img/pl-mode-normal.png
     :alt: Normal mode
* .. image:: https://raw.github.com/powerline/powerline/develop/docs/source/_static/img/pl-mode-insert.png
     :alt: Insert mode
* .. image:: https://raw.github.com/powerline/powerline/develop/docs/source/_static/img/pl-mode-visual.png
     :alt: Visual mode
* .. image:: https://raw.github.com/powerline/powerline/develop/docs/source/_static/img/pl-mode-replace.png
     :alt: Replace mode

**Automatic truncation of segments in small windows**

* .. image:: https://raw.github.com/powerline/powerline/develop/docs/source/_static/img/pl-truncate1.png
     :alt: Truncation illustration
* .. image:: https://raw.github.com/powerline/powerline/develop/docs/source/_static/img/pl-truncate2.png
     :alt: Truncation illustration
* .. image:: https://raw.github.com/powerline/powerline/develop/docs/source/_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/shop/fonts/pragmatapro