@@ -188,14 +188,18 @@ endif
188188
189189" Numbers (ints, longs, floats, complex)
190190syn match pythonHexNumber " \< 0[xX]\x\+ [lL]\=\> " display
191- syn match pythonHexNumber " \< 0[xX]\> " display
191+ syn match pythonOctNumber " \< 0[oO]\o\+ [lL]\=\> " display
192+ syn match pythonBinNumber " \< 0[bB][01]\+ [lL]\=\> " display
193+
192194syn match pythonNumber " \<\d\+ [lLjJ]\=\> " display
195+
193196syn match pythonFloat " \.\d\+\( [eE][+-]\=\d\+\)\= [jJ]\=\> " display
194197syn match pythonFloat " \<\d\+ [eE][+-]\=\d\+ [jJ]\=\> " display
195198syn match pythonFloat " \<\d\+\.\d *\( [eE][+-]\=\d\+\)\= [jJ]\= " display
196199
197- syn match pythonOctalError " \< 0\o *[89]\d *[lL]\=\> " display
198- syn match pythonHexError " \< 0[xX]\X\+ [lL]\=\> " display
200+ syn match pythonOctError " \< 0[oO]\=\o *[8-9]\d *[lL]\=\> " display
201+ syn match pythonHexError " \< 0[xX]\x *\X\x *[lL]\=\> " display
202+ syn match pythonBinError " \< 0[bB][01]*[2-9]\d *[lL]\=\> " display
199203
200204if exists (" python_highlight_builtins" ) && python_highlight_builtins != 0
201205 " Builtin functions, types and objects
@@ -303,9 +307,12 @@ if version >= 508 || !exists("did_python_syn_inits")
303307
304308 HiLink pythonNumber Number
305309 HiLink pythonHexNumber Number
310+ HiLink pythonOctNumber Number
311+ HiLink pythonBinNumber Number
306312 HiLink pythonFloat Float
307- HiLink pythonOctalError Error
313+ HiLink pythonOctError Error
308314 HiLink pythonHexError Error
315+ HiLink pythonBinError Error
309316
310317 HiLink pythonBuiltinObj Structure
311318 HiLink pythonBuiltinFunc Function
0 commit comments