Sha256: 57d6a5a4b6c2969e04163c18a66c7edb863413340cb28fc0e55a6ceac5de6561

Contents?: true

Size: 1.02 KB

Versions: 8

Compression:

Stored size: 1.02 KB

Contents

# -*- coding: utf-8 -*- #

module Rouge
  module Lexers
    load_lexer 'javascript.rb'

    class Typescript < Javascript
      title "TypeScript"
      desc "TypeScript, a superset of JavaScript"

      tag 'typescript'
      aliases 'ts'
      
      filenames '*.ts', '*.d.ts'
                
      mimetypes 'text/typescript'

      def self.keywords
        @keywords ||= super + Set.new(%w(
          import export from as is
          namespace new static private protected public
          super async await extends implements readonly
        ))
      end
      
      def self.declarations
        @declarations ||= super + Set.new(%w(
          const type constructor abstract
        ))
      end

      def self.reserved
        @reserved ||= super + Set.new(%w(
          string any number namespace module
          declare default interface         
        ))
      end
      
      def self.builtins
        @builtins ||= super + %w(
          Promise Set Map WeakSet WeakMap Symbol
        )
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
rouge-2.0.6 lib/rouge/lexers/typescript.rb
rouge-2.0.5 lib/rouge/lexers/typescript.rb
rouge-2.0.3 lib/rouge/lexers/typescript.rb
rouge-2.0.2 lib/rouge/lexers/typescript.rb
rouge-2.0.1 lib/rouge/lexers/typescript.rb
rouge-2.0.0 lib/rouge/lexers/typescript.rb
rouge-1.11.1 lib/rouge/lexers/typescript.rb
rouge-1.11.0 lib/rouge/lexers/typescript.rb