Skip to content
This repository has been archived by the owner on Mar 6, 2023. It is now read-only.

Commit

Permalink
Reuse code for tfvars file check
Browse files Browse the repository at this point in the history
  • Loading branch information
VladRassokhin committed May 15, 2019
1 parent a30869a commit 27fba88
Show file tree
Hide file tree
Showing 6 changed files with 11 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,9 @@ import com.intellij.psi.PsiFile
import com.intellij.psi.PsiWhiteSpace
import com.intellij.psi.util.PsiTreeUtil
import org.intellij.plugins.hcl.psi.HCLBlock
import org.intellij.plugins.hcl.psi.HCLFile
import org.intellij.plugins.hcl.terraform.config.TerraformFileType
import org.intellij.plugins.hcl.terraform.config.codeinsight.InsertHandlersUtil.addHCLBlockRequiredProperties
import org.intellij.plugins.hcl.terraform.config.codeinsight.TerraformConfigCompletionContributor
import org.intellij.plugins.hcl.terraform.config.patterns.TerraformPatterns
import java.util.*


Expand Down Expand Up @@ -89,7 +88,7 @@ abstract class AbstractGenerate : SimpleCodeInsightAction() {
abstract val template: Template

override fun isValidForFile(project: Project, editor: Editor, file: PsiFile): Boolean {
return file is HCLFile && file.fileType == TerraformFileType && !file.name.endsWith("." + TerraformFileType.TFVARS_EXTENSION)
return TerraformPatterns.TerraformConfigFile.accepts(file)
}

companion object {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,15 +35,15 @@ import com.intellij.usageView.UsageInfo
import com.intellij.usages.*
import com.intellij.util.Consumer
import com.intellij.util.NullableFunction
import org.intellij.plugins.hcl.terraform.config.TerraformFileType
import org.intellij.plugins.hcl.terraform.config.model.getTerraformSearchScope
import org.intellij.plugins.hcl.terraform.config.patterns.TerraformPatterns
import org.jetbrains.annotations.NotNull


abstract class TFDuplicatedInspectionBase : LocalInspectionTool() {
override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean): PsiElementVisitor {
val file = holder.file
if (file.fileType != TerraformFileType || file.name.endsWith("." + TerraformFileType.TFVARS_EXTENSION)) {
if (!TerraformPatterns.TerraformConfigFile.accepts(file)) {
return super.buildVisitor(holder, isOnTheFly)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ import com.intellij.codeInspection.*
import com.intellij.openapi.project.Project
import com.intellij.psi.PsiElementVisitor
import org.intellij.plugins.hcl.psi.*
import org.intellij.plugins.hcl.terraform.config.TerraformFileType
import org.intellij.plugins.hcl.terraform.config.model.SimpleValueHint
import org.intellij.plugins.hcl.terraform.config.model.TypeModel
import org.intellij.plugins.hcl.terraform.config.model.Types
Expand All @@ -29,7 +28,7 @@ import org.intellij.plugins.hcl.terraform.config.patterns.TerraformPatterns
class TFIncorrectVariableTypeInspection : LocalInspectionTool() {
override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean): PsiElementVisitor {
val file = holder.file
if (file.fileType != TerraformFileType || file.name.endsWith("." + TerraformFileType.TFVARS_EXTENSION)) {
if (!TerraformPatterns.TerraformConfigFile.accepts(file)) {
return super.buildVisitor(holder, isOnTheFly)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import com.intellij.psi.InjectedLanguagePlaces
import com.intellij.psi.PsiElementVisitor
import com.intellij.util.ProcessingContext
import org.intellij.plugins.hcl.psi.*
import org.intellij.plugins.hcl.terraform.config.TerraformFileType
import org.intellij.plugins.hcl.terraform.config.patterns.TerraformPatterns
import org.intellij.plugins.hcl.terraform.config.patterns.TerraformPatterns.ModuleRootBlock
import org.intellij.plugins.hcl.terraform.config.patterns.TerraformPatterns.ResourceRootBlock
import org.intellij.plugins.hcl.terraform.config.patterns.TerraformPatterns.TerraformRootBlock
Expand All @@ -37,7 +37,7 @@ import java.util.*
class TFNoInterpolationsAllowedInspection : LocalInspectionTool() {
override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean): PsiElementVisitor {
val file = holder.file
if (file.fileType != TerraformFileType || file.name.endsWith("." + TerraformFileType.TFVARS_EXTENSION)) {
if (!TerraformPatterns.TerraformConfigFile.accepts(file)) {
return super.buildVisitor(holder, isOnTheFly)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,16 @@ import com.intellij.psi.PsiElementVisitor
import com.intellij.psi.PsiFile
import org.intellij.plugins.hcl.psi.*
import org.intellij.plugins.hcl.psi.impl.HCLStringLiteralMixin
import org.intellij.plugins.hcl.terraform.config.TerraformFileType
import org.intellij.plugins.hcl.terraform.config.model.TypeModel
import org.intellij.plugins.hcl.terraform.config.model.Types
import org.intellij.plugins.hcl.terraform.config.model.getTerraformModule
import org.intellij.plugins.hcl.terraform.config.model.getValueType
import org.intellij.plugins.hcl.terraform.config.patterns.TerraformPatterns

class TFVARSIncorrectElementInspection : LocalInspectionTool() {
override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean): PsiElementVisitor {
val file = holder.file
if (file.fileType != TerraformFileType || !file.name.endsWith("." + TerraformFileType.TFVARS_EXTENSION)) {
if (!TerraformPatterns.TerraformVariablesFile.accepts(file)) {
return super.buildVisitor(holder, isOnTheFly)
}

Expand Down
4 changes: 2 additions & 2 deletions src/kotlin/org/intellij/plugins/hil/ILLanguageInjector.kt
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import org.intellij.plugins.hcl.psi.HCLFile
import org.intellij.plugins.hcl.psi.HCLHeredocContent
import org.intellij.plugins.hcl.psi.HCLStringLiteral
import org.intellij.plugins.hcl.psi.impl.HCLPsiImplUtils
import org.intellij.plugins.hcl.terraform.config.TerraformFileType
import org.intellij.plugins.hcl.terraform.config.patterns.TerraformPatterns
import org.intellij.plugins.hil.HILElementTypes.INTERPOLATION_END
import org.intellij.plugins.hil.HILElementTypes.INTERPOLATION_START
import org.intellij.plugins.hil.psi.HILLexer
Expand All @@ -41,7 +41,7 @@ class ILLanguageInjector : LanguageInjector {
val file = host.containingFile
if (file !is HCLFile || !file.isInterpolationsAllowed()) return
// Restrict interpolations in .tfvars files // TODO: This file shouldn't know about .tfvars here
if (file.fileType == TerraformFileType && file.name.endsWith("." + TerraformFileType.TFVARS_EXTENSION)) return
if (TerraformPatterns.TerraformVariablesFile.accepts(file)) return
if (host is HCLStringLiteral) return getStringLiteralInjections(host, places)
if (host is HCLHeredocContent) return getHCLHeredocContentInjections(host, places)
return
Expand Down

0 comments on commit 27fba88

Please sign in to comment.