660 Commits

Author SHA1 Message Date
ZyX
f15cdd9413 Replace draw_divider setting with draw_(soft|hard)_divider
Previous variant was bad because
1. draw_divider only applied to soft dividers. Hard dividers were always drawn
2. But there was a hack with width=auto segments: for this segments draw_divider 
   setting applied always.

Now there are no additional dependencies: draw_*_divider applies no matter what 
other properties of the segment are.
2013-04-02 17:21:22 +04:00
Kim Silkebækken
fcc009a6f5 Merge remote-tracking branch 'mspaulding06/hostname_exclude_domain' into develop
Conflicts:
	powerline/segments/common.py
	tests/test_segments.py
2013-04-02 11:29:08 +02:00
ZyX
b7c61f8bf6 Handle removed and then added files
Note: if user configuration was removed, but global configuration was not it 
will start tracking global configuration file for changes.
2013-04-02 00:27:54 +04:00
ZyX
d1e79000b5 Add tests for reloading theme and colorscheme 2013-03-31 14:57:43 +04:00
ZyX
54471569ab Check whether it switches configuration fine 2013-03-31 14:53:21 +04:00
ZyX
8c3be65bba Added test for colors config reloading 2013-03-31 13:37:07 +04:00
Matt Spaulding
3a6c0ab8fd Add test for hostname exclude_domain option 2013-03-30 15:32:29 -07:00
ZyX
5a50acf16b Add initial tests for configuration reloading
Currently only:
- Test for not reloading configuration if run_once is not True
- Test for reloading main configuration and other configurations triggered by 
  changes in main configuration file

TODO: tests for all other configuration files reloading (colors, colorscheme, 
      theme).
2013-03-31 00:06:49 +04:00
ZyX
c6be4426d3 Fix whitespace errors 2013-03-31 00:03:35 +04:00
ZyX
c2ceac093f Add replace_item with function, remove os import 2013-03-31 00:02:53 +04:00
ZyX
3ebc16a48c Replace pl.environ/getcwd/home with segment_info 2013-03-30 21:55:00 +04:00
ZyX
29f29213a9 Remove ThreadedSegment.write_lock
Assuming getattr(self, 'update_value') and setattr(self, 'update_value', value) 
are atomic. True with cpython unless somebody defined __getattribute__ or 
__setattr__.
2013-03-30 14:07:24 +04:00
ZyX
27c9a05782 Change indentation of closing }, ], ) and combinations of them 2013-03-25 19:04:18 +04:00
ZyX
ada5dede25 Fix network_load test
It was using old network_load.sleep and also was not shutting down network_load 
in case it failed test
2013-03-25 18:45:43 +04:00
ZyX
7646c949e2 Automatically reload configuration
Needs testing
2013-03-25 18:24:17 +04:00
ZyX
80ddbfbf9a Split Powerline.__init__ into __init__ and create_renderer
Target: with long-living Powerline objects periodically reload configuration 
recreating renderer. Use file watchers to watch for configuration. Configuration 
should be able to be safely reloaded in non-blocking mode in a separate thread 
up to the time when it comes to recreating renderer.

This commit does not add anything that actually reloads the configuration, 
multiple runs of .create_renderer were not tested.
2013-03-25 18:24:16 +04:00
ZyX
92652ca5c4 Some fixes for flake8 2013-03-25 00:10:54 +04:00
ZyX
00271c2a0c Shut down network_load segment in tests 2013-03-24 22:24:48 +04:00
ZyX
d27c720279 Fix race condition, don’t rely on detect feature
detect feature is to be tested though
2013-03-24 20:36:28 +04:00
ZyX
6c495374a0 Fix exec call for non-python-2.7 2013-03-24 20:03:09 +04:00
ZyX
1351207462 Some fixes for flake8 2013-03-24 19:59:56 +04:00
ZyX
8a51d99389 Some fixes for zsh, remove some exceptions handling
Those exceptions are now handled and logged at top level, thus no need to handle
them in segment.

Ref #330, it is now fixed for zsh/zpython

Note: do not use zsh/zpython + python3, it does not work properly, even though
this changeset contains fixes for it as well

Fixes #360
2013-03-24 19:48:51 +04:00
ZyX
ed435f8063 Add required pl argument to segments
Fixes #340
Ref #330
2013-03-24 19:44:01 +04:00
ZyX
840ac0109b Port common.branch segment to KwThreaded*, add common.repository_status 2013-03-24 19:35:25 +04:00
Kim Silkebækken
5caeac26bf Merge remote-tracking branch 'zyx-i/fix-356' into develop 2013-03-24 16:18:44 +01:00
Kim Silkebækken
154fe123fe Merge remote-tracking branch 'zyx-i/ipython-other' into develop 2013-03-24 16:18:26 +01:00
ZyX
b517df774b Fix bytes handling on python3
Fixes #356
2013-03-24 05:45:52 +04:00
ZyX
c4e5ff8b49 Added support for all powerline prompts (in2, out, rewrite)
Also fixed problem with prompt not really updating.

Fixes #141
2013-03-24 05:23:33 +04:00
ZyX
b1f9edab4c Remove get_segment_info and passing segment_info through globals 2013-03-24 05:23:33 +04:00
ZyX
83517f65b9 Make test.sh always check only powerline/config_files directory 2013-03-24 01:42:50 +04:00
ZyX
25806fa075 Added gradient for network_load segment 2013-03-24 01:33:56 +04:00
ZyX
157b849d33 Make weather gradient configurable, add system_load gradient
Also make gradients floating-point and fix #332 by removing “normalized” from 
system_load segment documentation.
2013-03-24 00:55:54 +04:00
ZyX
11aa74c634 Make it use gradient for weather temperature
Ref #301
2013-03-19 23:25:44 +04:00
ZyX
260a0dafcb Add tests for the constantly recreated *Powerline instances 2013-03-19 00:42:32 +04:00
ZyX
b0495d028f Do not let daemon threads be stopped while being updated 2013-03-18 07:56:25 +04:00
ZyX
fb2e9b6cdb Test all other segments
Still uncovered: email_imap_alert and now_playing
2013-03-17 21:23:27 +04:00
ZyX
84dfac6f8e Avoid using python setup.py test
Closes #295
2013-03-17 21:23:26 +04:00
ZyX
f547e8b85f Some fixes for flake8 2013-03-17 21:23:15 +04:00
ZyX
62e731314e Replace memoize with threading where applicable
NOTE: Documentation now gets attached to *classes*, not actual segments. Hiding
      away classes (by changing their names to start with `_`) and/or doing

          self.__doc__ = self.__class__.__doc__

      does not work (hiding classes only hides documentation completely). I am
      not familiar with sphinx enough to say how this should be fixed.

Ref #168
2013-03-17 21:22:33 +04:00
ZyX
a4adc92215 Do not import memoize, humanize_bytes and urllib_* in powerline.lib 2013-03-17 21:21:03 +04:00
ZyX
29eccf409b Use psutil module for user segment 2013-03-17 13:28:57 +04:00
ZyX
c237e66958 Make file_size segment output buffer size 2013-03-15 19:31:08 +04:00
Kim Silkebækken
8cdd12a800 Merge remote-tracking branch 'zyx-i/326-fix-None-handling' into develop 2013-03-15 14:18:03 +01:00
Kim Silkebækken
747c75c1c4 Merge remote-tracking branch 'zyx-i/fix-322' into develop 2013-03-15 14:15:26 +01:00
ZyX
48470221f0 Make git.Repository.status() also return None
Fixes #326
2013-03-14 20:03:26 +04:00
ZyX
e24703dbdd Add status_colors argument to branch segments
Closes #206
2013-03-13 16:51:53 +04:00
ZyX
6f3703e312 Improve ambiwidth handling, readd additional_escapes
Fixes #307
2013-03-12 13:11:59 +01:00
ZyX
b2b05cb81c Removed underscore_to_camelcase
No need to bother both developers (that need to create class names compatible 
with file name, which is not obvious if not looking into main Powerline class) 
and computer (that needs to recompute class name each time) if it is possible to 
bother only developers (or only computer, but this contributes to higher startup 
times).

About not obvious: when you look into zsh_prompt.py and see only 
ZshPromptRenderer name you only think that powerline upstream is following 
strict code style. You don’t think there is a technical reason for such naming, 
like you don’t think there is technical reason for having blank lines. When you 
look into zsh_prompt.py and see `renderer = ZshPromptRenderer` it is obvious 
that there is technical reason for writing code this way because new variable is 
never used in the module itself.
2013-03-11 22:22:18 +04:00
ZyX
2c445a9356 Add more tests to test_configuration
Dynamic configuration tests. Purpose: make sure that default configuration does 
not throw. Tests catch only very trivial problems (like missing imports after
refactoring)
2013-03-11 22:09:34 +04:00
ZyX
d27f7a0411 Add most configuration checks
Changes:

- Add main configuration, colors.json, almost full themes and colorschemes
  checks
- Make powerline.lint.check return whether it had problems
- Make powerline-lint fail if .check reported problems
- Make tests run powerline-lint
- Add the script to the list of the installed scripts

Fixes #278
2013-03-11 19:17:18 +04:00