From 3a1b38400cea209008e5fd6936c87b6f94789280 Mon Sep 17 00:00:00 2001 From: Myzel394 <50424412+Myzel394@users.noreply.github.com> Date: Mon, 2 Sep 2024 00:12:05 +0200 Subject: [PATCH] fix(aliases): Improve file value --- handlers/aliases/analyzer/value_valid.go | 17 +++++++++++++++++ handlers/aliases/ast/listener.go | 2 +- handlers/aliases/ast/values.go | 2 +- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/handlers/aliases/analyzer/value_valid.go b/handlers/aliases/analyzer/value_valid.go index 1e640bb..8b97e46 100644 --- a/handlers/aliases/analyzer/value_valid.go +++ b/handlers/aliases/analyzer/value_valid.go @@ -124,6 +124,23 @@ func checkValue( Err: ers.New("An error message is required"), }} } + case ast.AliasValueInclude: + incldueValue := value.(ast.AliasValueInclude) + + if incldueValue.Path == nil { + return []common.LSPError{{ + Range: incldueValue.Location, + Err: ers.New("A path is required"), + }} + } + + // Again, I'm not sure if the path really needs to be absolute + if !path.IsAbs(string(incldueValue.Path.Path)) { + return []common.LSPError{{ + Range: incldueValue.Path.Location, + Err: ers.New("This path must be absolute"), + }} + } } return nil } diff --git a/handlers/aliases/ast/listener.go b/handlers/aliases/ast/listener.go index 74d5835..8743415 100644 --- a/handlers/aliases/ast/listener.go +++ b/handlers/aliases/ast/listener.go @@ -101,7 +101,7 @@ func (s *aliasesParserListener) EnterFile(ctx *parser.FileContext) { // Set the path include := rawValue.(AliasValueInclude) - include.Path = AliasValueIncludePath{ + include.Path = &AliasValueIncludePath{ Location: location, Path: path(ctx.GetText()), } diff --git a/handlers/aliases/ast/values.go b/handlers/aliases/ast/values.go index bae4526..ac94fc0 100644 --- a/handlers/aliases/ast/values.go +++ b/handlers/aliases/ast/values.go @@ -66,7 +66,7 @@ type AliasValueIncludePath struct { type AliasValueInclude struct { AliasValue - Path AliasValueIncludePath + Path *AliasValueIncludePath } func (a AliasValueInclude) CheckIsValid() []common.LSPError {