promptula 0.0.9 → 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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