pax_global_header00006660000000000000000000000064134161175010014511gustar00rootroot0000000000000052 comment=e09072d5a06380abfdcec845440890aea78ecf5d powerline-gitstatus-1.3.1/000077500000000000000000000000001341611750100155445ustar00rootroot00000000000000powerline-gitstatus-1.3.1/.gitignore000066400000000000000000000000571341611750100175360ustar00rootroot00000000000000*.egg-info *.pyc build/* dist/* build_howto.md powerline-gitstatus-1.3.1/LICENSE000066400000000000000000000021031341611750100165450ustar00rootroot00000000000000The MIT License (MIT) Copyright (c) 2015 - 2018 Jasper N. Brouwer Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. powerline-gitstatus-1.3.1/README.md000066400000000000000000000130671341611750100170320ustar00rootroot00000000000000Powerline Gitstatus =================== A [Powerline][1] segment for showing the status of a Git working copy. By [Jasper N. Brouwer][2]. It will show the branch-name, or the commit hash if in detached head state. It will also show the number of commits behind, commits ahead, staged files, unmerged files (conflicts), changed files, untracked files and stashed files if that number is greater than zero. ![screenshot][4] Glossary -------- - ``: branch name or commit hash - `★`: most recent tag (if enabled) - `↓`: n commits behind - `↑`: n commits ahead - `●`: n staged files - `✖`: n unmerged files (conflicts) - `✚`: n changed files - `…`: n untracked files - `⚑`: n stashed files Requirements ------------ The Gitstatus segment requires [git][5]! Preferably, but not limited to, version 1.8.5 or higher. Version 1.8.5 will enable the usage of the `-C` parameter, which is more performant and accurate. Installation ------------ ### On Debian/Ubuntu ```txt apt install powerline-gitstatus ``` This command will also instruct your package manager to install Powerline, if it's not already available. Powerline will be automatically configured to use the Gitstatus highlight groups and add the segment to the default shell theme. ### Using pip ```txt pip install powerline-gitstatus ``` Configuration ------------- The Gitstatus segment uses a couple of custom highlight groups. You'll need to define those groups in your colorscheme, for example in `.config/powerline/colorschemes/default.json`: ```json { "groups": { "gitstatus": { "fg": "gray8", "bg": "gray2", "attrs": [] }, "gitstatus_branch": { "fg": "gray8", "bg": "gray2", "attrs": [] }, "gitstatus_branch_clean": { "fg": "green", "bg": "gray2", "attrs": [] }, "gitstatus_branch_dirty": { "fg": "gray8", "bg": "gray2", "attrs": [] }, "gitstatus_branch_detached": { "fg": "mediumpurple", "bg": "gray2", "attrs": [] }, "gitstatus_tag": { "fg": "darkcyan", "bg": "gray2", "attrs": [] }, "gitstatus_behind": { "fg": "gray10", "bg": "gray2", "attrs": [] }, "gitstatus_ahead": { "fg": "gray10", "bg": "gray2", "attrs": [] }, "gitstatus_staged": { "fg": "green", "bg": "gray2", "attrs": [] }, "gitstatus_unmerged": { "fg": "brightred", "bg": "gray2", "attrs": [] }, "gitstatus_changed": { "fg": "mediumorange", "bg": "gray2", "attrs": [] }, "gitstatus_untracked": { "fg": "brightestorange", "bg": "gray2", "attrs": [] }, "gitstatus_stashed": { "fg": "darkblue", "bg": "gray2", "attrs": [] }, "gitstatus:divider": { "fg": "gray8", "bg": "gray2", "attrs": [] } } } ``` Then you can activate the Gitstatus segment by adding it to your segment configuration, for example in `.config/powerline/themes/shell/default.json`: ```json { "function": "powerline_gitstatus.gitstatus", "priority": 40 } ``` The Gitstatus segment will use the `-C` argument by default, but this requires git 1.8.5 or higher. If you cannot meet that requirement, you'll have to disable the usage of `-C`. Do this by passing `false` to the `use_dash_c` argument, for example in `.config/powerline/themes/shell/__main__.json`: ```json "gitstatus": { "args": { "use_dash_c": false } } ``` Optionally, a tag description for the current branch may be displayed using the `show_tag` option. Valid values for this argument are: * `last` : shows the most recent tag * `annotated` : shows the most recent annotated tag * `contains` : shows the closest tag that comes after the current commit * `exact` : shows a tag only if it matches the current commit You can enable this by passing one of these to the `show_tag` argument, for example in `.config/powerline/themes/shell/__main__.json`: ```json "gitstatus": { "args": { "show_tag": "exact" } } ``` Git is executed an additional time to find this tag, so it is disabled by default. Note: before v1.3.0, the behavior when the value is `True` was `last`. As of v1.3.0 onwards, `True` behaves as `exact`. Optionally the format in which Gitstatus shows information can be customized. This allows to use a different symbol or remove a fragment if desired. You can customize string formats for _tag_, _behind_, _ahead_, _staged_, _unmerged_, _changed_, _untracked_ and _stash_ fragments with the following arguments in a theme configuration file, for example `.config/powerline/themes/shell/__main__.json`: ```json "gitstatus": { "args": { "formats": { "tag": " {}", "behind": " {}", "ahead": " {}", "staged": " {}", "unmerged": " {}", "changed": " {}", "untracked": " {}", "stashed": " {}" } } } ``` By default, when in detached head state (current revision is not a branch tip), Gitstatus shows a short commit hash in place of the branch name. This can be replaced with a description of the closest reachable ref using the `detached_head_style` argument, for example in `.config/powerline/themes/shell/__main__.json`: ```json "gitstatus": { "args": { "detached_head_style": "ref" } } ``` License ------- Licensed under [the MIT License][3]. [1]: https://powerline.readthedocs.org/en/master/ [2]: https://github.com/jaspernbrouwer [3]: https://github.com/jaspernbrouwer/powerline-gitstatus/blob/master/LICENSE [4]: https://github.com/jaspernbrouwer/powerline-gitstatus/blob/master/screenshot.png [5]: https://git-scm.com/ powerline-gitstatus-1.3.1/powerline_gitstatus/000077500000000000000000000000001341611750100216575ustar00rootroot00000000000000powerline-gitstatus-1.3.1/powerline_gitstatus/__init__.py000066400000000000000000000000401341611750100237620ustar00rootroot00000000000000from .segments import gitstatus powerline-gitstatus-1.3.1/powerline_gitstatus/segments.py000066400000000000000000000214471341611750100240660ustar00rootroot00000000000000# vim:fileencoding=utf-8:noet from powerline.segments import Segment, with_docstring from powerline.theme import requires_segment_info from subprocess import PIPE, Popen import os, re, string @requires_segment_info class GitStatusSegment(Segment): def execute(self, pl, command): pl.debug('Executing command: %s' % ' '.join(command)) git_env = os.environ.copy() git_env['LC_ALL'] = 'C' proc = Popen(command, stdout=PIPE, stderr=PIPE, env=git_env) out, err = [item.decode('utf-8') for item in proc.communicate()] if out: pl.debug('Command output: %s' % out.strip(string.whitespace)) if err: pl.debug('Command errors: %s' % err.strip(string.whitespace)) return (out.splitlines(), err.splitlines()) def get_base_command(self, cwd, use_dash_c): if use_dash_c: return ['git', '-C', cwd] while cwd and cwd != os.sep: gitdir = os.path.join(cwd, '.git') if os.path.isdir(gitdir): return ['git', '--git-dir=%s' % gitdir, '--work-tree=%s' % cwd] cwd = os.path.dirname(cwd) return None def parse_branch(self, line): if not line: return ('', False, 0, 0) if line.startswith('## '): line = line[3:] match = re.search('^Initial commit on (.+)$', line) if match is not None: return (match.group(1), False, 0, 0) match = re.search('^(.+) \(no branch\)$', line) if match is not None: return (match.group(1), True, 0, 0) match = re.search('^(.+?)\.\.\.', line) if match is not None: branch = match.group(1) match = re.search('\[ahead (\d+), behind (\d+)\]$', line) if match is not None: return (branch, False, int(match.group(2)), int(match.group(1))) match = re.search('\[ahead (\d+)\]$', line) if match is not None: return (branch, False, 0, int(match.group(1))) match = re.search('\[behind (\d+)\]$', line) if match is not None: return (branch, False, int(match.group(1)), 0) return (branch, False, 0, 0) return (line, False, 0, 0) def parse_status(self, lines): staged = len([True for l in lines if l[0] in 'MRC' or (l[0] == 'D' and l[1] != 'D') or (l[0] == 'A' and l[1] != 'A')]) unmerged = len([True for l in lines if l[0] == 'U' or l[1] == 'U' or (l[0] == 'A' and l[1] == 'A') or (l[0] == 'D' and l[1] == 'D')]) changed = len([True for l in lines if l[1] == 'M' or (l[1] == 'D' and l[0] != 'D')]) untracked = len([True for l in lines if l[0] == '?']) return (staged, unmerged, changed, untracked) def build_segments(self, formats, branch, detached, tag, behind, ahead, staged, unmerged, changed, untracked, stashed): if detached: branch_group = 'gitstatus_branch_detached' elif staged or unmerged or changed or untracked: branch_group = 'gitstatus_branch_dirty' else: branch_group = 'gitstatus_branch_clean' segments = [ {'contents': formats.get('branch', u'\ue0a0 {}').format(branch), 'highlight_groups': [branch_group, 'gitstatus_branch', 'gitstatus'], 'divider_highlight_group': 'gitstatus:divider'} ] if tag: segments.append({'contents': formats.get('tag', u' \u2605 {}').format(tag), 'highlight_groups': ['gitstatus_tag', 'gitstatus'], 'divider_highlight_group': 'gitstatus:divider'}) if behind: segments.append({'contents': formats.get('behind', ' ↓ {}').format(behind), 'highlight_groups': ['gitstatus_behind', 'gitstatus'], 'divider_highlight_group': 'gitstatus:divider'}) if ahead: segments.append({'contents': formats.get('ahead', ' ↑ {}').format(ahead), 'highlight_groups': ['gitstatus_ahead', 'gitstatus'], 'divider_highlight_group': 'gitstatus:divider'}) if staged: segments.append({'contents': formats.get('staged', ' ● {}').format(staged), 'highlight_groups': ['gitstatus_staged', 'gitstatus'], 'divider_highlight_group': 'gitstatus:divider'}) if unmerged: segments.append({'contents': formats.get('unmerged', ' ✖ {}').format(unmerged), 'highlight_groups': ['gitstatus_unmerged', 'gitstatus'], 'divider_highlight_group': 'gitstatus:divider'}) if changed: segments.append({'contents': formats.get('changed', ' ✚ {}').format(changed), 'highlight_groups': ['gitstatus_changed', 'gitstatus'], 'divider_highlight_group': 'gitstatus:divider'}) if untracked: segments.append({'contents': formats.get('untracked', ' … {}').format(untracked), 'highlight_groups': ['gitstatus_untracked', 'gitstatus'], 'divider_highlight_group': 'gitstatus:divider'}) if stashed: segments.append({'contents': formats.get('stashed', ' ⚑ {}').format(stashed), 'highlight_groups': ['gitstatus_stashed', 'gitstatus'], 'divider_highlight_group': 'gitstatus:divider'}) return segments def __call__(self, pl, segment_info, use_dash_c=True, show_tag=False, formats={}, detached_head_style='revision'): pl.debug('Running gitstatus %s -C' % ('with' if use_dash_c else 'without')) cwd = segment_info['getcwd']() if not cwd: return base = self.get_base_command(cwd, use_dash_c) if not base: return status, err = self.execute(pl, base + ['status', '--branch', '--porcelain']) if err and ('error' in err[0] or 'fatal' in err[0]): return branch, detached, behind, ahead = self.parse_branch(status.pop(0)) if not branch: return if branch == 'HEAD': if detached_head_style == 'revision': branch = self.execute(pl, base + ['rev-parse', '--short', 'HEAD'])[0][0] elif detached_head_style == 'ref': branch = self.execute(pl, base + ['describe', '--contains', '--all'])[0][0] staged, unmerged, changed, untracked = self.parse_status(status) stashed = len(self.execute(pl, base + ['stash', 'list', '--no-decorate'])[0]) if not show_tag: tag, err = [''], False elif show_tag == 'contains': tag, err = self.execute(pl, base + ['describe', '--contains']) elif show_tag == 'last': tag, err = self.execute(pl, base + ['describe', '--tags']) elif show_tag == 'annotated': tag, err = self.execute(pl, base + ['describe']) else: tag, err = self.execute(pl, base + ['describe', '--tags', '--exact-match', '--abbrev=0']) if err and ('error' in err[0] or 'fatal' in err[0] or 'Could not get sha1 for HEAD' in err[0]): tag = '' else: tag = tag[0] return self.build_segments(formats, branch, detached, tag, behind, ahead, staged, unmerged, changed, untracked, stashed) gitstatus = with_docstring(GitStatusSegment(), '''Return the status of a Git working copy. It will show the branch-name, or the commit hash if in detached head state. It will also show the number of commits behind, commits ahead, staged files, unmerged files (conflicts), changed files, untracked files and stashed files if that number is greater than zero. :param bool use_dash_c: Call git with ``-C``, which is more performant and accurate, but requires git 1.8.5 or higher. Otherwise it will traverse the current working directory up towards the root until it finds a ``.git`` directory, then use ``--git-dir`` and ``--work-tree``. True by default. :param bool show_tag: Show tag description. Valid options are``contains``, ``last``, ``annotated`` and ``exact``. A value of True behaves the same as ``exact``, which only displays a tag when it's assigned to the currently checked-out revision. False by default, because it needs to execute git an additional time. :param dict formats: A string-to-string dictionary for customizing Git status formats. Valid keys include ``branch``, ``tag``, ``ahead``, ``behind``, ``staged``, ``unmerged``, ``changes``, ``untracked``, and ``stashed``. Empty dictionary by default, which means the default formats are used. :param detached_head_style: Display style when in detached HEAD state. Valid values are ``revision``, which shows the current revision id, and ``ref``, which shows the closest reachable ref object. The default is ``revision``. Divider highlight group used: ``gitstatus:divider``. Highlight groups used: ``gitstatus_branch_detached``, ``gitstatus_branch_dirty``, ``gitstatus_branch_clean``, ``gitstatus_branch``, ``gitstatus_tag``, ``gitstatus_behind``, ``gitstatus_ahead``, ``gitstatus_staged``, ``gitstatus_unmerged``, ``gitstatus_changed``, ``gitstatus_untracked``, ``gitstatus_stashed``, ``gitstatus``. ''') powerline-gitstatus-1.3.1/screenshot.png000066400000000000000000000316661341611750100204430ustar00rootroot00000000000000PNG  IHDRwk;| pHYs%%IR$ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3- cHRMz%u0`:o_F(IDATxyt[}= A S$EJe-jI%ٖ'^"%㌝4̴'mO'mzڙqqz8b[*[PFq\{wwR#|~{@AAAAAAAAAAAAAAAAAAAAAAAAAAA\FUpb\bR<+S*ͻUbgP5s@Up7b\,C?טL6MKUGS+l}v.MTELuI[QM?'2#$UwĬ* u F7bzV 8m.6 m8FxI=^ x>DqHʯ( Oև-ϬI_i7|'9#CVf#mGgR+ELDI^0Es¤[eES"s\!t2?Y {?9.6/\Q &4sƒx47NIasV,3'm@y'ֵuL+Yz3)7~V3~s_&tR7>)̝!pin~=_4/qc8Ś%7{NVKEʜ .}_pּ{Vdtj@AOwhȺݵ{N/6KϿypX9]Yذ$͚[b\<7'r7:!Ib^VhZ9w56H0ަNOj[GÌE6ӕ}=FO00&%jϗio㾷>ATȻG.ȇ5GmsrGP5>%JBu -a7.ζpϏ;0t{Gʭ9% U ܾgo69IFr 6;K(.5龜HF@ǿ]3tGil)7.םX JK7h`&4xTfK/#mJ 4FԎG]āʫa6y5lRd@}cgZC jj͆\ >vIN90U W aStM;P)b"b%3()]`4&'K cV:HdhjѪ)Ym{fjn=}Z{AP iQ7q@% @Pm7 }}dxyŲ޿zzSg/͒DĄƚʢ򬄘jwJKU,p|u~Ts\㹭)Fҷm0=Ng&u; ^^cs=H1փa!Q1v0˰sM){DۋҟIZ2Dlo>{J)^8ftg @/4={5$&XCGlɶ )Z۪p(q3ۜ2|лgAcYZI?\C? xeיz||ٜY ǎ΄%, sN\rg9y&k +i2c|| x})truK{ӿGSjY.N1i0A5q%'\иa<+Ol.T (Ł'rſզB'VK't# lllKj]yN;>Q×ܳbo,‹ H]?|?02~`BF4 F$%uZ@Ȳ &O }{l"h$P8#0+^W6Iy=~pcqO&?f3{z?_Y[tŭnO>P鹯lڮUpG&}!YaW@1:z$@hw̐/sw~ *g$7m|8+38F #)۾mml3[jâUBEk\oϼ?*@H[%zn_h:l0tcek][nZ;,lFy R5Av{C;dNJpp_Yʓ1N4 &B?z6; 6O|n,2iHxޒuqtn{BB,EK$!nUتɚd=̀gs3,@4t\GMѾ~emÑ~{Wҝϖ96Πe=+J2fiGO ?U/yCqWIf`̈́?뽑Gה[Sr)3$ʷ6MpWό뾮U@[0)C^Una]9Trs([0X.`-p3/?eʋGԲڕ0].#bL<=@i߫tIAi5N(0SLfHiMxA )sm67@mr%1)oK⎖yGV]B[(1.eLηLq0IV\\-H~%{B :u Z:7~z=bX(Miu߬-w({WN]3oOǗ:ZpIe9h.!M{R̗šӹ{4 j͇HUpm h2S9 YwS}KLwWD@AAAAAAAAAAAAAAAAAAAAAAAAAA1з Ƭ2n<+S=ĭ"1,%3!!n)0L32'!HLΊ 4C|xNw룢* ļEN |E!!!H̪bf'spRT;3=`7+-#c`q" Ä%fx](ǎ9֘@S` 1Ko7 1$/\0Z=oh$שcPB1.}<4,p@LjT)2 qאR:>n؞8e6+~me4S?S e"!hi=& `g0MiE\'p^gA1RHe[Ye=fcR9b^o|? * <Θ[.h 6i(.bYN  95 /w0ƴⲜěf=zbtnXZcIJtNF;?p1ι6撼ߤDj364KōKy^kB,j'Sj!/Lmg 9*WNi·%8?RE˻C^/ ^-WsŒT(Ye0h4p 8k/'vl36q^Ъ'YJD =zq)[jEuH@3ZK}_&Iq#^u@ c '*1-g5t<*+xnΤcZrW~A{-u:  AT k|*1-Os칙{1|xԬ RX$T/ fR7naq'COo pSR\le$jYQ1E#n7ZBevuVjpBiTyB \o;"4;],3,( ݻw5K>AvvK{ςT܍>%6쳞 `Ⲇ'D%l)1 1PGc:'c"eq}gC *&y _'Q<#v8[?RATF:)1sfb5cwgӓ2C> D8 V?kQF ȉJ5A^`LTigҟC2DDm2|F^t:s&(m/sDOSo<1"#q .Mkƍa X吞\ILk]l[2޷jí_)#j앸ܹ jgJ[&躒')xޫ@*CBz+^:%i-tzsK L 4qCVVi -9011xTcl FTd!Ci#J{r!6dgXb&!k2̌ImҠ'L*2N1Brpmgd}7'cD7I=m{䶑9epudI )|ԥ=ixjmLZT c|֭K2NcG3:qWdTYR5cĎܧxQ<1IeݺSe7/C0:?yU`Ҏ-̬=vǶJbPΠe&ᴈ6#9n{#k>CR;2X1@2n j [9nlUn}R+8—֯4u2"<^'3.,~'IRFrոmG 9^&ťt G{ bo[yXd n}L[Oq~񈂊3{Qݫ\)k3=f{&Reh66C5*demBqq).\n(8:a+MF>erz[q::An(86d4&CIipI6jHyg#z^o+p& zi=+ЋSy%`B ^d#uPE̔*t zs G<,pS=S0n#"7ҟ:Z_C*1"h8MB À|b^qP?Y 0Ǧs(ᆃEUd,"m*r`vo1pA/1Sы0y1D}SE*Cܖc;AN݄UAoFЭECqNGee/gb2~wfZ[NyDĭB%LҚǸmQ'wx06?aSSuI                           `οΐ w9x`L sZpcrMݦ[UeⳖgsAd44>m]CJe,K3ڥ[y6'Aܾ"y+{JbJ3mesWDb51Đ/3Qb *K jLjɬ iXЧ'%q9d,^9%iI[Wjݗ_S#Yכ܌|EyiYe#-oizzaSR)ٶFwbuzIaŖĘ( Gn/ö#Μ&}ؽU@|ΚTaE}{K#-Ǘ @,ϙ܌\,!GaLrޱ{~zUҴ;g5X.lŚ7ǗI)Zoi>Λ =XYN\-L$"Lw&#-zO?1m]&  AȫlKѹ;e9:eû'g~c1)_ qJj@u:KCOk[r5:-NW7vj8p3s93VrJ\N0G3(WCZ{L=hw31T1M3eNA|P}[ٍަ<|5%V-'ioMrvV@ٓZ4QDt|UvWd.YvaZZ,:no^\Vl]n5w\r߸nD7% c?KWߒ:J9<Fk]վmcJrA|uJ ..p.4ܪ1nvks2*ι'yT3&GgEwsAD:Jvez-r.Ε9qI 䆜{2.M=ZRBS.wt!g,W3rWZb$JbFoŎKmå5.dKi sNq^,Q|þ`?[K|n}HnO,.=k{Fzr_6b/[ #Ic_r_2%4:X5,}u6a|哮~brgS +pRS?~ө&V=gW&O:ޗ?7Ŕf}uf0iyM0yYlp$1x(Rf!K\2Ă: 傩uToqj"WRqW7t#IQ<1ps7笏V?o ݑ Ō *Q(C/fxPHGʜCo"-S31ެ^3E6[BUvB&edÓV5Em{\iSTysU.e 5W&k¥˖XlKK.s=K/F"9^\9iVqmܷ}Mawg{?sIyݷ<^_[ }޲ U?i}SRAԗ<`(æ|['y5&h '{?p=fܐ2|(tb3 ;$b4Vנ$Bfa4Z^*gD:GD֔&ėo{Ly/z]ɀ!}w^X;-AWgp@ ?Teͤ*4*P[9f:W_|{r܉=t$f0/umBvmkr{%Ih2ȷL3;)"QՠZivgO*%Y#nLK2T8Zg|XfMonuh'tѷ?ͽn `lvgf~ CS]pcT0, ׻N^21_j+*85e[0 Պ5ּWD@r,(Yu%1~3R62-NhfQ@v8^O/^^+K)zx$$k [B d~fuƺʽ;C1r% L:/3-cҎܖwu1VgXȑ/uegs/xhhsΘA Ma Y/&_J'VtqcַTn1I\KQwH8bSG,f-v~p /n/X{×_TxZzX[snzD;w#B|hܪK A1q_KwܿH 43Iz26uP⽩m-5a(5.s=g~?*@H[%zn_h:l0|ev/k喛l7;#Dɳl<_`Q\c?j6S3KU]c [?~V0UZ}]Sxe~=,jh٪/` =7QYֈZ+"j" V8Ť 4[{M*&v_vVY(s#Yҷ[t:E"zF@>qAHQ{3{lҖg?{s3*_6U;-v82єӻ~|g8lZQoឍ% fiN5m+j0#pUIENDB`powerline-gitstatus-1.3.1/setup.py000066400000000000000000000012611341611750100172560ustar00rootroot00000000000000# vim:fileencoding=utf-8:noet from setuptools import setup setup( name = 'powerline-gitstatus', description = 'A Powerline segment for showing the status of a Git working copy', version = '1.3.1', keywords = 'powerline git status prompt', license = 'MIT', author = 'Jasper N. Brouwer', author_email = 'jasper@nerdsweide.nl', url = 'https://github.com/jaspernbrouwer/powerline-gitstatus', packages = ['powerline_gitstatus'], classifiers = [ 'Environment :: Console', 'Intended Audience :: Developers', 'License :: OSI Approved :: MIT License', 'Topic :: Terminals' ] )