promptula 0.0.9 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
data/bin/promptula CHANGED
@@ -10,12 +10,7 @@ opts = Trollop::options do
10
10
  end
11
11
 
12
12
  install_with = <<jam
13
- function _update_ps1()
14
- {
15
- export PS1="$(promptula)"
16
- }
17
-
18
- export PROMPT_COMMAND="_update_ps1"
13
+ export PROMPT_COMMAND='echo -ne $(promptula)'
19
14
  jam
20
15
 
21
16
  if opts[:install]
@@ -1,3 +1,3 @@
1
1
  module Promptula
2
- VERSION = "0.0.9"
2
+ VERSION = "0.0.10"
3
3
  end
data/lib/promptula.rb CHANGED
@@ -1,25 +1,13 @@
1
1
  require "promptula/version"
2
2
  require "rainbow"
3
3
  module Promptula
4
- SEPARATOR = "\u25B6"
5
- SEPARATOR_THIN = "\u276F"
6
- PATH_SEPARATOR = '/'
7
- BACKGROUND = "3a3a3a"
4
+
5
+ LEFT_EDGE = "\u25C0"
6
+ RIGHT_EDGE = "\u25B6"
8
7
  GLYPH = "\u2733"
9
8
  PULL_ARROW = "\u2798"
10
9
  PUSH_ARROW = "\u279A"
11
10
 
12
- def self.cwd()
13
- current = Dir.pwd
14
- home = ENV['HOME']
15
- ret = ''
16
- current.sub(home, '~').split('/').each do |segment|
17
- ret += PATH_SEPARATOR.foreground(:black).background(BACKGROUND) if segment != '~'
18
- ret += "#{segment}".background BACKGROUND
19
- end
20
- ret + ' '.background(BACKGROUND)
21
- end
22
-
23
11
  def self.git()
24
12
  if system 'git status > /dev/null 2>/dev/null'
25
13
  branch = `git rev-parse --abbrev-ref HEAD 2>/dev/null`.chomp
@@ -35,22 +23,22 @@ module Promptula
35
23
  untracked = (status.match('\?\?') or '').size > 0 ? " #{GLYPH}" : ''
36
24
  dirty = status.size > 0
37
25
  background = dirty ? :red : :green
38
- prompt = SEPARATOR.foreground(background).background(BACKGROUND).inverse
39
- prompt += "#{branch}#{untracked} ".background(background)
26
+ prompt = LEFT_EDGE.foreground(background)
27
+ prompt += " #{branch}#{untracked} ".foreground(background).background(:white).inverse()
40
28
  remote = tracking[branch]
41
29
  if remote
42
30
  push_pull = `git rev-list --left-right #{remote}...HEAD`.split("\n")
43
31
  to_push = (push_pull.select {|m| m.start_with? '>'}).length
44
32
  to_pull = (push_pull.select {|m| m.start_with? '<'}).length
45
33
  if to_pull > 0
46
- prompt += "#{PULL_ARROW}#{to_pull} ".background(background)
34
+ prompt += "#{PULL_ARROW}#{to_pull} ".foreground(background).background(:white).inverse()
47
35
  end
48
36
  if to_push > 0
49
- prompt += "#{PUSH_ARROW}#{to_push} ".background(background)
37
+ prompt += "#{PUSH_ARROW}#{to_push} ".foreground(background).background(:white).inverse()
50
38
  end
51
39
  end
52
- prompt += SEPARATOR.foreground(background).reset()
53
- prompt
40
+ prompt += RIGHT_EDGE.foreground(background)
41
+ prompt.chomp
54
42
  else
55
43
  ''
56
44
  end
@@ -58,6 +46,6 @@ module Promptula
58
46
 
59
47
  def self.prompt()
60
48
  Sickill::Rainbow.enabled = true
61
- cwd() + git()
49
+ git()
62
50
  end
63
51
  end
data/lib/rainbow.rb CHANGED
@@ -88,8 +88,8 @@ module Sickill
88
88
 
89
89
  var = self.dup
90
90
  matched = var.match(/^(\e\[([\d;]+)m)*/)
91
- var.insert(matched.end(0), '\[\033[' + code.to_s + 'm\]')
92
- var.concat('\[\033[0m\]')
91
+ var.insert(matched.end(0), "\e[#{code}m")
92
+ var.concat("\e[0m") unless var =~ /\e\[0m$/
93
93
  var
94
94
  end
95
95
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: promptula
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.10
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-27 00:00:00.000000000 Z
12
+ date: 2012-12-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: trollop