@@ -33,7 +33,7 @@ let singleQuote = "'".charCodeAt(0),
33
33
wordEnd = / [ \n \t \r \( \) \{ \} , : ; @ ! ' " \\ ] | \/ (? = \* ) | # (? = { ) / g,
34
34
ident = / - ? ( [ a - z _ ] | \\ [ ^ \\ ] ) ( [ a - z - _ 0 - 9 ] | \\ [ ^ \\ ] ) * / gi;
35
35
36
- export default function tokenize ( input , l , p ) {
36
+ export default function tokenize ( input , l , p , o ) {
37
37
let tokens = [ ] ;
38
38
let css = input . css . valueOf ( ) ;
39
39
@@ -42,7 +42,7 @@ export default function tokenize(input, l, p) {
42
42
inInterpolant , inComment , inString ;
43
43
44
44
let length = css . length ;
45
- let offset = - 1 ;
45
+ let offset = o || - 1 ;
46
46
let line = l || 1 ;
47
47
let pos = p || 0 ;
48
48
@@ -135,9 +135,11 @@ export default function tokenize(input, l, p) {
135
135
tokens . push ( [ quote , quote , line , pos - offset ] ) ;
136
136
next = pos + 1 ;
137
137
138
- let { tokens : t , pos : p } = tokenizeString ( input , line , next , quote ) ;
138
+ let { tokens : t , line : l , pos : p , offset : o } = tokenizeString ( input , line , next , offset , quote ) ;
139
139
tokens = tokens . concat ( t ) ;
140
140
next = p ;
141
+ line = l ;
142
+ offset = o ;
141
143
142
144
pos = next ;
143
145
break ;
@@ -178,7 +180,7 @@ export default function tokenize(input, l, p) {
178
180
tokens . push ( [ 'startComment' , '/*' , line , pos + 1 - offset ] ) ;
179
181
next = pos + 1 ;
180
182
181
- let { tokens : t , line : l , pos : p , offset : o } = tokenizeComment ( input , line , next + 1 ) ;
183
+ let { tokens : t , line : l , pos : p , offset : o } = tokenizeComment ( input , line , next + 1 , offset ) ;
182
184
tokens = tokens . concat ( t ) ;
183
185
next = p ;
184
186
line = l ;
@@ -277,5 +279,5 @@ export default function tokenize(input, l, p) {
277
279
pos ++ ;
278
280
}
279
281
280
- return { tokens, pos } ;
282
+ return { tokens, line , pos, offset } ;
281
283
}
0 commit comments