Module: Rouge::Lexers::TypescriptCommon
- Included in:
- TSX, Typescript
- Defined in:
- lib/rouge/lexers/typescript/common.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.extended(base) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/rouge/lexers/typescript/common.rb', line 36 def self.extended(base) base.prepend :root do rule %r/[?][.]/, base::Punctuation rule %r/[?]{2}/, base::Operator # Positive Examples: # const cat = { name: "Garfield" } satisfies Person; # import {something as thingy} from 'module' # export { foo as default } # ...spreadOperator as const; # Negative Example: # cy.get('kitten').as('friend') rule %r{(?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))(?:(as)|(satisfies))\s+}, base::Keyword::Declaration end base.prepend :statement do rule %r/(#{Javascript.id_regex})(\??)(\s*)(:)/ do groups base::Name::Label, base::Punctuation, base::Text, base::Punctuation push :expr_start end end end |
Instance Method Details
#builtins ⇒ Object
27 28 29 30 31 32 33 34 |
# File 'lib/rouge/lexers/typescript/common.rb', line 27 def builtins @builtins ||= super + %w( Capitalize ConstructorParameters Exclude Extract InstanceType Lowercase NonNullable Omit OmitThisParameter Parameters Partial Pick Readonly Record Required ReturnType ThisParameterType ThisType Uncapitalize Uppercase ) end |
#declarations ⇒ Object
14 15 16 17 18 |
# File 'lib/rouge/lexers/typescript/common.rb', line 14 def declarations @declarations ||= super + Set.new(%w( type abstract )) end |
#keywords ⇒ Object
7 8 9 10 11 12 |
# File 'lib/rouge/lexers/typescript/common.rb', line 7 def keywords @keywords ||= super + Set.new(%w( is namespace static private protected public implements readonly )) end |
#reserved ⇒ Object
20 21 22 23 24 25 |
# File 'lib/rouge/lexers/typescript/common.rb', line 20 def reserved @reserved ||= super + Set.new(%w( string any void number namespace module declare default interface keyof )) end |