|
@@ -237,17 +237,19 @@ if s:Python2Syntax()
|
237
|
237
|
" Python 2 strings
|
238
|
238
|
syn region pythonString start=+[bB]\='+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,@Spell
|
239
|
239
|
syn region pythonString start=+[bB]\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,@Spell
|
240
|
|
- syn region pythonString start=+[bB]\="""+ end=+"""+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,pythonDocTest2,pythonSpaceError,@Spell
|
241
|
|
- syn region pythonString start=+[bB]\='''+ end=+'''+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,pythonDocTest,pythonSpaceError,@Spell
|
|
240
|
+ syn region pythonStringMultiline start=+[bB]\="""+ end=+"""+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,pythonDocTest2,pythonSpaceError,@Spell
|
|
241
|
+ syn region pythonStringMultiline start=+[bB]\='''+ end=+'''+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,pythonDocTest,pythonSpaceError,@Spell
|
242
|
242
|
else
|
243
|
243
|
" Python 3 byte strings
|
244
|
|
- syn region pythonBytes start=+[bB]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonBytesError,pythonBytesContent,@Spell
|
245
|
|
- syn region pythonBytes start=+[bB]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonBytesError,pythonBytesContent,@Spell
|
246
|
|
- syn region pythonBytes start=+[bB]"""+ end=+"""+ keepend contains=pythonBytesError,pythonBytesContent,pythonDocTest2,pythonSpaceError,@Spell
|
247
|
|
- syn region pythonBytes start=+[bB]'''+ end=+'''+ keepend contains=pythonBytesError,pythonBytesContent,pythonDocTest,pythonSpaceError,@Spell
|
|
244
|
+ syn region pythonBytes start=+[bB]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonBytesError,pythonBytesContent,@Spell
|
|
245
|
+ syn region pythonBytes start=+[bB]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonBytesError,pythonBytesContent,@Spell
|
|
246
|
+ syn region pythonBytesMultiline start=+[bB]"""+ end=+"""+ keepend contains=pythonBytesErrorMultiline,pythonBytesContentMultiline,pythonDocTest2,pythonSpaceError,@Spell
|
|
247
|
+ syn region pythonBytesMultiline start=+[bB]'''+ end=+'''+ keepend contains=pythonBytesErrorMultiline,pythonBytesContentMultiline,pythonDocTest,pythonSpaceError,@Spell
|
248
|
248
|
|
249
|
249
|
syn match pythonBytesError ".\+" display contained
|
|
250
|
+ syn match pythonBytesErrorMultiline ".\+" display contained
|
250
|
251
|
syn match pythonBytesContent "[\u0000-\u00ff]\+" display contained contains=pythonBytesEscape,pythonBytesEscapeError
|
|
252
|
+ syn match pythonBytesContentMultiline "[\u0000-\u00ff]\+" display contained contains=pythonBytesEscape,pythonBytesEscapeError
|
251
|
253
|
endif
|
252
|
254
|
|
253
|
255
|
syn match pythonBytesEscape +\\[abfnrtv'"\\]+ display contained
|
|
@@ -268,22 +270,22 @@ if s:Python2Syntax()
|
268
|
270
|
" Python 2 Unicode strings
|
269
|
271
|
syn region pythonUniString start=+[uU]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,@Spell
|
270
|
272
|
syn region pythonUniString start=+[uU]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,@Spell
|
271
|
|
- syn region pythonUniString start=+[uU]"""+ end=+"""+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,pythonDocTest2,pythonSpaceError,@Spell
|
272
|
|
- syn region pythonUniString start=+[uU]'''+ end=+'''+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,pythonDocTest,pythonSpaceError,@Spell
|
|
273
|
+ syn region pythonUniStringMultiline start=+[uU]"""+ end=+"""+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,pythonDocTest2,pythonSpaceError,@Spell
|
|
274
|
+ syn region pythonUniStringMultiline start=+[uU]'''+ end=+'''+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,pythonDocTest,pythonSpaceError,@Spell
|
273
|
275
|
else
|
274
|
276
|
" Python 3 strings
|
275
|
277
|
syn region pythonString start=+'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,@Spell
|
276
|
278
|
syn region pythonString start=+"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,@Spell
|
277
|
|
- syn region pythonString start=+"""+ end=+"""+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,pythonDocTest2,pythonSpaceError,@Spell
|
278
|
|
- syn region pythonString start=+'''+ end=+'''+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,pythonDocTest,pythonSpaceError,@Spell
|
|
279
|
+ syn region pythonStringMultiline start=+"""+ end=+"""+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,pythonDocTest2,pythonSpaceError,@Spell
|
|
280
|
+ syn region pythonStringMultiline start=+'''+ end=+'''+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,pythonDocTest,pythonSpaceError,@Spell
|
279
|
281
|
endif
|
280
|
282
|
|
281
|
283
|
if s:Python2Syntax()
|
282
|
284
|
" Python 2 Unicode raw strings
|
283
|
285
|
syn region pythonUniRawString start=+[uU][rR]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonRawEscape,pythonUniRawEscape,pythonUniRawEscapeError,@Spell
|
284
|
286
|
syn region pythonUniRawString start=+[uU][rR]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonRawEscape,pythonUniRawEscape,pythonUniRawEscapeError,@Spell
|
285
|
|
- syn region pythonUniRawString start=+[uU][rR]"""+ end=+"""+ keepend contains=pythonUniRawEscape,pythonUniRawEscapeError,pythonDocTest2,pythonSpaceError,@Spell
|
286
|
|
- syn region pythonUniRawString start=+[uU][rR]'''+ end=+'''+ keepend contains=pythonUniRawEscape,pythonUniRawEscapeError,pythonDocTest,pythonSpaceError,@Spell
|
|
287
|
+ syn region pythonUniRawStringMultiline start=+[uU][rR]"""+ end=+"""+ keepend contains=pythonUniRawEscape,pythonUniRawEscapeError,pythonDocTest2,pythonSpaceError,@Spell
|
|
288
|
+ syn region pythonUniRawStringMultiline start=+[uU][rR]'''+ end=+'''+ keepend contains=pythonUniRawEscape,pythonUniRawEscapeError,pythonDocTest,pythonSpaceError,@Spell
|
287
|
289
|
|
288
|
290
|
syn match pythonUniRawEscape "\([^\\]\(\\\\\)*\)\@<=\\u\x\{4}" display contained
|
289
|
291
|
syn match pythonUniRawEscapeError "\([^\\]\(\\\\\)*\)\@<=\\u\x\{,3}\X" display contained
|
|
@@ -293,18 +295,18 @@ endif
|
293
|
295
|
if s:Python2Syntax()
|
294
|
296
|
syn region pythonRawString start=+[bB]\=[rR]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonRawEscape,@Spell
|
295
|
297
|
syn region pythonRawString start=+[bB]\=[rR]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonRawEscape,@Spell
|
296
|
|
- syn region pythonRawString start=+[bB]\=[rR]"""+ end=+"""+ keepend contains=pythonDocTest2,pythonSpaceError,@Spell
|
297
|
|
- syn region pythonRawString start=+[bB]\=[rR]'''+ end=+'''+ keepend contains=pythonDocTest,pythonSpaceError,@Spell
|
|
298
|
+ syn region pythonRawStringMultiline start=+[bB]\=[rR]"""+ end=+"""+ keepend contains=pythonDocTest2,pythonSpaceError,@Spell
|
|
299
|
+ syn region pythonRawStringMultiline start=+[bB]\=[rR]'''+ end=+'''+ keepend contains=pythonDocTest,pythonSpaceError,@Spell
|
298
|
300
|
else
|
299
|
301
|
syn region pythonRawString start=+[rR]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonRawEscape,@Spell
|
300
|
302
|
syn region pythonRawString start=+[rR]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonRawEscape,@Spell
|
301
|
|
- syn region pythonRawString start=+[rR]"""+ end=+"""+ keepend contains=pythonDocTest2,pythonSpaceError,@Spell
|
302
|
|
- syn region pythonRawString start=+[rR]'''+ end=+'''+ keepend contains=pythonDocTest,pythonSpaceError,@Spell
|
|
303
|
+ syn region pythonRawStringMultiline start=+[rR]"""+ end=+"""+ keepend contains=pythonDocTest2,pythonSpaceError,@Spell
|
|
304
|
+ syn region pythonRawStringMultiline start=+[rR]'''+ end=+'''+ keepend contains=pythonDocTest,pythonSpaceError,@Spell
|
303
|
305
|
|
304
|
306
|
syn region pythonRawBytes start=+[bB][rR]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonRawEscape,@Spell
|
305
|
307
|
syn region pythonRawBytes start=+[bB][rR]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonRawEscape,@Spell
|
306
|
|
- syn region pythonRawBytes start=+[bB][rR]"""+ end=+"""+ keepend contains=pythonDocTest2,pythonSpaceError,@Spell
|
307
|
|
- syn region pythonRawBytes start=+[bB][rR]'''+ end=+'''+ keepend contains=pythonDocTest,pythonSpaceError,@Spell
|
|
308
|
+ syn region pythonRawBytesMultiline start=+[bB][rR]"""+ end=+"""+ keepend contains=pythonDocTest2,pythonSpaceError,@Spell
|
|
309
|
+ syn region pythonRawBytesMultiline start=+[bB][rR]'''+ end=+'''+ keepend contains=pythonDocTest,pythonSpaceError,@Spell
|
308
|
310
|
endif
|
309
|
311
|
|
310
|
312
|
syn match pythonRawEscape +\\['"]+ display transparent contained
|
|
@@ -518,22 +520,30 @@ if version >= 508 || !exists("did_python_syn_inits")
|
518
|
520
|
HiLink pythonIndentError Error
|
519
|
521
|
HiLink pythonSpaceError Error
|
520
|
522
|
|
521
|
|
- HiLink pythonString String
|
522
|
|
- HiLink pythonRawString String
|
|
523
|
+ HiLink pythonString String
|
|
524
|
+ HiLink pythonStringMultiline String
|
|
525
|
+ HiLink pythonRawString String
|
|
526
|
+ HiLink pythonRawStringMultiline String
|
523
|
527
|
|
524
|
528
|
HiLink pythonUniEscape Special
|
525
|
529
|
HiLink pythonUniEscapeError Error
|
526
|
530
|
|
527
|
531
|
if s:Python2Syntax()
|
528
|
532
|
HiLink pythonUniString String
|
|
533
|
+ HiLink pythonUniStringMultiline String
|
529
|
534
|
HiLink pythonUniRawString String
|
|
535
|
+ HiLink pythonUniRawStringMultiline String
|
530
|
536
|
HiLink pythonUniRawEscape Special
|
531
|
537
|
HiLink pythonUniRawEscapeError Error
|
532
|
538
|
else
|
533
|
539
|
HiLink pythonBytes String
|
|
540
|
+ HiLink pythonBytesMultiline String
|
534
|
541
|
HiLink pythonRawBytes String
|
|
542
|
+ HiLink pythonRawBytesMultiline String
|
535
|
543
|
HiLink pythonBytesContent String
|
|
544
|
+ HiLink pythonBytesContentMultiline String
|
536
|
545
|
HiLink pythonBytesError Error
|
|
546
|
+ HiLink pythonBytesErrorMultiline Error
|
537
|
547
|
HiLink pythonBytesEscape Special
|
538
|
548
|
HiLink pythonBytesEscapeError Error
|
539
|
549
|
endif
|