@@ -11,6 +11,17 @@ import (
11
11
"github.com/alecthomas/chroma"
12
12
)
13
13
14
+ var (
15
+ backupSuffixes = [... ]string {
16
+ // Editor backups
17
+ "~" , ".bak" , ".old" , ".orig" ,
18
+ // Debian and derivatives apt/dpkg
19
+ ".dpkg-dist" , ".dpkg-old" ,
20
+ // Red Hat and derivatives rpm
21
+ ".rpmnew" , ".rpmorig" , ".rpmsave" ,
22
+ }
23
+ )
24
+
14
25
// Registry of Lexers.
15
26
var Registry = struct {
16
27
Lexers chroma.Lexers
@@ -93,6 +104,13 @@ func Match(filename string) chroma.Lexer {
93
104
for _ , glob := range config .Filenames {
94
105
if fnmatch .Match (glob , filename , 0 ) {
95
106
matched = append (matched , lexer )
107
+ } else {
108
+ for _ , suf := range & backupSuffixes {
109
+ if fnmatch .Match (glob + suf , filename , 0 ) {
110
+ matched = append (matched , lexer )
111
+ break
112
+ }
113
+ }
96
114
}
97
115
}
98
116
}
@@ -107,6 +125,13 @@ func Match(filename string) chroma.Lexer {
107
125
for _ , glob := range config .AliasFilenames {
108
126
if fnmatch .Match (glob , filename , 0 ) {
109
127
matched = append (matched , lexer )
128
+ } else {
129
+ for _ , suf := range & backupSuffixes {
130
+ if fnmatch .Match (glob + suf , filename , 0 ) {
131
+ matched = append (matched , lexer )
132
+ break
133
+ }
134
+ }
110
135
}
111
136
}
112
137
}
0 commit comments