@@ -246,12 +246,12 @@ func (doc *YamlDocument) parseStepsParameter(paramName string, paramNode *sitter
246246 keyName := doc .GetNodeText (keyNode )
247247 switch keyName {
248248 case "default" :
249- stepsNode := GetChildOfType (valueNode , "block_sequence" )
249+ stepsNode := GetChildSequence (valueNode )
250250 if stepsNode == nil {
251251 return
252252 }
253253 rng := NodeToRange (child )
254- astDefault , _ := doc .parseArrayParameterValue (paramName , stepsNode , rng )
254+ astDefault , _ := doc .parseArrayParameterValue (paramName , stepsNode , rng , true )
255255 stepsParam .Default = astDefault
256256 stepsParam .DefaultRange = doc .getDefaultParameterRange (child )
257257 stepsParam .HasDefault = true
@@ -327,9 +327,9 @@ func (doc *YamlDocument) parseParameterValue(child *sitter.Node) (ast.ParameterV
327327 return doc .parseSimpleParameterValue (paramName , flowNodeChild , rng )
328328
329329 case "block_sequence" :
330- return doc .parseArrayParameterValue (paramName , flowNodeChild , rng )
330+ return doc .parseArrayParameterValue (paramName , flowNodeChild , rng , false )
331331 case "flow_sequence" :
332- return doc .parseArrayParameterValue (paramName , flowNodeChild , rng )
332+ return doc .parseArrayParameterValue (paramName , flowNodeChild , rng , false )
333333
334334 case "double_quote_scalar" :
335335 return ast.ParameterValue {
@@ -390,12 +390,12 @@ func (doc *YamlDocument) parseParameterValue(child *sitter.Node) (ast.ParameterV
390390 return ast.ParameterValue {Name : paramName }, nil // not supported atm by the parser
391391}
392392
393- func (doc * YamlDocument ) parseArrayParameterValue (paramName string , arrayParamNode * sitter.Node , rng protocol.Range ) (ast.ParameterValue , error ) {
393+ func (doc * YamlDocument ) parseArrayParameterValue (paramName string , arrayParamNode * sitter.Node , rng protocol.Range , forceSteps bool ) (ast.ParameterValue , error ) {
394394 // arrayParamNode is a flow_sequence or a block sequence
395395 values := make ([]ast.ParameterValue , 0 )
396396 iterateOnBlockSequence (arrayParamNode , func (child * sitter.Node ) {
397397 if child .Type () == "block_sequence_item" || child .Type () == "flow_node" {
398- if isStep (doc , child ) {
398+ if isStep (doc , child ) || forceSteps {
399399 steps := doc .parseSingleStep (child )
400400 values = append (values , ast.ParameterValue {
401401 Value : steps ,
0 commit comments