override fun prepareChange()

in src/main/com/intellij/lang/jsgraphql/ide/config/env/GraphQLConfigEnvironment.kt [208:252]


  override fun prepareChange(events: List<VFileEvent>): ChangeApplier? {
    var changed = false

    for (event in events) {
      if (changed) break

      when (event) {
        is VFileCreateEvent -> if (event.childName in FILENAMES) {
          changed = true
        }

        is VFileCopyEvent -> if (event.newChildName in FILENAMES) {
          changed = true
        }

        is VFileDeleteEvent -> if (event.file.name in FILENAMES) {
          changed = true
        }

        is VFileContentChangeEvent -> if (event.file.name in FILENAMES) {
          changed = true
        }

        is VFileMoveEvent -> if (event.file.name in FILENAMES) {
          changed = true
        }

        is VFilePropertyChangeEvent -> if (event.propertyName == VirtualFile.PROP_NAME) {
          if (event.oldValue in FILENAMES || event.newValue in FILENAMES) {
            changed = true
          }
        }
      }
    }

    if (!changed) {
      return null
    }

    return object : ChangeApplier {
      override fun afterVfsChange() {
        notifyEnvironmentChanged()
      }
    }
  }