i18n: update bundle in `idea-jvm
#KT-37483
This commit is contained in:
@@ -62,14 +62,14 @@ run.configuration.error.class.no.main.method=Class ''{0}'' has no ''main()'' met
|
|||||||
run.configuration.error.main.not.found=Function ''main()'' not found in class ''{0}''
|
run.configuration.error.main.not.found=Function ''main()'' not found in class ''{0}''
|
||||||
run.configuration.error.main.not.found.top.level=Top-level function ''main()'' not found in package ''{0}''
|
run.configuration.error.main.not.found.top.level=Top-level function ''main()'' not found in package ''{0}''
|
||||||
|
|
||||||
script.choose.file=Choose script file
|
script.choose.file=Choose Script File
|
||||||
|
|
||||||
editor.editor.only=Editor only
|
editor.editor.only=Editor only
|
||||||
editor.preview.only=Preview only
|
editor.preview.only=Preview only
|
||||||
editor.editor.and.preview=Editor and preview
|
editor.editor.and.preview=Editor and preview
|
||||||
choose.configurator=Choose Configurator
|
title.choose.configurator=Choose Configurator
|
||||||
ignore=Ignore
|
action.text.ignore=Ignore
|
||||||
configure=Configure
|
action.text.configure=Configure
|
||||||
kotlin.not.configured=Kotlin not configured
|
kotlin.not.configured=Kotlin not configured
|
||||||
there.aren.t.configurators.available=There aren't configurators available
|
there.aren.t.configurators.available=There aren't configurators available
|
||||||
all.modules.with.kotlin.files.are.configured=All modules with Kotlin files are configured
|
all.modules.with.kotlin.files.are.configured=All modules with Kotlin files are configured
|
||||||
@@ -86,6 +86,8 @@ can.t.find.library.jar.file.0=Can''t find library JAR file {0}
|
|||||||
0.library.was.created={0} library was created
|
0.library.was.created={0} library was created
|
||||||
configure.kotlin=Configure Kotlin
|
configure.kotlin=Configure Kotlin
|
||||||
configure.0.in.1.project.br.2=Configure {0} in ''{1}'' project<br/> {2}
|
configure.0.in.1.project.br.2=Configure {0} in ''{1}'' project<br/> {2}
|
||||||
|
configure.0.module=''{0}'' module
|
||||||
|
configure.modules=modules
|
||||||
kotlin.code.style=Kotlin Code Style
|
kotlin.code.style=Kotlin Code Style
|
||||||
default.code.style.was.updated.to.kotlin.coding.conventions=Default code style was updated to Kotlin Coding Conventions.
|
default.code.style.was.updated.to.kotlin.coding.conventions=Default code style was updated to Kotlin Coding Conventions.
|
||||||
apply.new.code.style=Apply new code style
|
apply.new.code.style=Apply new code style
|
||||||
@@ -94,29 +96,29 @@ libraries.for.the.following.platform.are.also.present.in.the.module.dependencies
|
|||||||
no.target.platforms.selected=No target platforms selected
|
no.target.platforms.selected=No target platforms selected
|
||||||
kotlin.common.standard.library=Kotlin Common Standard Library
|
kotlin.common.standard.library=Kotlin Common Standard Library
|
||||||
create.kotlin.common.standard.library=Create Kotlin Common Standard Library
|
create.kotlin.common.standard.library=Create Kotlin Common Standard Library
|
||||||
kotlin.js=Kotlin/JS
|
presentable.name.kotlin.js=Kotlin/JS
|
||||||
kotlin.java.runtime.library=Kotlin Java Runtime Library
|
kotlin.java.runtime.library=Kotlin Java Runtime Library
|
||||||
create.kotlin.java.runtime.library=Create Kotlin Java Runtime Library
|
create.kotlin.java.runtime.library=Create Kotlin Java Runtime Library
|
||||||
kotlin.javascript.library=Kotlin JavaScript Library
|
kotlin.javascript.library=Kotlin JavaScript Library
|
||||||
create.kotlin.javascript.library=Create Kotlin JavaScript Library
|
create.kotlin.javascript.library=Create Kotlin JavaScript Library
|
||||||
javascript.library.creation=JavaScript Library Creation
|
javascript.library.creation=JavaScript Library Creation
|
||||||
java.runtime.library.creation=Java Runtime Library Creation
|
java.runtime.library.creation=Java Runtime Library Creation
|
||||||
js.files=JS files
|
presentable.type.js.files=JS files
|
||||||
kotlin.project.with.a.javascript.target.based.on.the.intellij.idea.build.system=Kotlin project with a JavaScript target based on the IntelliJ IDEA build system
|
kotlin.project.with.a.javascript.target.based.on.the.intellij.idea.build.system=Kotlin project with a JavaScript target based on the IntelliJ IDEA build system
|
||||||
kotlin.project.with.a.jvm.target.based.on.the.intellij.idea.build.system=Kotlin project with a JVM target based on the IntelliJ IDEA build system
|
kotlin.project.with.a.jvm.target.based.on.the.intellij.idea.build.system=Kotlin project with a JVM target based on the IntelliJ IDEA build system
|
||||||
add.injection.comment=Add injection comment
|
command.action.add.injection.comment=Add injection comment
|
||||||
add.injection.annotation=Add injection annotation
|
command.action.add.injection.annotation=Add injection annotation
|
||||||
remove.injection.in.code.instructions=remove injection in-code instructions
|
command.action.remove.injection.in.code.instructions=remove injection in-code instructions
|
||||||
this.java.file.is.outside.of.java.source.roots.and.won.t.be.added.to.the.classpath=This .java file is outside of Java source roots and won't be added to the classpath.
|
this.java.file.is.outside.of.java.source.roots.and.won.t.be.added.to.the.classpath=This .java file is outside of Java source roots and won't be added to the classpath.
|
||||||
incompatible.api=Incompatible API
|
reason.incompatible.api=Incompatible API
|
||||||
kotlin.bytecode.decompiler=Kotlin Bytecode Decompiler
|
kotlin.bytecode.decompiler=Kotlin Bytecode Decompiler
|
||||||
failed.to.decompile.0.1=Failed to decompile {0}: {1}
|
failed.to.decompile.0.1=Failed to decompile {0}: {1}
|
||||||
decompile=Decompile
|
button.text.decompile=Decompile
|
||||||
ir=IR
|
checkbox.text.ir=IR
|
||||||
jvm.8.target=JVM 8 target
|
checkbox.text.jvm.8.target=JVM 8 target
|
||||||
assertions=Assertions
|
checkbox.text.assertions=Assertions
|
||||||
optimization=Optimization
|
checkbox.text.optimization=Optimization
|
||||||
inline=Inline
|
checkbox.text.inline=Inline
|
||||||
cannot.compile.0.to.bytecode=Cannot compile {0} to bytecode.
|
cannot.compile.0.to.bytecode=Cannot compile {0} to bytecode.
|
||||||
create.backup.for.debugging.kotlin.incremental.compilation=Create backup for debugging Kotlin incremental compilation
|
create.backup.for.debugging.kotlin.incremental.compilation=Create backup for debugging Kotlin incremental compilation
|
||||||
creating.backup.for.debugging.kotlin.incremental.compilation=Creating backup for debugging Kotlin incremental compilation
|
creating.backup.for.debugging.kotlin.incremental.compilation=Creating backup for debugging Kotlin incremental compilation
|
||||||
@@ -132,7 +134,7 @@ this.language.feature.requires.version.0.or.later.of.the.kotlin.runtime.library.
|
|||||||
could.not.find.script.file.0=Could not find script file: {0}
|
could.not.find.script.file.0=Could not find script file: {0}
|
||||||
file.was.not.specified=File was not specified
|
file.was.not.specified=File was not specified
|
||||||
run.kotlin.script=Run Kotlin script
|
run.kotlin.script=Run Kotlin script
|
||||||
kotlin.script=Kotlin script
|
name.kotlin.script=Kotlin script
|
||||||
exception.occurs.during.run.scratch.action=Exception occurs during Run Scratch Action
|
exception.occurs.during.run.scratch.action=Exception occurs during Run Scratch Action
|
||||||
there.were.compilation.errors.in.module.0=There were compilation errors in module {0}
|
there.were.compilation.errors.in.module.0=There were compilation errors in module {0}
|
||||||
other.scratch.file.execution.is.in.progress=Other Scratch file execution is in progress
|
other.scratch.file.execution.is.in.progress=Other Scratch file execution is in progress
|
||||||
@@ -145,9 +147,9 @@ running.kotlin.scratch=Running Kotlin Scratch...
|
|||||||
couldn.t.execute.statement.0=Couldn''t execute statement: {0}
|
couldn.t.execute.statement.0=Couldn''t execute statement: {0}
|
||||||
couldn.t.stop.repl.process=Couldn't stop REPL process
|
couldn.t.stop.repl.process=Couldn't stop REPL process
|
||||||
check.bunch.files=Check &bunch files
|
check.bunch.files=Check &bunch files
|
||||||
commit=Commit
|
button.text.commit=Commit
|
||||||
review=Review
|
button.text.review=Review
|
||||||
forgotten.bunch.files=Forgotten Bunch Files
|
button.text.forgotten.bunch.files=Forgotten Bunch Files
|
||||||
several.bunch.files.haven.t.been.updated.0.do.you.want.to.review.them.before.commit=Several bunch files haven''t been updated:\n\n{0}\n\nDo you want to review them before commit?
|
several.bunch.files.haven.t.been.updated.0.do.you.want.to.review.them.before.commit=Several bunch files haven''t been updated:\n\n{0}\n\nDo you want to review them before commit?
|
||||||
update.kotlin.runtime.library=Update Kotlin Runtime Library
|
update.kotlin.runtime.library=Update Kotlin Runtime Library
|
||||||
automatic.library.version.update.for.maven.and.gradle.projects.is.currently.unsupported.please.update.your.build.scripts.manually=Automatic library version update for Maven and Gradle projects is currently unsupported. Please update your build scripts manually.
|
automatic.library.version.update.for.maven.and.gradle.projects.is.currently.unsupported.please.update.your.build.scripts.manually=Automatic library version update for Maven and Gradle projects is currently unsupported. Please update your build scripts manually.
|
||||||
@@ -156,31 +158,43 @@ failed.to.update.0.1=Failed to update {0}: {1}
|
|||||||
library.update.failed1=Library update failed
|
library.update.failed1=Library update failed
|
||||||
failed.to.find.root.for.file.0=Failed to find root for file: {0}
|
failed.to.find.root.for.file.0=Failed to find root for file: {0}
|
||||||
html.b.0.choice.0.1.1.some.kotlin.runtime.librar.0.choice.0.1.y.1.ies.b.1.choice.0.1.and.one.other.jar.1.and.1.other.jars.1.choice.0.has.0.have.an.unsupported.binary.format.html=<b>{0,choice,0#|1#|1<Some }Kotlin runtime librar{0,choice,0#|1#y|1<ies}</b>{1,choice,0#|1# and one other jar|1< and {1} other jars} {1,choice,0#has|0<have} an unsupported binary format.
|
html.b.0.choice.0.1.1.some.kotlin.runtime.librar.0.choice.0.1.y.1.ies.b.1.choice.0.1.and.one.other.jar.1.and.1.other.jars.1.choice.0.has.0.have.an.unsupported.binary.format.html=<b>{0,choice,0#|1#|1<Some }Kotlin runtime librar{0,choice,0#|1#y|1<ies}</b>{1,choice,0#|1# and one other jar|1< and {1} other jars} {1,choice,0#has|0<have} an unsupported binary format.
|
||||||
replace=Replace
|
button.text.replace.library=Replace
|
||||||
downgrade=Downgrade
|
button.text.downgrade.library=Downgrade
|
||||||
update=Update
|
button.text.update.library=Update
|
||||||
0.choice.0.1.1.all.kotlin.runtime.librar.0.choice.0.1.y.1.ies={0,choice,0#|1#|1<all }Kotlin runtime librar{0,choice,0#|1#y|1<ies}
|
0.choice.0.1.1.all.kotlin.runtime.librar.0.choice.0.1.y.1.ies={0,choice,0#|1#|1<all }Kotlin runtime librar{0,choice,0#|1#y|1<ies}
|
||||||
html.kotlin.library.b.0.b.has.outdated.binary.format.and.can.t.be.read.by.current.plugin.please.update.the.library.html=Kotlin library <b>'{'0'}'</b> has outdated binary format and can''t be read by current plugin. Please update the library.
|
html.kotlin.library.b.0.b.has.outdated.binary.format.and.can.t.be.read.by.current.plugin.please.update.the.library.html=Kotlin library <b>'{'0'}'</b> has outdated binary format and can''t be read by current plugin. Please update the library.
|
||||||
html.kotlin.library.b.0.b.was.compiled.with.a.newer.kotlin.compiler.and.can.t.be.read.please.update.kotlin.plugin.html=Kotlin library <b>'{'0'}'</b> was compiled with a newer Kotlin compiler and can''t be read. Please update Kotlin plugin.
|
html.kotlin.library.b.0.b.was.compiled.with.a.newer.kotlin.compiler.and.can.t.be.read.please.update.kotlin.plugin.html=Kotlin library <b>'{'0'}'</b> was compiled with a newer Kotlin compiler and can''t be read. Please update Kotlin plugin.
|
||||||
some.kotlin.libraries.attached.to.this.project.have.unsupported.binary.format.please.update.the.libraries.or.the.plugin=Some Kotlin libraries attached to this project have unsupported binary format. Please update the libraries or the plugin.
|
some.kotlin.libraries.attached.to.this.project.have.unsupported.binary.format.please.update.the.libraries.or.the.plugin=Some Kotlin libraries attached to this project have unsupported binary format. Please update the libraries or the plugin.
|
||||||
some.kotlin.libraries.attached.to.this.project.have.outdated.binary.format.and.can.t.be.read.by.current.plugin.please.update.found.libraries=Some Kotlin libraries attached to this project have outdated binary format and can't be read by current plugin. Please update found libraries.
|
some.kotlin.libraries.attached.to.this.project.have.outdated.binary.format.and.can.t.be.read.by.current.plugin.please.update.found.libraries=Some Kotlin libraries attached to this project have outdated binary format and can't be read by current plugin. Please update found libraries.
|
||||||
some.kotlin.libraries.attached.to.this.project.were.compiled.with.a.newer.kotlin.compiler.and.can.t.be.read.please.update.kotlin.plugin=Some Kotlin libraries attached to this project were compiled with a newer Kotlin compiler and can't be read. Please update Kotlin plugin.
|
some.kotlin.libraries.attached.to.this.project.were.compiled.with.a.newer.kotlin.compiler.and.can.t.be.read.please.update.kotlin.plugin=Some Kotlin libraries attached to this project were compiled with a newer Kotlin compiler and can't be read. Please update Kotlin plugin.
|
||||||
go.to.0=Go to {0}
|
button.text.go.to.0=Go to {0}
|
||||||
details=Details
|
button.text.details=Details
|
||||||
update.plugin=Update plugin
|
progress.action.text.update.plugin=Update plugin
|
||||||
check=\ Check...
|
progress.action.text.check=\ Check...
|
||||||
can.t.show.all.paths.during.index.update=Can't show all paths during index update
|
can.t.show.all.paths.during.index.update=Can't show all paths during index update
|
||||||
unsupported.format.plugin.version.0=Unsupported format, plugin version: {0}
|
unsupported.format.plugin.version.0=Unsupported format, plugin version: {0}
|
||||||
no.updates.found=No updates found
|
no.updates.found=No updates found
|
||||||
0.1.expected.2={0} ({1}) - expected: {2}
|
0.1.expected.2={0} ({1}) - expected: {2}
|
||||||
copy.to=&Copy to:
|
choose.library.copy.to=&Copy to:
|
||||||
use.library.from.plugin=&Use library from plugin
|
use.library.from.plugin=&Use library from plugin
|
||||||
all.modules.containing.kotlin.files=All modules containing Kotlin files:
|
all.modules.containing.kotlin.files=All modules containing Kotlin files:
|
||||||
all.modules=All modules
|
all.modules=All modules
|
||||||
single.module=Single module:
|
single.module=Single module:
|
||||||
kotlin.compiler.and.runtime.version=Kotlin compiler and runtime version:
|
kotlin.compiler.and.runtime.version=Kotlin compiler and runtime version:
|
||||||
copy.into=&Copy into:
|
copy.into=&Copy into:
|
||||||
using.compiler.bundled.into.plugin=Using compiler bundled into plugin
|
using.compiler.bundled.into.plugin=Using compiler bundled into plugin
|
||||||
reason=&Reason
|
api.dialog.reason=&Reason
|
||||||
reference=Re&ference
|
api.dialog.reference=Re&ference
|
||||||
script.file=Script file
|
configuration.title.script.file=Script file
|
||||||
|
presentable.name.js.idea=JS | IDEA
|
||||||
|
presentable.name.jvm.idea=JVM | IDEA
|
||||||
|
language.name.kotlin=Kotlin
|
||||||
|
language.name.java=Java
|
||||||
|
language.name.javascript=JavaScript
|
||||||
|
as.kotlin.1.module=as Kotlin ({0}) {1,choice,0#module|2#modules}
|
||||||
|
presentable.name.kotlin.jvm=Kotlin/JVM
|
||||||
|
fix.0.in.current.module={0} in the current module
|
||||||
|
fix.0.in.the.project={0} in the project
|
||||||
|
short.feature.name.coroutine=coroutine
|
||||||
|
enable.feature.family=Increase {0,choice,0#module|1#project} {1,choice,0#API version|1#language version}
|
||||||
|
enable.feature.text=Set {0,choice,0#module|1#project} {1,choice,0#API version|1#language version} to {2}
|
||||||
@@ -27,15 +27,12 @@ import org.jetbrains.kotlin.idea.KotlinIcons
|
|||||||
import org.jetbrains.kotlin.idea.internal.KotlinBytecodeToolWindow
|
import org.jetbrains.kotlin.idea.internal.KotlinBytecodeToolWindow
|
||||||
|
|
||||||
class ShowKotlinBytecodeAction : AnAction() {
|
class ShowKotlinBytecodeAction : AnAction() {
|
||||||
val TOOLWINDOW_ID = "Kotlin Bytecode"
|
|
||||||
|
|
||||||
override fun actionPerformed(e: AnActionEvent) {
|
override fun actionPerformed(e: AnActionEvent) {
|
||||||
val project = e.project ?: return
|
val project = e.project ?: return
|
||||||
val toolWindowManager = ToolWindowManager.getInstance(project)
|
val toolWindowManager = ToolWindowManager.getInstance(project)
|
||||||
|
|
||||||
var toolWindow = toolWindowManager.getToolWindow(TOOLWINDOW_ID)
|
var toolWindow = toolWindowManager.getToolWindow(TOOLWINDOW_ID)
|
||||||
if (toolWindow == null) {
|
if (toolWindow == null) {
|
||||||
toolWindow = toolWindowManager.registerToolWindow("Kotlin Bytecode", false, ToolWindowAnchor.RIGHT)
|
toolWindow = toolWindowManager.registerToolWindow(TOOLWINDOW_ID, false, ToolWindowAnchor.RIGHT)
|
||||||
toolWindow.icon = KotlinIcons.SMALL_LOGO_13
|
toolWindow.icon = KotlinIcons.SMALL_LOGO_13
|
||||||
|
|
||||||
val contentManager = toolWindow.contentManager
|
val contentManager = toolWindow.contentManager
|
||||||
@@ -49,4 +46,8 @@ class ShowKotlinBytecodeAction : AnAction() {
|
|||||||
val file = e.getData(CommonDataKeys.PSI_FILE)
|
val file = e.getData(CommonDataKeys.PSI_FILE)
|
||||||
e.presentation.isEnabled = e.project != null && file?.fileType == KotlinFileType.INSTANCE
|
e.presentation.isEnabled = e.project != null && file?.fileType == KotlinFileType.INSTANCE
|
||||||
}
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
const val TOOLWINDOW_ID = "Kotlin Bytecode"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,14 +27,12 @@ import org.jetbrains.kotlin.idea.KotlinIcons
|
|||||||
import org.jetbrains.kotlin.idea.internal.KotlinBytecodeToolWindow
|
import org.jetbrains.kotlin.idea.internal.KotlinBytecodeToolWindow
|
||||||
|
|
||||||
class ShowKotlinBytecodeAction : AnAction() {
|
class ShowKotlinBytecodeAction : AnAction() {
|
||||||
val TOOLWINDOW_ID = "Kotlin Bytecode"
|
|
||||||
|
|
||||||
override fun actionPerformed(e: AnActionEvent) {
|
override fun actionPerformed(e: AnActionEvent) {
|
||||||
val project = e.project ?: return
|
val project = e.project ?: return
|
||||||
val toolWindowManager = ToolWindowManager.getInstance(project)
|
val toolWindowManager = ToolWindowManager.getInstance(project)
|
||||||
|
|
||||||
val toolWindow = toolWindowManager.getToolWindow(TOOLWINDOW_ID) ?: toolWindowManager.registerToolWindow(
|
val toolWindow = toolWindowManager.getToolWindow(TOOLWINDOW_ID) ?: toolWindowManager.registerToolWindow(
|
||||||
"Kotlin Bytecode",
|
TOOLWINDOW_ID,
|
||||||
false,
|
false,
|
||||||
ToolWindowAnchor.RIGHT,
|
ToolWindowAnchor.RIGHT,
|
||||||
)
|
)
|
||||||
@@ -51,4 +49,8 @@ class ShowKotlinBytecodeAction : AnAction() {
|
|||||||
val file = e.getData(CommonDataKeys.PSI_FILE)
|
val file = e.getData(CommonDataKeys.PSI_FILE)
|
||||||
e.presentation.isEnabled = e.project != null && file?.fileType == KotlinFileType.INSTANCE
|
e.presentation.isEnabled = e.project != null && file?.fileType == KotlinFileType.INSTANCE
|
||||||
}
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
const val TOOLWINDOW_ID = "Kotlin Bytecode"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -83,11 +83,11 @@ fun devRepository(version: String) = RepositoryDescription(
|
|||||||
isSnapshot = false
|
isSnapshot = false
|
||||||
)
|
)
|
||||||
|
|
||||||
val MAVEN_CENTRAL = "mavenCentral()"
|
const val MAVEN_CENTRAL = "mavenCentral()"
|
||||||
|
|
||||||
val JCENTER = "jcenter()"
|
const val JCENTER = "jcenter()"
|
||||||
|
|
||||||
val KOTLIN_GROUP_ID = "org.jetbrains.kotlin"
|
const val KOTLIN_GROUP_ID = "org.jetbrains.kotlin"
|
||||||
|
|
||||||
fun isRepositoryConfigured(repositoriesBlockText: String): Boolean =
|
fun isRepositoryConfigured(repositoriesBlockText: String): Boolean =
|
||||||
repositoriesBlockText.contains(MAVEN_CENTRAL) || repositoriesBlockText.contains(JCENTER)
|
repositoriesBlockText.contains(MAVEN_CENTRAL) || repositoriesBlockText.contains(JCENTER)
|
||||||
|
|||||||
+2
-1
@@ -28,6 +28,7 @@ import com.intellij.openapi.roots.OrderRootType
|
|||||||
import com.intellij.openapi.roots.impl.libraries.LibraryEx
|
import com.intellij.openapi.roots.impl.libraries.LibraryEx
|
||||||
import com.intellij.openapi.roots.libraries.Library
|
import com.intellij.openapi.roots.libraries.Library
|
||||||
import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments
|
import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinJvmBundle
|
||||||
import org.jetbrains.kotlin.idea.compiler.configuration.Kotlin2JvmCompilerArgumentsHolder
|
import org.jetbrains.kotlin.idea.compiler.configuration.Kotlin2JvmCompilerArgumentsHolder
|
||||||
import org.jetbrains.kotlin.idea.facet.getOrCreateFacet
|
import org.jetbrains.kotlin.idea.facet.getOrCreateFacet
|
||||||
import org.jetbrains.kotlin.idea.facet.initializeIfNeeded
|
import org.jetbrains.kotlin.idea.facet.initializeIfNeeded
|
||||||
@@ -63,7 +64,7 @@ open class KotlinJavaModuleConfigurator protected constructor() : KotlinWithLibr
|
|||||||
get() = JavaRuntimeLibraryDescription.JAVA_RUNTIME_LIBRARY_CREATION
|
get() = JavaRuntimeLibraryDescription.JAVA_RUNTIME_LIBRARY_CREATION
|
||||||
|
|
||||||
override val presentableText: String
|
override val presentableText: String
|
||||||
get() = "Java"
|
get() = KotlinJvmBundle.message("language.name.java")
|
||||||
|
|
||||||
override val name: String
|
override val name: String
|
||||||
get() = NAME
|
get() = NAME
|
||||||
|
|||||||
+1
-1
@@ -36,7 +36,7 @@ open class KotlinJsModuleConfigurator : KotlinWithLibraryConfigurator() {
|
|||||||
override fun getTargetPlatform() = JsPlatforms.CompatJsPlatform
|
override fun getTargetPlatform() = JsPlatforms.CompatJsPlatform
|
||||||
|
|
||||||
override val presentableText: String
|
override val presentableText: String
|
||||||
get() = JavaScript.FULL_NAME
|
get() = KotlinJvmBundle.message("language.name.javascript")
|
||||||
|
|
||||||
override fun isConfigured(module: Module) = hasKotlinJsRuntimeInScope(module)
|
override fun isConfigured(module: Module) = hasKotlinJsRuntimeInScope(module)
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -97,7 +97,7 @@ class KotlinSetupEnvironmentNotificationProvider(private val myProject: Project)
|
|||||||
setText(KotlinJvmBundle.message("kotlin.not.configured"))
|
setText(KotlinJvmBundle.message("kotlin.not.configured"))
|
||||||
val configurators = getAbleToRunConfigurators(module).toList()
|
val configurators = getAbleToRunConfigurators(module).toList()
|
||||||
if (configurators.isNotEmpty()) {
|
if (configurators.isNotEmpty()) {
|
||||||
createComponentActionLabel(KotlinJvmBundle.message("configure")) { label ->
|
createComponentActionLabel(KotlinJvmBundle.message("action.text.configure")) { label ->
|
||||||
val singleConfigurator = configurators.singleOrNull()
|
val singleConfigurator = configurators.singleOrNull()
|
||||||
if (singleConfigurator != null) {
|
if (singleConfigurator != null) {
|
||||||
singleConfigurator.apply(module.project)
|
singleConfigurator.apply(module.project)
|
||||||
@@ -107,7 +107,7 @@ class KotlinSetupEnvironmentNotificationProvider(private val myProject: Project)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
createComponentActionLabel(KotlinJvmBundle.message("ignore")) {
|
createComponentActionLabel(KotlinJvmBundle.message("action.text.ignore")) {
|
||||||
SuppressNotificationState.suppressKotlinNotConfigured(module)
|
SuppressNotificationState.suppressKotlinNotConfigured(module)
|
||||||
EditorNotifications.getInstance(module.project).updateAllNotifications()
|
EditorNotifications.getInstance(module.project).updateAllNotifications()
|
||||||
}
|
}
|
||||||
@@ -123,7 +123,7 @@ class KotlinSetupEnvironmentNotificationProvider(private val myProject: Project)
|
|||||||
|
|
||||||
fun createConfiguratorsPopup(project: Project, configurators: List<KotlinProjectConfigurator>): ListPopup {
|
fun createConfiguratorsPopup(project: Project, configurators: List<KotlinProjectConfigurator>): ListPopup {
|
||||||
val step = object : BaseListPopupStep<KotlinProjectConfigurator>(
|
val step = object : BaseListPopupStep<KotlinProjectConfigurator>(
|
||||||
KotlinJvmBundle.message("choose.configurator"),
|
KotlinJvmBundle.message("title.choose.configurator"),
|
||||||
configurators
|
configurators
|
||||||
) {
|
) {
|
||||||
override fun getTextFor(value: KotlinProjectConfigurator?) = value?.presentableText ?: "<none>"
|
override fun getTextFor(value: KotlinProjectConfigurator?) = value?.presentableText ?: "<none>"
|
||||||
|
|||||||
+1
-1
@@ -464,7 +464,7 @@ abstract class KotlinWithLibraryConfigurator protected constructor() : KotlinPro
|
|||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
val DEFAULT_LIBRARY_DIR = "lib"
|
const val DEFAULT_LIBRARY_DIR = "lib"
|
||||||
|
|
||||||
fun getPathFromLibrary(library: Library?, type: OrderRootType): String? {
|
fun getPathFromLibrary(library: Library?, type: OrderRootType): String? {
|
||||||
if (library == null) return null
|
if (library == null) return null
|
||||||
|
|||||||
+11
-3
@@ -28,7 +28,8 @@ class ConfigureKotlinNotification(
|
|||||||
excludeModules: List<Module>,
|
excludeModules: List<Module>,
|
||||||
val notificationState: ConfigureKotlinNotificationState
|
val notificationState: ConfigureKotlinNotificationState
|
||||||
) : Notification(
|
) : Notification(
|
||||||
KotlinConfigurationCheckerService.CONFIGURE_NOTIFICATION_GROUP_ID, KotlinJvmBundle.message("configure.kotlin"),
|
KotlinConfigurationCheckerService.CONFIGURE_NOTIFICATION_GROUP_ID,
|
||||||
|
KotlinJvmBundle.message("configure.kotlin"),
|
||||||
notificationState.notificationString,
|
notificationState.notificationString,
|
||||||
NotificationType.WARNING,
|
NotificationType.WARNING,
|
||||||
NotificationListener { notification, event ->
|
NotificationListener { notification, event ->
|
||||||
@@ -63,7 +64,10 @@ class ConfigureKotlinNotification(
|
|||||||
|
|
||||||
val isOnlyOneModule = configurableModules.size == 1
|
val isOnlyOneModule = configurableModules.size == 1
|
||||||
|
|
||||||
val modulesString = if (isOnlyOneModule) "'${configurableModules.first().baseModule.name}' module" else "modules"
|
val modulesString = if (isOnlyOneModule)
|
||||||
|
KotlinJvmBundle.message("configure.0.module", configurableModules.first().baseModule.name)
|
||||||
|
else
|
||||||
|
KotlinJvmBundle.message("configure.modules")
|
||||||
val links = ableToRunConfigurators.joinToString(separator = "<br/>") { configurator ->
|
val links = ableToRunConfigurators.joinToString(separator = "<br/>") { configurator ->
|
||||||
getLink(configurator, isOnlyOneModule)
|
getLink(configurator, isOnlyOneModule)
|
||||||
}
|
}
|
||||||
@@ -76,6 +80,10 @@ class ConfigureKotlinNotification(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun getLink(configurator: KotlinProjectConfigurator, isOnlyOneModule: Boolean): String =
|
private fun getLink(configurator: KotlinProjectConfigurator, isOnlyOneModule: Boolean): String =
|
||||||
"<a href=\"${configurator.name}\">as Kotlin (${configurator.presentableText}) module${if (!isOnlyOneModule) "s" else ""}</a>"
|
"<a href=\"${configurator.name}\">${KotlinJvmBundle.message(
|
||||||
|
"as.kotlin.1.module",
|
||||||
|
configurator.presentableText,
|
||||||
|
1.takeIf { isOnlyOneModule } ?: 2
|
||||||
|
)}</a>"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -55,7 +55,7 @@ fun notifyKotlinStyleUpdateIfNeeded(project: Project) {
|
|||||||
|
|
||||||
private class KotlinCodeStyleChangedNotification(val project: Project, isProjectSettings: Boolean) : Notification(
|
private class KotlinCodeStyleChangedNotification(val project: Project, isProjectSettings: Boolean) : Notification(
|
||||||
KOTLIN_UPDATE_CODE_STYLE_GROUP_ID,
|
KOTLIN_UPDATE_CODE_STYLE_GROUP_ID,
|
||||||
"Kotlin Code Style",
|
KotlinJvmBundle.message("kotlin.code.style"),
|
||||||
"<html>${KotlinJvmBundle.message("default.code.style.was.updated.to.kotlin.coding.conventions")}</html>",
|
"<html>${KotlinJvmBundle.message("default.code.style.was.updated.to.kotlin.coding.conventions")}</html>",
|
||||||
NotificationType.WARNING,
|
NotificationType.WARNING,
|
||||||
null
|
null
|
||||||
|
|||||||
+2
-2
@@ -14,8 +14,8 @@ class CommonStandardLibraryDescription(project: Project?) : CustomLibraryDescrip
|
|||||||
project, "common", LIBRARY_NAME, DIALOG_TITLE, LIBRARY_CAPTION, KOTLIN_COMMON_STDLIB_KIND, SUITABLE_LIBRARY_KINDS
|
project, "common", LIBRARY_NAME, DIALOG_TITLE, LIBRARY_CAPTION, KOTLIN_COMMON_STDLIB_KIND, SUITABLE_LIBRARY_KINDS
|
||||||
) {
|
) {
|
||||||
companion object {
|
companion object {
|
||||||
val KOTLIN_COMMON_STDLIB_KIND = LibraryKind.create("kotlin-stdlib-common")
|
val KOTLIN_COMMON_STDLIB_KIND: LibraryKind = LibraryKind.create("kotlin-stdlib-common")
|
||||||
val LIBRARY_NAME = "KotlinStdlibCommon"
|
const val LIBRARY_NAME = "KotlinStdlibCommon"
|
||||||
|
|
||||||
val DIALOG_TITLE get() = KotlinJvmBundle.message("create.kotlin.common.standard.library")
|
val DIALOG_TITLE get() = KotlinJvmBundle.message("create.kotlin.common.standard.library")
|
||||||
val LIBRARY_CAPTION get() = KotlinJvmBundle.message("kotlin.common.standard.library")
|
val LIBRARY_CAPTION get() = KotlinJvmBundle.message("kotlin.common.standard.library")
|
||||||
|
|||||||
+1
-1
@@ -222,6 +222,6 @@ abstract class CustomLibraryDescriptorWithDeferredConfig(
|
|||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|
||||||
private val DEFAULT_LIB_DIR_NAME = "lib"
|
private const val DEFAULT_LIB_DIR_NAME = "lib"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ class JSLibraryStdDescription(project: Project?) : CustomLibraryDescriptorWithDe
|
|||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
val LIBRARY_NAME = "KotlinJavaScript"
|
const val LIBRARY_NAME = "KotlinJavaScript"
|
||||||
|
|
||||||
val JAVA_SCRIPT_LIBRARY_CREATION get() = KotlinJvmBundle.message("javascript.library.creation")
|
val JAVA_SCRIPT_LIBRARY_CREATION get() = KotlinJvmBundle.message("javascript.library.creation")
|
||||||
val DIALOG_TITLE get() = KotlinJvmBundle.message("create.kotlin.javascript.library")
|
val DIALOG_TITLE get() = KotlinJvmBundle.message("create.kotlin.javascript.library")
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ class JSLibraryType : LibraryType<DummyLibraryProperties>(JSLibraryKind) {
|
|||||||
|
|
||||||
object JSRootFilter : FileTypeBasedRootFilter(
|
object JSRootFilter : FileTypeBasedRootFilter(
|
||||||
OrderRootType.CLASSES, false, PlainTextFileType.INSTANCE,
|
OrderRootType.CLASSES, false, PlainTextFileType.INSTANCE,
|
||||||
KotlinJvmBundle.message("js.files")
|
KotlinJvmBundle.message("presentable.type.js.files")
|
||||||
) {
|
) {
|
||||||
override fun isFileAccepted(virtualFile: VirtualFile) = isAcceptedForJsLibrary(virtualFile.extension)
|
override fun isFileAccepted(virtualFile: VirtualFile) = isAcceptedForJsLibrary(virtualFile.extension)
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -48,7 +48,7 @@ class JavaFrameworkSupportProvider : FrameworkSupportInModuleProvider() {
|
|||||||
FrameworksCompatibilityUtils.suggestRemoveIncompatibleFramework(
|
FrameworksCompatibilityUtils.suggestRemoveIncompatibleFramework(
|
||||||
rootModel,
|
rootModel,
|
||||||
JSLibraryStdDescription.SUITABLE_LIBRARY_KINDS,
|
JSLibraryStdDescription.SUITABLE_LIBRARY_KINDS,
|
||||||
KotlinJvmBundle.message("kotlin.js")
|
KotlinJvmBundle.message("presentable.name.kotlin.js")
|
||||||
)
|
)
|
||||||
|
|
||||||
description!!.finishLibConfiguration(module, rootModel, false)
|
description!!.finishLibConfiguration(module, rootModel, false)
|
||||||
|
|||||||
@@ -19,13 +19,14 @@ package org.jetbrains.kotlin.idea.framework
|
|||||||
import com.intellij.framework.FrameworkTypeEx
|
import com.intellij.framework.FrameworkTypeEx
|
||||||
import com.intellij.framework.addSupport.FrameworkSupportInModuleProvider
|
import com.intellij.framework.addSupport.FrameworkSupportInModuleProvider
|
||||||
import org.jetbrains.kotlin.idea.KotlinIcons
|
import org.jetbrains.kotlin.idea.KotlinIcons
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinJvmBundle
|
||||||
import javax.swing.Icon
|
import javax.swing.Icon
|
||||||
|
|
||||||
class JavaFrameworkType : FrameworkTypeEx("kotlin-java-framework-id") {
|
class JavaFrameworkType : FrameworkTypeEx("kotlin-java-framework-id") {
|
||||||
|
|
||||||
override fun createProvider(): FrameworkSupportInModuleProvider = JavaFrameworkSupportProvider()
|
override fun createProvider(): FrameworkSupportInModuleProvider = JavaFrameworkSupportProvider()
|
||||||
|
|
||||||
override fun getPresentableName() = "Kotlin/JVM"
|
override fun getPresentableName() = KotlinJvmBundle.message("presentable.name.kotlin.jvm")
|
||||||
|
|
||||||
override fun getIcon(): Icon = KotlinIcons.SMALL_LOGO
|
override fun getIcon(): Icon = KotlinIcons.SMALL_LOGO
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -37,8 +37,8 @@ class JavaRuntimeLibraryDescription(project: Project?) : CustomLibraryDescriptor
|
|||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
val KOTLIN_JAVA_RUNTIME_KIND = LibraryKind.create("kotlin-java-runtime")
|
val KOTLIN_JAVA_RUNTIME_KIND: LibraryKind = LibraryKind.create("kotlin-java-runtime")
|
||||||
val LIBRARY_NAME = "KotlinJavaRuntime"
|
const val LIBRARY_NAME = "KotlinJavaRuntime"
|
||||||
|
|
||||||
val JAVA_RUNTIME_LIBRARY_CREATION get() = KotlinJvmBundle.message("java.runtime.library.creation")
|
val JAVA_RUNTIME_LIBRARY_CREATION get() = KotlinJvmBundle.message("java.runtime.library.creation")
|
||||||
val DIALOG_TITLE get() = KotlinJvmBundle.message("create.kotlin.java.runtime.library")
|
val DIALOG_TITLE get() = KotlinJvmBundle.message("create.kotlin.java.runtime.library")
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ import com.intellij.ide.util.projectWizard.WizardContext
|
|||||||
import com.intellij.openapi.projectRoots.SdkTypeId
|
import com.intellij.openapi.projectRoots.SdkTypeId
|
||||||
import com.intellij.openapi.roots.ModifiableRootModel
|
import com.intellij.openapi.roots.ModifiableRootModel
|
||||||
import com.intellij.openapi.roots.ui.configuration.ModulesProvider
|
import com.intellij.openapi.roots.ui.configuration.ModulesProvider
|
||||||
|
import org.jetbrains.annotations.Nls
|
||||||
|
import org.jetbrains.annotations.NonNls
|
||||||
import org.jetbrains.kotlin.idea.roots.migrateNonJvmSourceFolders
|
import org.jetbrains.kotlin.idea.roots.migrateNonJvmSourceFolders
|
||||||
import org.jetbrains.kotlin.idea.statistics.NewProjectWizardsFUSCollector
|
import org.jetbrains.kotlin.idea.statistics.NewProjectWizardsFUSCollector
|
||||||
import org.jetbrains.kotlin.platform.TargetPlatform
|
import org.jetbrains.kotlin.platform.TargetPlatform
|
||||||
@@ -19,13 +21,17 @@ import org.jetbrains.kotlin.platform.jvm.isJvm
|
|||||||
import javax.swing.Icon
|
import javax.swing.Icon
|
||||||
|
|
||||||
class KotlinModuleBuilder(
|
class KotlinModuleBuilder(
|
||||||
val targetPlatform: TargetPlatform, val builderName: String, val builderDescription: String, val icon: Icon
|
val targetPlatform: TargetPlatform,
|
||||||
|
@NonNls private val builderName: String,
|
||||||
|
@Nls private val builderPresentableName: String,
|
||||||
|
@Nls private val builderDescription: String,
|
||||||
|
val icon: Icon
|
||||||
) : JavaModuleBuilder() {
|
) : JavaModuleBuilder() {
|
||||||
private var wizardContext: WizardContext? = null
|
private var wizardContext: WizardContext? = null
|
||||||
|
|
||||||
override fun getBuilderId() = "kotlin.module.builder"
|
override fun getBuilderId() = "kotlin.module.builder"
|
||||||
override fun getName() = builderName
|
override fun getName() = builderName
|
||||||
override fun getPresentableName() = builderName
|
override fun getPresentableName() = builderPresentableName
|
||||||
override fun getDescription() = builderDescription
|
override fun getDescription() = builderDescription
|
||||||
override fun getNodeIcon() = icon
|
override fun getNodeIcon() = icon
|
||||||
override fun getGroupName() = KotlinTemplatesFactory.KOTLIN_GROUP_NAME
|
override fun getGroupName() = KotlinTemplatesFactory.KOTLIN_GROUP_NAME
|
||||||
|
|||||||
@@ -21,8 +21,8 @@ class KotlinTemplatesFactory : ProjectTemplatesFactory() {
|
|||||||
companion object {
|
companion object {
|
||||||
val EP_NAME = ExtensionPointName.create<ModuleBuilder>("org.jetbrains.kotlin.moduleBuilder")
|
val EP_NAME = ExtensionPointName.create<ModuleBuilder>("org.jetbrains.kotlin.moduleBuilder")
|
||||||
|
|
||||||
val KOTLIN_GROUP_NAME: String = "Kotlin"
|
const val KOTLIN_GROUP_NAME: String = "Kotlin"
|
||||||
val KOTLIN_PARENT_GROUP_NAME = "Kotlin Group"
|
const val KOTLIN_PARENT_GROUP_NAME = "Kotlin Group"
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getGroups() = arrayOf(KOTLIN_GROUP_NAME)
|
override fun getGroups() = arrayOf(KOTLIN_GROUP_NAME)
|
||||||
@@ -36,6 +36,7 @@ class KotlinTemplatesFactory : ProjectTemplatesFactory() {
|
|||||||
KotlinModuleBuilder(
|
KotlinModuleBuilder(
|
||||||
JvmPlatforms.unspecifiedJvmPlatform,
|
JvmPlatforms.unspecifiedJvmPlatform,
|
||||||
"JVM | IDEA",
|
"JVM | IDEA",
|
||||||
|
KotlinJvmBundle.message("presentable.name.jvm.idea"),
|
||||||
KotlinJvmBundle.message("kotlin.project.with.a.jvm.target.based.on.the.intellij.idea.build.system"),
|
KotlinJvmBundle.message("kotlin.project.with.a.jvm.target.based.on.the.intellij.idea.build.system"),
|
||||||
KotlinIcons.SMALL_LOGO
|
KotlinIcons.SMALL_LOGO
|
||||||
)
|
)
|
||||||
@@ -43,7 +44,9 @@ class KotlinTemplatesFactory : ProjectTemplatesFactory() {
|
|||||||
|
|
||||||
BuilderBasedTemplate(
|
BuilderBasedTemplate(
|
||||||
KotlinModuleBuilder(
|
KotlinModuleBuilder(
|
||||||
JsPlatforms.defaultJsPlatform, "JS | IDEA",
|
JsPlatforms.defaultJsPlatform,
|
||||||
|
"JS | IDEA",
|
||||||
|
KotlinJvmBundle.message("presentable.name.js.idea"),
|
||||||
KotlinJvmBundle.message("kotlin.project.with.a.javascript.target.based.on.the.intellij.idea.build.system"),
|
KotlinJvmBundle.message("kotlin.project.with.a.javascript.target.based.on.the.intellij.idea.build.system"),
|
||||||
KotlinIcons.JS
|
KotlinIcons.JS
|
||||||
)
|
)
|
||||||
|
|||||||
+1
-1
@@ -21,7 +21,7 @@
|
|||||||
<borderPainted value="false"/>
|
<borderPainted value="false"/>
|
||||||
<contentAreaFilled value="true"/>
|
<contentAreaFilled value="true"/>
|
||||||
<hideActionText value="false"/>
|
<hideActionText value="false"/>
|
||||||
<text resource-bundle="messages/KotlinJvmBundle" key="copy.to"/>
|
<text resource-bundle="messages/KotlinJvmBundle" key="choose.library.copy.to"/>
|
||||||
</properties>
|
</properties>
|
||||||
</component>
|
</component>
|
||||||
<grid id="258c2" binding="copyPanelPlace" layout-manager="BorderLayout" hgap="0" vgap="0">
|
<grid id="258c2" binding="copyPanelPlace" layout-manager="BorderLayout" hgap="0" vgap="0">
|
||||||
|
|||||||
@@ -16,11 +16,12 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.idea.framework.ui;
|
package org.jetbrains.kotlin.idea.framework.ui;
|
||||||
|
|
||||||
|
import org.jetbrains.annotations.Nls;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
public class CreateLibraryDialog extends CreateLibraryDialogBase {
|
public class CreateLibraryDialog extends CreateLibraryDialogBase {
|
||||||
|
|
||||||
public CreateLibraryDialog(@NotNull String defaultPath, @NotNull String title, @NotNull String libraryCaption) {
|
public CreateLibraryDialog(@NotNull String defaultPath, @Nls @NotNull String title, @Nls @NotNull String libraryCaption) {
|
||||||
super(null, defaultPath, title, libraryCaption);
|
super(null, defaultPath, title, libraryCaption);
|
||||||
updateComponents();
|
updateComponents();
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-2
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.idea.framework.ui;
|
|||||||
import com.intellij.openapi.project.Project;
|
import com.intellij.openapi.project.Project;
|
||||||
import com.intellij.openapi.ui.DialogWrapper;
|
import com.intellij.openapi.ui.DialogWrapper;
|
||||||
import com.intellij.ui.SeparatorWithText;
|
import com.intellij.ui.SeparatorWithText;
|
||||||
|
import org.jetbrains.annotations.Nls;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.kotlin.idea.versions.KotlinRuntimeLibraryUtilKt;
|
import org.jetbrains.kotlin.idea.versions.KotlinRuntimeLibraryUtilKt;
|
||||||
@@ -40,8 +41,8 @@ public abstract class CreateLibraryDialogBase extends DialogWrapper {
|
|||||||
public CreateLibraryDialogBase(
|
public CreateLibraryDialogBase(
|
||||||
@Nullable Project project,
|
@Nullable Project project,
|
||||||
@NotNull String defaultPath,
|
@NotNull String defaultPath,
|
||||||
@NotNull String title,
|
@Nls @NotNull String title,
|
||||||
@NotNull String libraryCaption
|
@Nls @NotNull String libraryCaption
|
||||||
) {
|
) {
|
||||||
super(project);
|
super(project);
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -74,7 +74,7 @@ class KotlinLanguageInjectionSupport : AbstractLanguageInjectionSupport() {
|
|||||||
|
|
||||||
TemporaryPlacesRegistry.getInstance(project).removeHostWithUndo(project, psiElement)
|
TemporaryPlacesRegistry.getInstance(project).removeHostWithUndo(project, psiElement)
|
||||||
|
|
||||||
project.executeWriteCommand(KotlinJvmBundle.message("remove.injection.in.code.instructions")) {
|
project.executeWriteCommand(KotlinJvmBundle.message("command.action.remove.injection.in.code.instructions")) {
|
||||||
injectInstructions.forEach(PsiElement::delete)
|
injectInstructions.forEach(PsiElement::delete)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -172,7 +172,7 @@ private fun addInjectionInstructionInCode(language: Language, host: PsiLanguageI
|
|||||||
val modifierListOwner = findElementToInjectWithAnnotation(ktHost)
|
val modifierListOwner = findElementToInjectWithAnnotation(ktHost)
|
||||||
|
|
||||||
if (modifierListOwner != null && canInjectWithAnnotation(ktHost)) {
|
if (modifierListOwner != null && canInjectWithAnnotation(ktHost)) {
|
||||||
project.executeWriteCommand(KotlinJvmBundle.message("add.injection.annotation")) {
|
project.executeWriteCommand(KotlinJvmBundle.message("command.action.add.injection.annotation")) {
|
||||||
modifierListOwner.addAnnotation(FqName(AnnotationUtil.LANGUAGE), "\"${language.id}\"")
|
modifierListOwner.addAnnotation(FqName(AnnotationUtil.LANGUAGE), "\"${language.id}\"")
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -186,7 +186,7 @@ private fun addInjectionInstructionInCode(language: Language, host: PsiLanguageI
|
|||||||
val psiFactory = KtPsiFactory(project)
|
val psiFactory = KtPsiFactory(project)
|
||||||
val injectComment = psiFactory.createComment("//language=" + language.id)
|
val injectComment = psiFactory.createComment("//language=" + language.id)
|
||||||
|
|
||||||
project.executeWriteCommand(KotlinJvmBundle.message("add.injection.comment")) {
|
project.executeWriteCommand(KotlinJvmBundle.message("command.action.add.injection.comment")) {
|
||||||
commentBeforeAnchor.parent.addBefore(injectComment, commentBeforeAnchor)
|
commentBeforeAnchor.parent.addBefore(injectComment, commentBeforeAnchor)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+5
-16
@@ -1,17 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2016 JetBrains s.r.o.
|
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||||
*
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.jetbrains.kotlin.idea.injection
|
package org.jetbrains.kotlin.idea.injection
|
||||||
@@ -85,7 +74,7 @@ class KotlinLanguageInjectionSupport : AbstractLanguageInjectionSupport() {
|
|||||||
|
|
||||||
TemporaryPlacesRegistry.getInstance(project).removeHostWithUndo(project, psiElement)
|
TemporaryPlacesRegistry.getInstance(project).removeHostWithUndo(project, psiElement)
|
||||||
|
|
||||||
project.executeWriteCommand(KotlinJvmBundle.message("remove.injection.in.code.instructions")) {
|
project.executeWriteCommand(KotlinJvmBundle.message("command.action.remove.injection.in.code.instructions")) {
|
||||||
injectInstructions.forEach(PsiElement::delete)
|
injectInstructions.forEach(PsiElement::delete)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -184,7 +173,7 @@ private fun addInjectionInstructionInCode(language: Language, host: PsiLanguageI
|
|||||||
val modifierListOwner = findElementToInjectWithAnnotation(ktHost)
|
val modifierListOwner = findElementToInjectWithAnnotation(ktHost)
|
||||||
|
|
||||||
if (modifierListOwner != null && canInjectWithAnnotation(ktHost)) {
|
if (modifierListOwner != null && canInjectWithAnnotation(ktHost)) {
|
||||||
project.executeWriteCommand(KotlinJvmBundle.message("add.injection.annotation")) {
|
project.executeWriteCommand(KotlinJvmBundle.message("command.action.add.injection.annotation")) {
|
||||||
modifierListOwner.addAnnotation(FqName(AnnotationUtil.LANGUAGE), "\"${language.id}\"")
|
modifierListOwner.addAnnotation(FqName(AnnotationUtil.LANGUAGE), "\"${language.id}\"")
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -200,7 +189,7 @@ private fun addInjectionInstructionInCode(language: Language, host: PsiLanguageI
|
|||||||
val psiFactory = KtPsiFactory(project)
|
val psiFactory = KtPsiFactory(project)
|
||||||
val injectComment = psiFactory.createComment("//language=" + language.id)
|
val injectComment = psiFactory.createComment("//language=" + language.id)
|
||||||
|
|
||||||
project.executeWriteCommand(KotlinJvmBundle.message("add.injection.comment")) {
|
project.executeWriteCommand(KotlinJvmBundle.message("command.action.add.injection.comment")) {
|
||||||
commentBeforeAnchor.parent.addBefore(injectComment, commentBeforeAnchor)
|
commentBeforeAnchor.parent.addBefore(injectComment, commentBeforeAnchor)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -24,7 +24,7 @@
|
|||||||
</constraints>
|
</constraints>
|
||||||
<properties>
|
<properties>
|
||||||
<labelFor value="49f89"/>
|
<labelFor value="49f89"/>
|
||||||
<text resource-bundle="messages/KotlinJvmBundle" key="reference"/>
|
<text resource-bundle="messages/KotlinJvmBundle" key="api.dialog.reference"/>
|
||||||
</properties>
|
</properties>
|
||||||
</component>
|
</component>
|
||||||
<vspacer id="eac19">
|
<vspacer id="eac19">
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
</constraints>
|
</constraints>
|
||||||
<properties>
|
<properties>
|
||||||
<labelFor value="ec77c"/>
|
<labelFor value="ec77c"/>
|
||||||
<text resource-bundle="messages/KotlinJvmBundle" key="reason"/>
|
<text resource-bundle="messages/KotlinJvmBundle" key="api.dialog.reason"/>
|
||||||
</properties>
|
</properties>
|
||||||
</component>
|
</component>
|
||||||
<component id="ec77c" class="javax.swing.JTextField" binding="reasonTextField">
|
<component id="ec77c" class="javax.swing.JTextField" binding="reasonTextField">
|
||||||
|
|||||||
+1
-1
@@ -64,7 +64,7 @@ class IncompatibleAPIInspection : LocalInspectionTool() {
|
|||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
const val SHORT_NAME = "IncompatibleAPI"
|
const val SHORT_NAME = "IncompatibleAPI"
|
||||||
val DEFAULT_REASON get() = KotlinJvmBundle.message("incompatible.api")
|
val DEFAULT_REASON get() = KotlinJvmBundle.message("reason.incompatible.api")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -181,7 +181,7 @@ class KotlinBytecodeToolWindow(private val myProject: Project, private val toolW
|
|||||||
val optionPanel = JPanel(FlowLayout())
|
val optionPanel = JPanel(FlowLayout())
|
||||||
add(optionPanel, BorderLayout.NORTH)
|
add(optionPanel, BorderLayout.NORTH)
|
||||||
|
|
||||||
decompile = JButton(KotlinJvmBundle.message("decompile"))
|
decompile = JButton(KotlinJvmBundle.message("button.text.decompile"))
|
||||||
if (KotlinDecompilerService.getInstance() != null) {
|
if (KotlinDecompilerService.getInstance() != null) {
|
||||||
optionPanel.add(decompile)
|
optionPanel.add(decompile)
|
||||||
decompile.addActionListener {
|
decompile.addActionListener {
|
||||||
@@ -204,11 +204,11 @@ class KotlinBytecodeToolWindow(private val myProject: Project, private val toolW
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*TODO: try to extract default parameter from compiler options*/
|
/*TODO: try to extract default parameter from compiler options*/
|
||||||
enableInline = JCheckBox(KotlinJvmBundle.message("inline"), true)
|
enableInline = JCheckBox(KotlinJvmBundle.message("checkbox.text.inline"), true)
|
||||||
enableOptimization = JCheckBox(KotlinJvmBundle.message("optimization"), true)
|
enableOptimization = JCheckBox(KotlinJvmBundle.message("checkbox.text.optimization"), true)
|
||||||
enableAssertions = JCheckBox(KotlinJvmBundle.message("assertions"), true)
|
enableAssertions = JCheckBox(KotlinJvmBundle.message("checkbox.text.assertions"), true)
|
||||||
jvm8Target = JCheckBox(KotlinJvmBundle.message("jvm.8.target"), false)
|
jvm8Target = JCheckBox(KotlinJvmBundle.message("checkbox.text.jvm.8.target"), false)
|
||||||
ir = JCheckBox(KotlinJvmBundle.message("ir"), false)
|
ir = JCheckBox(KotlinJvmBundle.message("checkbox.text.ir"), false)
|
||||||
optionPanel.add(enableInline)
|
optionPanel.add(enableInline)
|
||||||
optionPanel.add(enableOptimization)
|
optionPanel.add(enableOptimization)
|
||||||
optionPanel.add(enableAssertions)
|
optionPanel.add(enableAssertions)
|
||||||
|
|||||||
+2
-1
@@ -48,7 +48,8 @@ class CreateIncrementalCompilationBackup : AnAction(KotlinJvmBundle.message("cre
|
|||||||
ProgressManager.getInstance().run(
|
ProgressManager.getInstance().run(
|
||||||
object : Task.Backgroundable(
|
object : Task.Backgroundable(
|
||||||
project,
|
project,
|
||||||
KotlinJvmBundle.message("creating.backup.for.debugging.kotlin.incremental.compilation"), true
|
KotlinJvmBundle.message("creating.backup.for.debugging.kotlin.incremental.compilation"),
|
||||||
|
true
|
||||||
) {
|
) {
|
||||||
override fun run(indicator: ProgressIndicator) {
|
override fun run(indicator: ProgressIndicator) {
|
||||||
createPatches(backupDir, project, indicator)
|
createPatches(backupDir, project, indicator)
|
||||||
|
|||||||
+4
-14
@@ -1,17 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2015 JetBrains s.r.o.
|
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||||
*
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.jetbrains.kotlin.idea.internal.makeBackup
|
package org.jetbrains.kotlin.idea.internal.makeBackup
|
||||||
@@ -59,7 +48,8 @@ class CreateIncrementalCompilationBackup : AnAction(KotlinJvmBundle.message("cre
|
|||||||
ProgressManager.getInstance().run(
|
ProgressManager.getInstance().run(
|
||||||
object : Task.Backgroundable(
|
object : Task.Backgroundable(
|
||||||
project,
|
project,
|
||||||
KotlinJvmBundle.message("creating.backup.for.debugging.kotlin.incremental.compilation"), true
|
KotlinJvmBundle.message("creating.backup.for.debugging.kotlin.incremental.compilation"),
|
||||||
|
true
|
||||||
) {
|
) {
|
||||||
override fun run(indicator: ProgressIndicator) {
|
override fun run(indicator: ProgressIndicator) {
|
||||||
createPatches(backupDir, project, indicator)
|
createPatches(backupDir, project, indicator)
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import com.intellij.psi.PsiElement
|
|||||||
import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments
|
import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments
|
||||||
import org.jetbrains.kotlin.config.LanguageFeature
|
import org.jetbrains.kotlin.config.LanguageFeature
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinJvmBundle
|
||||||
import org.jetbrains.kotlin.idea.compiler.configuration.KotlinCommonCompilerArgumentsHolder
|
import org.jetbrains.kotlin.idea.compiler.configuration.KotlinCommonCompilerArgumentsHolder
|
||||||
import org.jetbrains.kotlin.idea.configuration.findApplicableConfigurator
|
import org.jetbrains.kotlin.idea.configuration.findApplicableConfigurator
|
||||||
import org.jetbrains.kotlin.idea.roots.invalidateProjectRoots
|
import org.jetbrains.kotlin.idea.roots.invalidateProjectRoots
|
||||||
@@ -24,7 +25,7 @@ sealed class ChangeCoroutineSupportFix(
|
|||||||
) : AbstractChangeFeatureSupportLevelFix(element, LanguageFeature.Coroutines, coroutineSupport, shortFeatureName) {
|
) : AbstractChangeFeatureSupportLevelFix(element, LanguageFeature.Coroutines, coroutineSupport, shortFeatureName) {
|
||||||
|
|
||||||
class InModule(element: PsiElement, coroutineSupport: LanguageFeature.State) : ChangeCoroutineSupportFix(element, coroutineSupport) {
|
class InModule(element: PsiElement, coroutineSupport: LanguageFeature.State) : ChangeCoroutineSupportFix(element, coroutineSupport) {
|
||||||
override fun getText() = "${super.getText()} in the current module"
|
override fun getText() = KotlinJvmBundle.message("fix.0.in.current.module", super.getText())
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
val module = ModuleUtilCore.findModuleForPsiElement(file) ?: return
|
val module = ModuleUtilCore.findModuleForPsiElement(file) ?: return
|
||||||
@@ -34,7 +35,7 @@ sealed class ChangeCoroutineSupportFix(
|
|||||||
}
|
}
|
||||||
|
|
||||||
class InProject(element: PsiElement, coroutineSupport: LanguageFeature.State) : ChangeCoroutineSupportFix(element, coroutineSupport) {
|
class InProject(element: PsiElement, coroutineSupport: LanguageFeature.State) : ChangeCoroutineSupportFix(element, coroutineSupport) {
|
||||||
override fun getText() = "${super.getText()} in the project"
|
override fun getText() = KotlinJvmBundle.message("fix.0.in.the.project", super.getText())
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
if (featureSupportEnabled) {
|
if (featureSupportEnabled) {
|
||||||
@@ -54,7 +55,7 @@ sealed class ChangeCoroutineSupportFix(
|
|||||||
}
|
}
|
||||||
|
|
||||||
companion object : FeatureSupportIntentionActionsFactory() {
|
companion object : FeatureSupportIntentionActionsFactory() {
|
||||||
private const val shortFeatureName = "coroutine"
|
private val shortFeatureName get() = KotlinJvmBundle.message("short.feature.name.coroutine")
|
||||||
|
|
||||||
fun getFixText(state: LanguageFeature.State) = getFixText(state, shortFeatureName)
|
fun getFixText(state: LanguageFeature.State) = getFixText(state, shortFeatureName)
|
||||||
|
|
||||||
|
|||||||
+3
-5
@@ -14,12 +14,10 @@ import com.intellij.psi.PsiElement
|
|||||||
import org.jetbrains.kotlin.cli.common.arguments.CliArgumentStringBuilder.replaceLanguageFeature
|
import org.jetbrains.kotlin.cli.common.arguments.CliArgumentStringBuilder.replaceLanguageFeature
|
||||||
import org.jetbrains.kotlin.config.LanguageFeature
|
import org.jetbrains.kotlin.config.LanguageFeature
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinJvmBundle
|
||||||
import org.jetbrains.kotlin.idea.compiler.configuration.KotlinCompilerSettings
|
import org.jetbrains.kotlin.idea.compiler.configuration.KotlinCompilerSettings
|
||||||
import org.jetbrains.kotlin.idea.configuration.BuildSystemType
|
|
||||||
import org.jetbrains.kotlin.idea.configuration.findApplicableConfigurator
|
import org.jetbrains.kotlin.idea.configuration.findApplicableConfigurator
|
||||||
import org.jetbrains.kotlin.idea.configuration.getBuildSystemType
|
|
||||||
import org.jetbrains.kotlin.idea.core.isInTestSourceContentKotlinAware
|
import org.jetbrains.kotlin.idea.core.isInTestSourceContentKotlinAware
|
||||||
import org.jetbrains.kotlin.idea.facet.KotlinFacet
|
|
||||||
import org.jetbrains.kotlin.idea.facet.getCleanRuntimeLibraryVersion
|
import org.jetbrains.kotlin.idea.facet.getCleanRuntimeLibraryVersion
|
||||||
import org.jetbrains.kotlin.idea.roots.invalidateProjectRoots
|
import org.jetbrains.kotlin.idea.roots.invalidateProjectRoots
|
||||||
import org.jetbrains.kotlin.idea.util.module
|
import org.jetbrains.kotlin.idea.util.module
|
||||||
@@ -36,7 +34,7 @@ sealed class ChangeGeneralLanguageFeatureSupportFix(
|
|||||||
feature: LanguageFeature,
|
feature: LanguageFeature,
|
||||||
featureSupport: LanguageFeature.State
|
featureSupport: LanguageFeature.State
|
||||||
) : ChangeGeneralLanguageFeatureSupportFix(element, feature, featureSupport) {
|
) : ChangeGeneralLanguageFeatureSupportFix(element, feature, featureSupport) {
|
||||||
override fun getText() = "${super.getText()} in the current module"
|
override fun getText() = KotlinJvmBundle.message("fix.0.in.current.module", super.getText())
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
val module = ModuleUtilCore.findModuleForPsiElement(file) ?: return
|
val module = ModuleUtilCore.findModuleForPsiElement(file) ?: return
|
||||||
@@ -51,7 +49,7 @@ sealed class ChangeGeneralLanguageFeatureSupportFix(
|
|||||||
feature: LanguageFeature,
|
feature: LanguageFeature,
|
||||||
featureSupport: LanguageFeature.State
|
featureSupport: LanguageFeature.State
|
||||||
) : ChangeGeneralLanguageFeatureSupportFix(element, feature, featureSupport) {
|
) : ChangeGeneralLanguageFeatureSupportFix(element, feature, featureSupport) {
|
||||||
override fun getText() = "${super.getText()} in the project"
|
override fun getText() = KotlinJvmBundle.message("fix.0.in.the.project", super.getText())
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
if (featureSupportEnabled) {
|
if (featureSupportEnabled) {
|
||||||
|
|||||||
+17
-17
@@ -36,17 +36,24 @@ import org.jetbrains.kotlin.psi.KtFile
|
|||||||
sealed class EnableUnsupportedFeatureFix(
|
sealed class EnableUnsupportedFeatureFix(
|
||||||
element: PsiElement,
|
element: PsiElement,
|
||||||
protected val feature: LanguageFeature,
|
protected val feature: LanguageFeature,
|
||||||
protected val apiVersionOnly: Boolean
|
protected val apiVersionOnly: Boolean,
|
||||||
|
protected val isModule: Boolean,
|
||||||
) : KotlinQuickFixAction<PsiElement>(element) {
|
) : KotlinQuickFixAction<PsiElement>(element) {
|
||||||
|
override fun getFamilyName() = KotlinJvmBundle.message(
|
||||||
|
"enable.feature.family",
|
||||||
|
0.takeIf { isModule } ?: 1,
|
||||||
|
0.takeIf { apiVersionOnly } ?: 1
|
||||||
|
)
|
||||||
|
|
||||||
|
override fun getText() = KotlinJvmBundle.message(
|
||||||
|
"enable.feature.text",
|
||||||
|
0.takeIf { isModule } ?: 1,
|
||||||
|
0.takeIf { apiVersionOnly } ?: 1,
|
||||||
|
if (apiVersionOnly) feature.sinceApiVersion.versionString else feature.sinceVersion?.versionString.toString()
|
||||||
|
)
|
||||||
|
|
||||||
class InModule(element: PsiElement, feature: LanguageFeature, apiVersionOnly: Boolean) :
|
class InModule(element: PsiElement, feature: LanguageFeature, apiVersionOnly: Boolean) :
|
||||||
EnableUnsupportedFeatureFix(element, feature, apiVersionOnly) {
|
EnableUnsupportedFeatureFix(element, feature, apiVersionOnly, isModule = true) {
|
||||||
override fun getFamilyName() = "Increase module " + if (apiVersionOnly) "API version" else "language version"
|
|
||||||
|
|
||||||
override fun getText() = if (apiVersionOnly)
|
|
||||||
"Set module API version to ${feature.sinceApiVersion.versionString}"
|
|
||||||
else
|
|
||||||
"Set module language version to ${feature.sinceVersion!!.description}"
|
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
val module = ModuleUtilCore.findModuleForPsiElement(file) ?: return
|
val module = ModuleUtilCore.findModuleForPsiElement(file) ?: return
|
||||||
|
|
||||||
@@ -70,14 +77,7 @@ sealed class EnableUnsupportedFeatureFix(
|
|||||||
}
|
}
|
||||||
|
|
||||||
class InProject(element: PsiElement, feature: LanguageFeature, apiVersionOnly: Boolean) :
|
class InProject(element: PsiElement, feature: LanguageFeature, apiVersionOnly: Boolean) :
|
||||||
EnableUnsupportedFeatureFix(element, feature, apiVersionOnly) {
|
EnableUnsupportedFeatureFix(element, feature, apiVersionOnly, isModule = false) {
|
||||||
override fun getFamilyName() = "Increase project " + if (apiVersionOnly) "API version" else "language version"
|
|
||||||
|
|
||||||
override fun getText() = if (apiVersionOnly)
|
|
||||||
"Set project API version to ${feature.sinceApiVersion.versionString}"
|
|
||||||
else
|
|
||||||
"Set project language version to ${feature.sinceVersion!!.versionString}"
|
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
val targetVersion = feature.sinceVersion!!
|
val targetVersion = feature.sinceVersion!!
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ import com.intellij.openapi.project.Project;
|
|||||||
import com.intellij.openapi.util.NotNullLazyValue;
|
import com.intellij.openapi.util.NotNullLazyValue;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.kotlin.idea.KotlinIcons;
|
import org.jetbrains.kotlin.idea.KotlinIcons;
|
||||||
import org.jetbrains.kotlin.idea.KotlinLanguage;
|
import org.jetbrains.kotlin.idea.KotlinJvmBundle;
|
||||||
|
|
||||||
public class KotlinRunConfigurationType extends SimpleConfigurationType {
|
public class KotlinRunConfigurationType extends SimpleConfigurationType {
|
||||||
public static KotlinRunConfigurationType getInstance() {
|
public static KotlinRunConfigurationType getInstance() {
|
||||||
@@ -33,8 +33,8 @@ public class KotlinRunConfigurationType extends SimpleConfigurationType {
|
|||||||
|
|
||||||
public KotlinRunConfigurationType() {
|
public KotlinRunConfigurationType() {
|
||||||
super("JetRunConfigurationType",
|
super("JetRunConfigurationType",
|
||||||
KotlinLanguage.NAME,
|
KotlinJvmBundle.message("language.name.kotlin"),
|
||||||
KotlinLanguage.NAME,
|
KotlinJvmBundle.message("language.name.kotlin"),
|
||||||
NotNullLazyValue.createValue(() -> KotlinIcons.SMALL_LOGO));
|
NotNullLazyValue.createValue(() -> KotlinIcons.SMALL_LOGO));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -31,7 +31,7 @@
|
|||||||
</constraints>
|
</constraints>
|
||||||
<properties>
|
<properties>
|
||||||
<labelLocation value="West"/>
|
<labelLocation value="West"/>
|
||||||
<text resource-bundle="messages/KotlinJvmBundle" key="script.file"/>
|
<text resource-bundle="messages/KotlinJvmBundle" key="configuration.title.script.file"/>
|
||||||
</properties>
|
</properties>
|
||||||
</component>
|
</component>
|
||||||
</children>
|
</children>
|
||||||
|
|||||||
+1
-1
@@ -15,7 +15,7 @@ import org.jetbrains.kotlin.idea.KotlinJvmBundle
|
|||||||
|
|
||||||
class KotlinStandaloneScriptRunConfigurationType : SimpleConfigurationType(
|
class KotlinStandaloneScriptRunConfigurationType : SimpleConfigurationType(
|
||||||
"KotlinStandaloneScriptRunConfigurationType",
|
"KotlinStandaloneScriptRunConfigurationType",
|
||||||
KotlinJvmBundle.message("kotlin.script"),
|
KotlinJvmBundle.message("name.kotlin.script"),
|
||||||
KotlinJvmBundle.message("run.kotlin.script"),
|
KotlinJvmBundle.message("run.kotlin.script"),
|
||||||
NotNullLazyValue.createValue { KotlinIcons.SMALL_LOGO }
|
NotNullLazyValue.createValue { KotlinIcons.SMALL_LOGO }
|
||||||
) {
|
) {
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ class KtScratchReplExecutor(file: ScratchFile) : SequentialScratchExecutor(file)
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun sendCommandToProcess(command: String) {
|
private fun sendCommandToProcess(command: String) {
|
||||||
LOG.printDebugMessage("Send to REPL: ${command}")
|
LOG.printDebugMessage("Send to REPL: $command")
|
||||||
|
|
||||||
val processInputOS = osProcessHandler?.processInput ?: return logError(this::class.java, "<p>Broken execute stream</p>")
|
val processInputOS = osProcessHandler?.processInput ?: return logError(this::class.java, "<p>Broken execute stream</p>")
|
||||||
val charset = osProcessHandler?.charset ?: Charsets.UTF_8
|
val charset = osProcessHandler?.charset ?: Charsets.UTF_8
|
||||||
@@ -203,16 +203,15 @@ class KtScratchReplExecutor(file: ScratchFile) : SequentialScratchExecutor(file)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun parseReplOutput(text: String, outputType: String): ScratchOutput? {
|
private fun parseReplOutput(text: String, outputType: String): ScratchOutput? = when (outputType) {
|
||||||
return when (outputType) {
|
"USER_OUTPUT" -> ScratchOutput(text, ScratchOutputType.OUTPUT)
|
||||||
"USER_OUTPUT" -> ScratchOutput(text, ScratchOutputType.OUTPUT)
|
"REPL_RESULT" -> ScratchOutput(text, ScratchOutputType.RESULT)
|
||||||
"REPL_RESULT" -> ScratchOutput(text, ScratchOutputType.RESULT)
|
"REPL_INCOMPLETE",
|
||||||
"REPL_INCOMPLETE",
|
"INTERNAL_ERROR",
|
||||||
"INTERNAL_ERROR",
|
"COMPILE_ERROR",
|
||||||
"COMPILE_ERROR",
|
"RUNTIME_ERROR",
|
||||||
"RUNTIME_ERROR" -> ScratchOutput(text, ScratchOutputType.ERROR)
|
-> ScratchOutput(text, ScratchOutputType.ERROR)
|
||||||
else -> null
|
else -> null
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -106,9 +106,11 @@ class BunchFileCheckInHandlerFactory : CheckinHandlerFactory() {
|
|||||||
"several.bunch.files.haven.t.been.updated.0.do.you.want.to.review.them.before.commit",
|
"several.bunch.files.haven.t.been.updated.0.do.you.want.to.review.them.before.commit",
|
||||||
filePaths.joinToString("\n")
|
filePaths.joinToString("\n")
|
||||||
),
|
),
|
||||||
KotlinJvmBundle.message("forgotten.bunch.files"),
|
KotlinJvmBundle.message("button.text.forgotten.bunch.files"),
|
||||||
KotlinJvmBundle.message("review"),
|
KotlinJvmBundle.message("button.text.review"),
|
||||||
KotlinJvmBundle.message("commit"), CommonBundle.getCancelButtonText(), Messages.getWarningIcon()
|
KotlinJvmBundle.message("button.text.commit"),
|
||||||
|
CommonBundle.getCancelButtonText(),
|
||||||
|
Messages.getWarningIcon()
|
||||||
)) {
|
)) {
|
||||||
YES -> {
|
YES -> {
|
||||||
return ReturnResult.CLOSE_WINDOW
|
return ReturnResult.CLOSE_WINDOW
|
||||||
@@ -132,7 +134,7 @@ object BunchFileUtils {
|
|||||||
val file = File(bunchFile.path)
|
val file = File(bunchFile.path)
|
||||||
if (!file.exists()) return null
|
if (!file.exists()) return null
|
||||||
|
|
||||||
val lines = file.readLines().map { it.trim() }.filter { !it.isEmpty() }
|
val lines = file.readLines().map { it.trim() }.filter { it.isNotEmpty() }
|
||||||
if (lines.size <= 1) return null
|
if (lines.size <= 1) return null
|
||||||
|
|
||||||
return lines.drop(1).map { it.split('_').first() }
|
return lines.drop(1).map { it.split('_').first() }
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2018 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -103,9 +103,11 @@ class BunchFileCheckInHandlerFactory : CheckinHandlerFactory() {
|
|||||||
"several.bunch.files.haven.t.been.updated.0.do.you.want.to.review.them.before.commit",
|
"several.bunch.files.haven.t.been.updated.0.do.you.want.to.review.them.before.commit",
|
||||||
filePaths.joinToString("\n")
|
filePaths.joinToString("\n")
|
||||||
),
|
),
|
||||||
KotlinJvmBundle.message("forgotten.bunch.files"),
|
KotlinJvmBundle.message("button.text.forgotten.bunch.files"),
|
||||||
KotlinJvmBundle.message("review"),
|
KotlinJvmBundle.message("button.text.review"),
|
||||||
KotlinJvmBundle.message("commit"), CommonBundle.getCancelButtonText(), Messages.getWarningIcon()
|
KotlinJvmBundle.message("button.text.commit"),
|
||||||
|
CommonBundle.getCancelButtonText(),
|
||||||
|
Messages.getWarningIcon()
|
||||||
)) {
|
)) {
|
||||||
YES -> {
|
YES -> {
|
||||||
return ReturnResult.CLOSE_WINDOW
|
return ReturnResult.CLOSE_WINDOW
|
||||||
@@ -129,7 +131,7 @@ object BunchFileUtils {
|
|||||||
val file = File(bunchFile.path)
|
val file = File(bunchFile.path)
|
||||||
if (!file.exists()) return null
|
if (!file.exists()) return null
|
||||||
|
|
||||||
val lines = file.readLines().map { it.trim() }.filter { !it.isEmpty() }
|
val lines = file.readLines().map { it.trim() }.filter { it.isNotEmpty() }
|
||||||
if (lines.size <= 1) return null
|
if (lines.size <= 1) return null
|
||||||
|
|
||||||
return lines.drop(1).map { it.split('_').first() }
|
return lines.drop(1).map { it.split('_').first() }
|
||||||
|
|||||||
+9
-6
@@ -79,9 +79,9 @@ class UnsupportedAbiVersionNotificationPanelProvider(private val project: Projec
|
|||||||
val isPluginNewForAllRuntimeLibraries = badRootsInRuntimeLibraries.all { it.supportedVersion > it.version }
|
val isPluginNewForAllRuntimeLibraries = badRootsInRuntimeLibraries.all { it.supportedVersion > it.version }
|
||||||
|
|
||||||
val updateAction = when {
|
val updateAction = when {
|
||||||
isPluginNewForAllRuntimeLibraries -> KotlinJvmBundle.message("update")
|
isPluginNewForAllRuntimeLibraries -> KotlinJvmBundle.message("button.text.update.library")
|
||||||
isPluginOldForAllRuntimeLibraries -> KotlinJvmBundle.message("downgrade")
|
isPluginOldForAllRuntimeLibraries -> KotlinJvmBundle.message("button.text.downgrade.library")
|
||||||
else -> KotlinJvmBundle.message("replace")
|
else -> KotlinJvmBundle.message("button.text.replace.library")
|
||||||
}
|
}
|
||||||
|
|
||||||
val actionLabelText = "$updateAction " + KotlinJvmBundle.message(
|
val actionLabelText = "$updateAction " + KotlinJvmBundle.message(
|
||||||
@@ -124,7 +124,7 @@ class UnsupportedAbiVersionNotificationPanelProvider(private val project: Projec
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
answer.createActionLabel(KotlinJvmBundle.message("go.to.0", presentableName)) {
|
answer.createActionLabel(KotlinJvmBundle.message("button.text.go.to.0", presentableName)) {
|
||||||
navigateToLibraryRoot(
|
navigateToLibraryRoot(
|
||||||
project,
|
project,
|
||||||
badVersionedRoot.file
|
badVersionedRoot.file
|
||||||
@@ -149,7 +149,7 @@ class UnsupportedAbiVersionNotificationPanelProvider(private val project: Projec
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
createShowPathsActionLabel(module, answer, KotlinJvmBundle.message("details"))
|
createShowPathsActionLabel(module, answer, KotlinJvmBundle.message("button.text.details"))
|
||||||
|
|
||||||
return answer
|
return answer
|
||||||
}
|
}
|
||||||
@@ -178,7 +178,10 @@ class UnsupportedAbiVersionNotificationPanelProvider(private val project: Projec
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun createUpdatePluginLink(answer: ErrorNotificationPanel) {
|
private fun createUpdatePluginLink(answer: ErrorNotificationPanel) {
|
||||||
answer.createProgressAction(KotlinJvmBundle.message("check"), KotlinJvmBundle.message("update.plugin")) { link, updateLink ->
|
answer.createProgressAction(
|
||||||
|
KotlinJvmBundle.message("progress.action.text.check"),
|
||||||
|
KotlinJvmBundle.message("progress.action.text.update.plugin")
|
||||||
|
) { link, updateLink ->
|
||||||
KotlinPluginUpdater.getInstance().runCachedUpdate { pluginUpdateStatus ->
|
KotlinPluginUpdater.getInstance().runCachedUpdate { pluginUpdateStatus ->
|
||||||
when (pluginUpdateStatus) {
|
when (pluginUpdateStatus) {
|
||||||
is PluginUpdateStatus.Update -> {
|
is PluginUpdateStatus.Update -> {
|
||||||
|
|||||||
Reference in New Issue
Block a user