Sha256: 9fab4a80e00662db0f36da6a348c5a581250e2c2854b5b6d694df8956b4c9df2

Contents?: true

Size: 997 Bytes

Versions: 4

Compression:

Stored size: 997 Bytes

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

4 entries across 3 versions & 2 rubygems

Version Path
tdiary-5.0.5 vendor/bundle/gems/rouge-2.0.7/lib/rouge/lexers/typescript.rb
tdiary-5.0.5 vendor/bundle/gems/tdiary-5.0.4/vendor/bundle/gems/rouge-2.0.7/lib/rouge/lexers/typescript.rb
tdiary-5.0.4 vendor/bundle/gems/rouge-2.0.7/lib/rouge/lexers/typescript.rb
rouge-2.0.7 lib/rouge/lexers/typescript.rb