2350 Commits

Author SHA1 Message Date
ZyX
ef02ab70fb Also test powerline.bindings.pdb module 2015-01-31 18:52:04 +03:00
ZyX
47dbdd571d Add pdb integration tests 2015-01-31 18:52:04 +03:00
ZyX
cac9754fcf Add pdb-specific segments and make default theme use them 2015-01-31 18:52:04 +03:00
ZyX
b0d295301b Add some hacks to make code compatible with pdbpp 2015-01-31 18:44:41 +03:00
ZyX
9bbec772e0 Add support for pdb prompt
Note: pdbpp is not supported, it has lots of problems with unicode<-->str
conversion (either explicit or implicit).
2015-01-31 18:44:41 +03:00
ZyX
7250cd4bd8 Use :py:meth for referring to methods 2015-01-31 18:44:41 +03:00
ZyX
36d64bc3da Remove unused get_segment_info method 2015-01-31 18:44:40 +03:00
ZyX
f5d96743fe Move IPython prompt and rcsh renderers into a separate module
Some applications that use readline use same variants of telling it where
highlighting starts and ends. This module will also be used for pdb.
2015-01-31 18:44:40 +03:00
Nikolai Aleksandrovich Pavlov
cddfc364c1 Merge pull request #1289 from ZyX-I/fix-lint-hl-groups
Fix highlight groups linting
2015-01-31 15:36:46 +03:00
ZyX
72d9b8305a Fix linter errors: add necessary highlight groups or fix docstrings
Fixes #1136
2015-01-31 15:15:34 +03:00
ZyX
3b56cf748b Fix linting of highlight groups
Currently checks for highlight group existence do not work. With this commit
tests will fail due to #1136.
2015-01-31 15:14:38 +03:00
ZyX
b22562b028 Merge branch 'fix-1286' into develop 2015-01-26 20:39:49 +03:00
ZyX
c606db75a5 Remove call to a removed function
Function was removed in a90b080 (“Remove all exports”), but call survived.

Fixes #1286
2015-01-26 20:39:11 +03:00
Nikolai Aleksandrovich Pavlov
edec4215c1 Merge pull request #1285 from ZyX-I/fixed-1256
Add BAR support with i3 bindings
2015-01-25 19:20:09 +03:00
ZyX
ff0631c625 Make sure powerline class knows that it will use UTF-8 2015-01-25 17:17:24 +03:00
ZyX
ea9eae676f Always write UTF-8 string 2015-01-25 17:17:24 +03:00
ZyX
1e7dc7900d Fix issues found in 1256 pull request
Ref #1256
2015-01-25 12:51:19 +03:00
S0lll0s
dd77d420a3 Add BAR (bar ain't recursive) renderer and fitting i3 bindings 2015-01-25 12:26:13 +03:00
Nikolai Aleksandrovich Pavlov
9dfd40a6a7 Merge pull request #1284 from ZyX-I/update-zpython
Update zpython bindings according to new zpython changes
2015-01-25 02:23:20 +03:00
Nikolai Aleksandrovich Pavlov
c0e5ef6710 Merge pull request #1283 from ZyX-I/fix-configuration-tests
When testing Vim do not rely on test order and do not save state

Ref #1256
2015-01-25 02:11:39 +03:00
ZyX
614c17d115 Do not use zsh.eval to unset special value 2015-01-25 02:08:36 +03:00
ZyX
96571cc47b Use new zsh.expand function in place of zsh.eval 2015-01-25 02:06:35 +03:00
ZyX
332a266d87 When testing Vim do not rely on test order and do not save state
This commit refactors `TestVim` test class in test_configuration so that

1. `test_environ_update` does not leave state (value of `powerline_config_paths` 
   global Vim variable) behind other tests can use.
2. `test_local_themes` does not rely on state left from `test_environ_update`, 
   instead using new facility for providing needed value of 
   `Powerline.get_config_paths` call. This facility will be used later in BAR 
   tests.

Ref #1256
2015-01-25 01:58:27 +03:00
ZyX
ab4021a273 Make sure that powerline.bindings.zsh is able to work with old zpython 2015-01-25 01:24:05 +03:00
ZyX
34f53acd78 Release 2.0
Added functionality:
- Added fbterm (framebuffer terminal emulator) support.
- Added theme with unicode-7.0 symbols. (Note: most software is not ready for it
  yet, including all Python-2\* versions.)
- Added support for PyPy3.
- Compiler is now called with CFLAGS from environment in setup.py if present.
- Added support for pyuv-1.\*.
- Added a way to write error log to Vim global variable.
- `powerline` script now supports overrides from `$POWERLINE_CONFIG_OVERRIDES`,
  `$POWERLINE_THEME_OVERRIDES` environment variables, so does `powerline-config`
  script.
- `powerline` and `powerline-config` scripts now support taking paths from
  `$POWERLINE_CONFIG_PATHS`.
- `powerline-lint` is now able to report dictionaries which were merged in to
  form marked dictionary and what were the previous values of overridden values.
- Added support for Byron Rakitzis’ rc shell reimplementation.
- Added support for querying battery status on cygwin platform.

Fixes:
- Vim: made all mode strings have equal width.
- Vim: fixed intermediate Vim-7.3\* support.
- Fixed typo in battery segment implementation that made it not possible to fall
  back to next implementation if UPower is not available, but dbus is.
- Fixed libzpython overrides and modes support.
- Fixed Python-3\* support in zpython bindings.
- Fixed checking of themes located in user configuration directories in
  `powerline-lint`.
- `powerline-daemon` now allows `--foreground` argument to be used in
  conjunction with `--replace`.
- Fixed outdated tmux versions support (1.6 and 1.7).

Incompatible changes:
- Removed CtrlP support. If one wants to readd it make sure to fix problems
  listed in 4e6b0a7ec8f2fa54053e4162c8b604a85e8d667d.
- `highlight_group` key in segment description (both in configuration and in
  function output) was renamed to `highlight_groups` (note the trailing `s`).
- `attr` key in colorschemes was renamed to `attrs` key (note the trailing `s`).
- All highlight groups looking like `foo.bar` were renamed to `foo:bar`: dot in
  highlight group names is no longer allowed.
- `detect` argument value was renamed to `auto` in network segments.
- `$POWERLINE_COMMAND` is now a single path to one executable. No arguments to
  the executable are allowed inside `$POWERLINE_COMMAND`. Overrides using
  argument to `$POWERLINE_COMMAND` are now deprecated.
- In place of overrides being part of `$POWERLINE_COMMAND` variable all shell
  and tmux bindings now support overrides from `$POWERLINE_CONFIG_OVERRIDES` and
  `$POWERLINE_THEME_OVERRIDES` environment variables.
- In place of config paths specified as a part of `$POWERLINE_COMMAND` variable
  paths are now taken from `$POWERLINE_CONFIG_PATHS` environment variable.
- `$POWERLINE_CONFIG` was replaced with `$POWERLINE_CONFIG_OVERRIDES` for
  zpython bindings when talking about overrides.
- `$POWERLINE_THEME_CONFIG` was renamed to `$POWERLINE_THEME_OVERRIDES` in
  zpython bindings.
- `$POWERLINE_CONFIG` was replaced with `$POWERLINE_CONFIG_COMMAND` in all shell
  bindings when talking about path to `powerline-config` executable.
- In Vim in place of `g:powerline_theme_overrides__{theme_name}` per-theme
  dictionaries `g:powerline_theme_overrides` dictionary should be used. Theme
  names in this case are top-level keys in the new dictionary.
- In IPython configuration paths list can be specified via `config_paths`
  option, not via `paths` option.
- Some long options that defined overrides were renamed:
  - `--theme_option` was renamed to `--theme-override`.
  - `--config` was renamed to `--config-override`.
  Note that these options are deprecated and shall be used for testing purposes
  only.
- All long options that used to have underscore in them are now using
  HYPHEN-MINUS instead. I.e.
  - `--config_path` was renamed to `--config-path`.
  - `--last_pipe_status` was renamed to `--last-pipe-status`.
  - `--renderer_arg` was renamed to `--renderer-arg`.
  - `--theme_option` was renamed to `--theme-override`.
  Short options were not touched.
- All segments from `powerline.segments.common` were removed. Now they live in
  `powerline.segments.common` submodules: e.g.
  `powerline.segments.common.weather` is now
  `powerline.segments.common.wthr.weather`. List of available segments can be
  found in documentation, section [Common segments][common-segments].
- Segments `powerline.segments.common.now_playing` and
  `powerline.segments.common.players.now_playing` were removed. In place of them
  all players should be accessed via their own segments. List of segments is
  available in [Media players][media-players].

[common-segments]: http://powerline.readthedocs.org/en/master/configuration/segments/common.html
[media-players]: http://powerline.readthedocs.org/en/master/configuration/segments/common.html#module-powerline.segments.common.players
2.0
2015-01-18 17:22:01 +03:00
Nikolai Aleksandrovich Pavlov
8b17a19ebe Merge pull request #1277 from ZyX-I/update-tests
Update code according to the changes in deps repository
2015-01-18 16:12:45 +03:00
ZyX
71322dfe5b Use st-256color terminal for tests
Reasoning:

1. vt* TERMs (used to be vt100 here) make tmux-1.9 use different and identical
   colors for inactive windows. This is not like tmux-1.6: foreground color is
   different from separator color and equal to (0, 102, 153) for some reason
   (separator has correct color). tmux-1.8 is fine, so are older versions
   (though tmux-1.6 and tmux-1.7 do not have highlighting for previously active
   window) and my system tmux-1.9a.
2. screen, xterm and some other non-256color terminals both have the same issue
   and make libvterm emit complains like `Unhandled CSI SGR 3231`.
3. screen-256color, xterm-256color and other -256color terminals make libvterm
   emit complains about unhandled escapes to stderr.
4. `st-256color` does not have any of the above problems, but it may be not
   present on the target system because it is installed with x11-terms/st and
   not with sys-libs/ncurses.

For the given reasons decision was made: to fix tmux-1.9 tests and not make
libvterm emit any data to stderr st-256color $TERM should be used, up until
libvterm has its own terminfo database entry (if it ever will). To make sure
that relevant terminfo entry is present on the target system it should be
distributed with powerline test package. To make distribution not require
modifying anything outside of powerline test directory TERMINFO variable is set.
2015-01-18 05:15:47 +03:00
ZyX
25a56df98b Remove irrelevant logs 2015-01-18 05:15:47 +03:00
ZyX
71d7e3921f Also supply LD_LIBRARY_PATH when killing server 2015-01-18 03:50:12 +03:00
ZyX
c93a1b79b3 Run tests for all tmux versions present in deps 2015-01-18 02:47:38 +03:00
ZyX
2debb7c146 Update code according to the changes in deps repository 2015-01-18 02:42:24 +03:00
Nikolai Aleksandrovich Pavlov
e02e6dc1c7 Merge pull request #1265 from ZyX-I/fix-1264
Fix tmux bindings and add functional test for tmux
2015-01-17 00:55:49 +03:00
ZyX
6f6c466bc3 Make sure LD_LIBRARY_PATH and PYTHONPATH are exported
LD_LIBRARY_PATH is required for UCS2 CPython versions.
2015-01-17 00:41:28 +03:00
ZyX
f0d0ad1bfd Make sure PyPy3 is not used with vterm tests 2015-01-17 00:26:12 +03:00
ZyX
1e25c5ec42 After failing tmux vterm tests run powerline-config
Its output may give some clue.
2015-01-17 00:26:12 +03:00
ZyX
a0edcccecf Increase sleeping time
It appears that just one second is not enough for travis
2015-01-17 00:26:12 +03:00
ZyX
44273f299b Do not print the whole screen unles something went wrong 2015-01-17 00:26:12 +03:00
ZyX
c43bd06bd6 Use env for running $POWERLINE_CONFIG_COMMAND
This way we are making sure that this variable is always treated as a single
path to executable which is not so in case of `eval`.
2015-01-17 00:26:12 +03:00
ZyX
faef4585b2 Add support for old tmux versions in tests
Tmux-1.6 does not have special highlighting for previously active window. Other
then that view is identical.
2015-01-17 00:26:12 +03:00
ZyX
edb416f611 Make sure tmux will run powerline-config *after* testing env var
It appears that old tmux *also* spawns `if-shell` tests in background
effectively making it impossible to use in config like it was used before.
2015-01-17 00:26:12 +03:00
ZyX
b23daa251c Join setenv and source actions into one
It appears that tmux-1.6 is not able to function properly. Most likely this is
because prior to some tmux version running shell commands in background is the
default and only option and starting from some version `run-shell` does not run
processes in background *by default*.

This means that `source` action is run while `setenv` action is running and
since `source` needs to load a bunch of configuration files, *including*
importing a bunch of modules when creating renderer `source` and corresponding
tmux actions are finished earlier.

It is only a guess though: I am not even seeing race condition: `source` *is*
run, `setenv` also *is*, but `source` is *always* before `setenv`.
2015-01-17 00:26:12 +03:00
ZyX
70b1e342c4 Rename .bindings.config.init_environment to init_tmux_environment
Otherwise it is not clear what environment is initialised.
2015-01-17 00:26:11 +03:00
ZyX
939b2ca013 Replace empty attributes list with none
Tmux-1.6 also thinks that empty value for window-status-…-attr options is
invalid
2015-01-17 00:26:11 +03:00
ZyX
9db1e7b76e Use tmux executable from fake PATH for running tmux
Otherwise with system tmux present it may appear that subprocess.check_call will
use it instead.
2015-01-17 00:26:11 +03:00
ZyX
d9ed3a3117 Do not use “no…” attributes in legacy options
Tmux-1.6 found in travis does not accept this.
2015-01-17 00:26:11 +03:00
ZyX
a4525c8b0d Remove invalid label and fix typo in Rcsh prompt documentation 2015-01-17 00:26:11 +03:00
ZyX
93acec238e Create vterm-based tests that will test tmux support
It is possible that they eventually will be used also for shells: at least this
makes using postproc.py with all its hacks not needed.
2015-01-17 00:26:11 +03:00
ZyX
02aa123d80 Merge branch 'pull-1271' into develop
This is squashed version of six commits from PR that adds support for battery
status on cygwin platform.

Closes #1271
2015-01-15 20:53:38 +03:00
Michael Snead
59bd853752 Change to ctypes, remove WMIC 2015-01-15 20:53:10 +03:00
aikeru
93295fd49f Add support for cygwin battery status using WMIC 2015-01-15 20:52:59 +03:00