8 // An Extension describes how to manipulate files during smudge and clean.
9 // Extensions are parsed from the Git config.
10 type Extension struct {
17 // SortExtensions sorts a map of extensions in ascending order by Priority
18 func SortExtensions(m map[string]Extension) ([]Extension, error) {
19 pMap := make(map[int]Extension)
20 priorities := make([]int, 0, len(m))
21 for n, ext := range m {
23 if _, exist := pMap[p]; exist {
24 err := fmt.Errorf("duplicate priority %d on %s", p, n)
28 priorities = append(priorities, p)
33 result := make([]Extension, len(priorities))
34 for i, p := range priorities {