annotate vendor/github.com/alecthomas/chroma/v2/styles/api.go @ 66:787b5ee0289d draft

Use vendored modules Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja>
author yakumo.izuru
date Sun, 23 Jul 2023 13:18:53 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
66
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
1 package styles
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
2
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
3 import (
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
4 "sort"
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
5
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
6 "github.com/alecthomas/chroma/v2"
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
7 )
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
8
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
9 // Registry of Styles.
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
10 var Registry = map[string]*chroma.Style{}
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
11
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
12 // Fallback style. Reassign to change the default fallback style.
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
13 var Fallback = SwapOff
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
14
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
15 // Register a chroma.Style.
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
16 func Register(style *chroma.Style) *chroma.Style {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
17 Registry[style.Name] = style
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
18 return style
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
19 }
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
20
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
21 // Names of all available styles.
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
22 func Names() []string {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
23 out := []string{}
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
24 for name := range Registry {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
25 out = append(out, name)
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
26 }
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
27 sort.Strings(out)
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
28 return out
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
29 }
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
30
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
31 // Get named style, or Fallback.
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
32 func Get(name string) *chroma.Style {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
33 if style, ok := Registry[name]; ok {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
34 return style
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
35 }
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
36 return Fallback
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
37 }