cheat/vendor/github.com/alecthomas/chroma/lexers/p/pkgconfig.go
Chris Lane 55b18b4897 Squashed commit of the following:
commit 95479c8ad744db48386a5c78e54ef8da80e9120b
Author: Chris Lane <chris@chris-allen-lane.com>
Date:   Wed Apr 28 12:26:32 2021 -0400

    chore(version): bump version to 4.2.1

commit 6956f51cae
Author: Chris Lane <chris@chris-allen-lane.com>
Date:   Wed Apr 28 12:24:21 2021 -0400

    fix(Makefile): `vendor-update`

    Update the `vendor-update` build target to run `go mod vendor` after
    updating dependencies.

commit 0aca411279
Author: Chris Lane <chris@chris-allen-lane.com>
Date:   Wed Apr 28 12:23:24 2021 -0400

    chore(deps): update dependencies

commit e847956b02
Author: Chris Lane <chris@chris-allen-lane.com>
Date:   Wed Apr 28 08:26:51 2021 -0400

    chore(deps): build updates

    - Upgrade `go` to `1.16.3`

    - Attempt to fix build errors regarding dependencies
2021-04-28 12:35:32 -04:00

45 lines
984 B
Go

package p
import (
. "github.com/alecthomas/chroma" // nolint
"github.com/alecthomas/chroma/lexers/internal"
)
// Pkgconfig lexer.
var Pkgconfig = internal.Register(MustNewLazyLexer(
&Config{
Name: "PkgConfig",
Aliases: []string{"pkgconfig"},
Filenames: []string{"*.pc"},
MimeTypes: []string{},
},
pkgconfigRules,
))
func pkgconfigRules() Rules {
return Rules{
"root": {
{`#.*$`, CommentSingle, nil},
{`^(\w+)(=)`, ByGroups(NameAttribute, Operator), nil},
{`^([\w.]+)(:)`, ByGroups(NameTag, Punctuation), Push("spvalue")},
Include("interp"),
{`[^${}#=:\n.]+`, Text, nil},
{`.`, Text, nil},
},
"interp": {
{`\$\$`, Text, nil},
{`\$\{`, LiteralStringInterpol, Push("curly")},
},
"curly": {
{`\}`, LiteralStringInterpol, Pop(1)},
{`\w+`, NameAttribute, nil},
},
"spvalue": {
Include("interp"),
{`#.*$`, CommentSingle, Pop(1)},
{`\n`, Text, Pop(1)},
{`[^${}#\n]+`, Text, nil},
{`.`, Text, nil},
},
}
}