Skip to content

Commit 29b25bb

Browse files
committed
refactor: install the LookupEnhancer only if there is a graphical environment
We're using java.awt.Robot internally, which obviously can't run in a headless environment.
1 parent 1703fff commit 29b25bb

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/main/kotlin/com/github/lppedd/cc/completion/ConventionalCommitTextCompletionContributor.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ import com.intellij.psi.PsiElement
3535
import com.intellij.util.ProcessingContext
3636
import com.intellij.util.ReflectionUtil.findField
3737
import com.intellij.util.concurrency.Semaphore
38+
import java.awt.GraphicsEnvironment
3839
import java.lang.reflect.Field
3940
import java.util.*
4041
import java.util.Collections.newSetFromMap
@@ -255,7 +256,10 @@ internal class ConventionalCommitTextCompletionContributor : CompletionContribut
255256
.distinctBy(CommitTokenProvider::getId)
256257
.toList()
257258

258-
checkNotNull(lookupEnhancers[process.lookup]).setProviders(commitTokenProviders)
259+
if (!GraphicsEnvironment.isHeadless()) {
260+
val lookupEnhancer = lookupEnhancers[process.lookup] ?: error("LookupEnhancer not found")
261+
lookupEnhancer.setProviders(commitTokenProviders)
262+
}
259263
}
260264

261265
/**
@@ -303,7 +307,7 @@ internal class ConventionalCommitTextCompletionContributor : CompletionContribut
303307

304308
private class LookupCreationListener : LookupManagerListener {
305309
override fun activeLookupChanged(oldLookup: Lookup?, newLookup: Lookup?) {
306-
if (newLookup is LookupImpl && !isLookupEnhancerInstalled(newLookup)) {
310+
if (!GraphicsEnvironment.isHeadless() && newLookup is LookupImpl && !isLookupEnhancerInstalled(newLookup)) {
307311
installLookupEnhancer(newLookup)
308312
}
309313
}

0 commit comments

Comments
 (0)