milkode 1.2.0 → 1.3.0
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/HISTORY.ja.rdoc +12 -0
- data/HISTORY.rdoc +12 -0
- data/VERSION +1 -1
- data/bin/gmilk +1 -1
- data/bin/milk +1 -1
- data/lib/milkode/cdstk/cdstk.rb +14 -0
- data/lib/milkode/cdweb/app.rb +19 -2
- data/lib/milkode/cdweb/lib/coderay_html2.rb +12 -6
- data/lib/milkode/cdweb/lib/coderay_wrapper.rb +6 -3
- data/lib/milkode/cdweb/lib/command.rb +8 -5
- data/lib/milkode/cdweb/lib/database.rb +4 -0
- data/lib/milkode/cdweb/lib/search_contents.rb +2 -2
- data/lib/milkode/cdweb/lib/search_fuzzy_gotoline.rb +1 -1
- data/lib/milkode/cdweb/lib/search_gotoline.rb +1 -1
- data/lib/milkode/cdweb/public/css/coderay-patch.css +2 -2
- data/lib/milkode/cdweb/views/milkode.scss +1 -1
- data/lib/milkode/common/util.rb +56 -13
- data/lib/milkode/database/updater.rb +11 -12
- data/milkode.gemspec +11 -12
- data/test/test_cdweb_app.rb +36 -0
- data/test/test_util.rb +25 -6
- metadata +227 -239
data/HISTORY.ja.rdoc
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
=== 1.3.0 2013/10/28
|
2
|
+
|
3
|
+
* milk web
|
4
|
+
* Highlight keywords
|
5
|
+
* Add github button if package is github repository
|
6
|
+
* Touch update time if exist update file only
|
7
|
+
* Add test case
|
8
|
+
|
9
|
+
* milk
|
10
|
+
* GitHub repository check in 'milk update'
|
11
|
+
* Improve to not stop the package directory even if there is no
|
12
|
+
|
1
13
|
=== 1.2.0 2013/08/07
|
2
14
|
|
3
15
|
* milk web
|
data/HISTORY.rdoc
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
=== 1.3.0 2013/10/28
|
2
|
+
|
3
|
+
* milk web
|
4
|
+
* Highlight keywords
|
5
|
+
* Add github button if package is github repository
|
6
|
+
* Touch update time if exist update file only
|
7
|
+
* Add test case
|
8
|
+
|
9
|
+
* milk
|
10
|
+
* GitHub repository check in 'milk update'
|
11
|
+
* Improve to not stop the package directory even if there is no
|
12
|
+
|
1
13
|
=== 1.2.0 2013/08/07
|
2
14
|
|
3
15
|
* milk web
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.3.0
|
data/bin/gmilk
CHANGED
data/bin/milk
CHANGED
data/lib/milkode/cdstk/cdstk.rb
CHANGED
@@ -1136,6 +1136,20 @@ EOF
|
|
1136
1136
|
|
1137
1137
|
updater.exec
|
1138
1138
|
|
1139
|
+
# Is github repository ?
|
1140
|
+
if Util::exist_command?('git') && File.exist?(File.join(package.directory, ".git"))
|
1141
|
+
repo_name = Dir.chdir(package.directory) { Util::github_repo(`git config --get remote.origin.url`) }
|
1142
|
+
|
1143
|
+
if repo_name && repo_name != package.options[:github]
|
1144
|
+
dst = package.options
|
1145
|
+
dst[:github] = repo_name
|
1146
|
+
package.set_options(dst)
|
1147
|
+
@yaml.update(package)
|
1148
|
+
@yaml.save
|
1149
|
+
alert("github", repo_name)
|
1150
|
+
end
|
1151
|
+
end
|
1152
|
+
|
1139
1153
|
@package_count += 1
|
1140
1154
|
@file_count += updater.result.file_count
|
1141
1155
|
@add_count += updater.result.add_count
|
data/lib/milkode/cdweb/app.rb
CHANGED
@@ -44,7 +44,7 @@ end
|
|
44
44
|
get '/' do
|
45
45
|
if Database.validate?
|
46
46
|
@setting = WebSetting.new
|
47
|
-
@version = "1.
|
47
|
+
@version = "1.3.0"
|
48
48
|
|
49
49
|
@package_num = Database.instance.yaml_package_num
|
50
50
|
@file_num = Database.instance.totalRecords
|
@@ -378,9 +378,26 @@ EOF
|
|
378
378
|
end
|
379
379
|
end
|
380
380
|
|
381
|
+
def goto_github_project(path)
|
382
|
+
return "" if (path == "")
|
383
|
+
|
384
|
+
paths = path.split('/')
|
385
|
+
package = Database.instance.yaml_package(paths[0])
|
386
|
+
return "" unless package.options[:github]
|
387
|
+
|
388
|
+
image_href = 'https://raw.github.com/github/media/master/octocats/blacktocat-16.png'
|
389
|
+
url = "https://github.com/#{package.options[:github]}"
|
390
|
+
|
391
|
+
if (paths.size == 1)
|
392
|
+
"<a href='#{url}' target=\"_blank\"><img src='#{image_href}'></img></a>"
|
393
|
+
else
|
394
|
+
"<a href='#{url}/tree/master/#{paths[1..-1].join('/')}' target=\"_blank\"><img src='#{image_href}'></img></a>"
|
395
|
+
end
|
396
|
+
end
|
397
|
+
|
381
398
|
# .search-summary に追加情報を表示したい時はこの関数をオーバーライド
|
382
399
|
def search_summary_hook(path)
|
383
|
-
|
400
|
+
goto_github_project(path)
|
384
401
|
end
|
385
402
|
end
|
386
403
|
|
@@ -7,6 +7,7 @@
|
|
7
7
|
|
8
8
|
require 'rubygems'
|
9
9
|
require 'rack'
|
10
|
+
require 'milkode/common/util'
|
10
11
|
|
11
12
|
module CodeRay
|
12
13
|
module Encoders
|
@@ -46,22 +47,27 @@ module Encoders
|
|
46
47
|
end
|
47
48
|
|
48
49
|
def ornament_line_attr(options)
|
49
|
-
# p options
|
50
50
|
line_number = options[:line_number_start]
|
51
|
-
|
52
51
|
lines = @out.split("\n")
|
53
52
|
|
54
53
|
lines.map{|l|
|
55
54
|
line_number += 1
|
56
|
-
|
55
|
+
line_attr(l, line_number - 1, options)
|
57
56
|
}.join("\n") + "\n"
|
58
57
|
end
|
59
58
|
|
60
|
-
def line_attr(no,
|
59
|
+
def line_attr(line, no, options)
|
60
|
+
# p options
|
61
|
+
is_highlight = true if options[:highlight_lines].include?(no)
|
62
|
+
|
61
63
|
r = []
|
62
64
|
r << "id=\"n#{no}\""
|
63
|
-
r << "class=\"highlight-line\"" if
|
64
|
-
r.join(" ")
|
65
|
+
r << "class=\"highlight-line\"" if is_highlight
|
66
|
+
attr = r.join(" ")
|
67
|
+
|
68
|
+
line = Milkode::Util::highlight_keywords(line, options[:keywords], 'highlight-filename') if is_highlight
|
69
|
+
|
70
|
+
"<span #{attr}>#{line}</span>"
|
65
71
|
end
|
66
72
|
|
67
73
|
# [ref] CodeRay::Encoders::Numberling#number! (coderay-1.0.5/lib/coderay/encoders/numbering.rb:8)
|
@@ -17,12 +17,13 @@ module Milkode
|
|
17
17
|
attr_reader :line_number_start
|
18
18
|
attr_reader :highlight_lines
|
19
19
|
|
20
|
-
def initialize(content, filename, match_lines = [])
|
20
|
+
def initialize(content, filename, match_lines = [], keywords = [])
|
21
21
|
@content = content
|
22
22
|
@filename = filename
|
23
23
|
@match_lines = match_lines
|
24
24
|
@highlight_lines = match_lines.map{|v|v.index+1}
|
25
25
|
@line_number_start = 1
|
26
|
+
@keywords = keywords
|
26
27
|
end
|
27
28
|
|
28
29
|
def col_limit(limit_num)
|
@@ -59,7 +60,8 @@ module Milkode
|
|
59
60
|
:line_number_start => @line_number_start,
|
60
61
|
:line_number_anchors => false,
|
61
62
|
:onclick_copy_line_number => true,
|
62
|
-
:onclick_copy_prefix => "/#{@filename}:"
|
63
|
+
:onclick_copy_prefix => "/#{@filename}:",
|
64
|
+
:keywords => @keywords
|
63
65
|
)
|
64
66
|
end
|
65
67
|
|
@@ -72,7 +74,8 @@ module Milkode
|
|
72
74
|
:highlight_lines => @highlight_lines,
|
73
75
|
:line_number_start => @line_number_start,
|
74
76
|
:line_number_anchors => 'n',
|
75
|
-
:line_number_anchor_url => url
|
77
|
+
:line_number_anchor_url => url,
|
78
|
+
:keywords => @keywords
|
76
79
|
)
|
77
80
|
end
|
78
81
|
|
@@ -23,8 +23,8 @@ module Milkode
|
|
23
23
|
|
24
24
|
q = params[:query] && Query.new(params[:query])
|
25
25
|
|
26
|
-
if (Util::larger_than_oneline(record.content)
|
27
|
-
if Util::gotoline_keyword?
|
26
|
+
if (Util::larger_than_oneline(record.content) && q && !q.keywords.empty?)
|
27
|
+
if Util::gotoline_keyword?(q.keywords[0])
|
28
28
|
gotolines = Util::parse_gotoline(q.keywords)
|
29
29
|
match_lines = []
|
30
30
|
gotolines.each do |v|
|
@@ -32,19 +32,22 @@ module Milkode
|
|
32
32
|
match_lines << Grep::MatchLineResult.new(v[1] - 1, nil)
|
33
33
|
end
|
34
34
|
end
|
35
|
-
|
35
|
+
# TestCdwebApp#t_view_gotoline
|
36
|
+
@record_content = CodeRayWrapper.new(record.content, record.shortpath, match_lines, q.keywords).to_html
|
36
37
|
else
|
37
38
|
grep = Grep.new(record.content)
|
38
39
|
match_lines = grep.match_lines_and(q.keywords, is_sensitive, q.wide_match_range)
|
39
40
|
|
40
41
|
if match_lines.empty? && q.wide_match_range_empty?
|
41
|
-
#
|
42
|
+
# Expand search range
|
42
43
|
match_lines = grep.match_lines_and(q.keywords, is_sensitive, 7)
|
43
44
|
end
|
44
45
|
|
45
|
-
|
46
|
+
# TestCdwebApp#t_view_with_query
|
47
|
+
@record_content = CodeRayWrapper.new(record.content, record.shortpath, match_lines, q.keywords).to_html
|
46
48
|
end
|
47
49
|
else
|
50
|
+
# TestCdwebApp#t_view_simple
|
48
51
|
@record_content = CodeRayWrapper.new(record.content, record.shortpath).to_html
|
49
52
|
end
|
50
53
|
|
@@ -49,7 +49,7 @@ module Milkode
|
|
49
49
|
# gotolineモード (test_cdstk.rb:55)
|
50
50
|
if @match_records.empty? && recommended_fuzzy_gotoline?
|
51
51
|
# 専用の Searcher を作成
|
52
|
-
@searcher_fuzzy_gotoline = SearchFuzzyGotoLine.new(@path, @params, @q)
|
52
|
+
@searcher_fuzzy_gotoline = SearchFuzzyGotoLine.new(@path, @params, @q, @suburl)
|
53
53
|
|
54
54
|
# 結果をコピーする
|
55
55
|
@total_records = @searcher_fuzzy_gotoline.total_records
|
@@ -309,7 +309,7 @@ EOF
|
|
309
309
|
last_index = match_group[-1].match_line.index + NTH
|
310
310
|
match_lines = match_group.map{|m| m.match_line}
|
311
311
|
|
312
|
-
coderay = CodeRayWrapper.new(record.content, record.shortpath, match_lines)
|
312
|
+
coderay = CodeRayWrapper.new(record.content, record.shortpath, match_lines, @q.keywords)
|
313
313
|
coderay.col_limit(COL_LIMIT)
|
314
314
|
coderay.set_range(first_index..last_index)
|
315
315
|
|
@@ -122,7 +122,7 @@ EOF
|
|
122
122
|
last_index = match_group[-1].match_line.index + NTH
|
123
123
|
match_lines = match_group.map{|m| m.match_line}
|
124
124
|
|
125
|
-
coderay = CodeRayWrapper.new(record.content, record.shortpath, match_lines)
|
125
|
+
coderay = CodeRayWrapper.new(record.content, record.shortpath, match_lines, @q.keywords)
|
126
126
|
coderay.col_limit(COL_LIMIT)
|
127
127
|
coderay.set_range(first_index..last_index)
|
128
128
|
|
@@ -111,7 +111,7 @@ EOF
|
|
111
111
|
last_index = match_group[-1].match_line.index + NTH
|
112
112
|
match_lines = match_group.map{|m| m.match_line}
|
113
113
|
|
114
|
-
coderay = CodeRayWrapper.new(record.content, record.shortpath, match_lines)
|
114
|
+
coderay = CodeRayWrapper.new(record.content, record.shortpath, match_lines, @q.keywords)
|
115
115
|
coderay.col_limit(COL_LIMIT)
|
116
116
|
coderay.set_range(first_index..last_index)
|
117
117
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/* for CodeRay */
|
2
|
-
.CodeRay .highlight-line { background-color: #
|
3
|
-
.CodeRay .select-line { background-color: #
|
2
|
+
.CodeRay .highlight-line { background-color: #f5f7f9; }
|
3
|
+
.CodeRay .select-line { background-color: #d7e8fe; }
|
4
4
|
|
5
5
|
/* html_anchor */
|
6
6
|
.match-num { font-size: 13px; font-weight: bold; }
|
data/lib/milkode/common/util.rb
CHANGED
@@ -243,26 +243,69 @@ module Milkode
|
|
243
243
|
end
|
244
244
|
|
245
245
|
def highlight_keywords(src, keywords, css_class)
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
246
|
+
# Init highlight_map
|
247
|
+
hightlight_map = Array.new(src.length, nil)
|
248
|
+
|
249
|
+
keywords.each do |keyword|
|
250
|
+
pos = 0
|
251
|
+
|
252
|
+
loop do
|
253
|
+
r = src.match(/#{keyword}/i, pos) do |m|
|
254
|
+
s = m.begin(0)
|
255
|
+
l = keyword.length
|
256
|
+
e = s+l
|
257
|
+
(s...e).each {|i| hightlight_map[i] = 1 }
|
258
|
+
pos = e
|
259
|
+
end
|
260
|
+
|
261
|
+
break if r.nil?
|
262
|
+
end
|
250
263
|
end
|
251
|
-
end
|
252
264
|
|
253
|
-
|
254
|
-
|
265
|
+
# Delete html tag
|
266
|
+
index = 0
|
267
|
+
in_tag = false
|
268
|
+
src.each_char do |char|
|
269
|
+
in_tag = true if char == '<'
|
270
|
+
hightlight_map[index] = nil if in_tag
|
271
|
+
in_tag = false if char == '>'
|
272
|
+
index += 1
|
273
|
+
end
|
255
274
|
|
256
|
-
|
275
|
+
# Output
|
276
|
+
result = ""
|
257
277
|
|
258
|
-
|
259
|
-
|
260
|
-
|
278
|
+
index = 0
|
279
|
+
prev = nil
|
280
|
+
src.each_char do |char|
|
281
|
+
current = hightlight_map[index]
|
282
|
+
|
283
|
+
if prev.nil? && current
|
284
|
+
result += "<span class='#{css_class}'>"
|
285
|
+
elsif prev && current.nil?
|
286
|
+
result += "</span>"
|
261
287
|
end
|
288
|
+
|
289
|
+
result += char
|
290
|
+
|
291
|
+
index += 1
|
292
|
+
prev = current
|
262
293
|
end
|
263
|
-
|
264
|
-
|
294
|
+
result += "</span>" if prev
|
295
|
+
|
296
|
+
result
|
265
297
|
end
|
298
|
+
|
299
|
+
def github_repo(src)
|
300
|
+
if src.match(/\Agit@github\.com:(.*)\.git\Z/)
|
301
|
+
$1
|
302
|
+
elsif src.match(/\A\w+:\/\/github\.com\/(.*)\.git\Z/)
|
303
|
+
$1
|
304
|
+
else
|
305
|
+
nil
|
306
|
+
end
|
307
|
+
end
|
308
|
+
|
266
309
|
end
|
267
310
|
end
|
268
311
|
|
@@ -1,13 +1,8 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
|
-
#
|
3
|
-
# @file
|
4
|
-
# @brief
|
5
|
-
# @author ongaeshi
|
6
|
-
# @date 2012/09/15
|
7
|
-
|
8
2
|
require 'milkode/database/groonga_database'
|
9
3
|
require 'milkode/common/grenfiletest'
|
10
4
|
require 'milkode/common/ignore_checker'
|
5
|
+
require 'milkode/common/util'
|
11
6
|
require 'kconv'
|
12
7
|
|
13
8
|
module Milkode
|
@@ -27,12 +22,12 @@ module Milkode
|
|
27
22
|
def exec
|
28
23
|
# git pull
|
29
24
|
if @options[:update_with_git_pull]
|
30
|
-
Dir.chdir(@package.directory) { system("git pull") }
|
25
|
+
Dir.chdir(@package.directory) { system("git pull") } if File.exist?(@package.directory)
|
31
26
|
end
|
32
27
|
|
33
28
|
# svn update
|
34
29
|
if @options[:update_with_svn_update]
|
35
|
-
Dir.chdir(@package.directory) { system("svn update") }
|
30
|
+
Dir.chdir(@package.directory) { system("svn update") } if File.exist?(@package.directory)
|
36
31
|
end
|
37
32
|
|
38
33
|
# Add global .gitignore
|
@@ -50,16 +45,16 @@ module Milkode
|
|
50
45
|
|
51
46
|
# ctags
|
52
47
|
if @options[:update_with_ctags]
|
53
|
-
Dir.chdir(@package.directory) { system("ctags -R") }
|
48
|
+
Dir.chdir(@package.directory) { system("ctags -R") } if File.exist?(@package.directory)
|
54
49
|
end
|
55
50
|
|
56
51
|
# ctags -e
|
57
52
|
if @options[:update_with_ctags_e]
|
58
|
-
Dir.chdir(@package.directory) { system("ctags -R -e") }
|
53
|
+
Dir.chdir(@package.directory) { system("ctags -R -e") } if File.exist?(@package.directory)
|
59
54
|
end
|
60
55
|
|
61
|
-
#
|
62
|
-
@grndb.packages.touch(@package_name, :updatetime)
|
56
|
+
# Update time
|
57
|
+
@grndb.packages.touch(@package_name, :updatetime) if @result.exist_update?
|
63
58
|
end
|
64
59
|
|
65
60
|
def set_package_ignore(ignore_setting)
|
@@ -124,6 +119,10 @@ module Milkode
|
|
124
119
|
def inc_update_count
|
125
120
|
@update_count += 1
|
126
121
|
end
|
122
|
+
|
123
|
+
def exist_update?
|
124
|
+
@add_count > 0 || @update_count > 0
|
125
|
+
end
|
127
126
|
end
|
128
127
|
|
129
128
|
class ResultAccumulator
|
data/milkode.gemspec
CHANGED
@@ -4,14 +4,14 @@
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
8
|
-
s.version = "1.
|
7
|
+
s.name = "milkode"
|
8
|
+
s.version = "1.3.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["ongaeshi"]
|
12
|
-
s.date =
|
13
|
-
s.description =
|
14
|
-
s.email =
|
12
|
+
s.date = "2013-10-28"
|
13
|
+
s.description = "Line based local source code search engine & grep-command & web-app."
|
14
|
+
s.email = "ongaeshi0621@gmail.com"
|
15
15
|
s.executables = ["gmilk", "milk"]
|
16
16
|
s.extra_rdoc_files = [
|
17
17
|
"LICENSE.txt",
|
@@ -196,18 +196,17 @@ Gem::Specification.new do |s|
|
|
196
196
|
"test/test_wide_matcher.rb",
|
197
197
|
"test/test_yaml_file_wrapper.rb"
|
198
198
|
]
|
199
|
-
s.homepage =
|
199
|
+
s.homepage = "http://github.com/ongaeshi/milkode"
|
200
200
|
s.licenses = ["MIT"]
|
201
201
|
s.require_paths = ["lib"]
|
202
|
-
s.rubygems_version =
|
203
|
-
s.summary =
|
202
|
+
s.rubygems_version = "1.8.23"
|
203
|
+
s.summary = "Line based local source code search engine & grep-command & web-app."
|
204
204
|
|
205
205
|
if s.respond_to? :specification_version then
|
206
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
207
206
|
s.specification_version = 3
|
208
207
|
|
209
208
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
210
|
-
s.add_runtime_dependency(%q<termcolor>, ["
|
209
|
+
s.add_runtime_dependency(%q<termcolor>, ["< 1.2.2", ">= 1.2.0"])
|
211
210
|
s.add_runtime_dependency(%q<rroonga>, [">= 1.1.0"])
|
212
211
|
s.add_runtime_dependency(%q<rack>, [">= 1.5.2"])
|
213
212
|
s.add_runtime_dependency(%q<sinatra>, [">= 1.2.6"])
|
@@ -224,7 +223,7 @@ Gem::Specification.new do |s|
|
|
224
223
|
s.add_development_dependency(%q<sinatra-reloader>, [">= 0"])
|
225
224
|
s.add_development_dependency(%q<test-unit>, [">= 2.5.4"])
|
226
225
|
else
|
227
|
-
s.add_dependency(%q<termcolor>, ["
|
226
|
+
s.add_dependency(%q<termcolor>, ["< 1.2.2", ">= 1.2.0"])
|
228
227
|
s.add_dependency(%q<rroonga>, [">= 1.1.0"])
|
229
228
|
s.add_dependency(%q<rack>, [">= 1.5.2"])
|
230
229
|
s.add_dependency(%q<sinatra>, [">= 1.2.6"])
|
@@ -242,7 +241,7 @@ Gem::Specification.new do |s|
|
|
242
241
|
s.add_dependency(%q<test-unit>, [">= 2.5.4"])
|
243
242
|
end
|
244
243
|
else
|
245
|
-
s.add_dependency(%q<termcolor>, ["
|
244
|
+
s.add_dependency(%q<termcolor>, ["< 1.2.2", ">= 1.2.0"])
|
246
245
|
s.add_dependency(%q<rroonga>, [">= 1.1.0"])
|
247
246
|
s.add_dependency(%q<rack>, [">= 1.5.2"])
|
248
247
|
s.add_dependency(%q<sinatra>, [">= 1.2.6"])
|
data/test/test_cdweb_app.rb
CHANGED
@@ -37,6 +37,12 @@ class TestCdwebApp < Test::Unit::TestCase
|
|
37
37
|
t_help
|
38
38
|
t_not_found
|
39
39
|
t_view_empty_file
|
40
|
+
t_view_with_query
|
41
|
+
t_view_gotoline
|
42
|
+
t_view_simple
|
43
|
+
t_search_contents
|
44
|
+
t_search_gotoline
|
45
|
+
t_search_fuzzy_gotoline
|
40
46
|
end
|
41
47
|
|
42
48
|
private
|
@@ -68,6 +74,36 @@ class TestCdwebApp < Test::Unit::TestCase
|
|
68
74
|
get '/home/a_project/empty.txt'
|
69
75
|
assert_equal 200, last_response.status # 空ファイルも表示出来るようにする
|
70
76
|
end
|
77
|
+
|
78
|
+
def t_view_with_query
|
79
|
+
get '/home/a_project/cdstk.rb?query=def'
|
80
|
+
assert_equal 200, last_response.status
|
81
|
+
end
|
82
|
+
|
83
|
+
def t_view_gotoline
|
84
|
+
get '/home/a_project/cdstk.rb?query=%2Fa_project%2Fcdstk.rb%3A9'
|
85
|
+
assert_equal 200, last_response.status
|
86
|
+
end
|
87
|
+
|
88
|
+
def t_view_simple
|
89
|
+
get '/home/a_project/cdstk.rb'
|
90
|
+
assert_equal 200, last_response.status
|
91
|
+
end
|
92
|
+
|
93
|
+
def t_search_contents
|
94
|
+
get '/home/?query=def'
|
95
|
+
assert_equal 200, last_response.status
|
96
|
+
end
|
97
|
+
|
98
|
+
def t_search_gotoline
|
99
|
+
get '/home/?query=%2Fa_project%2Fcdstk.rb%3A1&shead=package#n1'
|
100
|
+
assert_equal 200, last_response.status
|
101
|
+
end
|
102
|
+
|
103
|
+
def t_search_fuzzy_gotoline
|
104
|
+
get '/home/?query=g%3Aa_project+1&shead=package'
|
105
|
+
assert_equal 200, last_response.status
|
106
|
+
end
|
71
107
|
end
|
72
108
|
|
73
109
|
|
data/test/test_util.rb
CHANGED
@@ -27,10 +27,11 @@ class TestUtil < Test::Unit::TestCase
|
|
27
27
|
assert File.exist?('nodir_abc/c.txt')
|
28
28
|
end
|
29
29
|
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
30
|
+
# Remove because fail test on single test
|
31
|
+
# def test_root_entrylist
|
32
|
+
# assert_equal ['abc/'], Milkode::Util::root_entrylist('../data/abc.zip')
|
33
|
+
# assert_equal ['a.txt', 'b.txt', 'c.txt'], Milkode::Util::root_entrylist('../data/nodir_abc.zip')
|
34
|
+
# end
|
34
35
|
|
35
36
|
def test_platform
|
36
37
|
if (Milkode::Util::platform_osx?)
|
@@ -122,8 +123,26 @@ class TestUtil < Test::Unit::TestCase
|
|
122
123
|
assert_equal 'to/a.txt', restpath
|
123
124
|
end
|
124
125
|
|
125
|
-
|
126
|
-
|
126
|
+
def test_highlight_keywords
|
127
|
+
assert_equal "stringstr", Milkode::Util::highlight_keywords("stringstr", [], 'attr')
|
128
|
+
assert_equal "<span class='attr'>str</span>ing", Milkode::Util::highlight_keywords("string", ["str"], 'attr')
|
129
|
+
assert_equal "<span class='attr'>str</span>ing<span class='attr'>str</span>", Milkode::Util::highlight_keywords("stringstr", ["str"], 'attr')
|
130
|
+
assert_equal "<span class='attr'>stri</span>ng<span class='attr'>str</span>", Milkode::Util::highlight_keywords("stringstr", ["str", "i", "s"], 'attr')
|
131
|
+
assert_equal "abc<span class='attr'>d</span>", Milkode::Util::highlight_keywords("abcd", ["d"], 'attr')
|
132
|
+
assert_equal "<span class='attr'>日本</span>語a<span class='attr'>bc</span>dで<span class='attr'>す</span>", Milkode::Util::highlight_keywords("日本語abcdです", ["bc", "日本", "す"], 'attr')
|
133
|
+
assert_equal "<span><span class='attr'>span</span></span>", Milkode::Util::highlight_keywords("<span>span</span>", ["span"], 'attr')
|
134
|
+
end
|
135
|
+
|
136
|
+
def test_github_repo
|
137
|
+
assert_equal 'ongaeshi/firelink', Milkode::Util::github_repo('git@github.com:ongaeshi/firelink.git')
|
138
|
+
assert_equal 'ongaeshi/milkode' , Milkode::Util::github_repo('git@github.com:ongaeshi/milkode.git')
|
139
|
+
assert_equal 'ongaeshi/milkode' , Milkode::Util::github_repo('git://github.com/ongaeshi/milkode.git')
|
140
|
+
assert_equal 'ongaeshi/milkode' , Milkode::Util::github_repo('https://github.com/ongaeshi/milkode.git')
|
141
|
+
assert_equal 'ongaeshi/milkode' , Milkode::Util::github_repo('http://github.com/ongaeshi/milkode.git')
|
142
|
+
assert_equal nil , Milkode::Util::github_repo('https://ongaeshi.me/ongaeshi/milkode.git')
|
143
|
+
end
|
144
|
+
|
145
|
+
def teardown
|
127
146
|
teardown_custom(true)
|
128
147
|
# teardown_custom(false)
|
129
148
|
end
|
metadata
CHANGED
@@ -1,290 +1,288 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: milkode
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 1
|
8
|
-
- 2
|
9
|
-
- 0
|
10
|
-
version: 1.2.0
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.3.0
|
5
|
+
prerelease:
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- ongaeshi
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
22
|
-
type: :runtime
|
23
|
-
prerelease: false
|
12
|
+
date: 2013-10-28 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
24
15
|
name: termcolor
|
25
|
-
|
26
|
-
none: false
|
27
|
-
requirements:
|
28
|
-
- - ">="
|
29
|
-
- !ruby/object:Gem::Version
|
30
|
-
hash: 31
|
31
|
-
segments:
|
32
|
-
- 1
|
33
|
-
- 2
|
34
|
-
- 0
|
35
|
-
version: 1.2.0
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
36
19
|
- - <
|
37
|
-
- !ruby/object:Gem::Version
|
38
|
-
hash: 27
|
39
|
-
segments:
|
40
|
-
- 1
|
41
|
-
- 2
|
42
|
-
- 2
|
20
|
+
- !ruby/object:Gem::Version
|
43
21
|
version: 1.2.2
|
44
|
-
|
45
|
-
- !ruby/object:Gem::
|
22
|
+
- - ! '>='
|
23
|
+
- !ruby/object:Gem::Version
|
24
|
+
version: 1.2.0
|
46
25
|
type: :runtime
|
47
26
|
prerelease: false
|
27
|
+
version_requirements: !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - <
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 1.2.2
|
33
|
+
- - ! '>='
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: 1.2.0
|
36
|
+
- !ruby/object:Gem::Dependency
|
48
37
|
name: rroonga
|
49
|
-
|
50
|
-
none: false
|
51
|
-
requirements:
|
52
|
-
- -
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
hash: 19
|
55
|
-
segments:
|
56
|
-
- 1
|
57
|
-
- 1
|
58
|
-
- 0
|
38
|
+
requirement: !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
59
43
|
version: 1.1.0
|
60
|
-
requirement: *id002
|
61
|
-
- !ruby/object:Gem::Dependency
|
62
44
|
type: :runtime
|
63
45
|
prerelease: false
|
46
|
+
version_requirements: !ruby/object:Gem::Requirement
|
47
|
+
none: false
|
48
|
+
requirements:
|
49
|
+
- - ! '>='
|
50
|
+
- !ruby/object:Gem::Version
|
51
|
+
version: 1.1.0
|
52
|
+
- !ruby/object:Gem::Dependency
|
64
53
|
name: rack
|
65
|
-
|
66
|
-
none: false
|
67
|
-
requirements:
|
68
|
-
- -
|
69
|
-
- !ruby/object:Gem::Version
|
70
|
-
hash: 7
|
71
|
-
segments:
|
72
|
-
- 1
|
73
|
-
- 5
|
74
|
-
- 2
|
54
|
+
requirement: !ruby/object:Gem::Requirement
|
55
|
+
none: false
|
56
|
+
requirements:
|
57
|
+
- - ! '>='
|
58
|
+
- !ruby/object:Gem::Version
|
75
59
|
version: 1.5.2
|
76
|
-
requirement: *id003
|
77
|
-
- !ruby/object:Gem::Dependency
|
78
60
|
type: :runtime
|
79
61
|
prerelease: false
|
62
|
+
version_requirements: !ruby/object:Gem::Requirement
|
63
|
+
none: false
|
64
|
+
requirements:
|
65
|
+
- - ! '>='
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: 1.5.2
|
68
|
+
- !ruby/object:Gem::Dependency
|
80
69
|
name: sinatra
|
81
|
-
|
82
|
-
none: false
|
83
|
-
requirements:
|
84
|
-
- -
|
85
|
-
- !ruby/object:Gem::Version
|
86
|
-
hash: 19
|
87
|
-
segments:
|
88
|
-
- 1
|
89
|
-
- 2
|
90
|
-
- 6
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
71
|
+
none: false
|
72
|
+
requirements:
|
73
|
+
- - ! '>='
|
74
|
+
- !ruby/object:Gem::Version
|
91
75
|
version: 1.2.6
|
92
|
-
requirement: *id004
|
93
|
-
- !ruby/object:Gem::Dependency
|
94
76
|
type: :runtime
|
95
77
|
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
none: false
|
80
|
+
requirements:
|
81
|
+
- - ! '>='
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: 1.2.6
|
84
|
+
- !ruby/object:Gem::Dependency
|
96
85
|
name: launchy
|
97
|
-
|
98
|
-
none: false
|
99
|
-
requirements:
|
100
|
-
- -
|
101
|
-
- !ruby/object:Gem::Version
|
102
|
-
hash: 29
|
103
|
-
segments:
|
104
|
-
- 0
|
105
|
-
- 3
|
106
|
-
- 7
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
87
|
+
none: false
|
88
|
+
requirements:
|
89
|
+
- - ! '>='
|
90
|
+
- !ruby/object:Gem::Version
|
107
91
|
version: 0.3.7
|
108
|
-
requirement: *id005
|
109
|
-
- !ruby/object:Gem::Dependency
|
110
92
|
type: :runtime
|
111
93
|
prerelease: false
|
94
|
+
version_requirements: !ruby/object:Gem::Requirement
|
95
|
+
none: false
|
96
|
+
requirements:
|
97
|
+
- - ! '>='
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
version: 0.3.7
|
100
|
+
- !ruby/object:Gem::Dependency
|
112
101
|
name: coderay
|
113
|
-
|
114
|
-
none: false
|
115
|
-
requirements:
|
116
|
-
- -
|
117
|
-
- !ruby/object:Gem::Version
|
118
|
-
hash: 29
|
119
|
-
segments:
|
120
|
-
- 1
|
121
|
-
- 0
|
122
|
-
- 5
|
102
|
+
requirement: !ruby/object:Gem::Requirement
|
103
|
+
none: false
|
104
|
+
requirements:
|
105
|
+
- - ! '>='
|
106
|
+
- !ruby/object:Gem::Version
|
123
107
|
version: 1.0.5
|
124
|
-
requirement: *id006
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
108
|
type: :runtime
|
127
109
|
prerelease: false
|
110
|
+
version_requirements: !ruby/object:Gem::Requirement
|
111
|
+
none: false
|
112
|
+
requirements:
|
113
|
+
- - ! '>='
|
114
|
+
- !ruby/object:Gem::Version
|
115
|
+
version: 1.0.5
|
116
|
+
- !ruby/object:Gem::Dependency
|
128
117
|
name: thin
|
129
|
-
|
130
|
-
none: false
|
131
|
-
requirements:
|
132
|
-
- -
|
133
|
-
- !ruby/object:Gem::Version
|
134
|
-
hash: 11
|
135
|
-
segments:
|
136
|
-
- 1
|
137
|
-
- 2
|
138
|
-
- 10
|
118
|
+
requirement: !ruby/object:Gem::Requirement
|
119
|
+
none: false
|
120
|
+
requirements:
|
121
|
+
- - ! '>='
|
122
|
+
- !ruby/object:Gem::Version
|
139
123
|
version: 1.2.10
|
140
|
-
requirement: *id007
|
141
|
-
- !ruby/object:Gem::Dependency
|
142
124
|
type: :runtime
|
143
125
|
prerelease: false
|
126
|
+
version_requirements: !ruby/object:Gem::Requirement
|
127
|
+
none: false
|
128
|
+
requirements:
|
129
|
+
- - ! '>='
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: 1.2.10
|
132
|
+
- !ruby/object:Gem::Dependency
|
144
133
|
name: archive-zip
|
145
|
-
|
146
|
-
none: false
|
147
|
-
requirements:
|
148
|
-
- -
|
149
|
-
- !ruby/object:Gem::Version
|
150
|
-
hash: 15
|
151
|
-
segments:
|
152
|
-
- 0
|
153
|
-
- 4
|
154
|
-
- 0
|
134
|
+
requirement: !ruby/object:Gem::Requirement
|
135
|
+
none: false
|
136
|
+
requirements:
|
137
|
+
- - ! '>='
|
138
|
+
- !ruby/object:Gem::Version
|
155
139
|
version: 0.4.0
|
156
|
-
requirement: *id008
|
157
|
-
- !ruby/object:Gem::Dependency
|
158
140
|
type: :runtime
|
159
141
|
prerelease: false
|
142
|
+
version_requirements: !ruby/object:Gem::Requirement
|
143
|
+
none: false
|
144
|
+
requirements:
|
145
|
+
- - ! '>='
|
146
|
+
- !ruby/object:Gem::Version
|
147
|
+
version: 0.4.0
|
148
|
+
- !ruby/object:Gem::Dependency
|
160
149
|
name: haml
|
161
|
-
|
162
|
-
none: false
|
163
|
-
requirements:
|
164
|
-
- -
|
165
|
-
- !ruby/object:Gem::Version
|
166
|
-
hash: 7
|
167
|
-
segments:
|
168
|
-
- 3
|
169
|
-
- 1
|
170
|
-
- 2
|
150
|
+
requirement: !ruby/object:Gem::Requirement
|
151
|
+
none: false
|
152
|
+
requirements:
|
153
|
+
- - ! '>='
|
154
|
+
- !ruby/object:Gem::Version
|
171
155
|
version: 3.1.2
|
172
|
-
requirement: *id009
|
173
|
-
- !ruby/object:Gem::Dependency
|
174
156
|
type: :runtime
|
175
157
|
prerelease: false
|
158
|
+
version_requirements: !ruby/object:Gem::Requirement
|
159
|
+
none: false
|
160
|
+
requirements:
|
161
|
+
- - ! '>='
|
162
|
+
- !ruby/object:Gem::Version
|
163
|
+
version: 3.1.2
|
164
|
+
- !ruby/object:Gem::Dependency
|
176
165
|
name: sass
|
177
|
-
|
178
|
-
none: false
|
179
|
-
requirements:
|
180
|
-
- -
|
181
|
-
- !ruby/object:Gem::Version
|
182
|
-
hash: 5
|
183
|
-
segments:
|
184
|
-
- 3
|
185
|
-
- 1
|
186
|
-
- 3
|
166
|
+
requirement: !ruby/object:Gem::Requirement
|
167
|
+
none: false
|
168
|
+
requirements:
|
169
|
+
- - ! '>='
|
170
|
+
- !ruby/object:Gem::Version
|
187
171
|
version: 3.1.3
|
188
|
-
requirement: *id010
|
189
|
-
- !ruby/object:Gem::Dependency
|
190
172
|
type: :runtime
|
191
173
|
prerelease: false
|
174
|
+
version_requirements: !ruby/object:Gem::Requirement
|
175
|
+
none: false
|
176
|
+
requirements:
|
177
|
+
- - ! '>='
|
178
|
+
- !ruby/object:Gem::Version
|
179
|
+
version: 3.1.3
|
180
|
+
- !ruby/object:Gem::Dependency
|
192
181
|
name: thor
|
193
|
-
|
194
|
-
none: false
|
195
|
-
requirements:
|
196
|
-
- -
|
197
|
-
- !ruby/object:Gem::Version
|
198
|
-
hash: 85
|
199
|
-
segments:
|
200
|
-
- 0
|
201
|
-
- 18
|
202
|
-
- 1
|
182
|
+
requirement: !ruby/object:Gem::Requirement
|
183
|
+
none: false
|
184
|
+
requirements:
|
185
|
+
- - ! '>='
|
186
|
+
- !ruby/object:Gem::Version
|
203
187
|
version: 0.18.1
|
204
|
-
|
205
|
-
- !ruby/object:Gem::Dependency
|
206
|
-
type: :development
|
188
|
+
type: :runtime
|
207
189
|
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
none: false
|
192
|
+
requirements:
|
193
|
+
- - ! '>='
|
194
|
+
- !ruby/object:Gem::Version
|
195
|
+
version: 0.18.1
|
196
|
+
- !ruby/object:Gem::Dependency
|
208
197
|
name: bundler
|
209
|
-
|
210
|
-
none: false
|
211
|
-
requirements:
|
212
|
-
- -
|
213
|
-
- !ruby/object:Gem::Version
|
214
|
-
|
215
|
-
segments:
|
216
|
-
- 0
|
217
|
-
version: "0"
|
218
|
-
requirement: *id012
|
219
|
-
- !ruby/object:Gem::Dependency
|
198
|
+
requirement: !ruby/object:Gem::Requirement
|
199
|
+
none: false
|
200
|
+
requirements:
|
201
|
+
- - ! '>='
|
202
|
+
- !ruby/object:Gem::Version
|
203
|
+
version: '0'
|
220
204
|
type: :development
|
221
205
|
prerelease: false
|
206
|
+
version_requirements: !ruby/object:Gem::Requirement
|
207
|
+
none: false
|
208
|
+
requirements:
|
209
|
+
- - ! '>='
|
210
|
+
- !ruby/object:Gem::Version
|
211
|
+
version: '0'
|
212
|
+
- !ruby/object:Gem::Dependency
|
222
213
|
name: jeweler
|
223
|
-
|
224
|
-
none: false
|
225
|
-
requirements:
|
226
|
-
- -
|
227
|
-
- !ruby/object:Gem::Version
|
228
|
-
|
229
|
-
segments:
|
230
|
-
- 0
|
231
|
-
version: "0"
|
232
|
-
requirement: *id013
|
233
|
-
- !ruby/object:Gem::Dependency
|
214
|
+
requirement: !ruby/object:Gem::Requirement
|
215
|
+
none: false
|
216
|
+
requirements:
|
217
|
+
- - ! '>='
|
218
|
+
- !ruby/object:Gem::Version
|
219
|
+
version: '0'
|
234
220
|
type: :development
|
235
221
|
prerelease: false
|
222
|
+
version_requirements: !ruby/object:Gem::Requirement
|
223
|
+
none: false
|
224
|
+
requirements:
|
225
|
+
- - ! '>='
|
226
|
+
- !ruby/object:Gem::Version
|
227
|
+
version: '0'
|
228
|
+
- !ruby/object:Gem::Dependency
|
236
229
|
name: rack-test
|
237
|
-
|
238
|
-
none: false
|
239
|
-
requirements:
|
240
|
-
- -
|
241
|
-
- !ruby/object:Gem::Version
|
242
|
-
|
243
|
-
segments:
|
244
|
-
- 0
|
245
|
-
version: "0"
|
246
|
-
requirement: *id014
|
247
|
-
- !ruby/object:Gem::Dependency
|
230
|
+
requirement: !ruby/object:Gem::Requirement
|
231
|
+
none: false
|
232
|
+
requirements:
|
233
|
+
- - ! '>='
|
234
|
+
- !ruby/object:Gem::Version
|
235
|
+
version: '0'
|
248
236
|
type: :development
|
249
237
|
prerelease: false
|
238
|
+
version_requirements: !ruby/object:Gem::Requirement
|
239
|
+
none: false
|
240
|
+
requirements:
|
241
|
+
- - ! '>='
|
242
|
+
- !ruby/object:Gem::Version
|
243
|
+
version: '0'
|
244
|
+
- !ruby/object:Gem::Dependency
|
250
245
|
name: sinatra-reloader
|
251
|
-
|
252
|
-
none: false
|
253
|
-
requirements:
|
254
|
-
- -
|
255
|
-
- !ruby/object:Gem::Version
|
256
|
-
|
257
|
-
segments:
|
258
|
-
- 0
|
259
|
-
version: "0"
|
260
|
-
requirement: *id015
|
261
|
-
- !ruby/object:Gem::Dependency
|
246
|
+
requirement: !ruby/object:Gem::Requirement
|
247
|
+
none: false
|
248
|
+
requirements:
|
249
|
+
- - ! '>='
|
250
|
+
- !ruby/object:Gem::Version
|
251
|
+
version: '0'
|
262
252
|
type: :development
|
263
253
|
prerelease: false
|
254
|
+
version_requirements: !ruby/object:Gem::Requirement
|
255
|
+
none: false
|
256
|
+
requirements:
|
257
|
+
- - ! '>='
|
258
|
+
- !ruby/object:Gem::Version
|
259
|
+
version: '0'
|
260
|
+
- !ruby/object:Gem::Dependency
|
264
261
|
name: test-unit
|
265
|
-
|
266
|
-
none: false
|
267
|
-
requirements:
|
268
|
-
- -
|
269
|
-
- !ruby/object:Gem::Version
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
262
|
+
requirement: !ruby/object:Gem::Requirement
|
263
|
+
none: false
|
264
|
+
requirements:
|
265
|
+
- - ! '>='
|
266
|
+
- !ruby/object:Gem::Version
|
267
|
+
version: 2.5.4
|
268
|
+
type: :development
|
269
|
+
prerelease: false
|
270
|
+
version_requirements: !ruby/object:Gem::Requirement
|
271
|
+
none: false
|
272
|
+
requirements:
|
273
|
+
- - ! '>='
|
274
|
+
- !ruby/object:Gem::Version
|
275
275
|
version: 2.5.4
|
276
|
-
requirement: *id016
|
277
276
|
description: Line based local source code search engine & grep-command & web-app.
|
278
277
|
email: ongaeshi0621@gmail.com
|
279
|
-
executables:
|
278
|
+
executables:
|
280
279
|
- gmilk
|
281
280
|
- milk
|
282
281
|
extensions: []
|
283
|
-
|
284
|
-
extra_rdoc_files:
|
282
|
+
extra_rdoc_files:
|
285
283
|
- LICENSE.txt
|
286
284
|
- README.rdoc
|
287
|
-
files:
|
285
|
+
files:
|
288
286
|
- .document
|
289
287
|
- .travis.yml
|
290
288
|
- Gemfile
|
@@ -462,39 +460,29 @@ files:
|
|
462
460
|
- test/test_util.rb
|
463
461
|
- test/test_wide_matcher.rb
|
464
462
|
- test/test_yaml_file_wrapper.rb
|
465
|
-
has_rdoc: true
|
466
463
|
homepage: http://github.com/ongaeshi/milkode
|
467
|
-
licenses:
|
464
|
+
licenses:
|
468
465
|
- MIT
|
469
466
|
post_install_message:
|
470
467
|
rdoc_options: []
|
471
|
-
|
472
|
-
require_paths:
|
468
|
+
require_paths:
|
473
469
|
- lib
|
474
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
470
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
475
471
|
none: false
|
476
|
-
requirements:
|
477
|
-
- -
|
478
|
-
- !ruby/object:Gem::Version
|
479
|
-
|
480
|
-
|
481
|
-
- 0
|
482
|
-
version: "0"
|
483
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
472
|
+
requirements:
|
473
|
+
- - ! '>='
|
474
|
+
- !ruby/object:Gem::Version
|
475
|
+
version: '0'
|
476
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
484
477
|
none: false
|
485
|
-
requirements:
|
486
|
-
- -
|
487
|
-
- !ruby/object:Gem::Version
|
488
|
-
|
489
|
-
segments:
|
490
|
-
- 0
|
491
|
-
version: "0"
|
478
|
+
requirements:
|
479
|
+
- - ! '>='
|
480
|
+
- !ruby/object:Gem::Version
|
481
|
+
version: '0'
|
492
482
|
requirements: []
|
493
|
-
|
494
483
|
rubyforge_project:
|
495
|
-
rubygems_version: 1.
|
484
|
+
rubygems_version: 1.8.23
|
496
485
|
signing_key:
|
497
486
|
specification_version: 3
|
498
487
|
summary: Line based local source code search engine & grep-command & web-app.
|
499
488
|
test_files: []
|
500
|
-
|