in src/main/kotlin/mobi/hsz/idea/gitignore/actions/NewFileAction.kt [23:55]
override fun actionPerformed(e: AnActionEvent) {
val project = e.getData(CommonDataKeys.PROJECT) ?: return
val view = e.getData(LangDataKeys.IDE_VIEW) ?: return
val directory = view.orChooseDirectory ?: return
val filename = fileType.ignoreLanguage.filename
var file = directory.findFile(filename)
val virtualFile = file?.virtualFile ?: directory.virtualFile.findChild(filename)
val dialog =
if (file == null || virtualFile == null) {
GeneratorDialog(project, action = CreateFileCommandAction(project, directory, fileType))
} else {
Notifications.Bus.notify(
Notification(
fileType.languageName,
IgnoreBundle.message("action.newFile.exists", fileType.languageName),
@Suppress("DialogTitleCapitalization")
IgnoreBundle.message("action.newFile.exists.in", virtualFile.path),
NotificationType.INFORMATION
),
project
)
file = Utils.getPsiFile(project, virtualFile)
GeneratorDialog(project, file)
}.apply {
show()
}
file = dialog.file
if (file != null) {
Utils.openFile(project, file)
}
}