Class: Rouge::Lexers::CSS

Inherits:
RegexLexer show all
Defined in:
lib/rouge/lexers/css.rb

Constant Summary

Constants inherited from RegexLexer

RegexLexer::MAX_NULL_SCANS

Constants included from Token::Tokens

Token::Tokens::Num, Token::Tokens::Str

Instance Attribute Summary

Attributes inherited from Rouge::Lexer

#options

Class Method Summary collapse

Methods inherited from RegexLexer

append, #delegate, #goto, #group, #groups, #in_state?, #pop!, prepend, #push, #recurse, replace_state, #reset!, #reset_stack, #stack, start, start_procs, state, #state, #state?, state_definitions, states, #step, #stream_tokens, #token

Methods inherited from Rouge::Lexer

aliases, all, #as_bool, #as_lexer, #as_list, #as_string, #as_token, #bool_option, continue_lex, #continue_lex, debug_enabled?, demo, demo_file, desc, detect?, detectable?, disable_debug!, enable_debug!, filenames, find, find_fancy, guess, guess_by_filename, guess_by_mimetype, guess_by_source, guesses, #hash_option, #initialize, lex, #lex, #lexer_option, #list_option, lookup_fancy, mimetypes, option, option_docs, #reset!, #stream_tokens, #string_option, tag, #tag, title, #token_option, #with

Methods included from Token::Tokens

token

Constructor Details

This class inherits a constructor from Rouge::Lexer

Class Method Details

.builtinsObject



124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
# File 'lib/rouge/lexers/css.rb', line 124

def self.builtins
  @builtins ||= Set.new %w(
    above absolute accumulate add additive all alpha alphabetic
    alternate alternate-reverse always armenian aural auto auto-fill
    auto-fit avoid backwards balance baseline behind below bidi-override
    blink block bold bolder border-box both bottom bottom break-spaces
    capitalize center center-left center-right circle cjk-ideographic
    close-quote closest-corner closest-side collapse
    color color-burn color-dodge column column-reverse
    condensed contain content content-box continuous cover crop cross
    crosshair cursive cyclic darken dashed decimal decimal-leading-zero
    default difference digits disc dotted double e-resize
    ease ease-in ease-in-out ease-out embed end exclude exclusion
    expanded extends extra-condensed extra-expanded fantasy
    farthest-corner farthest-side far-left far-right
    fast faster fill fixed flat flex flex-end flex-start
    forwards georgian grid groove hard-light hebrew help hidden
    hide high higher hiragana hiragana-iroha horizontal hue icon
    infinite inherit inline inline-block inline-flex inline-grid
    inline-size inline-table inset inside intersect isolate italic
    justify katakana katakana-iroha landscape large larger left
    left-side leftwards level lighten lighter line-through linear
    list-item loud low lower lower-alpha lower-greek lower-roman
    lowercase ltr luminance luminosity mandatory match-source medium
    message-box middle mix monospace multiply n-resize narrower
    ne-resize no-close-quote no-open-quote no-repeat none normal
    nowrap numeric nw-resize oblique once open-quote outset outside
    overlay overline paused pointer portrait pre preserve-3d pre-line
    pre-wrap proximity px relative repeat-x repeat-y replace reverse
    ridge right right-side rightwards row row-reverse rtl running
    s-resize sans-serif saturation scale-down screen scroll
    se-resize semi-condensed semi-expanded separate serif show
    sides silent size slow slower small-caps small-caption smaller
    smooth soft soft-light solid space-aroun space-between
    space-evenly span spell-out square start static status-bar sticky
    stretch sub subtract super sw-resize swap symbolic table
    table-caption table-cell table-column table-column-group
    table-footer-group table-header-group table-row table-row-group
    text text-bottom text-top thick thin top transparent
    ultra-condensed ultra-expanded underline upper-alpha upper-latin
    upper-roman uppercase vertical visible w-resize wait wider wrap
    wrap-reverse x x-fast x-high x-large x-loud x-low x-small x-soft
    xx-large xx-small yes y z
  )
end

.colorsObject



170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
# File 'lib/rouge/lexers/css.rb', line 170

def self.colors
  @colors ||= Set.new %w(
    aliceblue antiquewhite aqua aquamarine azure beige bisque black
    blanchedalmond blue blueviolet brown burlywood cadetblue
    chartreuse chocolate coral cornflowerblue cornsilk crimson cyan
    darkblue darkcyan darkgoldenrod darkgray darkgreen darkkhaki
    darkmagenta darkolivegreen darkorange darkorchid darkred
    darksalmon darkseagreen darkslateblue darkslategray darkturquoise
    darkviolet deeppink deepskyblue dimgray dodgerblue firebrick
    floralwhite forestgreen fuchsia gainsboro ghostwhite gold
    goldenrod gray green greenyellow honeydew hotpink indianred
    indigo ivory khaki lavender lavenderblush lawngreen lemonchiffon
    lightblue lightcoral lightcyan lightgoldenrodyellow lightgreen
    lightgrey lightpink lightsalmon lightseagreen lightskyblue
    lightslategray lightsteelblue lightyellow lime limegreen linen
    magenta maroon mediumaquamarine mediumblue mediumorchid
    mediumpurple mediumseagreen mediumslateblue mediumspringgreen
    mediumturquoise mediumvioletred midnightblue mintcream mistyrose
    moccasin navajowhite navy oldlace olive olivedrab orange
    orangered orchid palegoldenrod palegreen paleturquoise
    palevioletred papayawhip peachpuff peru pink plum powderblue
    purple red rosybrown royalblue saddlebrown salmon sandybrown
    seagreen seashell sienna silver skyblue slateblue slategray snow
    springgreen steelblue tan teal thistle tomato
    turquoise violet wheat white whitesmoke yellow yellowgreen
  )
end

.functionsObject



198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
# File 'lib/rouge/lexers/css.rb', line 198

def self.functions
  @functions ||= Set.new %w(
    abs acos annotation asin atan atan2 attr blur brightness calc
    character-variant circle clamp color color-mix conic-gradient
    contrast cos counter counters cubic-bezier drop-shadow ellipse
    env exp fit-content format grayscale hsl hsla hue-rotate hwb hypot
    image-set inset invert lab lch linear linear-gradient log matrix
    matrix3d max min minmax mod oklab oklch opacity ornaments path
    perspective polygon pow radial-gradient ray rect rem repeat
    repeating-conic-gradient repeating-linear-gradient
    repeating-radial-gradient rgb rgba rotate rotate3d rotatex
    rotatey rotatez round saturate scale scale3d scalex scaley scalez
    sepia sign sin skewx skewy sqrt steps styleset
    stylistic swash tan translate translate3d translatex translatey
    translatez url var xywh
  )
end

.propertiesObject



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# File 'lib/rouge/lexers/css.rb', line 19

def self.properties
  @properties ||= Set.new %w(
    additive-symbols align-content align-items align-self
    alignment-adjust alignment-baseline all anchor-point animation
    animation-composition animation-delay animation-direction
    animation-duration animation-fill-mode animation-iteration-count
    animation-name animation-play-state animation-timing-function
    appearance aspect-ratio azimuth backface-visibility background
    background-attachment background-blend-mode
    background-clip background-color background-image
    background-origin background-position
    background-repeat background-size baseline-shift
    binding bleed bookmark-label bookmark-level bookmark-state
    bookmark-target border border-bottom border-bottom-color
    border-bottom-left-radius border-bottom-right-radius
    border-bottom-style border-bottom-width border-collapse
    border-color border-image border-image-outset border-image-repeat
    border-image-slice border-image-source border-image-width
    border-left border-left-color border-left-style border-left-width
    border-radius border-right border-right-color border-right-style
    border-right-width border-spacing border-style border-top
    border-top-color border-top-left-radius border-top-right-radius
    border-top-style border-top-width border-width bottom box-align
    box-decoration-break box-direction box-flex box-flex-group
    box-lines box-ordinal-group box-orient box-pack box-shadow
    box-sizing break-after break-before break-inside caption-side
    clear clip clip-path clip-rule color color-profile column-count
    column-fill column-gap column-rule column-rule-color
    column-rule-style column-rule-width column-span column-width
    columns content container container-name container-type
    counter-increment counter-reset counter-set crop cue
    cue-after cue-before cursor direction display dominant-baseline
    drop-initial-after-adjust drop-initial-after-align
    drop-initial-before-adjust drop-initial-before-align
    drop-initial-size drop-initial-value elevation empty-cells fallback
    filter fit fit-position flex flex-basis flex-direction flex-flow
    flex-grow flex-shrink flex-wrap float float-offset font
    font-display font-family font-feature-settings font-kerning
    font-language-override font-size font-size-adjust font-stretch
    font-style font-synthesis font-variant font-variant-alternates
    font-variant-caps font-variant-east-asian font-variant-ligatures
    font-variant-numeric font-variant-position font-weight gap
    grid-area grid-auto-columns grid-auto-flow grid-auto-rows
    grid-column grid-column-end grid-column-start grid-row
    grid-row-end grid-row-start grid-template grid-template-areas
    grid-template-columns grid-template-rows hanging-punctuation
    height hyphenate-after hyphenate-before hyphenate-character
    hyphenate-lines hyphenate-resource hyphens icon image-orientation
    image-rendering image-resolution ime-mode inherits initial-value
    inline-box-align inset isolation justify-content justify-items
    justify-self left letter-spacing line-break line-height
    line-stacking line-stacking-ruby line-stacking-shift
    line-stacking-strategy list-style list-style-image
    list-style-position list-style-type margin margin-bottom
    margin-left margin-right margin-top mark mark-after mark-before
    marker-offset marks marquee-direction marquee-loop
    marquee-play-count marquee-speed marquee-style
    mask mask-clip mask-composite mask-image mask-mode
    mask-origin mask-position mask-repeat mask-size mask-type
    max-height max-width min-height min-width mix-blend-mode
    move-to nav-down nav-index nav-left nav-right nav-up negative
    object-fit object-position offset offset-anchor offset-distance
    offset-path offset-position offset-rotate opacity order orphans
    outline outline-color outline-offset outline-style outline-width
    overflow overflow-style overflow-wrap overflow-x overflow-y pad
    padding padding-bottom padding-left padding-right padding-top page
    page-break-after page-break-before page-break-inside page-policy
    pause pause-after pause-before perspective perspective-origin
    phonemes pitch pitch-range place-content place-items place-self
    play-during pointer-events position prefix presentation-level
    punctuation-trim quotes range rendering-intent resize rest
    rest-after rest-before richness right rotate rotation rotation-point
    row-gap ruby-align ruby-overhang ruby-position ruby-span scale
    scroll-behavior scroll-margin scroll-margin-block
    scroll-margin-block-end scroll-margin-block-start
    scroll-margin-bottom scroll-margin-inline scroll-margin-inline-end
    scroll-margin-inline-start scroll-margin-left scroll-margin-right
    scroll-margin-top scroll-padding-top scroll-padding-right
    scroll-padding-bottom scroll-padding-left scroll-padding
    scroll-padding-block-end scroll-padding-block-start
    scroll-padding-block scroll-padding-inline-end
    scroll-padding-inline-start scroll-padding-inline
    scroll-snap-type scroll-snap-align scroll-snap-stop
    shape-outside shape-margin shape-image-threshold shape-rendering
    size speak speak-as speak-header speak-numeral speak-punctuation
    speech-rate src stress string-set suffix symbols syntax system
    tab-size table-layout target target-name target-new target-position
    text-align text-align-last text-combine-horizontal
    text-decoration text-decoration-color text-decoration-line
    text-decoration-skip text-decoration-style text-emphasis
    text-emphasis-color text-emphasis-position text-emphasis-style
    text-height text-indent text-justify text-orientation
    text-outline text-overflow text-rendering text-shadow
    text-space-collapse text-transform text-underline-position
    text-wrap top transform transform-origin transform-style
    transition transition-delay transition-duration
    transition-property transition-timing-function translate
    unicode-bidi vertical-align visibility voice-balance
    voice-duration voice-family voice-pitch voice-pitch-range
    voice-range voice-rate voice-stress voice-volume volume
    white-space widows width word-break word-spacing word-wrap
    writing-mode z-index
  )
end

.vendor_prefixesObject



217
218
219
220
221
222
# File 'lib/rouge/lexers/css.rb', line 217

def self.vendor_prefixes
  @vendor_prefixes ||= Set.new %w(
    -ah- -atsc- -hp- -khtml- -moz- -ms- -o- -rim- -ro- -tc- -wap-
    -webkit- -xv- mso- prince-
  )
end