func()

in rules/terraform_locals_order.go [88:108]


func (r *TerraformLocalsOrderRule) suggestedOrder(runner tflint.Runner, block *hclsyntax.Block, attributes []*hclsyntax.Attribute) error {
	sort.Slice(attributes, func(x, y int) bool {
		return attributes[x].Name < attributes[y].Name
	})
	file, err := runner.GetFile(block.Range().Filename)
	if err != nil {
		return err
	}
	var localsHclTxts []string
	for _, a := range attributes {
		localsHclTxts = append(localsHclTxts, string(a.SrcRange.SliceBytes(file.Bytes)))
	}
	localsHclTxt := strings.Join(localsHclTxts, "\n")
	localsHclTxt = fmt.Sprintf("%s {\n%s\n}", block.Type, localsHclTxt)
	formattedTxt := string(hclwrite.Format([]byte(localsHclTxt)))
	return runner.EmitIssue(
		r,
		fmt.Sprintf("Recommended locals order:\n%s", formattedTxt),
		block.DefRange(),
	)
}