zomgit 0.0.1

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.
@@ -0,0 +1,89 @@
1
+ gd() {
2
+ local gitopts
3
+ local fileopts
4
+ local options
5
+ local files
6
+
7
+ gitopts=()
8
+ options=()
9
+
10
+ if (( $# == 0 )); then
11
+ fileopts="."
12
+ options=( --filter modified )
13
+ else
14
+ local opts
15
+
16
+ gitopts=( $(echo "${@}" | command grep -o -E "(--( (.*)))$" | command sed -E "s/^-- ?//") )
17
+ opts=( $(echo "$@" | sed -E "s/(.*)(--( .*))$/\1/g") )
18
+
19
+ # Remove the git options from the regular options array
20
+ set -- "${opts[@]}"
21
+
22
+ #
23
+ # Parse ZOMGit options
24
+ #
25
+ local opt_filter
26
+ local opt_greedy
27
+ local opt_refine
28
+
29
+ opt_filter=( modified )
30
+ opt_greedy=()
31
+ opt_refine=()
32
+
33
+ zparseopts -K -D f:=opt_filter -filter:=opt_filter g=opt_greedy G=opt_greedy -greedy=opt_greedy -no-greedy=opt_greedy r=opt_refine -refine=opt_refine
34
+
35
+ local filter=${opt_filter[${#opt_filter}]}
36
+ local greedy=${opt_greedy[${#opt_greedy}]}
37
+ local refine=${#opt_refine}
38
+
39
+ if [[ "${filter}" != "" ]]; then
40
+ if ! [[ "${filter}" =~ "modified|staged" ]]; then
41
+ echo "${fg[red]}You can only diff files that are either\ntracked or in the staging area!${reset_color}"
42
+ return 1
43
+ fi
44
+
45
+ options=( $options --filter $filter )
46
+ fi
47
+
48
+ if [[ "${greedy}" != "" && "${greedy}" =~ "G|no" ]]; then
49
+ options=( $options $greedy )
50
+ fi
51
+
52
+ if (( $refine > 0 )); then
53
+ options=( $options --refine )
54
+ fi
55
+
56
+ if (( $# == 0 )); then
57
+ fileopts="."
58
+ else
59
+ fileopts="$@"
60
+ fi
61
+ fi
62
+
63
+ if (( ${#gitopts} > 0 )); then
64
+ typeset -U gitopts
65
+ fi
66
+
67
+ files="$(zomgit find ${options[@]} ${fileopts} 2>&1)"
68
+ local exitcode=$?
69
+
70
+ if (( ${exitcode} > 0 )); then
71
+ echo "${fg[red]}${files}${reset_color}"
72
+ return ${exitcode}
73
+ fi
74
+
75
+ local params
76
+ params=( diff ${gitopts[@]} $(echo ${files} | command tr '\n' ' ') )
77
+
78
+ if type hub > /dev/null; then
79
+ command hub ${params[@]}
80
+ elif type gh > /dev/null; then
81
+ command gh ${params[@]}
82
+ else
83
+ command git ${params[@]}
84
+ fi
85
+ }
86
+
87
+ gdc() {
88
+ gd --filter staged ${@} -- --cached
89
+ }
@@ -0,0 +1,11 @@
1
+ gl() {
2
+ command git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit ${@}
3
+ }
4
+
5
+ gla() {
6
+ gl --branches --remotes ${@}
7
+ }
8
+
9
+ gls() {
10
+ gl --stat ${@}
11
+ }
@@ -0,0 +1,3 @@
1
+ gps() {
2
+ command git push ${@}
3
+ }
@@ -0,0 +1,80 @@
1
+ grs() {
2
+ local gitopts
3
+ local fileopts
4
+ local options
5
+ local files
6
+
7
+ gitopts=()
8
+ options=( --filter staged )
9
+
10
+ if (( $# == 0 )); then
11
+ fileopts="."
12
+ else
13
+ local opts
14
+
15
+ gitopts=( $(echo "${@}" | command grep -o -E "(--( (.*)))$" | command sed -E "s/^-- ?//") )
16
+ opts=( $(echo "$@" | sed -E "s/(.*)(--( .*))$/\1/g") )
17
+
18
+ # Remove the git options from the regular options array
19
+ set -- "${opts[@]}"
20
+
21
+ #
22
+ # Parse ZOMGit options
23
+ #
24
+ local opt_greedy
25
+ local opt_refine
26
+
27
+ opt_greedy=()
28
+ opt_refine=()
29
+
30
+ zparseopts -K -D g=opt_greedy G=opt_greedy -greedy=opt_greedy -no-greedy=opt_greedy r=opt_refine -refine=opt_refine
31
+
32
+ local greedy=${opt_greedy[${#opt_greedy}]}
33
+ local refine=${#opt_refine}
34
+
35
+ if [[ "${greedy}" != "" && "${greedy}" =~ "G|no" ]]; then
36
+ options=( $options $greedy )
37
+ fi
38
+
39
+ if (( $refine > 0 )); then
40
+ options=( $options --refine )
41
+ fi
42
+
43
+ if (( $# == 0 )); then
44
+ fileopts="."
45
+ else
46
+ fileopts="$@"
47
+ fi
48
+ fi
49
+
50
+ if (( ${#gitopts} == 0 )); then
51
+ gitopts=( -q )
52
+ else
53
+ typeset -U gitopts
54
+ fi
55
+
56
+ files="$(zomgit find ${options[@]} ${fileopts} 2>&1)"
57
+ local exitcode=$?
58
+
59
+ if (( ${exitcode} > 0 )); then
60
+ echo "${fg[red]}${files}${reset_color}"
61
+ return ${exitcode}
62
+ fi
63
+
64
+ local params
65
+ params=( reset ${gitopts[@]} $(echo ${files} | command tr '\n' ' ') )
66
+
67
+ if type hub > /dev/null; then
68
+ command hub ${params[@]}
69
+ elif type gh > /dev/null; then
70
+ command gh ${params[@]}
71
+ else
72
+ command git ${params[@]}
73
+ fi
74
+
75
+ zomgit status
76
+ }
77
+
78
+ grsH() {
79
+ command git reset --hard HEAD
80
+ }
@@ -0,0 +1,30 @@
1
+ gs() {
2
+ local gitopts
3
+ local opts
4
+
5
+ gitopts=( $(echo "${@}" | command grep -o -E "(--( (.*)))$" | command sed -E "s/^-- ?//") )
6
+ opts=( $(echo "$@" | sed -E "s/(.*)(--( .*))$/\1/g") )
7
+
8
+ # Remove the git options from the regular options array
9
+ set -- "${opts[@]}"
10
+
11
+ #
12
+ # Parse ZOMGit options
13
+ #
14
+ local opt_filter
15
+ opt_filter=()
16
+
17
+ zparseopts -K -D f:=opt_filter -filter:=opt_filter
18
+
19
+ if (( ${#gitopts[@]} > 0 )); then
20
+ command git status ${gitopts[@]}
21
+ else
22
+ local filter=""
23
+
24
+ if (( ${#opt_filter[@]} > 0 )); then
25
+ filter="--filter ${opt_filter[${#opt_filter[@]}]}"
26
+ fi
27
+
28
+ zomgit status ${filter}
29
+ fi
30
+ }
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env zsh
2
+
3
+ _zomgit_dir=$(dirname $(realpath $0))
4
+
5
+ # Default ZOMGit dir
6
+ export ZOMGIT_DIR=$HOME/.zomgit
7
+
8
+ # Default config
9
+ export ZOMGIT_STATUS_MAX_CHANGES=150
10
+
11
+ # Source all command files
12
+ for f in $_zomgit_dir/commands/*.zsh; do
13
+ source $f
14
+ done
@@ -0,0 +1,22 @@
1
+ require File.expand_path(File.join("lib","zomgit","version.rb"))
2
+ Gem::Specification.new do |s|
3
+ s.name = "zomgit"
4
+ s.version = Zomgit::VERSION
5
+ s.author = "Robert Audi"
6
+ s.email = "robert@audii.me"
7
+ s.homepage = "https://github.com/RobertAudi/zomgit"
8
+ s.summary = "A git wrapper for the Z shell"
9
+ s.description = "A git wrapper for the Z shell (inspired by scm_breeze)"
10
+ s.license = "MIT"
11
+ s.files = `git ls-files -z`.split("\x0")
12
+
13
+ s.require_paths << "lib"
14
+ s.bindir = "bin"
15
+ s.executables << "zomgit"
16
+
17
+ s.add_development_dependency "rake", "~>10.0"
18
+ s.add_development_dependency "bundler", "~> 1.6"
19
+
20
+ s.add_runtime_dependency "gli", "2.11.0"
21
+ s.add_runtime_dependency "rainbow", "2.0.0"
22
+ end
metadata ADDED
@@ -0,0 +1,129 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: zomgit
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Robert Audi
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-07-17 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '10.0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '10.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.6'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.6'
41
+ - !ruby/object:Gem::Dependency
42
+ name: gli
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '='
46
+ - !ruby/object:Gem::Version
47
+ version: 2.11.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '='
53
+ - !ruby/object:Gem::Version
54
+ version: 2.11.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: rainbow
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '='
60
+ - !ruby/object:Gem::Version
61
+ version: 2.0.0
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '='
67
+ - !ruby/object:Gem::Version
68
+ version: 2.0.0
69
+ description: A git wrapper for the Z shell (inspired by scm_breeze)
70
+ email: robert@audii.me
71
+ executables:
72
+ - zomgit
73
+ extensions: []
74
+ extra_rdoc_files: []
75
+ files:
76
+ - ".gitignore"
77
+ - Gemfile
78
+ - LICENSE
79
+ - README.md
80
+ - Rakefile
81
+ - bin/zomgit
82
+ - lib/zomgit.rb
83
+ - lib/zomgit/commands.rb
84
+ - lib/zomgit/commands/find.rb
85
+ - lib/zomgit/commands/status.rb
86
+ - lib/zomgit/concerns/findable.rb
87
+ - lib/zomgit/exceptions.rb
88
+ - lib/zomgit/helpers/file_helper.rb
89
+ - lib/zomgit/helpers/rainbow_helper.rb
90
+ - lib/zomgit/persistor.rb
91
+ - lib/zomgit/version.rb
92
+ - share/commands/add.zsh
93
+ - share/commands/branch.zsh
94
+ - share/commands/checkout.zsh
95
+ - share/commands/clone.zsh
96
+ - share/commands/commit.zsh
97
+ - share/commands/diff.zsh
98
+ - share/commands/log.zsh
99
+ - share/commands/push.zsh
100
+ - share/commands/reset.zsh
101
+ - share/commands/status.zsh
102
+ - share/zomgit.zsh
103
+ - zomgit.gemspec
104
+ homepage: https://github.com/RobertAudi/zomgit
105
+ licenses:
106
+ - MIT
107
+ metadata: {}
108
+ post_install_message:
109
+ rdoc_options: []
110
+ require_paths:
111
+ - lib
112
+ - lib
113
+ required_ruby_version: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ required_rubygems_version: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: '0'
123
+ requirements: []
124
+ rubyforge_project:
125
+ rubygems_version: 2.2.2
126
+ signing_key:
127
+ specification_version: 4
128
+ summary: A git wrapper for the Z shell
129
+ test_files: []