Get platform for scripts from script definition
Introduce 'platform' property in KotlinScripDefinition (should have a value which exists in TargetPlatform.ALL_KINDS) ^KT-27684 Fixed
This commit is contained in:
@@ -48,6 +48,10 @@ open class KotlinScriptDefinition(open val template: KClass<out Any>) : UserData
|
||||
open val fileExtension: String
|
||||
get() = "kts"
|
||||
|
||||
// Target platform for script, ex. "JVM", "JS", "NATIVE"
|
||||
open val platform: String
|
||||
get() = "JVM"
|
||||
|
||||
open val dependencyResolver: DependenciesResolver get() = DependenciesResolver.NoDependencies
|
||||
|
||||
open val acceptedAnnotations: List<KClass<out Annotation>> get() = emptyList()
|
||||
|
||||
@@ -21,6 +21,7 @@ import com.intellij.openapi.components.ServiceManager
|
||||
import com.intellij.openapi.fileTypes.FileTypeRegistry
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import com.intellij.psi.PsiFile
|
||||
import com.intellij.psi.PsiManager
|
||||
import org.jetbrains.kotlin.idea.KotlinFileType
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
@@ -38,6 +39,11 @@ interface ScriptDefinitionProvider {
|
||||
}
|
||||
}
|
||||
|
||||
fun findScriptDefinition(psiFile: PsiFile): KotlinScriptDefinition? {
|
||||
val virtualFile = psiFile.virtualFile ?: psiFile.originalFile.virtualFile ?: return null
|
||||
return findScriptDefinition(virtualFile, psiFile.project)
|
||||
}
|
||||
|
||||
fun findScriptDefinition(file: VirtualFile, project: Project): KotlinScriptDefinition? {
|
||||
if (file.isDirectory ||
|
||||
file.extension == KotlinFileType.EXTENSION ||
|
||||
|
||||
Reference in New Issue
Block a user