Skip to content

Commit cad9a00

Browse files
committed
add imaginary numbers to Go scanner
1 parent 85275cf commit cad9a00

File tree

1 file changed

+9
-5
lines changed
  • lib/coderay/scanners

1 file changed

+9
-5
lines changed

lib/coderay/scanners/go.rb

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,11 @@ def scan_tokens encoder, options
128128

129129
elsif match = scan(/\$/)
130130
encoder.text_token match, :ident
131-
131+
132+
elsif match = scan(/\d*(\.\d*)?([eE][+-]?\d+)?i/)
133+
label_expected = false
134+
encoder.text_token match, :imaginary
135+
132136
elsif match = scan(/0[xX][0-9A-Fa-f]+/)
133137
label_expected = false
134138
encoder.text_token match, :hex
@@ -137,13 +141,13 @@ def scan_tokens encoder, options
137141
label_expected = false
138142
encoder.text_token match, :octal
139143

140-
elsif match = scan(/(?:\d+)(?![.eEfF])L?L?/)
141-
label_expected = false
142-
encoder.text_token match, :integer
143-
144144
elsif match = scan(/\d|\d*\.\d+(?:[eE][+-]?\d+)?|\d+[eE][+-]?\d+/)
145145
label_expected = false
146146
encoder.text_token match, :float
147+
148+
elsif match = scan(/(?:\d+)(?![.eEfF])L?L?/)
149+
label_expected = false
150+
encoder.text_token match, :integer
147151

148152
else
149153
encoder.text_token getch, :error

0 commit comments

Comments
 (0)