Skip to content

Commit

Permalink
refactor(configuration): extract config parsing
Browse files Browse the repository at this point in the history
  • Loading branch information
qvalentin committed Mar 17, 2024
1 parent e3ec4b0 commit e655520
Showing 1 changed file with 13 additions and 12 deletions.
25 changes: 13 additions & 12 deletions internal/handler/configuration.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (

// "reflect"

"github.com/mrjosh/helm-ls/internal/util"
lsp "go.lsp.dev/protocol"
)

Expand All @@ -20,7 +21,6 @@ func (h *langHandler) retrieveWorkspaceConfiguration(ctx context.Context) {
configurationParams := lsp.ConfigurationParams{
Items: []lsp.ConfigurationItem{{Section: "helm-ls"}},
}
result := h.helmlsConfig

rawResult, err := h.client.Configuration(ctx, &configurationParams)
if err != nil {
Expand All @@ -29,29 +29,30 @@ func (h *langHandler) retrieveWorkspaceConfiguration(ctx context.Context) {
return
}

h.helmlsConfig = parseWorkspaceConfiguration(rawResult, h.helmlsConfig)
logger.Println("Workspace configuration:", h.helmlsConfig)
h.initializationWithConfig(ctx)
}

func parseWorkspaceConfiguration(rawResult []interface{}, currentConfig util.HelmlsConfiguration) (result util.HelmlsConfiguration) {
logger.Debug("Raw Workspace configuration:", rawResult)

if len(rawResult) == 0 {
logger.Println("Workspace configuration is empty")
h.initializationWithConfig(ctx)
return
return currentConfig
}

jsonResult, err := json.Marshal(rawResult[0])
if err != nil {
logger.Println("Error marshalling workspace/configuration", err)
h.initializationWithConfig(ctx)
return
return currentConfig
}

result = currentConfig
err = json.Unmarshal(jsonResult, &result)
if err != nil {
logger.Println("Error unmarshalling workspace/configuration", err)
h.initializationWithConfig(ctx)
return
return currentConfig
}

h.helmlsConfig = result

logger.Println("Workspace configuration:", h.helmlsConfig)
h.initializationWithConfig(ctx)
return result
}

0 comments on commit e655520

Please sign in to comment.