Commit Graph

399 Commits

Author SHA1 Message Date
ZyX 26365a9620 Split powerline.segments.common into a number of modules
Note: some modules (i.e wthr and bat) have their names in order to avoid the 
situation when module name matches segment name:

    import powerline.segments.common.weather

will import weather segment because `powerline.segments.common` contains line 
`from powerline.segments.common.weather import weather`.

Fixes #1083
2014-09-21 02:00:37 +04:00
ZyX 77b0695caf Replace all ASCII ' with Unicode ’ in comments and docstrings 2014-09-20 17:48:15 +04:00
ZyX 8587d14598 Link git executable to tests/shell/path 2014-09-20 14:43:45 +04:00
ZyX 48e06cbf9e Refactor weather segment to use KwThreaded segment
Problem: weather segment used to set its state (i.e. user location) once and 
remember it forever.
2014-09-20 13:52:24 +04:00
ZyX 92b75aa951 Also catch INotifyError when testing tree watcher 2014-09-14 19:26:37 +04:00
ZyX 4e91f18908 Run watcher tests with bytes() arguments 2014-09-14 19:26:36 +04:00
ZyX be7056fd7d Allow bytes paths in VCS bindings 2014-09-14 19:26:36 +04:00
ZyX e7d0c8368e Add code that will return bytes() from vim functions in Python-3 2014-09-14 17:21:11 +04:00
ZyX a4e711dae7 Add tests for invalid unicode filenames
Ref #1071
2014-09-14 14:26:42 +04:00
ZyX d14aecbc0a Use proper encoding to convert values in various places
Fixes #1072
2014-09-14 14:26:42 +04:00
ZyX fa217185cf Encode vim statusline to &encoding before returning
Partially fixes #1072
2014-09-14 14:26:42 +04:00
Nikolai Aleksandrovich Pavlov 257732bd82 Merge pull request #1069 from ZyX-I/workaround-1068
Do not use _POWERLINE_SHORTENED_PATH or unset it shortly after using
2014-09-09 00:22:33 +04:00
ZyX 901d96e3e1 Add tests 2014-09-09 00:04:56 +04:00
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