redcar 0.8 → 0.8.1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +7 -0
- data/Rakefile +17 -14
- data/lib/redcar.rb +2 -2
- data/plugins/document_search/lib/document_search/replace.rb +25 -23
- metadata +3 -4
- data/plugins/project/spec/fixtures/multi-byte-files/a/341/204/200/341/205/247/341/206/274/341/204/205/341/205/251/foo +0 -1
- data/plugins/project/spec/fixtures/multi-byte-files//341/204/220/341/205/246/341/204/211/341/205/263/341/204/220/341/205/263.py +0 -1
data/CHANGES
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
|
2
|
+
Version 0.8.1 (26 October 2010)
|
3
|
+
===============================
|
4
|
+
|
5
|
+
* Remove files with multi-byte names from the gem so windows rubygems is happy (Dan Lucraft)
|
6
|
+
* Replace all is a single undo operation (Steven Hancock)
|
7
|
+
|
1
8
|
Version 0.8 (26 October 2010)
|
2
9
|
=============================
|
3
10
|
|
data/Rakefile
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
REDCAR_VERSION = "0.8" # also change in lib/redcar.rb!
|
1
|
+
REDCAR_VERSION = "0.8.1" # also change in lib/redcar.rb!
|
2
2
|
require 'rubygems'
|
3
3
|
require 'fileutils'
|
4
4
|
require 'spec/rake/spectask'
|
@@ -129,6 +129,21 @@ def remove_matching_files(list, string)
|
|
129
129
|
list.reject {|entry| entry.include?(string)}
|
130
130
|
end
|
131
131
|
|
132
|
+
def gem_manifest
|
133
|
+
r = %w(CHANGES LICENSE Rakefile README.md) +
|
134
|
+
Dir.glob("bin/redcar") +
|
135
|
+
Dir.glob("config/**/*") +
|
136
|
+
Dir.glob("share/**/*") +
|
137
|
+
remove_gitignored_files(Dir.glob("lib/**/*")) +
|
138
|
+
remove_matching_files(remove_gitignored_files(Dir.glob("plugins/**/*")), "redcar-bundles") +
|
139
|
+
Dir.glob("plugins/textmate/vendor/redcar-bundles/Bundles/*.tmbundle/Syntaxes/**/*") +
|
140
|
+
Dir.glob("plugins/textmate/vendor/redcar-bundles/Bundles/*.tmbundle/Preferences/**/*") +
|
141
|
+
Dir.glob("plugins/textmate/vendor/redcar-bundles/Bundles/*.tmbundle/Snippets/**/*") +
|
142
|
+
Dir.glob("plugins/textmate/vendor/redcar-bundles/Bundles/*.tmbundle/info.plist") +
|
143
|
+
Dir.glob("plugins/textmate/vendor/redcar-bundles/Themes/*.tmTheme")
|
144
|
+
remove_matching_files(r, "multi-byte")
|
145
|
+
end
|
146
|
+
|
132
147
|
Spec = spec = Gem::Specification.new do |s|
|
133
148
|
s.name = "redcar"
|
134
149
|
s.version = REDCAR_VERSION
|
@@ -140,20 +155,8 @@ Spec = spec = Gem::Specification.new do |s|
|
|
140
155
|
s.has_rdoc = true
|
141
156
|
s.extra_rdoc_files = %w(README.md)
|
142
157
|
s.rdoc_options = %w(--main README.md)
|
143
|
-
|
144
|
-
|
145
158
|
|
146
|
-
s.files =
|
147
|
-
Dir.glob("bin/redcar") +
|
148
|
-
Dir.glob("config/**/*") +
|
149
|
-
Dir.glob("share/**/*") +
|
150
|
-
remove_gitignored_files(Dir.glob("lib/**/*")) +
|
151
|
-
remove_matching_files(remove_gitignored_files(Dir.glob("plugins/**/*")), "redcar-bundles") +
|
152
|
-
Dir.glob("plugins/textmate/vendor/redcar-bundles/Bundles/*.tmbundle/Syntaxes/**/*") +
|
153
|
-
Dir.glob("plugins/textmate/vendor/redcar-bundles/Bundles/*.tmbundle/Preferences/**/*") +
|
154
|
-
Dir.glob("plugins/textmate/vendor/redcar-bundles/Bundles/*.tmbundle/Snippets/**/*") +
|
155
|
-
Dir.glob("plugins/textmate/vendor/redcar-bundles/Bundles/*.tmbundle/info.plist") +
|
156
|
-
Dir.glob("plugins/textmate/vendor/redcar-bundles/Themes/*.tmTheme")
|
159
|
+
s.files = gem_manifest
|
157
160
|
s.executables = FileList["bin/redcar"].map { |f| File.basename(f) }
|
158
161
|
|
159
162
|
s.require_paths = ["lib"]
|
data/lib/redcar.rb
CHANGED
@@ -51,10 +51,10 @@ end
|
|
51
51
|
#
|
52
52
|
# and so on.
|
53
53
|
module Redcar
|
54
|
-
VERSION = '0.8' # also change in the Rakefile!
|
54
|
+
VERSION = '0.8.1' # also change in the Rakefile!
|
55
55
|
VERSION_MAJOR = 0
|
56
56
|
VERSION_MINOR = 8
|
57
|
-
VERSION_RELEASE =
|
57
|
+
VERSION_RELEASE = 1
|
58
58
|
|
59
59
|
ENVIRONMENTS = [:user, :debug, :test]
|
60
60
|
|
@@ -1,16 +1,16 @@
|
|
1
1
|
module DocumentSearch
|
2
2
|
class ReplaceNextCommand < Redcar::DocumentCommand
|
3
|
-
|
3
|
+
|
4
4
|
attr_reader :query, :replace, :search_method
|
5
|
-
|
5
|
+
|
6
6
|
def initialize(query, replace, search_method)
|
7
7
|
@query, @replace, @search_method = query, replace, search_method
|
8
8
|
end
|
9
|
-
|
9
|
+
|
10
10
|
def body
|
11
11
|
Search.method(search_method)
|
12
12
|
end
|
13
|
-
|
13
|
+
|
14
14
|
def execute
|
15
15
|
# The current selection is usually not used for the next replacement, unless
|
16
16
|
# it matches the query string, in which case we assume that the user meant replace it, too
|
@@ -26,10 +26,10 @@ module DocumentSearch
|
|
26
26
|
cursor_line_offset = latest_point - doc.offset_at_line(curr_line_number)
|
27
27
|
curr_line = doc.get_line(curr_line_number)
|
28
28
|
line_seg = curr_line[cursor_line_offset..-1]
|
29
|
-
|
29
|
+
|
30
30
|
# Call the search method passed by the caller
|
31
31
|
new_line, startoff, endoff = body.call(line_seg, query, replace)
|
32
|
-
|
32
|
+
|
33
33
|
# The passed in method returns the string replacement or nil
|
34
34
|
if new_line
|
35
35
|
# Add the replacment to the end of the line, and then replace in the document
|
@@ -39,7 +39,7 @@ module DocumentSearch
|
|
39
39
|
doc.set_selection_range(cursor_line_offset + line_offset + startoff, cursor_line_offset + line_offset + endoff)
|
40
40
|
return 1
|
41
41
|
end
|
42
|
-
|
42
|
+
|
43
43
|
#Look at the rest of the lines starting at the next line
|
44
44
|
start_line = doc.cursor_line
|
45
45
|
(start_line+1..doc.line_count-1).each do |i|
|
@@ -52,12 +52,12 @@ module DocumentSearch
|
|
52
52
|
return 1
|
53
53
|
end
|
54
54
|
end
|
55
|
-
|
55
|
+
|
56
56
|
#Look at the rest of the lines starting at the beginning
|
57
57
|
start_line = doc.cursor_line
|
58
58
|
(0..start_line-1).each do |i|
|
59
59
|
new_line, startoff, endoff = body.call(doc.get_line(i), query, replace)
|
60
|
-
|
60
|
+
|
61
61
|
if new_line
|
62
62
|
doc.replace_line(i, new_line.chomp)
|
63
63
|
line_offset = doc.offset_at_line(i)
|
@@ -69,34 +69,36 @@ module DocumentSearch
|
|
69
69
|
0
|
70
70
|
end
|
71
71
|
end
|
72
|
-
|
72
|
+
|
73
73
|
class ReplaceAllCommand < Redcar::DocumentCommand
|
74
|
-
|
74
|
+
|
75
75
|
attr_reader :query, :replace, :search_method
|
76
|
-
|
76
|
+
|
77
77
|
# Replace All starts at the begnning of the doc and iterates over all of the lines.
|
78
78
|
def initialize(query, replace, search_method)
|
79
79
|
@query, @replace, @search_method = query, replace, search_method
|
80
80
|
end
|
81
|
-
|
81
|
+
|
82
82
|
def body
|
83
83
|
Search.method(search_method)
|
84
84
|
end
|
85
|
-
|
85
|
+
|
86
86
|
def execute
|
87
87
|
count = 0
|
88
88
|
last_match_line = nil
|
89
89
|
startoff = nil
|
90
90
|
endoff = nil
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
91
|
+
doc.compound do
|
92
|
+
(0..(doc.line_count-1)).each do |i|
|
93
|
+
begin
|
94
|
+
line, a, b = body.call(doc.get_line(i), query, replace)
|
95
|
+
if line
|
96
|
+
startoff = a
|
97
|
+
endoff = b
|
98
|
+
last_match_line = i
|
99
|
+
doc.replace_line(i, line.chomp)
|
100
|
+
count += 1
|
101
|
+
end
|
100
102
|
end
|
101
103
|
end
|
102
104
|
end
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: redcar
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 61
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 8
|
9
|
-
|
9
|
+
- 1
|
10
|
+
version: 0.8.1
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Daniel Lucraft
|
@@ -3996,8 +3997,6 @@ files:
|
|
3996
3997
|
- plugins/project/lib/project/support/trash.rb
|
3997
3998
|
- plugins/project/lib/project.rb
|
3998
3999
|
- plugins/project/plugin.rb
|
3999
|
-
- "plugins/project/spec/fixtures/multi-byte-files/a\xE1\x84\x80\xE1\x85\xA7\xE1\x86\xBC\xE1\x84\x85\xE1\x85\xA9/foo"
|
4000
|
-
- "plugins/project/spec/fixtures/multi-byte-files/\xE1\x84\x90\xE1\x85\xA6\xE1\x84\x89\xE1\x85\xB3\xE1\x84\x90\xE1\x85\xB3.py"
|
4001
4000
|
- plugins/project/spec/fixtures/myproject/lib/foo_lib.rb
|
4002
4001
|
- plugins/project/spec/fixtures/myproject/README
|
4003
4002
|
- plugins/project/spec/fixtures/myproject/spec/foo_spec.rb
|
@@ -1 +0,0 @@
|
|
1
|
-
nonsense words
|
@@ -1 +0,0 @@
|
|
1
|
-
foofsoo
|