Sha256: 6853fcf74133f7209f87017142e59b285f020eb61f1c8b2924cc5e5238a62e74

Contents?: true

Size: 1.5 KB

Versions: 14

Compression:

Stored size: 1.5 KB

Contents

# Author::    Eric Crane  (mailto:eric.crane@mac.com)
# Copyright:: Copyright (c) 2019 Eric Crane.  All rights reserved.
#
# Show a single object's value.
#
# require 'colorized_string'

module GlooLang
  module Verbs
    class Show < GlooLang::Core::Verb

      KEYWORD = 'show'.freeze
      KEYWORD_SHORT = '='.freeze

      #
      # Run the verb.
      #
      def run
        if @tokens.token_count > 1
          expr = GlooLang::Expr::Expression.new( @engine, @tokens.params )
          result = expr.evaluate
          @engine.log.show get_formatted_string( result )
          @engine.heap.it.set_to result
        else
          @engine.log.show ''
        end
      end

      #
      # Get the Verb's keyword.
      #
      def self.keyword
        return KEYWORD
      end

      #
      # Get the Verb's keyword shortcut.
      #
      def self.keyword_shortcut
        return KEYWORD_SHORT
      end

      # ---------------------------------------------------------------------
      #    Private functions
      # ---------------------------------------------------------------------

      private

      #
      # Get the formatted string.
      #
      def get_formatted_string( str )
        if @params&.token_count&.positive?
          expr = GlooLang::Expr::Expression.new( @engine, @params.tokens )
          val = expr.evaluate
          color = val.to_sym
          # return ColorizedString[ str.to_s ].colorize( color )
          return str.to_s
        end
        return str
      end

    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
gloo-lang-1.2.6 lib/gloo_lang/verbs/show.rb
gloo-lang-1.2.5 lib/gloo_lang/verbs/show.rb
gloo-lang-1.2.4 lib/gloo_lang/verbs/show.rb
gloo-lang-1.2.3 lib/gloo_lang/verbs/show.rb
gloo-lang-1.2.2 lib/gloo_lang/verbs/show.rb
gloo-lang-1.2.1 lib/gloo_lang/verbs/show.rb
gloo-lang-1.2.0 lib/gloo_lang/verbs/show.rb
gloo-lang-1.1.0 lib/gloo_lang/verbs/show.rb
gloo-lang-1.0.2 lib/gloo_lang/verbs/show.rb
gloo-lang-1.0.1 lib/gloo_lang/verbs/show.rb
gloo-lang-1.0.0 lib/gloo_lang/verbs/show.rb
gloo-lang-0.9.11 lib/gloo_lang/verbs/show.rb
gloo-lang-0.9.10 lib/gloo_lang/verbs/show.rb
gloo-lang-0.9.9 lib/gloo_lang/verbs/show.rb