mirror of https://github.com/helm/helm
parent
8c173ed3b3
commit
951178a4a4
@ -1,33 +1,33 @@
|
|||||||
package rules
|
package rules
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bufio"
|
"bufio"
|
||||||
"os"
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
func ParseIgnoreFile(filePath string) (map[string][]string, error) {
|
func ParseIgnoreFile(filePath string) (map[string][]string, error) {
|
||||||
patterns := make(map[string][]string)
|
patterns := make(map[string][]string)
|
||||||
file, err := os.Open(filePath)
|
file, err := os.Open(filePath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
defer file.Close()
|
defer file.Close()
|
||||||
|
|
||||||
scanner := bufio.NewScanner(file)
|
scanner := bufio.NewScanner(file)
|
||||||
for scanner.Scan() {
|
for scanner.Scan() {
|
||||||
line := strings.TrimSpace(scanner.Text())
|
line := strings.TrimSpace(scanner.Text())
|
||||||
if line != "" && !strings.HasPrefix(line, "#") {
|
if line != "" && !strings.HasPrefix(line, "#") {
|
||||||
parts := strings.SplitN(line, " ", 2)
|
parts := strings.SplitN(line, " ", 2)
|
||||||
if len(parts) > 1 {
|
if len(parts) > 1 {
|
||||||
// Check if the key already exists and append to its slice
|
// Check if the key already exists and append to its slice
|
||||||
patterns[parts[0]] = append(patterns[parts[0]], parts[1])
|
patterns[parts[0]] = append(patterns[parts[0]], parts[1])
|
||||||
} else if len(parts) == 1 {
|
} else if len(parts) == 1 {
|
||||||
// Add an empty pattern if only the path is present
|
// Add an empty pattern if only the path is present
|
||||||
patterns[parts[0]] = append(patterns[parts[0]], "")
|
patterns[parts[0]] = append(patterns[parts[0]], "")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return patterns, scanner.Err()
|
return patterns, scanner.Err()
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in new issue