@@ -5,7 +5,6 @@ import com.github.khud.sparklin.kshell.configuration.IntConverter
55import  com.github.khud.sparklin.kshell.configuration.ReplConfiguration 
66import  com.github.khud.sparklin.kshell.wrappers.ResultWrapper 
77import  kotlinx.coroutines.runBlocking 
8- import  org.jetbrains.kotlin.cli.common.environment.setIdeaIoUseFallback 
98import  org.jetbrains.kotlin.scripting.ide_services.compiler.KJvmReplCompilerWithIdeServices 
109import  org.jline.reader.EndOfFileException 
1110import  org.jline.reader.LineReader 
@@ -14,6 +13,7 @@ import org.jline.reader.UserInterruptException
1413import  org.jline.terminal.Terminal 
1514import  org.jline.terminal.TerminalBuilder 
1615import  java.io.File 
16+ import  java.util.* 
1717import  java.util.concurrent.atomic.AtomicInteger 
1818import  kotlin.script.experimental.api.* 
1919import  kotlin.script.experimental.host.ScriptingHostConfiguration 
@@ -87,8 +87,6 @@ open class KShell(val replConfiguration: ReplConfiguration,
8787    fun  initEngine () {
8888        replConfiguration.load()
8989
90-         setIdeaIoUseFallback()
91- 
9290        settings =  Settings (replConfiguration)
9391
9492        val  term =  if  (settings.overrideSignals) {
@@ -189,10 +187,14 @@ open class KShell(val replConfiguration: ReplConfiguration,
189187
190188    private  fun  nextLine (code :  String ) =  code.toScriptSource(" Line_${currentSnippetNo.incrementAndGet()} .${compilationConfiguration[ScriptCompilationConfiguration .fileExtension]} " 
191189
190+     private  fun  tempLine (code :  String ) =  code.toScriptSource(" \$\$ tempLine_${UUID .randomUUID()} .${compilationConfiguration[ScriptCompilationConfiguration .fileExtension]} " 
191+ 
192192    suspend  fun  compile (code :  String ) =  compiler.compile(nextLine(code), compilationConfiguration)
193193
194194    fun  compile (code :  SourceCode ) =  runBlocking { compiler.compile(code, compilationConfiguration) }
195195
196+     fun  analyze (code :  String , pos :  SourceCode .Position ) =  runBlocking { compiler.analyze(tempLine(code), pos, compilationConfiguration) }
197+ 
196198    fun  eval (source :  String ): ResultWrapper  {
197199        return  if  (settings.overrideSignals) {
198200            evalThread.apply  {
0 commit comments