Skip to content

Commit 467c878

Browse files
committed
fix: reverse order of --lexer to name, then file
Fixes #1193
1 parent 649c24d commit 467c878

1 file changed

Lines changed: 21 additions & 15 deletions

File tree

‎cmd/chroma/main.go‎

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -366,23 +366,29 @@ func selexer(path, contents string) (lexer chroma.Lexer, err error) {
366366
return lexers.Analyse(contents), nil
367367
}
368368

369-
if _, err := os.Stat(cli.Lexer); err == nil {
370-
cwd, err := os.Getwd()
371-
if err != nil {
372-
return nil, err
373-
}
374-
absPath, err := filepath.Abs(cli.Lexer)
375-
if err != nil {
376-
return nil, err
377-
}
378-
path, err := filepath.Rel(cwd, absPath)
379-
if err != nil {
380-
return nil, err
381-
}
382-
return chroma.NewXMLLexer(os.DirFS("."), path)
369+
if lexer := lexers.Get(cli.Lexer); lexer != nil {
370+
return lexer, nil
383371
}
384372

385-
return lexers.Get(cli.Lexer), nil
373+
_, err = os.Stat(cli.Lexer)
374+
if errors.Is(err, os.ErrNotExist) {
375+
return nil, nil
376+
} else if err != nil {
377+
return nil, err
378+
}
379+
cwd, err := os.Getwd()
380+
if err != nil {
381+
return nil, err
382+
}
383+
absPath, err := filepath.Abs(cli.Lexer)
384+
if err != nil {
385+
return nil, err
386+
}
387+
path, err = filepath.Rel(cwd, absPath)
388+
if err != nil {
389+
return nil, err
390+
}
391+
return chroma.NewXMLLexer(os.DirFS("."), path)
386392
}
387393

388394
func format(ctx *kong.Context, w io.Writer, style *chroma.Style, it chroma.Iterator) {

0 commit comments

Comments
 (0)