From 22ed667b6d41aad783d23c5b69bf24b7ccb48564 Mon Sep 17 00:00:00 2001
From: Tom Lebreux <me@tomlebreux.com>
Date: Mon, 27 Sep 2021 14:07:27 -0400
Subject: [PATCH] Add binary number to go lexer

---
 lexers/g/go.go | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/lexers/g/go.go b/lexers/g/go.go
index a927b5e..9dc4075 100644
--- a/lexers/g/go.go
+++ b/lexers/g/go.go
@@ -50,6 +50,7 @@ func goRules() Rules {
 			{`\.\d+([eE][+\-]?\d+)?`, LiteralNumberFloat, nil},
 			{`0[0-7]+`, LiteralNumberOct, nil},
 			{`0[xX][0-9a-fA-F_]+`, LiteralNumberHex, nil},
+			{`0b[01_]+`, LiteralNumberBin, nil},
 			{`(0|[1-9][0-9_]*)`, LiteralNumberInteger, nil},
 			{`'(\\['"\\abfnrtv]|\\x[0-9a-fA-F]{2}|\\[0-7]{1,3}|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}|[^\\])'`, LiteralStringChar, nil},
 			{"(`)([^`]*)(`)", ByGroups(LiteralString, Using(TypeRemappingLexer(GoTextTemplate, TypeMapping{{Other, LiteralString, nil}})), LiteralString), nil},
@@ -97,6 +98,7 @@ func goTemplateRules() Rules {
 			{`-?\.\d+([eE][+\-]?\d+)?`, LiteralNumberFloat, nil},
 			{`-?0[0-7]+`, LiteralNumberOct, nil},
 			{`-?0[xX][0-9a-fA-F]+`, LiteralNumberHex, nil},
+			{`-?0b[01_]+`, LiteralNumberBin, nil},
 			{`-?(0|[1-9][0-9]*)`, LiteralNumberInteger, nil},
 			{`'(\\['"\\abfnrtv]|\\x[0-9a-fA-F]{2}|\\[0-7]{1,3}|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}|[^\\])'`, LiteralStringChar, nil},
 			{"`[^`]*`", LiteralString, nil},