vimamsa 0.1.0 → 0.1.5

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,101 @@
1
+
2
+ # From https://stackoverflow.com/questions/2108727/which-in-ruby-checking-if-program-exists-in-path-from-ruby
3
+ # Cross-platform way of finding an executable in the $PATH.
4
+ #
5
+ # which('ruby') #=> /usr/bin/ruby
6
+ def which(cmd)
7
+ exts = ENV["PATHEXT"] ? ENV["PATHEXT"].split(";") : [""]
8
+ ENV["PATH"].split(File::PATH_SEPARATOR).each do |path|
9
+ exts.each do |ext|
10
+ exe = File.join(path, "#{cmd}#{ext}")
11
+ return exe if File.executable?(exe) && !File.directory?(exe)
12
+ end
13
+ end
14
+ nil
15
+ end
16
+
17
+ def assert_binary_exists(bin)
18
+ if which(bin).nil?
19
+ raise "Binary #{bin} doesn't exist"
20
+ end
21
+ end
22
+
23
+ def read_file(text, path)
24
+ path = Pathname(path.to_s).expand_path
25
+ FileUtils.touch(path) unless File.exist?(path)
26
+ if !File.exist?(path)
27
+ #TODO: fail gracefully
28
+ return
29
+ end
30
+
31
+ encoding = text.encoding
32
+ content = path.open("r:#{encoding.name}") { |io| io.read }
33
+
34
+ debug("GUESS ENCODING")
35
+ unless content.valid_encoding? # take a guess
36
+ GUESS_ENCODING_ORDER.find { |enc|
37
+ content.force_encoding(enc)
38
+ content.valid_encoding?
39
+ }
40
+ content.encode!(Encoding::UTF_8)
41
+ end
42
+ debug("END GUESS ENCODING")
43
+
44
+ #TODO: Should put these as option:
45
+ content.gsub!(/\r\n/, "\n")
46
+ # content.gsub!(/\t/, " ")
47
+ content.gsub!(/\b/, "")
48
+
49
+ # content = filter_buffer(content)
50
+ debug("END FILTER")
51
+ return content
52
+ end
53
+
54
+ def is_url(s)
55
+ return s.match(/(https?|file):\/\/.*/) != nil
56
+ end
57
+
58
+ def expand_if_existing(fpath)
59
+ return nil if fpath.class != String
60
+ fpath = File.expand_path(fpath)
61
+ fpath = nil if !File.exist?(fpath)
62
+ return fpath
63
+ end
64
+
65
+ def ppath(s)
66
+ selfpath = __FILE__
67
+ selfpath = File.readlink(selfpath) if File.lstat(selfpath).symlink?
68
+ scriptdir = File.expand_path(File.dirname(selfpath))
69
+ p = "#{scriptdir}/../../#{s}"
70
+ return File.expand_path(p)
71
+ end
72
+
73
+ def is_existing_file(s)
74
+ return false if !s
75
+ if is_path(s) and File.exist?(File.expand_path(s))
76
+ return true
77
+ end
78
+ return false
79
+ end
80
+
81
+ def is_image_file(fpath)
82
+ return false if !File.exist?(fpath)
83
+ return false if !fpath.match(/.(jpg|jpeg|png)$/i)
84
+ #TODO: check contents of file
85
+ return true
86
+ end
87
+
88
+ def is_text_file(fpath)
89
+ return false if !File.exist?(fpath)
90
+ return false if !fpath.match(/.(txt|cpp|h|rb|c|php|java|py)$/i)
91
+ #TODO: check contents of file
92
+ return true
93
+ end
94
+
95
+ def is_path(s)
96
+ m = s.match(/(~[a-z]*)?\/.*\//)
97
+ if m != nil
98
+ return true
99
+ end
100
+ return false
101
+ end
@@ -1,3 +1,3 @@
1
1
  module Vimamsa
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.5"
3
3
  end
@@ -0,0 +1,33 @@
1
+ <?xml version="1.0" ?>
2
+ <style-scheme id="molokai" name="Molokai" version="1.0">
3
+ <author/>
4
+ <_description>
5
+ Port of the Molokai Text Mate Theme to GTKSourceView.
6
+ </_description>
7
+ <style foreground="#AE81FF" name="def:boolean"/>
8
+ <style foreground="#AE81FF" name="def:number"/>
9
+ <style foreground="#E6DB74" name="def:string"/>
10
+ <style bold="true" foreground="#AE81FF" name="def:constant"/>
11
+ <style background="#F8F8F0" foreground="#000000" name="cursor"/>
12
+ <style background="#13354A" name="diff:added-line"/>
13
+ <style background="#4C4745" foreground="#89807D" name="diff:changed-line"/>
14
+ <style background="#1E0010" foreground="#960050" name="diff:removed-line"/>
15
+ <style background="#1E0010" foreground="#960050" name="def:error"/>
16
+ <style foreground="#A6E22E" name="def:function"/>
17
+ <style foreground="#FD971F" name="def:identifier"/>
18
+ <style bold="true" foreground="#F92672" name="def:keyword"/>
19
+ <style background="#FD971F" bold="true" foreground="#000000" name="bracket-match"/>
20
+ <style foreground="#A6E22E" name="def:preprocessor"/>
21
+ <style background="#455354" foreground="#FFFFFF" name="search-match"/>
22
+ <style background="#bg" foreground="#66D9EF" italic="true" name="def:specials"/>
23
+ <style bold="true" foreground="#F92672" name="def:statement"/>
24
+ <style foreground="#66D9EF" name="def:type"/>
25
+ <style background="#272822" foreground="#F8F8F2" name="text"/>
26
+ <style foreground="#75715E" name="def:comment"/>
27
+ <style background="#3E3D32" name="current-line"/>
28
+ <style background="#272822" foreground="#F8F8F2" name="text"/>
29
+ <style foreground="#465457" name="def:comment"/>
30
+ <style background="#3e3d32" name="current-line"/>
31
+ <style background="#3b3a32" foreground="#bcbca7" name="line-numbers"/>
32
+ </style-scheme>
33
+
data/styles/dark.xml ADDED
@@ -0,0 +1,152 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+
4
+ This file is part of GtkSourceView
5
+
6
+ Copyright (C) 2007 GtkSourceView team
7
+ Author: Paolo Borelli <pborelli@gnome.org>
8
+
9
+ GtkSourceView is free software; you can redistribute it and/or
10
+ modify it under the terms of the GNU Lesser General Public
11
+ License as published by the Free Software Foundation; either
12
+ version 2.1 of the License, or (at your option) any later version.
13
+
14
+ GtkSourceView is distributed in the hope that it will be useful,
15
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17
+ Lesser General Public License for more details.
18
+
19
+ You should have received a copy of the GNU Lesser General Public License
20
+ along with this library; if not, see <http://www.gnu.org/licenses/>.
21
+
22
+ -->
23
+
24
+ <style-scheme id="dark" _name="dark" version="1.0">
25
+
26
+ <author>Paolo Borelli</author>
27
+ <_description>Dark color scheme using the Tango color palette</_description>
28
+
29
+ <!-- Tango Palette -->
30
+ <color name="butter1" value="#fce94f"/>
31
+ <color name="butter2" value="#edd400"/>
32
+ <color name="butter3" value="#c4a000"/>
33
+ <color name="chameleon1" value="#8ae234"/>
34
+ <color name="chameleon2" value="#73d216"/>
35
+ <color name="chameleon3" value="#4e9a06"/>
36
+ <color name="orange1" value="#fcaf3e"/>
37
+ <color name="orange2" value="#f57900"/>
38
+ <color name="orange3" value="#ce5c00"/>
39
+ <color name="lightblue" value="#00FFF8"/>
40
+ <color name="skyblue1" value="#729fcf"/>
41
+ <color name="skyblue2" value="#3465a4"/>
42
+ <color name="skyblue3" value="#204a87"/>
43
+ <color name="plum1" value="#ad7fa8"/>
44
+ <color name="plum2" value="#75507b"/>
45
+ <color name="plum3" value="#5c3566"/>
46
+ <color name="chocolate1" value="#e9b96e"/>
47
+ <color name="chocolate2" value="#c17d11"/>
48
+ <color name="chocolate3" value="#8f5902"/>
49
+ <color name="scarletred1" value="#ef2929"/>
50
+ <color name="scarletred2" value="#cc0000"/>
51
+ <color name="scarletred3" value="#a40000"/>
52
+ <color name="aluminium1" value="#eeeeec"/>
53
+ <color name="aluminium2" value="#d3d7cf"/>
54
+ <color name="aluminium3" value="#babdb6"/>
55
+ <color name="aluminium4" value="#888a85"/>
56
+ <color name="aluminium5" value="#555753"/>
57
+ <color name="aluminium6OLD" value="#2e3436"/>
58
+ <color name="aluminium6" value="#1e1416"/>
59
+ <color name="white" value="#ffffff"/>
60
+ <color name="black" value="#000000"/>
61
+ <color name="heading" value="#CF6A4C"/>
62
+ <color name="aluminium4-3-blend" value="#a1a49e"/>
63
+ <color name="aluminium6-5-blend" value="#34393A"/>
64
+
65
+ <!-- Global Settings -->
66
+ <style name="text" foreground="aluminium2" background="aluminium6"/>
67
+ <style name="selection" foreground="aluminium1" background="aluminium4"/>
68
+ <style name="cursor" foreground="aluminium2"/>
69
+ <style name="secondary-cursor" foreground="aluminium4-3-blend"/>
70
+ <style name="current-line" background="aluminium5"/>
71
+ <style name="line-numbers" foreground="aluminium5" background="black"/>
72
+ <style name="draw-spaces" foreground="aluminium4"/>
73
+ <style name="background-pattern" background="aluminium6-5-blend"/>
74
+
75
+ <!-- Bracket Matching -->
76
+ <style name="bracket-match" foreground="chocolate2"/>
77
+ <style name="bracket-mismatch" foreground="aluminium1" background="scarletred2"/>
78
+
79
+ <!-- Right Margin -->
80
+ <style name="right-margin" foreground="aluminium1" background="aluminium3"/>
81
+
82
+ <!-- Search Matching -->
83
+ <style name="search-match" foreground="aluminium1" background="chameleon3"/>
84
+
85
+ <!-- Comments -->
86
+ <style name="def:comment" foreground="aluminium4"/>
87
+ <style name="def:shebang" foreground="aluminium4" bold="true"/>
88
+ <style name="def:doc-comment-element" italic="true"/>
89
+
90
+ <!-- Constants -->
91
+ <style name="def:constant" foreground="butter2"/>
92
+ <style name="def:string" foreground="butter2"/>
93
+ <style name="def:special-char" foreground="orange3"/>
94
+ <style name="def:special-constant" foreground="orange3"/>
95
+ <style name="def:floating-point" foreground="orange3"/>
96
+
97
+ <!-- Identifiers -->
98
+ <style name="def:identifier" foreground="skyblue1"/>
99
+
100
+ <!-- Statements -->
101
+ <style name="def:statement" foreground="white" bold="true"/>
102
+
103
+ <!-- Types -->
104
+ <style name="def:type" foreground="chameleon1" bold="true"/>
105
+
106
+ <!-- Markup -->
107
+ <style name="def:emphasis" italic="true"/>
108
+ <style name="def:strong-emphasis" foreground="white" bold="true"/>
109
+ <style name="def:inline-code" foreground="skyblue1"/>
110
+ <style name="def:insertion" underline="single"/>
111
+ <style name="def:deletion" strikethrough="true"/>
112
+ <style name="def:link-text" foreground="aluminium4"/>
113
+ <style name="def:link-symbol" foreground="aluminium4" bold="true"/>
114
+ <style name="def:link-destination" italic="true" underline="single"/>
115
+ <style name="def:heading" foreground="chameleon1" bold="true"/>
116
+ <style name="def:thematic-break" foreground="chameleon1" bold="true"/>
117
+ <style name="def:preformatted-section" foreground="skyblue1"/>
118
+ <style name="def:list-marker" foreground="white" bold="true"/>
119
+
120
+ <!-- Others -->
121
+ <style name="def:preprocessor" foreground="plum1"/>
122
+ <style name="def:error" foreground="aluminium1" background="scarletred2" bold="true"/>
123
+ <style name="def:warning" foreground="aluminium1" background="plum1"/>
124
+ <style name="def:note" background="butter1" foreground="aluminium4" bold="true"/>
125
+ <style name="def:net-address" italic="true" underline="single"/>
126
+
127
+ <!-- Heading styles, uncomment to enable -->
128
+
129
+ <style name="def:title" scale="2.0" bold="true" />
130
+ <style name="def:hyperlink" foreground="lightblue" bold="true" />
131
+ <style name="def:heading0" scale="5.0" bold="true" foreground="heading" />
132
+ <style name="def:heading1" scale="1.75" bold="true" foreground="heading" />
133
+ <style name="def:heading2" scale="1.5" bold="true" foreground="heading" />
134
+ <style name="def:heading3" scale="1.25" bold="true" foreground="heading" />
135
+ <style name="def:heading4" scale="1.175" bold="true" foreground="heading" />
136
+ <style name="def:heading5" scale="1.1" bold="true" foreground="heading" />
137
+ <style name="def:heading6" scale="1.0" bold="true" foreground="heading" />
138
+
139
+
140
+ <!-- Language specific -->
141
+ <style name="diff:added-line" foreground="butter2"/>
142
+ <style name="diff:removed-line" foreground="skyblue1"/>
143
+ <style name="diff:changed-line" foreground="plum1"/>
144
+ <style name="diff:diff-file" foreground="chameleon1" bold="true"/>
145
+ <style name="diff:location" foreground="chameleon1"/>
146
+ <style name="diff:special-case" foreground="white" bold="true"/>
147
+
148
+ <style name="latex:command" foreground="chameleon1" bold="true"/>
149
+ <style name="latex:include" use-style="def:preprocessor"/>
150
+
151
+ </style-scheme>
152
+
@@ -0,0 +1,49 @@
1
+ <?xml version="1.0" ?>
2
+ <style-scheme id="molokai_edit" name="Molokai_edit" version="1.0">
3
+ <color name="lightblue" value="#00FFF8"/>
4
+
5
+ <author/>
6
+ <_description>
7
+ Port of the Molokai Text Mate Theme to GTKSourceView.
8
+ </_description>
9
+
10
+ <color name="heading" value="#CF6A4C"/>
11
+ <style foreground="#AE81FF" name="def:boolean"/>
12
+ <style foreground="#AE81FF" name="def:number"/>
13
+ <style foreground="#E6DB74" name="def:string"/>
14
+ <style bold="true" foreground="#AE81FF" name="def:constant"/>
15
+ <style background="#F8F8F0" foreground="#ffffff" name="cursor"/>
16
+ <style background="#13354A" name="diff:added-line"/>
17
+ <style background="#4C4745" foreground="#89807D" name="diff:changed-line"/>
18
+ <style background="#1E0010" foreground="#960050" name="diff:removed-line"/>
19
+ <style background="#1E0010" foreground="#960050" name="def:error"/>
20
+ <style foreground="#A6E22E" name="def:function"/>
21
+ <style foreground="#FD971F" name="def:identifier"/>
22
+ <style bold="true" foreground="#F92672" name="def:keyword"/>
23
+ <style background="#FD971F" bold="true" foreground="#000000" name="bracket-match"/>
24
+ <style foreground="#A6E22E" name="def:preprocessor"/>
25
+ <style background="#455354" foreground="#FFFFFF" name="search-match"/>
26
+ <style background="#bg" foreground="#66D9EF" italic="true" name="def:specials"/>
27
+ <style bold="true" foreground="#F92672" name="def:statement"/>
28
+ <style foreground="#66D9EF" name="def:type"/>
29
+ <!--style background="#272822" foreground="#F8F8F2" name="text"/-->
30
+ <style background="#000000" foreground="#F8F8F2" name="text"/>
31
+ <style foreground="#75715E" name="def:comment"/>
32
+ <style background="#3E3D32" name="current-line"/>
33
+ <style background="#222222" foreground="#F8F8F2" name="text"/>
34
+ <!--style foreground="#465457" name="def:comment"/-->
35
+ <style background="#3e3d32" name="current-line"/>
36
+ <style background="#2a2a2a" foreground="#bcbca7" name="line-numbers"/>
37
+
38
+ <style name="def:title" scale="2.0" bold="true" />
39
+ <style name="def:hyperlink" foreground="lightblue" bold="true" />
40
+ <style name="def:heading0" scale="5.0" bold="true" foreground="heading" />
41
+ <style name="def:heading1" scale="1.75" bold="true" foreground="heading" />
42
+ <style name="def:heading2" scale="1.5" bold="true" foreground="heading" />
43
+ <style name="def:heading3" scale="1.25" bold="true" foreground="heading" />
44
+ <style name="def:heading4" scale="1.175" bold="true" foreground="heading" />
45
+ <style name="def:heading5" scale="1.1" bold="true" foreground="heading" />
46
+ <style name="def:heading6" scale="1.0" bold="true" foreground="heading" />
47
+
48
+ </style-scheme>
49
+
data/vimamsa.gemspec CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
10
10
  spec.email = ["sami.sieranoja@gmail.com"]
11
11
 
12
12
  spec.summary = %q{Vimamsa}
13
- spec.description = %q{Vimamsa.}
13
+ spec.description = %q{Vi/Vim -inspired experimental GUI-oriented text editor written with Ruby and GTK.}
14
14
  spec.homepage = "https://github.com/SamiSieranoja/vimamsa"
15
15
 
16
16
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
21
21
  spec.require_paths = ["lib","ext"]
22
22
 
23
23
  spec.add_development_dependency "bundler", "~> 1.16"
24
- spec.add_development_dependency "rake", "~> 10.0"
24
+ spec.add_development_dependency "rake", "~> 13.0"
25
25
 
26
26
  spec.add_runtime_dependency 'rufo', '~> 0.5'
27
27
 
@@ -29,9 +29,11 @@ Gem::Specification.new do |spec|
29
29
  spec.add_runtime_dependency 'ripl-multi_line', '~> 0.3.1'
30
30
  spec.add_runtime_dependency 'gdk3', '~> 3.4'
31
31
  spec.add_runtime_dependency 'gtk3', '~> 3.4'
32
+ spec.add_runtime_dependency 'differ', '~> 0.1'
32
33
  spec.add_runtime_dependency 'gtksourceview3', '~> 3.4'
33
34
  # spec.add_runtime_dependency 'gtksourceview4'
34
35
  spec.add_runtime_dependency 'parallel', '~> 1.14'
36
+ spec.add_runtime_dependency 'listen', '~> 3.4'
35
37
 
36
38
  spec.extensions = ["ext/vmaext/extconf.rb"]
37
39
  spec.licenses = ['GPL-3.0+']
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vimamsa
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sami Sieranoja
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-03-14 00:00:00.000000000 Z
11
+ date: 2021-03-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '13.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '10.0'
40
+ version: '13.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rufo
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -108,6 +108,20 @@ dependencies:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
110
  version: '3.4'
111
+ - !ruby/object:Gem::Dependency
112
+ name: differ
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '0.1'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '0.1'
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: gtksourceview3
113
127
  requirement: !ruby/object:Gem::Requirement
@@ -136,26 +150,69 @@ dependencies:
136
150
  - - "~>"
137
151
  - !ruby/object:Gem::Version
138
152
  version: '1.14'
139
- description: Vimamsa.
153
+ - !ruby/object:Gem::Dependency
154
+ name: listen
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '3.4'
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: '3.4'
167
+ description: Vi/Vim -inspired experimental GUI-oriented text editor written with Ruby
168
+ and GTK.
140
169
  email:
141
170
  - sami.sieranoja@gmail.com
142
- executables: []
171
+ executables:
172
+ - vimamsa
143
173
  extensions:
144
174
  - ext/vmaext/extconf.rb
145
175
  extra_rdoc_files: []
146
176
  files:
147
177
  - ".gitignore"
178
+ - ".vma_project"
148
179
  - Gemfile
149
180
  - README.md
150
181
  - Rakefile
151
182
  - bin/console
152
183
  - bin/setup
153
- - ext/vimamsa/extconf.rb
154
- - ext/vimamsa/vimamsa.c
184
+ - exe/vimamsa
155
185
  - ext/vmaext/extconf.rb
156
186
  - ext/vmaext/vmaext.c
187
+ - lang/hyperplaintext.lang
157
188
  - lib/vimamsa.rb
189
+ - lib/vimamsa/ack.rb
190
+ - lib/vimamsa/actions.rb
191
+ - lib/vimamsa/buffer.rb
192
+ - lib/vimamsa/buffer_list.rb
193
+ - lib/vimamsa/constants.rb
194
+ - lib/vimamsa/debug.rb
195
+ - lib/vimamsa/default_key_bindings.rb
196
+ - lib/vimamsa/easy_jump.rb
197
+ - lib/vimamsa/editor.rb
198
+ - lib/vimamsa/encrypt.rb
199
+ - lib/vimamsa/file_finder.rb
200
+ - lib/vimamsa/file_history.rb
201
+ - lib/vimamsa/file_manager.rb
202
+ - lib/vimamsa/hook.rb
203
+ - lib/vimamsa/hyper_plain_text.rb
204
+ - lib/vimamsa/key_binding_tree.rb
205
+ - lib/vimamsa/macro.rb
206
+ - lib/vimamsa/main.rb
207
+ - lib/vimamsa/rbvma.rb
208
+ - lib/vimamsa/search.rb
209
+ - lib/vimamsa/search_replace.rb
210
+ - lib/vimamsa/text_transforms.rb
211
+ - lib/vimamsa/util.rb
158
212
  - lib/vimamsa/version.rb
213
+ - styles/134272-molokai.xml
214
+ - styles/dark.xml
215
+ - styles/molokai_edit.xml
159
216
  - vimamsa.gemspec
160
217
  homepage: https://github.com/SamiSieranoja/vimamsa
161
218
  licenses:
@@ -177,8 +234,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
177
234
  - !ruby/object:Gem::Version
178
235
  version: '0'
179
236
  requirements: []
180
- rubyforge_project:
181
- rubygems_version: 2.7.6
237
+ rubygems_version: 3.1.2
182
238
  signing_key:
183
239
  specification_version: 4
184
240
  summary: Vimamsa