Add fixer for end-of-line characters.

This commit is contained in:
Amy Boyd
2016-07-04 13:54:44 +01:00
parent 03eddbde0c
commit 3463ab7d0f
3 changed files with 62 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
package editorconfig
import (
"regexp"
"strings"
)
type FullFileFixer func(ruleValue string, fileContent string) string
func FixEndOfLineRule(ruleValue string, fileContent string) string {
ruleValueLowercase := strings.ToLower(ruleValue)
if ruleValueLowercase == "lf" {
fileContent = crlfRegexp.ReplaceAllString(fileContent, "\n")
fileContent = crRegexp.ReplaceAllString(fileContent, "\n")
return fileContent
}
if ruleValueLowercase == "cr" {
fileContent = crlfRegexp.ReplaceAllString(fileContent, "\r")
fileContent = lfRegexp.ReplaceAllString(fileContent, "\r")
return fileContent
}
if ruleValueLowercase == "crlf" {
fileContent = regexp.MustCompile("(\r\n|\r|\n)").ReplaceAllString(fileContent, "\r\n")
return fileContent
}
return fileContent
}