forked from impromptu/my-impromptu
-
Notifications
You must be signed in to change notification settings - Fork 0
/
prompt.coffee
76 lines (65 loc) · 1.69 KB
/
prompt.coffee
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
module.exports = (Impromptu, section) ->
system = @module.require 'impromptu-system'
git = @module.require 'impromptu-git'
git.fetch()
section 'user',
content: [system.user, system.shortHost]
format: (user, host) ->
return if user.trim() is process.env.DEFAULT_USER
"#{user}@#{host}"
background: 'black'
foreground: 'white'
section 'pwd',
content: system.prettyPwd
background: 'blue'
foreground: 'white'
section 'git:in',
when: git.branch
content: 'in'
background: 'black'
foreground: 'white'
section 'git:branch',
content: git.branch
background: 'green'
foreground: 'black'
section 'git:ahead',
content: git.ahead
background: 'black'
foreground: 'green'
when: git.isRepo
format: (ahead) ->
"#{ahead}⁺" if ahead
section 'git:behind',
content: git.behind
background: 'black'
foreground: 'red'
when: git.isRepo
format: (behind) ->
"#{behind}⁻" if behind
section 'git:staged',
content: git.staged
format: (staged) ->
"staged #{staged}" if staged
when: git.isRepo
foreground: 'green'
section 'git:unstaged',
content: git.unstaged
format: (unstaged) ->
"unstaged #{unstaged}" if unstaged
when: git.isRepo
foreground: 'blue'
section 'exit code',
content: system.lastExitCode
format: (lastExitCode) ->
"exit code #{lastExitCode}"
when: system.lastExitCode
background: 'red'
foreground: 'white'
section 'end',
content: ['\n$', system.lastExitCode]
format: (string, lastExitCode) ->
if lastExitCode then @foreground = 'red'
string
foreground: 'blue'
options:
newlines: true