diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 6151c64..e28e858 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -7,4 +7,4 @@ updates: - package-ecosystem: "github-actions" directory: "/" schedule: - interval: "daily" \ No newline at end of file + interval: "daily" diff --git a/LICENCE b/LICENCE index e7ddd51..9390caf 100644 --- a/LICENCE +++ b/LICENCE @@ -20,4 +20,3 @@ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/fixtures/plain.env b/fixtures/plain.env index e033366..4c341c8 100644 --- a/fixtures/plain.env +++ b/fixtures/plain.env @@ -5,4 +5,4 @@ OPTION_D =4 OPTION_E = 5 OPTION_F = OPTION_G= -OPTION_H=1 2 \ No newline at end of file +OPTION_H=1 2 diff --git a/godotenv.go b/godotenv.go index 61b0ebb..5478e20 100644 --- a/godotenv.go +++ b/godotenv.go @@ -196,7 +196,7 @@ func loadFile(filename string, overload bool) error { for key, value := range envMap { if !currentEnv[key] || overload { - _ = os.Setenv(key, value) + os.Setenv(key, value) } } @@ -222,7 +222,7 @@ func doubleQuoteEscape(line string) string { if c == '\r' { toReplace = `\r` } - line = strings.Replace(line, string(c), toReplace, -1) + line = strings.ReplaceAll(line, string(c), toReplace) } return line } diff --git a/parser.go b/parser.go index cc709af..fd2cae7 100644 --- a/parser.go +++ b/parser.go @@ -18,7 +18,7 @@ const ( ) func parseBytes(src []byte, out map[string]string) error { - src = bytes.Replace(src, []byte("\r\n"), []byte("\n"), -1) + src = bytes.ReplaceAll(src, []byte("\r\n"), []byte("\n")) cutset := src for { cutset = getStatementStart(cutset) @@ -44,7 +44,7 @@ func parseBytes(src []byte, out map[string]string) error { return nil } -// getStatementPosition returns position of statement begin. +// getStatementStart returns position of statement begin. // // It skips any comment line or non-whitespace character. func getStatementStart(src []byte) []byte { @@ -231,21 +231,12 @@ func isCharFunc(char rune) func(rune) bool { } // isSpace reports whether the rune is a space character but not line break character -// -// this differs from unicode.IsSpace, which also applies line break as space func isSpace(r rune) bool { - switch r { - case '\t', '\v', '\f', '\r', ' ', 0x85, 0xA0: - return true - } - return false + return unicode.IsSpace(r) && r != '\n' } func isLineEnd(r rune) bool { - if r == '\n' || r == '\r' { - return true - } - return false + return r == '\n' || r == '\r' } var (