Commit Graph

436 Commits

Author SHA1 Message Date
ZyX d3b57f7c31 Include args.config_path in the key
Consider the following script:

    % powerline-daemon -s powerline-test
    % powerline --socket powerline-test -p/dev/null shell left
    Config file not found in search paths (/dev/null): config.json
    % powerline --socket powerline-test shell left
    Config file not found in search paths (/dev/null): config.json

Note the problem: second call to powerline does not use offending path, but it 
still emits the error “Config file not found in search paths”.
2014-09-08 23:53:05 +04:00
ZyX fb022b7917 Check that exception from watcher has errno attribute equal to ENOENT 2014-09-07 23:23:23 +04:00
ZyX 05cb133dd4 Replace g:powerline_config_path Vim variable with …_paths list
This is for consistency with other powerline bindings that now all do have a way 
to specify a list of paths.
2014-09-05 22:13:51 +04:00
ZyX 68263beec4 Show current buffer, window and tabpage number by default
Fixes #1048
2014-09-05 20:00:21 +04:00
ZyX d569c0b3dd Skip identical highlighting
Fixes #1049
2014-09-05 20:00:20 +04:00
ZyX 1a5bbbea96 Replace segment-local modes with highlight_group_prefix option
Fixes #1046
2014-09-05 20:00:20 +04:00
ZyX 667cd4bce5 Assume highlight group is always an iterable
According to the documentation and linter `'highlight_group': 'string'` was not
correct even at the current stage, but it worked. This commit fixes this
situation.
2014-09-05 20:00:20 +04:00
ZyX 54e12b1515 Use new functionality to replace tabbuflister and single_tab segment 2014-09-05 20:00:19 +04:00
ZyX c5ca1b23c4 Use class setup/teardown methods to use vim module mock 2014-09-05 20:00:19 +04:00
ZyX 7bf025ca2b Add `exclude_/include_function` support
This is first step towards fixing #1046.
2014-09-05 20:00:19 +04:00
ZyX bc557bd656 Use replace_item to add module `bar` to sys.modules
Tests should not leave modified environment.
2014-09-04 21:38:49 +04:00
ZyX 8588885b04 In vim tests check for printed messages 2014-09-04 08:32:36 +04:00
ZyX b638a8e1c9 Add tests for is_watching method
Currently they fail for uv-based watcher.
2014-09-02 21:58:42 +04:00
ZyX 06211cbe63 Unify imports
Now imports follow the following structure:

1. __future__ line: exactly one line allowed:

        from __future__ import (unicode_literals, division, absolute_import, print_function)

   (powerline.shell is the only exception due to problems with argparse).
2. Standard python library imports in a form `import X`.
3. Standard python library imports in a form `from X import Y`.
4. and 5. 2. and 3. for third-party (non-python and non-powerline imports).
6. 3. for powerline non-test imports.
7. and 8. 2. and 3. for powerline testing module imports.

Each list entry is separated by exactly one newline from another import. If
there is module docstring it goes between `# vim:` comment and `__future__`
import. So the structure containing all items is the following:

    #!/usr/bin/env python
    # vim:fileencoding=utf-8:noet

    '''Powerline super module'''

    import sys

    from argparse import ArgumentParser

    import psutil

    from colormath.color_diff import delta_e_cie2000

    from powerline.lib.unicode import u

    import tests.vim as vim_module

    from tests import TestCase

.
2014-09-01 00:25:24 +04:00
ZyX 2505d0b827 Implement segment truncation
Closes #161 (requires implementation for specific segments though)
2014-08-30 18:22:52 +04:00
ZyX d6c603daf0 Add support for `segment.expand`
Closes #154
2014-08-30 18:22:46 +04:00
ZyX bfa335d96a Fix typo in test_configuration.py 2014-08-30 17:59:58 +04:00
ZyX 0da40f08a5 Fix syntastic error 2014-08-30 17:59:58 +04:00
ZyX 8d3376ce07 Ultimately disable pyuv watcher tests 2014-08-30 15:49:50 +04:00
ZyX 560600fca9 Use shutil.rmtree in tests 2014-08-30 15:47:31 +04:00
ZyX 0ee5293e1a Add tests for libuv-based watcher
Four possible results of running tests (first three are errors):

- “The change to inotify/file2 was not detected” on line 84: most common
- “Spurious change detected” at line 82 (uncommon, usually fixed by sleeping
  before running test in do_test_for_change)
- “The change to inotify was not detected” in tree watcher test (e.g. from line
  131) (very rare)
- All OK.
2014-08-30 15:45:30 +04:00
ZyX 10e8d9bb15 Do not use &> in #!/bin/sh scripts 2014-08-29 23:21:19 +04:00
ZyX 41476544ca Replace `name` and `module` keys with `function` key
Fixes #1031
2014-08-29 23:13:10 +04:00
ZyX 5bd543ae89 Do not run daemon when running with ONLY_TEST_TYPE=nodaemon 2014-08-29 23:13:10 +04:00
ZyX 9a0e100ca0 Specify -p argument in run function when running shell tests 2014-08-29 23:13:10 +04:00
ZyX 4c95928c96 Split shell tests into files
I am mostly interested in running all python and vim tests separately from other 
tests.
2014-08-29 22:22:39 +04:00
ZyX 849c34ea72 Replace all unicode defaults with defaults from ASCII theme
Closes #1034
2014-08-29 20:47:44 +04:00
ZyX 9fe0b66125 Merge branch 'top-theme-extend' into develop 2014-08-29 20:25:51 +04:00
ZyX 356cb43ea2 Add `powerline_segment_datas` attribute
Fixes #1035
2014-08-29 20:17:23 +04:00
ZyX 125f309724 Fix width used for tabline
Fixes #1033
2014-08-29 18:32:58 +04:00
ZyX 53ab31eeb8 Use setUpClass/tearDownClass to deal with VCS repositories 2014-08-29 00:28:41 +04:00
ZyX 70fabdc02b Use SkipTest for skipping tests 2014-08-29 00:22:28 +04:00
ZyX 323f0c4e22 Use __import__ checks for skipping bzr/mercurial
Closes #1015
2014-08-29 00:22:05 +04:00
ZyX 9658e45eee Use &encoding as powerline encoding in Vim
Among other benefits (i.e. correct fall back to ascii theme when Vim uses
non-unicode encoding) this should also fix travis tests: apparently travis is
not setting LANG or similar environment variables to some unicode locale, so
tests are failing.
2014-08-27 23:52:09 +04:00
ZyX e02647560a Move LANG setting to run function, remove useless BINDFILE variable 2014-08-27 23:52:09 +04:00
ZyX 289a08c539 Replace .replace(' ', NBSP) call with self.escape call
Dividers need to be escaped as well.

Fixes #1027
2014-08-27 23:52:09 +04:00
ZyX d32b798c11 Add `use_non_breaking_spaces` theme option, use it in ascii theme 2014-08-27 23:52:09 +04:00
ZyX d88d87f6af Do not make daemon output zero byte
This byte is useless and can be seen in zsh output (strange that it did not 
cause bugs so far, at least none I know about). It may have been needed if any 
client was supposed to hold connection with daemon for a few runs, but all 
current clients work in “request → output response → exit” fashion without 
caring about terminating newline and definitely without preserving connection to 
daemon accross runs.
2014-08-26 21:13:56 +04:00
ZyX e4565dd3e8 Make attached_clients segment use provided tmux bindings 2014-08-24 21:07:19 +04:00
Matthew M. Keeler 88515ab472 Show Count of Attached Tmux Sessions
- This segment displays the number of attached tmux clients to the
  currently running session.
- The minimum argument is used to specify a threshold for when the
  segment should be visible.

Fixes #661
Closes #662

Conflicts:
	docs/source/index.rst
	powerline/config_files/colorschemes/shell/default.json
	powerline/config_files/colorschemes/shell/solarized.json
	powerline/config_files/colorschemes/tmux/default.json
	powerline/config_files/colorschemes/vim/default.json
	powerline/config_files/colorschemes/vim/solarized.json
	powerline/config_files/colorschemes/wm/default.json
	tests/test_segments.py
2014-08-24 20:56:59 +04:00
ZyX 45d2053053 Do not specify $PYTHON when running python client
It is not needed: in the environment where it is run only python is the one
linked in tests/shell/path.
2014-08-24 19:57:58 +04:00
ZyX d7a674deaa Add support for shell-specific path shortening
Fixes #502
2014-08-24 19:54:28 +04:00
ZyX 04c0030fe1 Refactor cwd segment into a class and add shorten_home argument 2014-08-24 19:50:54 +04:00
ZyX 58057c95b9 Add a directory that will make fish_update_completions not launch 2014-08-24 17:14:37 +04:00
ZyX 0af5e2d2ca Test mode support in fish
WARNING: Requires development version of fish. Since fish is not tested in
travis it is probably OK.
2014-08-24 17:14:37 +04:00
ZyX 54672aace0 Make COMMAND_PATTERN consistent with other arguments 2014-08-24 17:14:37 +04:00
ZyX 68ecd81edd Wait until fish_update_completions finishes 2014-08-24 16:58:35 +04:00
ZyX 5bc1f75b70 Add support for vim.eval('v:version') in test bindings 2014-08-24 13:41:54 +04:00
ZyX 173c4d6e76 Add internal_ip segment
Closes #857
2014-08-24 01:20:25 +04:00
ZyX 20e9575c17 Do not try to test ipython if it is not available 2014-08-23 16:24:16 +04:00
ZyX 1b56179676 Disable dash tests in travis 2014-08-23 16:02:04 +04:00
ZyX ebc98977ae Make test_shells/test.sh compatible with dash 2014-08-23 16:00:34 +04:00
ZyX 9b7052bf3e Do not execute all tests in travis 2014-08-23 15:51:35 +04:00
ZyX 0232d3215b Add --socket argument to all clients
Makes it not needed to kill daemon for testing, but disables implicit
`powerline-config shell command` testing.
2014-08-23 15:19:00 +04:00
ZyX 77a7a26782 Do not require scripts/powerline
It may be immediately moved to bin/ sometimes or not compiled at all for some
reason.
2014-08-23 15:19:00 +04:00
ZyX 042d542231 Also test whether running daemon is successfull without arguments 2014-08-23 15:19:00 +04:00
ZyX b9360a083a Make tests test powerline daemon with valid python and all clients 2014-08-23 15:19:00 +04:00
ZyX 6481f1b65e Always specify all keys in segment_info 2014-08-22 21:03:59 +04:00
ZyX da48e9d84e Add tests 2014-08-22 09:08:58 +04:00
ZyX 075eb8420e Add tests 2014-08-21 23:32:43 +04:00
ZyX 88a0b9075c Remove unused vim import 2014-08-21 23:32:43 +04:00
ZyX 48aac90681 Fix ipython tests 2014-08-20 21:12:10 +04:00
ZyX 06175dcd74 Refactor IPython bindings
- Replaced two powerline objects with one powerline object utilizing
  RendererProxy proxy class that holds two Renderer instances.
- Made .setup() functions do something more meaningful.
2014-08-19 22:24:10 +04:00
ZyX b93f8d9b7b Rename Ipython to IPython (two capital letters in place of one) 2014-08-19 22:13:50 +04:00
ZyX cb99c06027 Move watcher tests into a separate file 2014-08-16 15:06:57 +04:00
ZyX 2faa2a254f Move tree_watcher to powerline/lib/watcher and split it 2014-08-16 15:06:57 +04:00
ZyX 61074fcd6c Refactor file_watcher.py into four files 2014-08-16 14:47:51 +04:00
ZyX 31731a93da Add bufnr and modified_indicator segments to tabline 2014-08-16 14:37:13 +04:00
ZyX ae92d83eae Fix powerline style
Specifically I searched for all lines that are more then one tab off compared to 
the previous line with

    BufGrep /\(^\t\+\)\S.*\n\1\t\t\+/

and replaced them with something more appropriate. Most of time this resulted in 
a few more newlines, but there are cases when I used mixed tabs/spaces 
indentation+alignment.
2014-08-15 20:58:19 +04:00
ZyX 4a8b81e68b Rearrange renderers: move *_prompt modules one level up
Renames powerline.renderers.zsh_prompt to powerline.renderers.shell.zsh, same
for other *sh_prompt modules.
2014-08-15 19:27:10 +04:00
ZyX 1afab26cec Test that VimPowerline.add_local_theme works 2014-08-12 20:48:49 +04:00
ZyX 7882583dcb Update continuation segment tests 2014-08-12 08:16:26 +04:00
ZyX 89afac44bb Add support for PS2 and PS3 prompts outside of zsh 2014-08-12 08:04:35 +04:00
ZyX 547306e746 Add cursor_space and cursor_columns configuration options
Fixes #815
2014-08-10 21:03:33 +04:00
ZyX fcc397100e Wait for screen to initialize, based on screen exit status
Otherwise bash tests tend to fail randomly
2014-08-10 18:19:48 +04:00
ZyX fdd8f6df3c Wait for pid file to appear
Should fix some rare bash test failures
2014-08-10 17:10:35 +04:00
ZyX 7ade6d1fc0 Use busybox as shell name in place of bb
Conflicts:
	tests/test_shells/test.sh
2014-08-10 17:02:07 +04:00
ZyX 01185eb9c8 Use bgscript.sh in place of direct bash call 2014-08-10 16:58:55 +04:00
ZyX 9d1392fa0d Fix vim emulation module 2014-08-10 16:26:22 +04:00
ZyX f51134deef Run shell tests in an isolated environment 2014-08-10 16:13:33 +04:00
ZyX 3c03240530 Remove tests/shell iff there are no failures 2014-08-10 16:13:33 +04:00
ZyX 99c9f730e0 Do not omit running tests without ONLY_SHELL set 2014-08-10 16:13:33 +04:00
ZyX 310af9ae75 Prefer powerline bindings directory over fish_function_path 2014-08-10 16:13:33 +04:00
ZyX 17b32b1765 Make ipython accept paths, not a single path 2014-08-10 16:13:32 +04:00
ZyX c3e2358931 Also install ipython on Python-3.3+ 2014-08-06 18:12:59 +04:00
ZyX 863264cd99 Disable virtualenv segment, also test config_overrides 2014-08-06 18:09:57 +04:00
ZyX accb174b8b Do not install ipython when using python-2.6 2014-08-06 18:06:54 +04:00
ZyX 3e43995d2c Use pip to install ipython, not apt-get
I am very unsure that it will install ipython for all required python versions
2014-08-06 17:21:01 +04:00
ZyX c403eef434 Add ipython shell tests 2014-08-06 17:18:42 +04:00
ZyX ed70cc2eb2 Fix tests 2014-08-06 13:47:11 +04:00
ZyX 625aa243d6 Use ascii theme in local overrides 2014-08-06 02:25:24 +04:00
ZyX 48254ea657 Use more precise error messages in test_tabline.vim 2014-08-06 01:33:37 +04:00
ZyX bdde4ae99f Implement theme hierarchy
Fixes #783
2014-08-06 00:05:04 +04:00
ZyX 117661e186 Add tests for visual_range 2014-08-05 22:49:53 +04:00
ZyX 0f4e1bafda Refactor config_mock module to not use globals and fix tests 2014-08-05 13:56:02 +04:00
ZyX 01585edeab Fix errors reported by linter, allow running it during tests 2014-08-05 13:56:02 +04:00
ZyX 27db44ac7a Implement configuration merging
Fixes #418
2014-08-05 13:56:02 +04:00
ZyX 50703f1cef Fix unicode/bytes handling for python-3 2014-08-04 00:07:30 +04:00
ZyX 74a3c9a0ca Add file_scheme segment
Fixes #207
2014-08-03 23:58:34 +04:00
ZyX 3d1f9bfbbd Allow multiple arguments to `powerline[-lint] --config_path` 2014-08-03 22:22:59 +04:00
ZyX 120a9cc8fa Add winnr segment
Closes #705
2014-08-03 13:25:58 +04:00
ZyX f877516e54 Add bufnr segment
Ref #705
2014-08-03 13:25:58 +04:00
ZyX 43acf07ca0 Modify test_tabline to also test bufline 2014-08-03 12:53:53 +04:00
ZyX 6cf0c485fa Add single_tab segment 2014-08-03 12:53:53 +04:00
ZyX 85f252652e Add tabnr segment 2014-08-03 12:53:53 +04:00
ZyX 1907708e98 Add support for has_key(gettabwinvar()) in vim test module 2014-08-03 12:53:16 +04:00
ZyX b99ad3904e Remove some __nonzero__ methods in tests/vim.py
Just __len__ is good enough here
2014-08-03 12:53:15 +04:00
ZyX 07c533d1b2 Test tabline in test_tabline.vim file 2014-08-03 12:53:15 +04:00
ZyX ff91ff7f92 Update tests to work with new functionality
Still no tests for new functionality.
2014-08-03 12:53:15 +04:00
Collin Grady f615d85172 Added line_count segment for vim.
Returns total number of lines in current buffer.

Addresses #556
2014-08-03 05:54:57 +00:00
ZyX 44cca97566 Check whether daemon log is as empty as it should 2014-08-02 22:03:22 +04:00
ZyX 28aee92c51 Fix zsh daemon tests: disable hostname and user before testing select
Reason: hostname and user do not have stable width and select prompt width with 
daemon depends on previous prompt width.
2014-08-02 21:56:37 +04:00
ZyX 9da3e04bc2 Do not hardcode scripts/powerline in input.* 2014-08-02 21:31:01 +04:00
ZyX fed43e8af5 Run shell tests with and without daemon 2014-08-02 21:31:01 +04:00
ZyX 9e8c115eea Add trailing whitespace segment
Note: by default this segment is disabled. Until #923 it may only be enabled by
copying the whole file and changing "enabled" to "true". After #923 it may be
enabled by having `~/.config/powerline/themes/vim/default.json` with the
following contents:

    {
        "segment_data": {
            "trailing_whitespace": {
                "display": true
            }
        }
    }

Fixes #388
2014-08-02 18:39:16 +04:00
ZyX 16c01e8d64 Add support for display option 2014-08-02 18:37:22 +04:00
ZyX 6a081685e5 Fix “syntax error near unexpected token `fi'” error 2014-07-28 03:36:15 +04:00
ZyX d1b62eba45 Disable dash tests
Temporary fix for #931
2014-07-28 03:30:51 +04:00
ZyX d0c4d4e266 Ignore IOError’s in ConfigLoader.update
Fixes #932
2014-07-26 01:46:54 +04:00
ZyX a279ea236c Also check error messages 2014-07-26 01:46:54 +04:00
ZyX 97e4ee6799 Document why `stuff` and waiting are used for dash 2014-07-20 02:04:44 +04:00
ZyX 855e33274e Fix travis build: on travis “Terminated…” message is truncated 2014-07-20 02:00:56 +04:00
ZyX 5425c06476 Add tests for new functionality 2014-07-20 01:53:25 +04:00
ZyX b2406d983d Disable libzpython support in zsh 2014-07-20 00:43:19 +04:00
ZyX 82e433906c Fix shell tests: VIRTUAL_ENV is not accessible by powerline by default 2014-07-20 00:35:37 +04:00
ZyX f5735148e8 Add group aliasing and colorscheme hierarchy tests 2014-07-12 14:22:23 +04:00
ZyX 3ebf9c1a81 Use highlighted_string function to define segments 2014-07-12 14:08:05 +04:00
ZyX 576971c5f1 Fix test class name in test_configuration 2014-07-12 13:48:04 +04:00
ZyX 9af7834463 Disable shell tests in PyPy
Do not let PyPy SEGVs result in failed build.
2014-07-12 13:46:28 +04:00
ZyX 621eb8412d Fix tests 2014-07-12 12:20:40 +04:00
ZyX 97266b7ffc Initial support for #770
What was done:
- Implemented loading using configuration hierarhy as proposed in the issue
- Implemented group aliasing

What was not:
- Some tests (config_reload) are failing
- Other (test_configuration) are spamming console with unexpected messages
- No support for powerline-lint
- No tests for new functionality
- Specifically I have not checked whether group aliasing actually works
- Colorschemes were not ported

Some other things: I have named this branch `config-ng` because I have other
ideas about configuration and it would be good to include them making only one
possibly backwards-incompatible merge commit instead of many. Specifically I am
going to rebase `merge-config` branch here.
2014-07-12 12:20:40 +04:00
ZyX 128921454f Correct _construct_result for Python-3 2014-07-10 23:24:58 +04:00
ZyX a92d72b5d7 Respect the fact that vim.eval in Vim returns str instances 2014-07-10 22:54:27 +04:00
ZyX 3ac75eeca6 Add window_title tests 2014-07-10 22:33:10 +04:00
ZyX f9af425054 Add missing winnr key to segments_dictionary 2014-07-10 22:33:10 +04:00
ZyX e436bdbbfa Remove failing _index, use (self.number - 1) instead 2014-07-10 22:33:10 +04:00
ZyX 3f8c8c9426 Prefix _Windows.{append,insert,pop} methods with underscore
There are no such methods in Vim.
2014-07-10 22:32:59 +04:00
ZyX 0ab80742c4 Add _with('wvars') 2014-07-10 22:21:29 +04:00
ZyX a3e29a6cd6 Get rid of lots of NotImplementedError’s in travis log 2014-07-10 22:12:08 +04:00
ZyX 0fc7856b1b Rename create_renderer_kwargs to cr_kwargs for consistency 2014-07-10 21:27:41 +04:00
ZyX 289094362e Rename find_config_file to _find_config_file 2014-07-10 21:27:41 +04:00
ZyX 871ce5727b Set use_mercurial and use_bzr to False in PyPy 2014-07-10 19:49:37 +04:00
ZyX 19195159ad Only install mercurial and bazaar if using CPython 2014-07-10 19:36:20 +04:00
ZyX e2a49417b6 Default line_percent_gradient to (light|dark)_green_gray gradients
dark_green_gray gradient was generated with

    tools/generate_gradients.py 70 247

. It is used for non-insert modes in the current window. light_green_gray
gradient was generated with

    ./tools/generate_gradients.py 148 250

. It is used for insert mode in the current window.
2014-07-10 18:56:40 +04:00
ZyX a0a5b44173 Use battery_full and battery_empty for displaying hearts
Red hearts for battery full are still more optimal in case white hearts are for
empty (though I do not understand why they have to be red). Cannot agree about
per cents though: red is better for empty then white is if there are no related
parts to compare.
2014-07-10 18:35:24 +04:00
ZyX 39316c429b Reverse the gradient in battery segment
Closes #910
2014-07-10 18:35:23 +04:00
ZyX 473f647fc8 Fix test_local_overrides.vim test broken by better-gradient branch 2014-07-06 22:42:28 +04:00
ZyX 623395a013 Remove outdated comment 2014-06-28 22:18:45 +04:00
ZyX d7d8108230 Fix error in python-3* that happens while checking branch name 2014-06-28 22:12:41 +04:00
ZyX 4d4da56838 Check whether it runs fine in travis 2014-06-28 21:46:12 +04:00