VladRassokhin/intellij-hcl

Cloudflare have reused a keyword (`data`) as the name of a block element for `cloudflare_record`, which results in the plugin saying `Missing closing brace on previous line`.

rquadling opened this issue · 1 comments

Cloudflare have reused a keyword (data) as the name of a block element for cloudflare_record, which results in the plugin saying Missing closing brace on previous line.

Prerequisites

v3 of the Terraform Cloudflare Provider

Installation details

  • IDE version (Help->About->Copy to Clipboard)
Build #PS-213.6461.83, built on December 29, 2021
Licensed to Richard Quadling
You have a perpetual fallback license for this version.
Subscription is active until January 18, 2023.
Runtime version: 11.0.13+7-b1751.21 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
macOS 11.5.2
GC: G1 Young Generation, G1 Old Generation
Memory: 2048M
Cores: 8
Registry:
    debugger.watches.in.variables=false
    ide.windowSystem.autoShowProcessPopup=true
    run.processes.with.pty=TRUE
    ide.tooltip.initialDelay=704

Non-Bundled Plugins:
    some.awesome (1.14)
    net.vektah.codeglance (1.5.4)
    net.seesharpsoft.intellij.plugins.csv (2.18.2)
    net.antelle.intellij-xcode-dark-theme (1.2.4)
    name.kropp.intellij.makefile (213.5744.224)
    com.jtschwartz.smartsort (1.0.3)
    com.jetbrains.darkPurpleTheme (1.2)
    org.intellij.plugins.hcl (0.7.14)
    com.hiberbee.intellij.hiberbee-theme (2021.9.23.2312)
    mobi.hsz.idea.gitignore (4.3.0)
    de.espend.idea.php.annotation (8.0.0)
    com.kalessil.phpStorm.phpInspectionsEA (4.0.7.1)
    izhangzhihao.rainbow.brackets (6.21)
    ru.adelf.idea.dotenv (2021.3.0.213)
  • intellij-hcl plugin version (Settings->Plugins)
0.7.14
  • Terraform version (terraform -v)
Terraform v1.1.4
on darwin_amd64
+ provider registry.terraform.io/cloudflare/cloudflare v3.7.0

Terraform Configuration Files

resource "cloudflare_record" "srv_record" {
  for_each = var.srv_records
  zone_id  = var.cf_zone_id
  type     = "SRV"
  name     = each.value.name

  data {
    service  = each.value.data_service
    proto    = each.value.data_proto
    name     = each.value.data_name
    priority = each.value.data_priority
    weight   = each.value.data_weight
    port     = each.value.data_port
    target   = each.value.data_target
  }
}

Exception

No exception.

Expected Behavior

No red wavy underline for data being used as then name of a block.

Actual Behavior

image

Steps to Reproduce

  1. Create a project with the Cloudflare provider of at least v3.0
  2. Create a file with the resource shown above.
  3. See the red wavy line on data.

The documentation here shows the current structure, and here for the release notices and upgrades needed to move from v2 to v3 of the Cloudflare provider.

Fixed in 0.7.15 with updated metadata