betterp 0.1.7 → 0.1.9

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
  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: