in jetbrains-core/src/software/aws/toolkits/jetbrains/core/credentials/CredentialWriter.kt [39:81]
override fun actionPerformed(e: AnActionEvent) {
val project = e.getRequiredData(PlatformDataKeys.PROJECT)
// if both config and credential files do not exist, create a new config file
if (!configFile.exists() && !credentialsFile.exists()) {
if (confirm(project, configFile)) {
try {
writer.createFile(configFile)
} finally {
AwsTelemetry.createCredentials(project)
}
} else {
return
}
}
// open both config and credential files, if they exist
// credential file is opened last since it takes precedence over the config file
val virtualFiles = listOf(configFile, credentialsFile).filter { it.exists() }.map {
localFileSystem.refreshAndFindFileByIoFile(it) ?: throw RuntimeException(message("credentials.could_not_open", it))
}
val fileEditorManager = FileEditorManager.getInstance(project)
localFileSystem.refreshFiles(virtualFiles, false, false) {
virtualFiles.forEach {
if (it.fileType == FileTypes.UNKNOWN) {
ApplicationManager.getApplication().runWriteAction {
FileTypeManagerEx.getInstanceEx().associatePattern(
FileTypes.PLAIN_TEXT,
it.name
)
}
}
if (fileEditorManager.openTextEditor(OpenFileDescriptor(project, it), true) == null) {
AwsTelemetry.openCredentials(project, success = false)
throw RuntimeException(message("credentials.could_not_open", it))
}
AwsTelemetry.openCredentials(project, success = true)
}
}
}