...

Package internal

import "github.com/alecthomas/chroma/lexers/internal"
Overview
Index

Overview ▾

Package internal contains common API functions and structures shared between lexer packages.

Variables

Fallback lexer if no other is found.

var Fallback chroma.Lexer = chroma.MustNewLazyLexer(&chroma.Config{
    Name:      "fallback",
    Filenames: []string{"*"},
}, PlaintextRules)

Registry of Lexers.

var Registry = struct {
    Lexers  chroma.Lexers
    byName  map[string]chroma.Lexer
    byAlias map[string]chroma.Lexer
}{
    // contains filtered or unexported fields
}

func Analyse

func Analyse(text string) chroma.Lexer

Analyse text content and return the "best" lexer..

func Get

func Get(name string) chroma.Lexer

Get a Lexer by name, alias or file extension.

func Match

func Match(filename string) chroma.Lexer

Match returns the first lexer matching filename.

func MatchMimeType

func MatchMimeType(mimeType string) chroma.Lexer

MatchMimeType attempts to find a lexer for the given MIME type.

func Names

func Names(withAliases bool) []string

Names of all lexers, optionally including aliases.

func PlaintextRules

func PlaintextRules() chroma.Rules

PlaintextRules is used for the fallback lexer as well as the explicit plaintext lexer.

func Register

func Register(lexer chroma.Lexer) chroma.Lexer

Register a Lexer with the global registry.