ruby-debug-ide 0.5.0 → 0.6.0.beta1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 19af121c63f42f580f9cda89f555474b65228761
4
- data.tar.gz: 48bde5946752e9114fcb63aab586e11eecce005a
3
+ metadata.gz: f8ed6b7923a0428da925a0e086cc8b531d3e5525
4
+ data.tar.gz: f02a6bd75cf4328743ef299063a1af56920cd623
5
5
  SHA512:
6
- metadata.gz: e4b4c1197c7ed7cb12ca07f5cb7e1b55554cf62c277f1f64b38a28593a9b44e6bc0967773cd6c02296e2c1f89441ed0eb99948973bc0741fe88659feba59ad7d
7
- data.tar.gz: 6859dd48e2f420b4ccde40ab147706cd13153db92791899eeda3dc6c2d46a61506d816cccbe242c575fba581811c03dc32bc48cd22c8fc4e09281463110228b9
6
+ metadata.gz: ec27e725695167ce4051c57975bb45bf753815df094add1e606e84cbf21dddb817e36370f1a6c456a022be989deda445b0d4998c523cb85a4e253a66208c5267
7
+ data.tar.gz: 300fac86743cf25e296e766841625bc7783e5c8cc5d893fab73fa7e3baea73e1074e83d5d32ad3ccbaa34dfbaf4fbea8435109357d4737dfb59a351fa1c82fdd
@@ -1,3 +1,9 @@
1
+ ## [master](https://github.com/ruby-debug/ruby-debug-ide/compare/v0.5.0...master)
2
+
3
+ * "file-filter on|off" command added
4
+ * "include file|dir" command added
5
+ * "exclude file|dir" command added
6
+
1
7
  ## [0.5.0](https://github.com/ruby-debug/ruby-debug-ide/compare/v0.4.33...v0.5.0)
2
8
 
3
9
  * catchpointDeleted event added (under --catchpoint-deleted-event flag)
@@ -108,9 +108,7 @@ module Debugger
108
108
  # "localhost" and nil have problems on some systems.
109
109
  host ||= '127.0.0.1'
110
110
  server = TCPServer.new(host, port)
111
- gem_name = (defined?(JRUBY_VERSION) || RUBY_VERSION < '1.9.0') ? 'ruby-debug-base' :
112
- RUBY_VERSION < '2.0.0' ? 'ruby-debug-base19x' : 'debase'
113
- $stderr.printf "Fast Debugger (ruby-debug-ide #{IDE_VERSION}, #{gem_name} #{VERSION}) listens on #{host}:#{port}\n"
111
+ print_greeting_msg(host, port)
114
112
  notify_dispatcher(port) if notify_dispatcher
115
113
 
116
114
  while (session = server.accept)
@@ -138,8 +136,26 @@ module Debugger
138
136
  end
139
137
  end
140
138
 
139
+ def print_greeting_msg(host, port)
140
+ base_gem_name = if defined?(JRUBY_VERSION) || RUBY_VERSION < '1.9.0'
141
+ 'ruby-debug-base'
142
+ elsif RUBY_VERSION < '2.0.0'
143
+ 'ruby-debug-base19x'
144
+ else
145
+ 'debase'
146
+ end
147
+
148
+ file_filtering_support = if Command.file_filter_supported?
149
+ 'supported'
150
+ else
151
+ 'not supported'
152
+ end
153
+ $stderr.printf "Fast Debugger (ruby-debug-ide #{IDE_VERSION}, #{base_gem_name} #{VERSION}, file filtering is #{file_filtering_support}) listens on #{host}:#{port}\n"
154
+ end
155
+
141
156
  private
142
157
 
158
+
143
159
  def notify_dispatcher(port)
144
160
  return unless ENV['IDE_PROCESS_DISPATCHER']
145
161
  acceptor_host, acceptor_port = ENV['IDE_PROCESS_DISPATCHER'].split(":")
@@ -70,6 +70,10 @@ module Debugger
70
70
  $1 + "\n" * ($2.size / 2)
71
71
  end.gsub(/\\\\/, '\\')
72
72
  end
73
+
74
+ def file_filter_supported?
75
+ defined?(Debugger.file_filter)
76
+ end
73
77
  end
74
78
 
75
79
  def initialize(state, printer)
@@ -145,7 +149,21 @@ module Debugger
145
149
 
146
150
  def get_context(thnum)
147
151
  Debugger.contexts.find{|c| c.thnum == thnum}
148
- end
152
+ end
153
+
154
+ def realpath(filename)
155
+ is_dir = filename.end_with?(File::SEPARATOR)
156
+ if filename.index(File::SEPARATOR) || File::ALT_SEPARATOR && filename.index(File::ALT_SEPARATOR)
157
+ filename = File.expand_path(filename)
158
+ end
159
+ if (RUBY_VERSION < '1.9') || (RbConfig::CONFIG['host_os'] =~ /mswin/)
160
+ filename
161
+ else
162
+ filename = File.realpath(filename) rescue filename
163
+ filename = filename + File::SEPARATOR if is_dir && !filename.end_with?(File::SEPARATOR)
164
+ filename
165
+ end
166
+ end
149
167
  end
150
168
 
151
169
  Command.load_commands
@@ -62,17 +62,6 @@ module Debugger
62
62
  }
63
63
  end
64
64
  end
65
-
66
- private
67
- def realpath(filename)
68
- filename = File.expand_path(filename) if filename.index(File::SEPARATOR) || \
69
- File::ALT_SEPARATOR && filename.index(File::ALT_SEPARATOR)
70
- if (RUBY_VERSION < '1.9') || (RbConfig::CONFIG['host_os'] =~ /mswin/)
71
- filename
72
- else
73
- File.realpath(filename) rescue filename
74
- end
75
- end
76
65
  end
77
66
 
78
67
  class BreakpointsCommand < Command # :nodoc:
@@ -0,0 +1,107 @@
1
+ module Debugger
2
+ class IncludeFile < Command # :nodoc:
3
+ self.control = true
4
+
5
+ def regexp
6
+ / ^\s*include\s+(.+?)\s*$/x
7
+ end
8
+
9
+ def execute
10
+ file = @match[1]
11
+
12
+ return if file.nil?
13
+ file = realpath(file)
14
+
15
+ if Command.file_filter_supported?
16
+ Debugger.file_filter.include(file)
17
+ print_file_included(file)
18
+ else
19
+ print_debug("file filter is not supported")
20
+ end
21
+ end
22
+
23
+ class << self
24
+ def help_command
25
+ 'include'
26
+ end
27
+
28
+ def help(cmd)
29
+ %{
30
+ include file - adds file/dir to file filter (either remove already excluded or add as included)
31
+ }
32
+ end
33
+ end
34
+ end
35
+
36
+ class ExcludeFile < Command # :nodoc:
37
+ self.control = true
38
+
39
+ def regexp
40
+ / ^\s*exclude\s+(.+?)\s*$/x
41
+ end
42
+
43
+ def execute
44
+ file = @match[1]
45
+
46
+ return if file.nil?
47
+ file = realpath(file)
48
+
49
+ if Command.file_filter_supported?
50
+ Debugger.file_filter.exclude(file)
51
+ print_file_excluded(file)
52
+ else
53
+ print_debug("file filter is not supported")
54
+ end
55
+ end
56
+
57
+ class << self
58
+ def help_command
59
+ 'include'
60
+ end
61
+
62
+ def help(cmd)
63
+ %{
64
+ exclude file - exclude file/dir from file filter (either remove already included or add as exclude)
65
+ }
66
+ end
67
+ end
68
+ end
69
+
70
+ class FileFilterCommand < Command # :nodoc:
71
+ self.control = true
72
+
73
+ def regexp
74
+ / ^\s*file-filter\s+(on|off)\s*$/x
75
+ end
76
+
77
+ def execute
78
+ action = @match[1]
79
+
80
+ if Command.file_filter_supported?
81
+ if 'on' == action
82
+ Debugger.file_filter.enable
83
+ print_file_filter_status(true)
84
+ elsif 'off' == action
85
+ Debugger.file_filter.disable
86
+ print_file_filter_status(false)
87
+ else
88
+ print_error "Unknown option '#{action}'"
89
+ end
90
+ else
91
+ print_debug("file filter is not supported")
92
+ end
93
+ end
94
+
95
+ class << self
96
+ def help_command
97
+ 'file-filter'
98
+ end
99
+
100
+ def help(cmd)
101
+ %{
102
+ file-filter (on|off) - enable/disable file filtering
103
+ }
104
+ end
105
+ end
106
+ end
107
+ end
@@ -1,3 +1,3 @@
1
1
  module Debugger
2
- IDE_VERSION='0.5.0'
2
+ IDE_VERSION='0.6.0.beta1'
3
3
  end
@@ -184,6 +184,18 @@ module Debugger
184
184
  CGI.escapeHTML(name), kind, CGI.escapeHTML(safe_to_string(value)))
185
185
  end
186
186
 
187
+ def print_file_included(file)
188
+ print("<fileIncluded file=\"%s\"/>", file)
189
+ end
190
+
191
+ def print_file_excluded(file)
192
+ print("<fileExcluded file=\"%s\"/>", file)
193
+ end
194
+
195
+ def print_file_filter_status(status)
196
+ print("<fileFilter status=\"%s\"/>", status)
197
+ end
198
+
187
199
  def print_breakpoints(breakpoints)
188
200
  print_element 'breakpoints' do
189
201
  breakpoints.sort_by{|b| b.id }.each do |b|
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-debug-ide
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Markus Barchfeld, Martin Krauskopf, Mark Moseley, JetBrains RubyMine Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-24 00:00:00.000000000 Z
11
+ date: 2015-08-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -50,6 +50,7 @@ files:
50
50
  - lib/ruby-debug-ide/commands/enable.rb
51
51
  - lib/ruby-debug-ide/commands/eval.rb
52
52
  - lib/ruby-debug-ide/commands/expression_info.rb
53
+ - lib/ruby-debug-ide/commands/file_filtering.rb
53
54
  - lib/ruby-debug-ide/commands/frame.rb
54
55
  - lib/ruby-debug-ide/commands/inspect.rb
55
56
  - lib/ruby-debug-ide/commands/jump.rb
@@ -84,9 +85,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
84
85
  version: 1.8.2
85
86
  required_rubygems_version: !ruby/object:Gem::Requirement
86
87
  requirements:
87
- - - ">="
88
+ - - ">"
88
89
  - !ruby/object:Gem::Version
89
- version: '0'
90
+ version: 1.3.1
90
91
  requirements: []
91
92
  rubyforge_project: debug-commons
92
93
  rubygems_version: 2.4.4