betterp 0.1.7 → 0.1.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 501b9d46dac9e320503237bdf36b11ff4cc8fc132e38544c8983ab88a011ce02
4
- data.tar.gz: 3a7c7f5f22b2c682efd2420fdb209ff7585bcaf45d8e172d2eabaaf435037e9a
3
+ metadata.gz: 2e074e62cc8e756a7a2cb29e903cccaf7b5bae4126c91904465e3d7c7de51eb2
4
+ data.tar.gz: 134e6c230d81e457ccba7d65a4aa97b970cafdc9995a02669c1ad908c49023d6
5
5
  SHA512:
6
- metadata.gz: 1f7ced07d0ba538d63852fd208c10f5b1cc0bcc0f2748db0eb96bfec3d30d7d8b7d90d1820fcab60c13ebfc6f6e501663cfc4385dd7350ac81f287099ca104fe
7
- data.tar.gz: 28de19d8ab67d915a18c659938cd01936a6561ef8b4874e6c10983c081b94a4d448125732b0cb4d8f267d61b8cd846db4fb9fc93f90a0d9cd084da186c637823
6
+ metadata.gz: 5d5950f55103b70368c5a14de56e28c3277c30ca103101a2565de8c7bdf5752006b77f3731a4ff06d1b804e8b89687bf3af54dc2eba040c215672548e09c825e
7
+ data.tar.gz: d78d6cea46453f93b083530e22186d6adc8fd7801b3964e4f11b9c4af987b4f7cd798d6f4287823ce0d0027f9aefaa2aeb30402df72f15f80a8e2e983bfd7d70
data/Gemfile.lock CHANGED
@@ -1,8 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- betterp (0.1.7)
4
+ betterp (0.1.9)
5
5
  paintbrush (~> 0.1.3)
6
+ rouge (~> 4.2)
6
7
 
7
8
  GEM
8
9
  remote: https://rubygems.org/
data/betterp.gemspec CHANGED
@@ -27,6 +27,7 @@ Gem::Specification.new do |spec|
27
27
  spec.require_paths = ['lib']
28
28
 
29
29
  spec.add_runtime_dependency 'paintbrush', '~> 0.1.3'
30
+ spec.add_runtime_dependency 'rouge', '~> 4.2'
30
31
 
31
32
  spec.metadata['rubygems_mfa_required'] = 'true'
32
33
  end
@@ -14,10 +14,15 @@ module Betterp
14
14
  @pretty = options.fetch(:pretty, false)
15
15
  end
16
16
 
17
- def formatted(args)
17
+ def formatted(args) # rubocop:disable Metrics/MethodLength
18
18
  (@pretty ? args : args.map(&:inspect)).map do |arg|
19
19
  output = [
20
- header, colorized_prefix, colorized_duration, caller_code, colorized_pretty(arg)
20
+ header,
21
+ colorized_prefix,
22
+ colorized_duration,
23
+ highlighted(caller_code),
24
+ Paintbrush.paintbrush { cyan_b '=>' },
25
+ highlighted(pretty(arg))
21
26
  ].compact.join(' ').chomp
22
27
  "#{output}\n"
23
28
  end
@@ -25,6 +30,12 @@ module Betterp
25
30
 
26
31
  private
27
32
 
33
+ def highlighted(output)
34
+ formatter = Rouge::Formatters::Terminal256.new
35
+ lexer = Rouge::Lexers::Ruby.new
36
+ formatter.format(lexer.lex(output.nil? ? '' : output))
37
+ end
38
+
28
39
  def colorized_duration
29
40
  return nil if @duration.nil?
30
41
 
@@ -53,9 +64,7 @@ module Betterp
53
64
  path, line, *_rest = @raw.split(':')
54
65
  return nil unless Pathname.new(path).readable? && line.to_i.positive?
55
66
 
56
- Paintbrush.paintbrush do
57
- white "{ #{blue find_caller(line.to_i, path).to_s.strip} }"
58
- end
67
+ find_caller(line.to_i, path).to_s.strip
59
68
  end
60
69
 
61
70
  def find_caller(line_number, path)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Betterp
4
- VERSION = '0.1.7'
4
+ VERSION = '0.1.9'
5
5
  end
data/lib/betterp.rb CHANGED
@@ -7,6 +7,7 @@ require 'stringio'
7
7
  require 'time'
8
8
 
9
9
  require 'paintbrush'
10
+ require 'rouge'
10
11
 
11
12
  require 'kernel'
12
13
  require 'betterp/configuration'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: betterp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bob Farrell
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-10-25 00:00:00.000000000 Z
11
+ date: 2023-11-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: paintbrush
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 0.1.3
27
+ - !ruby/object:Gem::Dependency
28
+ name: rouge
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '4.2'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '4.2'
27
41
  description: 'Overwrites Kernel#p to provide output with file path, line numbers,
28
42
  and profiling. '
29
43
  email: