From d3aa99b5f54b03d7ed0b2473ac8c822bf6dac866 Mon Sep 17 00:00:00 2001 From: Myzel394 <50424412+Myzel394@users.noreply.github.com> Date: Wed, 14 Aug 2024 18:28:06 +0200 Subject: [PATCH] fix(wireguard): Improvements --- handlers/wireguard/errors.go | 12 ------------ handlers/wireguard/parser.go | 20 +++++++++++++------- handlers/wireguard/wg-property.go | 5 +++-- 3 files changed, 16 insertions(+), 21 deletions(-) delete mode 100644 handlers/wireguard/errors.go diff --git a/handlers/wireguard/errors.go b/handlers/wireguard/errors.go deleted file mode 100644 index 324835d..0000000 --- a/handlers/wireguard/errors.go +++ /dev/null @@ -1,12 +0,0 @@ -package wireguard - -type malformedLineError struct{} - -func (e *malformedLineError) Error() string { - return "Malformed line" -} - -type lineError struct { - Line uint32 - Err error -} diff --git a/handlers/wireguard/parser.go b/handlers/wireguard/parser.go index 82d3c02..21286cd 100644 --- a/handlers/wireguard/parser.go +++ b/handlers/wireguard/parser.go @@ -1,6 +1,7 @@ package wireguard import ( + "config-lsp/common" "regexp" "slices" "strings" @@ -21,11 +22,16 @@ type wireguardParser struct { CommentLines map[uint32]struct{} } +func (p *wireguardParser) clear() { + p.Sections = []wireguardSection{} + p.CommentLines = map[uint32]struct{}{} +} + func createWireguardParser() wireguardParser { - return wireguardParser{ - Sections: []wireguardSection{}, - CommentLines: map[uint32]struct{}{}, - } + parser := wireguardParser{} + parser.clear() + + return parser } type lineType string @@ -53,8 +59,8 @@ func getLineType(line string) lineType { return LineTypeProperty } -func (p *wireguardParser) parseFromString(input string) []lineError { - errors := []lineError{} +func (p *wireguardParser) parseFromString(input string) []common.ParseError { + errors := []common.ParseError{} lines := strings.Split( input, "\n", @@ -81,7 +87,7 @@ func (p *wireguardParser) parseFromString(input string) []lineError { err := collectedProperties.AddLine(currentLineNumber, line) if err != nil { - errors = append(errors, lineError{ + errors = append(errors, common.ParseError{ Line: currentLineNumber, Err: err, }) diff --git a/handlers/wireguard/wg-property.go b/handlers/wireguard/wg-property.go index 6b49dbd..ec994da 100644 --- a/handlers/wireguard/wg-property.go +++ b/handlers/wireguard/wg-property.go @@ -1,6 +1,7 @@ package wireguard import ( + docvalues "config-lsp/doc-values" "config-lsp/utils" "regexp" "strings" @@ -42,7 +43,7 @@ func createWireguardProperty(line string) (*wireguardProperty, error) { if indexes == nil { // weird, should not happen - return nil, &malformedLineError{} + return nil, &docvalues.MalformedLineError{} } return &wireguardProperty{ @@ -58,7 +59,7 @@ func createWireguardProperty(line string) (*wireguardProperty, error) { indexes := linePattern.FindStringSubmatchIndex(line) if indexes == nil || len(indexes) == 0 { - return nil, &malformedLineError{} + return nil, &docvalues.MalformedLineError{} } keyStart := uint32(indexes[2])