Git Product home page Git Product logo

intellij-jsonnet's People

Contributors

actions-user avatar armanckeser avatar charleskorn avatar cm3brian avatar dornimaug avatar github-actions[bot] avatar niels-s avatar ptrdom avatar zzehring avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

intellij-jsonnet's Issues

`Evaluating Jsonnet File` Action should not block

Right now, evaluating a jsonnet file that takes a while to generate blocks the IDE, forcing the user to wait until the file is done evaluating. Ideally, this should be done asynchronously. Unfortunately, there's a chance this is an issue with the underlying libraries we use (like lsp4intellij), but we should see if there's something to be done.

Allow ability to disable linting and error detection for jsonnet language server

There's a common problem with large codebases with the language server where the language server consumes tons of memory (20-30GB) primarily due to live linting and error detection.

In the VSCode extension, it's possible to disable those and avoid this memory issue. The same options should be available in this plugin.

So we need to:

  • Provide UI options for enabling/disabling linting and error detection
  • Handle passing those corresponding arguments when running the language server binary
  • ?
  • Profit

Implement code reformatting

This feature exists for the VSCode counterpart for this plugin. It would be nice to have that feature here as well.

JLS crashes with Use 'ignoreUnknownKeys = true' in 'Json {}' builder to ignore unknown keys.

Using JLS 0.1.2

IDEA Ultimate 2023.1 Build #IU-231.8109.175, built on March 28, 2023

io.ktor.serialization.JsonConvertException: Illegal input
	at io.ktor.serialization.kotlinx.KotlinxSerializationConverter.deserialize(KotlinxSerializationConverter.kt:79)
	at io.ktor.serialization.ContentConverterKt$deserialize$$inlined$map$1$2.emit(Emitters.kt:224)
	at kotlinx.coroutines.flow.FlowKt__BuildersKt$asFlow$$inlined$unsafeFlow$3.collect(SafeCollector.common.kt:115)
	at io.ktor.serialization.ContentConverterKt$deserialize$$inlined$map$1.collect(SafeCollector.common.kt:113)
	at kotlinx.coroutines.flow.FlowKt__ReduceKt.firstOrNull(Reduce.kt:243)
	at kotlinx.coroutines.flow.FlowKt.firstOrNull(Unknown Source)
	at io.ktor.serialization.ContentConverterKt.deserialize(ContentConverter.kt:128)
	at io.ktor.client.plugins.contentnegotiation.ContentNegotiation.convertResponse$ktor_client_content_negotiation(ContentNegotiation.kt:185)
	at io.ktor.client.plugins.contentnegotiation.ContentNegotiation$Plugin$install$2.invokeSuspend(ContentNegotiation.kt:210)
	at io.ktor.client.plugins.contentnegotiation.ContentNegotiation$Plugin$install$2.invoke(ContentNegotiation.kt)
	at io.ktor.client.plugins.contentnegotiation.ContentNegotiation$Plugin$install$2.invoke(ContentNegotiation.kt)
	at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:120)
	at io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:78)
	at io.ktor.client.HttpClient$4.invokeSuspend(HttpClient.kt:177)
	at io.ktor.client.HttpClient$4.invoke(HttpClient.kt)
	at io.ktor.client.HttpClient$4.invoke(HttpClient.kt)
	at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:120)
	at io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:78)
	at io.ktor.util.pipeline.SuspendFunctionGun.proceedWith(SuspendFunctionGun.kt:88)
	at io.ktor.client.plugins.HttpCallValidator$Companion$install$2.invokeSuspend(HttpCallValidator.kt:138)
	at io.ktor.client.plugins.HttpCallValidator$Companion$install$2.invoke(HttpCallValidator.kt)
	at io.ktor.client.plugins.HttpCallValidator$Companion$install$2.invoke(HttpCallValidator.kt)
	at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:120)
	at io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:78)
	at io.ktor.util.pipeline.SuspendFunctionGun.execute$ktor_utils(SuspendFunctionGun.kt:98)
	at io.ktor.util.pipeline.Pipeline.execute(Pipeline.kt:77)
	at io.ktor.client.call.HttpClientCall.bodyNullable(HttpClientCall.kt:88)
	at com.github.zzehring.intellijjsonnet.JsonnetLSStartupHandler$getLatestReleaseInfo$1.invokeSuspend(JsonnetLSStartupHandler.kt:220)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
	at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:284)
	at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85)
	at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)
	at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
	at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:38)
	at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source)
	at com.github.zzehring.intellijjsonnet.JsonnetLSStartupHandler.getLatestReleaseInfo(JsonnetLSStartupHandler.kt:166)
	at com.github.zzehring.intellijjsonnet.JsonnetLSStartupHandler.start(JsonnetLSStartupHandler.kt:68)
	at com.github.zzehring.intellijjsonnet.JsonnetLSBackgroundStartupActivity.runActivity(JsonnetLSBackgroundStartupActivity.kt:9)
	at com.intellij.ide.startup.impl.StartupManagerImplKt.runBackgroundPostStartupActivities(StartupManagerImpl.kt:472)
	at com.intellij.ide.startup.impl.StartupManagerImplKt.access$runBackgroundPostStartupActivities(StartupManagerImpl.kt:1)
	at com.intellij.ide.startup.impl.StartupManagerImplKt$scheduleBackgroundPostStartupActivities$1.invokeSuspend(StartupManagerImpl.kt:458)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
Caused by: kotlinx.serialization.json.internal.JsonDecodingException: Unexpected JSON token at offset 2: Encountered an unknown key 'message' at path: $
Use 'ignoreUnknownKeys = true' in 'Json {}' builder to ignore unknown keys.
JSON input: {"message":"API rate limit excee.....
	at kotlinx.serialization.json.internal.JsonExceptionsKt.JsonDecodingException(JsonExceptions.kt:24)
	at kotlinx.serialization.json.internal.JsonExceptionsKt.JsonDecodingException(JsonExceptions.kt:32)
	at kotlinx.serialization.json.internal.AbstractJsonLexer.fail(AbstractJsonLexer.kt:530)
	at kotlinx.serialization.json.internal.AbstractJsonLexer.failOnUnknownKey(AbstractJsonLexer.kt:525)
	at kotlinx.serialization.json.internal.StreamingJsonDecoder.handleUnknown(StreamingJsonDecoder.kt:251)
	at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeObjectIndex(StreamingJsonDecoder.kt:237)
	at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeElementIndex(StreamingJsonDecoder.kt:172)
	at com.github.zzehring.intellijjsonnet.releases.RepoRelease$$serializer.deserialize(RepoRelease.kt:5)
	at com.github.zzehring.intellijjsonnet.releases.RepoRelease$$serializer.deserialize(RepoRelease.kt:5)
	at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableValue(StreamingJsonDecoder.kt:70)
	at kotlinx.serialization.json.Json.decodeFromString(Json.kt:95)
	at io.ktor.serialization.kotlinx.KotlinxSerializationConverter.deserialize(KotlinxSerializationConverter.kt:71)
	... 47 more

Plugin crashes on Idea

Hello there!

On my Idea Build #IU-233.13135.103 plugin version 0.1.6 crashes with exception.
It's not obvious from exception where to it tries to establish a tunnel.
macos arm 13.6.2.

java.io.IOException: Can not establish tunnel connection
	at io.ktor.client.engine.cio.UtilsKt.startTunnel(utils.kt:198)
	at io.ktor.client.engine.cio.UtilsKt$startTunnel$1.invokeSuspend(utils.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
	at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)

Regards, Aleks

HttpRequestTimeoutException

This error happens when I install the plugin, any idea what it could mean?

io.ktor.client.plugins.HttpRequestTimeoutException: Request timeout has expired [url=https://objects.githubusercontent.com/github-production-release-asset-2e65be/437639151/06720617-e599-4fcf-b4da-3c1d5119f0e3?{LOTS OF POTENTIALLY PRIVATE STUFF} request_timeout=unknown ms]
	at io.ktor.client.engine.cio.EndpointKt$setupTimeout$timeoutJob$1.invokeSuspend(Endpoint.kt:252)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)

Doesn't work in PyCharm 2022.1.2 Community Edition

I've installed the plugin from here (v0.0.5). The latest available jsonnet language server 0.7.2 has been successfully downloaded. On the status bar at the bottom of the window I see that the language server is running, but features like autocomplete, jump to definition and others do not work for both *.jsonnet and *.libsonnet files. The only thing that works is syntax highlighting. I also haven't noticed any errors.

Maybe I'm missing something obvious, not sure.

java.lang.UnsupportedOperationException on windows

java.nio.file.Files.setPosixFilePermissions is not supported on windows and therefore the IDE crashes at startup with an UnsupportedOperationException

    at java.base/java.nio.file.Files.setPosixFilePermissions(Files.java:2154)
    at com.github.zzehring.intellijjsonnet.JsonnetLSPreloadingActivity.setExecutablePerms(JsonnetLSPreloadingActivity.kt:185)
    at com.github.zzehring.intellijjsonnet.JsonnetLSPreloadingActivity.preload(JsonnetLSPreloadingActivity.kt:76)
    at com.intellij.idea.ApplicationLoader$executePreloadActivity$1.run(ApplicationLoader.kt:418)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$12(CoreProgressManager.java:624)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:698)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:646)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:623)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:66)
    at com.intellij.idea.ApplicationLoader.executePreloadActivity(ApplicationLoader.kt:408)
    at com.intellij.idea.ApplicationLoader.access$executePreloadActivity(ApplicationLoader.kt:1)
    at com.intellij.idea.ApplicationLoader$executePreloadActivities$2.run(ApplicationLoader.kt:473)
    at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1426)
    at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
    at java.base/java.util.concurrent.ForkJoinPool.awaitQuiescence(ForkJoinPool.java:2984)
    at com.intellij.idea.StartupUtil.start(StartupUtil.java:297)
    at com.intellij.idea.Main.bootstrap(Main.java:134)
    at com.intellij.idea.Main.main(Main.java:82)```

Support versions > 232.x

I've updated GoLand to 2023.3 and see the following error:

Plugin 'Jsonnet Language Server' (version '0.1.5') is not compatible with the current version of the IDE, because it requires build 232.* or older but the current build is GO-233.11799.228

We should probably add support for the latest versions ๐Ÿ˜„

Feat: Allow JPath to be passed as a config

I know this is a TODO item in the code but I wanted to create an issue anyway. I would love the ability to provide file paths for the lsp server to include in its import path. I thought JSONNETPATH variable would suffice but for some reason that didn't work.

FR: Ability to use local copy of JLS

Hello there!
Kindly ask to consider to add configuration property with path to local JLS. Or at least provide description how and where to manually add binaries to Idea plugins folder. Not to try to download it if it's already there.

Connection refused on startup

Hello

After plugin installation, I get the message below.
Might be due to the fact that I am working behind a corporate proxy. But this proxy is correctly configured in IntelliJ Settings.

I am on IntelliJ Ultimate 2022.3.2

java.net.ConnectException: Connection refused
	at java.base/sun.nio.ch.Net.pollConnect(Native Method)
	at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:672)
	at java.base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:946)
	at io.ktor.network.sockets.SocketImpl.connect$ktor_network(SocketImpl.kt:50)
	at io.ktor.network.sockets.SocketImpl$connect$1.invokeSuspend(SocketImpl.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
	at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)

Updating jsonnet-language-server breaks the binary

Problem: When updating to the newest release of the grafana/jsonnet-language-server (v0.7.1 -> v0.7.2), the language server fails to initialize after the update. The binary won't run when invoked from the command line either.

Workaround: Delete the binary and restart IDE. The plugin will download a fresh language server that will work.

I think the process of switching binaries needs to be looked at.

IndexOutOfBoundsException while formatting

I got this while formatting a file. From what I can tell, the error is not dependent on the contents of the file, which is pristine (in the current file, I'm getting it even if I reduce the file to just {}); rather, there's some state stuck somewhere.

java.lang.IndexOutOfBoundsException: Wrong endOffset: -1; documentLength: 311
	at com.intellij.openapi.editor.impl.DocumentImpl.assertBounds(DocumentImpl.java:674)
	at com.intellij.openapi.editor.impl.DocumentImpl.deleteString(DocumentImpl.java:568)
	at com.github.zzehring.intellijjsonnet.utils.MyEditorEventManager.getEditsRunnable$lambda$4$lambda$3(MyEditorEventManager.kt:108)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
	at com.github.zzehring.intellijjsonnet.utils.MyEditorEventManager.getEditsRunnable$lambda$4(MyEditorEventManager.kt:103)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:219)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:174)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:155)
	at com.github.zzehring.intellijjsonnet.utils.MyEditorEventManager.applyEdit$lambda$5(MyEditorEventManager.kt:163)
	at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:980)
	at org.wso2.lsp4intellij.utils.ApplicationUtils.writeAction(ApplicationUtils.java:57)
	at com.github.zzehring.intellijjsonnet.utils.MyEditorEventManager.applyEdit(MyEditorEventManager.kt:160)
	at com.github.zzehring.intellijjsonnet.utils.MyEditorEventManager.access$applyEdit(MyEditorEventManager.kt:18)
	at com.github.zzehring.intellijjsonnet.utils.MyEditorEventManager$reformat$1$1.invoke$lambda$0(MyEditorEventManager.kt:43)
	at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:209)
	at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:21)
	at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:191)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:838)
	at com.intellij.openapi.application.impl.ApplicationImpl$3.run(ApplicationImpl.java:454)
	at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:74)
	at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:114)
	at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:36)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:779)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:730)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:724)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:749)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:909)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:756)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$5(IdeEventQueue.java:437)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:787)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:436)
	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:105)
	at com.intellij.ide.IdeEventQueue.performActivity(IdeEventQueue.java:615)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:434)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:838)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:480)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)

Crashes Goland 2022.3

Close to a vanilla install of goland, crashed on installation on M1 Macbook (16 inch 2022)

Here is the plugin log after fresh install.

Internal error. Please refer to https://jb.gg/ide/critical-startup-errors

com.intellij.diagnostic.PluginException: Key org.wso2.lsp4intellij.IntellijLanguageClient duplicated; existingAdapter: ServiceAdapter(descriptor=ServiceDescriptor(interface='null', serviceImplementation='org.wso2.lsp4intellij.IntellijLanguageClient', testServiceImplementation='null', headlessImplementation='null', overrides=false, configurationSchemaKey='null', preload=FALSE, client=null), pluginDescriptor=PluginDescriptor(name=Cadence, id=cadence-language.cadence-for-intellij-platform, descriptorPath=plugin.xml, path=~/Library/Application Support/JetBrains/Toolbox/apps/Goland/ch-0/223.8617.58/GoLand.app.plugins/cadence-for-intellij-platform, version=0.4.4, package=null, isBundled=false)); descriptor: org.wso2.lsp4intellij.IntellijLanguageClient; app: Application  (containerState PRE_INIT) ; current plugin: com.github.zzehring.intellijjsonnet
    at com.intellij.serviceContainer.ComponentManagerImpl.registerServices(ComponentManagerImpl.kt:547)
    at com.intellij.serviceContainer.ComponentManagerImpl.registerComponents(ComponentManagerImpl.kt:259)
    at com.intellij.openapi.client.ClientAwareComponentManager.registerComponents(ClientAwareComponentManager.kt:46)
    at com.intellij.idea.ApplicationLoader.doInitApplication(ApplicationLoader.kt:78)
    at com.intellij.idea.ApplicationLoader.access$doInitApplication(ApplicationLoader.kt:1)
    at com.intellij.idea.ApplicationLoader$initApplication$1.invokeSuspend(ApplicationLoader.kt:62)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
    at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:284)
    at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85)
    at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)
    at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
    at com.intellij.idea.ApplicationLoader.initApplication(ApplicationLoader.kt:61)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at com.intellij.idea.C.v(C.java:69)
    at com.intellij.ide.v.r.C6.v(C6.java:135)
    at com.intellij.ide.v.r.CM.C(CM.java:191)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at com.intellij.idea.MainImpl.start(MainImpl.kt:60)
    at com.intellij.idea.StartupUtil$startApplication$7.invokeSuspend(StartupUtil.kt:298)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
    at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:284)
    at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85)
    at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)
    at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
    at com.intellij.idea.Main.main(Main.kt:36)

-----
Your JRE: 17.0.5+1-b653.25 aarch64 (JetBrains s.r.o.)
/Users/drunkengranite/Library/Application Support/JetBrains/Toolbox/apps/Goland/ch-0/223.8617.58/GoLand.app/Contents/jbr/Contents/Home

edit: looks like a conflict somehow with another plugin: is weird and would like guidance
edit2: gah completely reset plugins and now I'm getting this

java.lang.NullPointerException: Cannot invoke "org.wso2.lsp4intellij.editor.EditorEventManager.getRequestManager()" because "em" is null
	at com.github.zzehring.intellijjsonnet.JsonnetExternalFormatter$JsonnetFormattingTask.run(JsonnetExternalFormatter.kt:40)
	at com.intellij.formatting.service.AsyncDocumentFormattingService$FormattingRequestImpl.runTask(AsyncDocumentFormattingService.java:256)
	at com.intellij.formatting.service.AsyncDocumentFormattingService.runAsyncFormat(AsyncDocumentFormattingService.java:106)
	at com.intellij.formatting.service.AsyncDocumentFormattingService.lambda$formatDocument$0(AsyncDocumentFormattingService.java:91)
	at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:246)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699)
	at java.base/java.lang.Thread.run(Thread.java:833)

Formatting times out

Using 0.1.2. Formatting works in some files, but not in others. I'm not seeing anything in the log, just getting this:

Screenshot 2023-04-13 at 15 16 56

IntelliJ IDEA 2022.3.2 (Ultimate Edition)
Build #IU-223.8617.56, built on January 26, 2023
Runtime version: 17.0.5+1-b653.25 aarch64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
macOS 13.2.1
GC: G1 Young Generation, G1 Old Generation
Memory: 10240M
Cores: 12
Metal Rendering is ON
Registry:
    suggest.all.run.configurations.from.context=true
    debugger.new.tool.window.layout=true
    ide.experimental.ui=true
    ide.balloon.shadow.size=0
    eslint.additional.file.extensions=svelte

Non-Bundled Plugins:
    pw.unbear.ijplug (1.0.0)
    com.hiberbee.intellij.hiberbee-theme (2023.1.30.410)
    com.vermouthx.idea (1.14.2)
    org.nik.presentation-assistant (1.0.10)
    com.github.zzehring.intellijjsonnet (0.1.2)
    org.jetbrains.plugins.go (223.8617.56)
    org.jetbrains.plugins.ruby (223.8617.56)
    com.intellij.plugins.vscodekeymap (223.7571.113)
    EclipseCodeFormatter (22.0.203.000.0-Eclipse_2021-09)
    com.tang (1.3.8-IDEA223)
    CheckStyle-IDEA (5.76.0)
    com.intellij.lang.jsgraphql (3.4.0)
    dev.blachut.svelte.lang (223.8214.16)
    Pythonid (223.8617.56)

Kotlin: 223-1.8.0-release-345-IJ8617.56

NullPointerException when formatting

I'm getting this when trying to format a file:

java.lang.NullPointerException: Cannot invoke "org.wso2.lsp4intellij.editor.EditorEventManager.getRequestManager()" because "em" is null
	at com.github.zzehring.intellijjsonnet.JsonnetExternalFormatter$JsonnetFormattingTask.run(JsonnetExternalFormatter.kt:40)
	at com.intellij.formatting.service.AsyncDocumentFormattingService$FormattingRequestImpl.runTask(AsyncDocumentFormattingService.java:256)
	at com.intellij.formatting.service.AsyncDocumentFormattingService.runAsyncFormat(AsyncDocumentFormattingService.java:106)
	at com.intellij.formatting.service.AsyncDocumentFormattingService.lambda$formatDocument$0(AsyncDocumentFormattingService.java:91)
	at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:246)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699)
	at java.base/java.lang.Thread.run(Thread.java:833)

Version info:

IntelliJ IDEA 2022.3.2 (Ultimate Edition)
Build #IU-223.8617.56, built on January 26, 2023
Runtime version: 17.0.5+1-b653.25 aarch64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
macOS 13.0
GC: G1 Young Generation, G1 Old Generation
Memory: 2048M
Cores: 12
Metal Rendering is ON
Registry:
    suggest.all.run.configurations.from.context=true
    debugger.new.tool.window.layout=true
    ide.experimental.ui=true
    ide.balloon.shadow.size=0
    eslint.additional.file.extensions=svelte

Non-Bundled Plugins:
    org.jetbrains.plugins.go (223.8617.56)
    pw.unbear.ijplug (1.0.0)
    com.intellij.plugins.vscodekeymap (223.7571.113)
    org.nik.presentation-assistant (1.0.10)
    com.github.zzehring.intellijjsonnet (0.1.0)
    com.vermouthx.idea (1.14.2)
    EclipseCodeFormatter (22.0.203.000.0-Eclipse_2021-09)
    com.tang (1.3.8-IDEA223)
    CheckStyle-IDEA (5.76.0)
    com.hiberbee.intellij.hiberbee-theme (2023.1.30.410)
    org.jetbrains.plugins.ruby (223.8617.56)
    dev.blachut.svelte.lang (223.8214.16)
    Pythonid (223.8617.56)

Kotlin: 223-1.8.0-release-345-IJ8617.56

Properly setup GitHub Actions

GH Actions aren't set up properly, so the build status is wonky and incorrect. This project could use some nice CI in place for sanity.

Does this plugin is compatible with grafonnet library

Hello,

I'm using grafonnet to manage my dashboards in jsonnet, however I can't really code with Intellij idea because of the lack of autocompletion and syntax color for functions (among other things). I have to code in VS code because the extension is tailored for grafonnet. That's why I'm asking if someone has configured something to work with grafonnet projects?

No comments support

Unable to use shortcut comments (e.g. on mac: such as cmd+/ (single line) or cmd+alt+/ (multi-line/block) ) to comment out lines.

Bug: LanguageServer crashes due to getWorkspaceSymbolProvider() returning null

LanguageServer for definition RawCommandServerDefinition : path_to_server/Jsonnet Language Server/jsonnet-language-server --tanka --lint, project myProject keeps crashing due to Cannot invoke "java.lang.Boolean.booleanValue()" because the return value of "org.eclipse.lsp4j.ServerCapabilities.getWorkspaceSymbolProvider()" is null

Getting this bug as I open my project

Not working with 223

Tried bumping the version which allowed it to load with no exceptions but doesn't seem to work

Incompatibility issue with the newest version of Goland (GO-222.3345.118)

After updating to the latest version of Goland about a week or so ago, I've been getting the following error message:

Plugin 'Jsonnet Language Server' (version '0.0.7') is not compatible with the current version of the IDE, because it requires build 221.* or older but the current build is GO-222.3345.118

I also tried the install from disk method which yields the same result.

I think this might be fixed by updating the value to 222.* here:

pluginUntilBuild = 221.*

but I'm not sure since I'm very unfamiliar with the whole plugin system

Thanks

Not binding libsonnet files

Hello,

Thanks for all the work on this and for jumping on my last report very quickly, much appreciated.

Can the plugin please be setup to bind also *.libsonnet/.libsonnet file types as well, I have to keep adding it each restart as for some reason the bindings are not persisted for me when manually added.

A fresh plugin install for me shows no bindings for the file types:
image

Allow testing in latest EAP builds

I typically work with EAP builds, and I am accustomed to encountering issues as they arise (which is expected with EAP). However, I have noticed that this plugin is frequently disabled due to the restrictive install limit configuration.

Would it be possible to enable support non breaking EAP builds, not necessarily the latest one?

Thanks!

Crashing with NullPointerException in v0.1.6

Hi,

I use version 0.1.6 of the plugin, and it keeps crashing with the exception below.

BR,
Per

java.util.concurrent.ExecutionException: java.lang.NullPointerException
	at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
	at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
	at com.intellij.codeInsight.actions.AbstractLayoutCodeProcessor$ProcessingTask.checkStop(AbstractLayoutCodeProcessor.java:467)
	at com.intellij.codeInsight.actions.AbstractLayoutCodeProcessor$ProcessingTask.performFileProcessing(AbstractLayoutCodeProcessor.java:461)
	at com.intellij.codeInsight.actions.AbstractLayoutCodeProcessor$ProcessingTask.lambda$iteration$3(AbstractLayoutCodeProcessor.java:419)
	at com.intellij.openapi.project.DumbService.withAlternativeResolveEnabled(DumbService.kt:299)
	at com.intellij.codeInsight.actions.AbstractLayoutCodeProcessor$ProcessingTask.iteration(AbstractLayoutCodeProcessor.java:419)
	at com.intellij.codeInsight.actions.AbstractLayoutCodeProcessor$ProcessingTask.lambda$process$10(AbstractLayoutCodeProcessor.java:519)
	at com.intellij.codeInsight.actions.FileRecursiveIterator.lambda$processAll$4(FileRecursiveIterator.java:69)
	at com.intellij.openapi.roots.impl.FileIndexBase.lambda$toContentIteratorEx$1(FileIndexBase.java:48)
	at com.intellij.workspaceModel.core.fileIndex.impl.WorkspaceFileIndexImpl$processContentFilesRecursively$visitor$1.visitFileEx(WorkspaceFileIndexImpl.kt:144)
	at com.intellij.openapi.vfs.VfsUtilCore.visitChildrenRecursively(VfsUtilCore.java:302)
	at com.intellij.workspaceModel.core.fileIndex.impl.WorkspaceFileIndexImpl.processContentFilesRecursively(WorkspaceFileIndexImpl.kt:153)
	at com.intellij.workspaceModel.core.fileIndex.impl.WorkspaceFileIndexImpl.processContentFilesRecursively(WorkspaceFileIndexImpl.kt:112)
	at com.intellij.openapi.roots.impl.FileIndexBase.iterateContentUnderDirectory(FileIndexBase.java:41)
	at com.intellij.openapi.roots.impl.ProjectFileIndexImpl.iterateContentUnderDirectory(ProjectFileIndexImpl.java:31)
	at com.intellij.openapi.roots.impl.FileIndexBase.iterateContentUnderDirectory(FileIndexBase.java:72)
	at com.intellij.openapi.roots.impl.ProjectFileIndexImpl.iterateContentUnderDirectory(ProjectFileIndexImpl.java:31)
	at com.intellij.codeInsight.actions.FileRecursiveIterator.processAll(FileRecursiveIterator.java:64)
	at com.intellij.codeInsight.actions.AbstractLayoutCodeProcessor$ProcessingTask.process(AbstractLayoutCodeProcessor.java:517)
	at com.intellij.codeInsight.actions.AbstractLayoutCodeProcessor.processFilesUnderProgress(AbstractLayoutCodeProcessor.java:359)
	at com.intellij.codeInsight.actions.AbstractLayoutCodeProcessor.lambda$runProcessFiles$1(AbstractLayoutCodeProcessor.java:314)
	at com.intellij.openapi.progress.impl.CoreProgressManager$1.run(CoreProgressManager.java:258)
	at com.intellij.openapi.progress.impl.CoreProgressManager.startTask(CoreProgressManager.java:434)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.startTask(ProgressManagerImpl.java:132)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcessWithProgressSynchronously$8(CoreProgressManager.java:518)
	at com.intellij.openapi.progress.impl.ProgressRunner.lambda$new$0(ProgressRunner.java:84)
	at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$4(ProgressRunner.java:248)
	at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(ProgressManager.java:73)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$1(CoreProgressManager.java:192)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$12(CoreProgressManager.java:610)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:685)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:641)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:609)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:78)
	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:179)
	at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:73)
	at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$5(ProgressRunner.java:248)
	at com.intellij.openapi.progress.impl.ProgressRunner$ProgressRunnable.run(ProgressRunner.java:498)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699)
	at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: java.lang.NullPointerException
	at com.github.zzehring.intellijjsonnet.JsonnetExternalFormatter.createFormattingTask(JsonnetExternalFormatter.kt:26)
	at com.intellij.formatting.service.AsyncDocumentFormattingService.formatDocument(AsyncDocumentFormattingService.java:77)
	at com.intellij.formatting.service.AbstractDocumentFormattingService.formatRanges(AbstractDocumentFormattingService.java:67)
	at com.intellij.formatting.service.FormattingServiceUtil.formatRanges(FormattingServiceUtil.java:118)
	at com.intellij.psi.impl.source.codeStyle.CodeStyleManagerImpl.reformatText(CodeStyleManagerImpl.java:148)
	at com.intellij.psi.impl.source.codeStyle.CodeStyleManagerImpl.reformatText(CodeStyleManagerImpl.java:112)
	at com.intellij.codeInsight.actions.ReformatCodeProcessor.doReformat(ReformatCodeProcessor.java:221)
	at com.intellij.codeInsight.actions.ReformatCodeProcessor.lambda$prepareTask$5(ReformatCodeProcessor.java:166)
	at com.intellij.psi.codeStyle.CodeStyleSettingsManager.runWithLocalSettings(CodeStyleSettingsManager.java:113)
	at com.intellij.application.options.CodeStyle.runWithLocalSettings(CodeStyle.java:366)
	at com.intellij.codeInsight.actions.ReformatCodeProcessor.lambda$prepareTask$6(ReformatCodeProcessor.java:158)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at com.intellij.codeInsight.actions.AbstractLayoutCodeProcessor$ProcessingTask.lambda$performFileProcessing$7(AbstractLayoutCodeProcessor.java:459)
	at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.lambda$doRunWriteCommandAction$1(WriteCommandAction.java:144)
	at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:975)
	at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.lambda$doRunWriteCommandAction$2(WriteCommandAction.java:142)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:225)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:187)
	at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.doRunWriteCommandAction(WriteCommandAction.java:151)
	at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.lambda$run$0(WriteCommandAction.java:122)
	at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:209)
	at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:22)
	at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:191)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:843)
	at com.intellij.openapi.application.impl.ApplicationImpl$4.run(ApplicationImpl.java:463)
	at com.intellij.openapi.application.impl.LaterInvocator$1.run(LaterInvocator.java:101)
	at com.intellij.openapi.application.impl.RwLockHolder.runWithEnabledImplicitRead(RwLockHolder.kt:75)
	at com.intellij.openapi.application.impl.RwLockHolder.runWithImplicitRead(RwLockHolder.kt:67)
	at com.intellij.openapi.application.impl.ApplicationImpl.runWithImplicitRead(ApplicationImpl.java:1436)
	at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:82)
	at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:124)
	at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:44)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:792)
	at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:739)
	at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:733)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:761)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:695)
	at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$12(IdeEventQueue.kt:589)
	at com.intellij.openapi.application.impl.RwLockHolder.runWithoutImplicitRead(RwLockHolder.kt:44)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:589)
	at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:72)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:355)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:354)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:793)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:354)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:349)
	at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:1014)
	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:114)
	at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1014)
	at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$7(IdeEventQueue.kt:349)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:848)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:391)
	at com.intellij.ide.IdeEventQueue.pumpEventsForHierarchy(IdeEventQueue.kt:731)
	at com.intellij.openapi.progress.util.ProgressWindow.lambda$startBlocking$4(ProgressWindow.java:218)
	at com.intellij.openapi.application.impl.ApplicationImpl.runUnlockingIntendedWrite(ApplicationImpl.java:862)
	at com.intellij.openapi.progress.util.ProgressWindow.lambda$startBlocking$5(ProgressWindow.java:213)
	at com.intellij.openapi.progress.util.ProgressWindow.executeInModalContext(ProgressWindow.java:194)
	at com.intellij.openapi.progress.util.ProgressWindow.startBlocking(ProgressWindow.java:211)
	at com.intellij.openapi.progress.impl.ProgressRunner.lambda$execFromEDT$7(ProgressRunner.java:314)
	at java.base/java.util.concurrent.CompletableFuture.uniAcceptNow(CompletableFuture.java:757)
	at java.base/java.util.concurrent.CompletableFuture.uniAcceptStage(CompletableFuture.java:735)
	at java.base/java.util.concurrent.CompletableFuture.thenAccept(CompletableFuture.java:2182)
	at com.intellij.openapi.progress.impl.ProgressRunner.execFromEDT(ProgressRunner.java:311)
	at com.intellij.openapi.progress.impl.ProgressRunner.submit(ProgressRunner.java:251)
	at com.intellij.openapi.progress.impl.ProgressRunner.submitAndGet(ProgressRunner.java:192)
	at com.intellij.openapi.application.impl.ApplicationImpl.runProcessWithProgressSynchronously(ApplicationImpl.java:430)
	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcessWithProgressSynchronously(CoreProgressManager.java:529)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcessWithProgressSynchronously(ProgressManagerImpl.java:103)
	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcessWithProgressSynchronously(CoreProgressManager.java:254)
	at com.intellij.codeInsight.actions.AbstractLayoutCodeProcessor.runProcessFiles(AbstractLayoutCodeProcessor.java:312)
	at com.intellij.codeInsight.actions.AbstractLayoutCodeProcessor.run(AbstractLayoutCodeProcessor.java:225)
	at com.intellij.codeInsight.actions.onSave.FormatOnSaveAction.processFiles(FormatOnSaveAction.java:99)
	at com.intellij.codeInsight.actions.onSave.FormatOnSaveAction.processDocuments(FormatOnSaveAction.java:62)
	at com.intellij.ide.actionsOnSave.impl.ActionsOnSaveFileDocumentManagerListener.processSavedDocuments(ActionsOnSaveFileDocumentManagerListener.kt:130)
	at com.intellij.ide.actionsOnSave.impl.ActionsOnSaveFileDocumentManagerListener.access$processSavedDocuments(ActionsOnSaveFileDocumentManagerListener.kt:31)
	at com.intellij.ide.actionsOnSave.impl.ActionsOnSaveFileDocumentManagerListener$processSavedDocuments$1.invokeSuspend(ActionsOnSaveFileDocumentManagerListener.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
	at com.intellij.openapi.application.impl.DispatchedRunnable.run(DispatchedRunnable.kt:43)
	at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:209)
	at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:22)
	at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:191)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:843)
	at com.intellij.openapi.application.impl.ApplicationImpl$4.run(ApplicationImpl.java:463)
	at com.intellij.openapi.application.impl.RwLockHolder.runWithEnabledImplicitRead(RwLockHolder.kt:75)
	at com.intellij.openapi.application.impl.RwLockHolder.runWithImplicitRead(RwLockHolder.kt:67)
	at com.intellij.openapi.application.impl.ApplicationImpl.runWithImplicitRead(ApplicationImpl.java:1436)
	at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:82)
	at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:124)
	at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:44)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:792)
	at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:739)
	at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:733)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:761)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:695)
	at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$12(IdeEventQueue.kt:589)
	at com.intellij.openapi.application.impl.RwLockHolder.runWithoutImplicitRead(RwLockHolder.kt:44)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:589)
	at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:72)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:355)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:354)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:793)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:354)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:349)
	at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:1014)
	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:106)
	at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1014)
	at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$7(IdeEventQueue.kt:349)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:848)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:391)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)

`.libsonnet` / `.jsonnet` file icons not shown

.libsonnet / .jsonnet files appear without an icon in the Project tool window:

Screenshot 2023-02-20 at 1 36 55 pm

These files are also presented without an icon in their tab:

Screenshot 2023-02-20 at 1 39 14 pm

Version information

Plugin version 0.1.0
IntelliJ version 2022.3.2

Plugin unusable behind HTTP proxy

The plugin cannot be used behind a proxy, because the download of the language server binary fails and there is no workaround (like providing the binary manually at $pluginsPath/Jsonnet Language Server/jsonnet-language-server):

io.ktor.client.network.sockets.ConnectTimeoutException: Connect timeout has expired [url=https://api.github.com/repos/grafana/jsonnet-language-server/releases/latest, connect_timeout=unknown ms]
	at io.ktor.client.plugins.HttpTimeoutKt.ConnectTimeoutException(HttpTimeout.kt:209)
	at io.ktor.client.plugins.HttpTimeoutKt.ConnectTimeoutException$default(HttpTimeout.kt:206)
	at io.ktor.client.engine.cio.Endpoint.getTimeoutException(Endpoint.kt:217)
	at io.ktor.client.engine.cio.Endpoint.connect(Endpoint.kt:206)
	at io.ktor.client.engine.cio.Endpoint.access$connect(Endpoint.kt:23)
	at io.ktor.client.engine.cio.Endpoint$connect$1.invokeSuspend(Endpoint.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:33)
	at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
	at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)

My proxy is configured manually as described here https://www.jetbrains.com/help/idea/settings-http-proxy.html and it is the first time a plugin has failed for me because of this.

The necessary environment variables (http_proxy, https_proxy, etc.) are also set.

I also tried setting system properties through idea64.vmoptions, which also did not work:

-Dhttp.proxyHost=xxxx
-Dhttp.proxyPort=1234
-Dhttps.proxyHost=xxxx
-Dhttps.proxyPort=1234
-Dhttp.nonProxyHosts=*.xxx|*.yyyy
-Djava.net.useSystemProxies=true

If the plugin cannot use the proxy config of the IDE or the system for its HTTP client, it would at least be helpful to be able to disable the required auto-download and install the language server binary manually.

Ensure things run as normal if GH request to list releases

Had an issue where GitHub was not returning mentioned_counts when querying the list of releases. This would cause the plugin to not start the language server as it would fail to list releases.

Failing to get list of releases from GitHub should not prevent the language server from working. Handle these failures more gracefully.

We should also look into making the release list not fail if it's missing non-essential fields (like mentioned_counts).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.