@@ -33,7 +33,7 @@ type Config struct {
3333}
3434
3535type Gat struct {
36- lexer chroma.Lexer
36+ explicitLexer chroma.Lexer
3737 formatter chroma.Formatter
3838 style * chroma.Style
3939 renderMarkdown bool
@@ -54,7 +54,7 @@ func New(cfg *Config) (*Gat, error) {
5454 if err != nil {
5555 return nil , err
5656 }
57- g .lexer = l
57+ g .explicitLexer = l
5858 }
5959
6060 // formatter
@@ -147,15 +147,16 @@ func (g *Gat) Print(w io.Writer, r io.Reader, opts ...PrintOption) error {
147147 }
148148
149149 // analyse lexer
150- if g .lexer == nil {
150+ lexer := g .explicitLexer
151+ if lexer == nil {
151152 l , err := lexers .Get (lexers .WithFilename (opt .Filename ), lexers .WithSource (src ))
152153 if err != nil {
153154 return err
154155 }
155- g . lexer = l
156+ lexer = l
156157 }
157158
158- if g .renderMarkdown && g . lexer .Config ().Name == "markdown" {
159+ if g .renderMarkdown && lexer .Config ().Name == "markdown" {
159160 r , err := glamour .NewTermRenderer (
160161 glamour .WithAutoStyle (),
161162 glamour .WithWordWrap (- 1 ),
@@ -177,7 +178,7 @@ func (g *Gat) Print(w io.Writer, r io.Reader, opts ...PrintOption) error {
177178
178179 // pretty code
179180 if opt .Pretty {
180- p , ok := prettier .Get (g . lexer .Config ().Name )
181+ p , ok := prettier .Get (lexer .Config ().Name )
181182 if ok {
182183 s , err := p .Pretty (src )
183184 if err == nil {
@@ -187,7 +188,7 @@ func (g *Gat) Print(w io.Writer, r io.Reader, opts ...PrintOption) error {
187188 }
188189
189190 // print
190- it , err := g . lexer .Tokenise (nil , src )
191+ it , err := lexer .Tokenise (nil , src )
191192 if err != nil {
192193 return err
193194 }
0 commit comments