Sha256: 8d30f5f0f5f704d4b2ad1282fae62e5add773300af5f0f856dc1c14d527c1042

Contents?: true

Size: 637 Bytes

Versions: 6

Compression:

Stored size: 637 Bytes

Contents

# frozen_string_literal: true

require 'coderay'

class Pry
  # @api private
  # @since v0.13.0
  class SyntaxHighlighter
    def self.highlight(code, language = :ruby)
      tokenize(code, language).term
    end

    def self.tokenize(code, language = :ruby)
      CodeRay::Scanners[language].new(code).tokens
    end

    def self.keyword_token_color
      CodeRay::Encoders::Terminal::TOKEN_COLORS[:keyword]
    end

    # Sets comment token to blue (black by default), so it's more legible.
    def self.overwrite_coderay_comment_token!
      CodeRay::Encoders::Terminal::TOKEN_COLORS[:comment][:self] = "\e[1;34m"
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
pry-0.15.2 lib/pry/syntax_highlighter.rb
pry-0.15.2-java lib/pry/syntax_highlighter.rb
pry-0.15.1 lib/pry/syntax_highlighter.rb
pry-0.15.1-java lib/pry/syntax_highlighter.rb
pry-0.15.0 lib/pry/syntax_highlighter.rb
pry-0.15.0-java lib/pry/syntax_highlighter.rb