Sha256: 795a78ec97821355bc305fc81d86c50390704edb8021a745c3f662fc23192ed8

Contents?: true

Size: 978 Bytes

Versions: 4

Compression:

Stored size: 978 Bytes

Contents

module Yoda
  module Model
    module Descriptions
      class CommentTokenDescription < Base
        # @return [AST::CommentBlock::Token]
        attr_reader :comment_token

        # @return [TypeExpressions::Base]
        attr_reader :type

        # @param comment_token [AST::CommentBlock::Token]
        # @param type [TypeExpressions::Base]
        def initialize(comment_token, type)
          @comment_token = comment_token
          @type = type
        end

        # @return [String]
        def title
          comment_token.content
        end

        # @return [String]
        def sort_text
          comment_token.content
        end

        # @return [String]
        def to_markdown
          <<~EOS
          **#{title}**

          #{value.document}
          EOS
        end

        def markup_content
          {
            language: 'ruby',
            value: "#{title.gsub("\n", ";")} # #{type}",
          }
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
yoda-language-server-0.10.1 lib/yoda/model/descriptions/comment_token_description.rb
yoda-language-server-0.10.0 lib/yoda/model/descriptions/comment_token_description.rb
yoda-language-server-0.9.0 lib/yoda/model/descriptions/comment_token_description.rb
yoda-language-server-0.8.0 lib/yoda/model/descriptions/comment_token_description.rb