Sha256: 94d9556166981e585f0461ead64948530eddc819ada42c0f935747c77861d608

Contents?: true

Size: 723 Bytes

Versions: 3

Compression:

Stored size: 723 Bytes

Contents

require_relative "base_language.rb"
require_relative "../parsers/stylus_parser.rb"

module Docks
  module Languages
    class Stylus < Base
      def self.type; Docks::Types::Languages::STYLE end
      def self.extensions; %w(styl) end

      def signature_for(symbol)
        return unless [Types::Symbol::FUNCTION, Types::Symbol::MIXIN].include?(symbol.symbol_type)

        params = symbol.fetch(:params, []).map do |param|
          default = param.default
          param_string = param.name
          param_string << " = #{default}" if default
          param_string
        end

        "#{symbol.name}(#{params.join(", ")}) // ..."
      end

      def parser; Docks::Parsers::Stylus.instance end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
docks_app-0.0.3 lib/docks/languages/stylus_language.rb
docks_app-0.0.2 lib/docks/languages/stylus_language.rb
docks_app-0.0.1 lib/docks/languages/stylus_language.rb