Skip to content

Commit 849c256

Browse files
committed
refactor: use static instance getters for services
This adheres to the SDK convention.
1 parent 52db28e commit 849c256

48 files changed

Lines changed: 137 additions & 124 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/main/kotlin/com/github/lppedd/cc/CCNotificationService.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,19 @@ package com.github.lppedd.cc
33
import com.intellij.notification.NotificationGroupManager
44
import com.intellij.notification.NotificationType
55
import com.intellij.openapi.components.Service
6+
import com.intellij.openapi.components.service
67
import com.intellij.openapi.project.Project
78

89
/**
910
* @author Edoardo Luppi
1011
*/
1112
@Service(Service.Level.PROJECT)
1213
internal class CCNotificationService(private val project: Project) {
13-
private companion object {
14+
companion object {
1415
private val group = NotificationGroupManager.getInstance().getNotificationGroup("com.github.lppedd.cc.notifications")
16+
17+
@JvmStatic
18+
fun getInstance(project: Project): CCNotificationService = project.service()
1519
}
1620

1721
fun notifyError(message: String) {
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.github.lppedd.cc
22

33
import com.github.lppedd.cc.vcs.commitbuilder.CommitBuilderService
4-
import com.intellij.openapi.components.service
54
import com.intellij.openapi.project.Project
65
import com.intellij.openapi.project.ProjectManagerListener
76

@@ -10,5 +9,5 @@ import com.intellij.openapi.project.ProjectManagerListener
109
*/
1110
internal class CCProjectManagerListener : ProjectManagerListener {
1211
override fun projectClosingBeforeSave(project: Project) =
13-
project.service<CommitBuilderService>().clear()
12+
CommitBuilderService.getInstance(project).clear()
1413
}

src/main/kotlin/com/github/lppedd/cc/api/CommitInspectionProviderService.kt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,16 @@
11
package com.github.lppedd.cc.api
22

3+
import com.intellij.openapi.components.service
4+
35
/**
46
* @author Edoardo Luppi
57
*/
68
public interface CommitInspectionProviderService {
9+
public companion object {
10+
@JvmStatic
11+
public fun getInstance(): CommitInspectionProviderService = service()
12+
}
13+
714
/**
815
* Returns all the registered commit inspection providers.
916
*/

src/main/kotlin/com/github/lppedd/cc/api/CommitTokenProviderService.kt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,19 @@
11
package com.github.lppedd.cc.api
22

33
import com.intellij.openapi.Disposable
4+
import com.intellij.openapi.components.service
5+
import com.intellij.openapi.project.Project
46
import org.jetbrains.annotations.TestOnly
57

68
/**
79
* @author Edoardo Luppi
810
*/
911
public interface CommitTokenProviderService {
12+
public companion object {
13+
@JvmStatic
14+
public fun getInstance(project: Project): CommitTokenProviderService = project.service()
15+
}
16+
1017
/**
1118
* Returns all the registered commit type providers.
1219
*/
Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
package com.github.lppedd.cc.api
22

3+
import com.intellij.openapi.components.service
4+
35
/**
46
* @author Edoardo Luppi
57
*/
68
public interface WhatsNewProviderService {
7-
/**
8-
* Returns all the registered "What's new" providers.
9-
*/
9+
public companion object {
10+
@JvmStatic
11+
public fun getInstance(): WhatsNewProviderService = service()
12+
}
13+
1014
public fun getWhatsNewProviders(): Collection<WhatsNewProvider>
1115
}

src/main/kotlin/com/github/lppedd/cc/api/impl/InternalCommitTokenProvider.kt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import com.github.lppedd.cc.configuration.CCTokensService
88
import com.github.lppedd.cc.configuration.CCTokensService.TokensModel
99
import com.github.lppedd.cc.configuration.CoAuthorsResult
1010
import com.github.lppedd.cc.configuration.TokensResult
11-
import com.intellij.openapi.components.service
1211
import com.intellij.openapi.diagnostic.logger
1312
import com.intellij.openapi.project.Project
1413
import javax.swing.Icon
@@ -50,7 +49,7 @@ internal class InternalCommitTokenProvider(private val project: Project) :
5049
subject: String?,
5150
): Collection<CommitFooterValue> {
5251
if ("co-authored-by".equals(footerType, ignoreCase = true)) {
53-
val tokensService = project.service<CCTokensService>()
52+
val tokensService = CCTokensService.getInstance(project)
5453

5554
when (val result = tokensService.getCoAuthors()) {
5655
is CoAuthorsResult.Success -> {
@@ -67,7 +66,7 @@ internal class InternalCommitTokenProvider(private val project: Project) :
6766
}
6867

6968
private fun getTokens(): TokensModel {
70-
val tokensService = project.service<CCTokensService>()
69+
val tokensService = CCTokensService.getInstance(project)
7170

7271
@Suppress("LoggingSimilarMessage")
7372
return when (val result = tokensService.getTokens()) {
@@ -80,7 +79,7 @@ internal class InternalCommitTokenProvider(private val project: Project) :
8079
logger.debug("Error while getting tokens", result.failure)
8180
val details = CCBundle["cc.notifications.schema.validation"]
8281
val message = CCBundle["cc.notifications.schema", details]
83-
project.service<CCNotificationService>().notifyError(message)
82+
CCNotificationService.getInstance(project).notifyError(message)
8483
tokensService.getBundledTokens()
8584
}
8685
}

src/main/kotlin/com/github/lppedd/cc/api/impl/InternalCommitTokenProviderService.kt

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package com.github.lppedd.cc.api.impl
33
import com.github.lppedd.cc.api.*
44
import com.github.lppedd.cc.configuration.CCConfigService
55
import com.intellij.openapi.Disposable
6-
import com.intellij.openapi.components.service
76
import com.intellij.openapi.extensions.ProjectExtensionPointName
87
import com.intellij.openapi.project.Project
98
import org.jetbrains.annotations.TestOnly
@@ -33,37 +32,37 @@ internal class InternalCommitTokenProviderService(private val project: Project)
3332
}
3433

3534
override fun getTypeProviders(): List<CommitTypeProvider> {
36-
val configService = project.service<CCConfigService>()
35+
val configService = CCConfigService.getInstance(project)
3736
val providers = typeEpName.getExtensions(project)
3837
return providers.sortedBy(configService::getProviderOrder)
3938
}
4039

4140
override fun getScopeProviders(): List<CommitScopeProvider> {
42-
val configService = project.service<CCConfigService>()
41+
val configService = CCConfigService.getInstance(project)
4342
val providers = scopeEpName.getExtensions(project)
4443
return providers.sortedBy(configService::getProviderOrder)
4544
}
4645

4746
override fun getSubjectProviders(): List<CommitSubjectProvider> {
48-
val configService = project.service<CCConfigService>()
47+
val configService = CCConfigService.getInstance(project)
4948
val providers = subjectEpName.getExtensions(project)
5049
return providers.sortedBy(configService::getProviderOrder)
5150
}
5251

5352
override fun getBodyProviders(): List<CommitBodyProvider> {
54-
val configService = project.service<CCConfigService>()
53+
val configService = CCConfigService.getInstance(project)
5554
val providers = bodyEpName.getExtensions(project)
5655
return providers.sortedBy(configService::getProviderOrder)
5756
}
5857

5958
override fun getFooterTypeProviders(): List<CommitFooterTypeProvider> {
60-
val configService = project.service<CCConfigService>()
59+
val configService = CCConfigService.getInstance(project)
6160
val providers = footerTypeEpName.getExtensions(project)
6261
return providers.sortedBy(configService::getProviderOrder)
6362
}
6463

6564
override fun getFooterValueProviders(): List<CommitFooterValueProvider> {
66-
val configService = project.service<CCConfigService>()
65+
val configService = CCConfigService.getInstance(project)
6766
val providers = footerValueEpName.getExtensions(project)
6867
return providers.sortedBy(configService::getProviderOrder)
6968
}

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ import com.intellij.codeInsight.lookup.LookupElement
2424
import com.intellij.codeInsight.lookup.LookupManagerListener
2525
import com.intellij.codeInsight.lookup.impl.LookupImpl
2626
import com.intellij.lang.LanguageMatcher
27-
import com.intellij.openapi.components.service
2827
import com.intellij.openapi.fileTypes.PlainTextLanguage
2928
import com.intellij.openapi.progress.ProgressManager
3029
import com.intellij.openapi.project.DumbAware
@@ -114,7 +113,7 @@ internal class ConventionalCommitTextCompletionContributor : CompletionContribut
114113
.withRelevanceSorter(
115114
CompletionSorter.emptySorter()
116115
.weigh(PreferStartMatching())
117-
.weigh(ConventionalCommitLookupElementWeigher(project.service()))
116+
.weigh(ConventionalCommitLookupElementWeigher(CCConfigService.getInstance(project)))
118117
)
119118

120119
val editor = parameters.editor
@@ -126,7 +125,7 @@ internal class ConventionalCommitTextCompletionContributor : CompletionContribut
126125
ContextResultSet(resultSet)
127126
}
128127

129-
val configService = project.service<CCConfigService>()
128+
val configService = CCConfigService.getInstance(project)
130129
val process = parameters.process
131130

132131
// If the user configured commit messages to be completed via templates,

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ import com.intellij.openapi.actionSystem.ex.AnActionListener
2626
import com.intellij.openapi.actionSystem.impl.ActionButton
2727
import com.intellij.openapi.application.ApplicationManager
2828
import com.intellij.openapi.command.CommandProcessor
29-
import com.intellij.openapi.components.service
3029
import com.intellij.openapi.diagnostic.logger
3130
import com.intellij.openapi.util.Disposer
3231
import com.intellij.openapi.util.registry.Registry
@@ -51,7 +50,7 @@ internal class LookupEnhancer(private val lookup: LookupImpl) : LookupListener,
5150

5251
private val commandProcessor = CommandProcessor.getInstance()
5352
private val actionManager = ActionManagerEx.getInstanceEx()
54-
private val config = lookup.project.service<CCConfigService>()
53+
private val config = CCConfigService.getInstance(lookup.project)
5554

5655
@Volatile private var lookupPopupMenuListenerDisposable: Disposable? = null
5756
@Volatile private var allActions = emptyList<AnAction>()

src/main/kotlin/com/github/lppedd/cc/completion/menu/SettingsActions.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import com.github.lppedd.cc.updateIcons
1111
import com.intellij.codeInsight.lookup.impl.LookupImpl
1212
import com.intellij.icons.AllIcons
1313
import com.intellij.openapi.actionSystem.*
14-
import com.intellij.openapi.components.service
1514
import com.intellij.openapi.project.DumbAware
1615
import com.intellij.util.ui.UIUtil
1716
import java.util.*
@@ -26,7 +25,7 @@ internal class SettingsActions(
2625
private val enhancer: LookupEnhancer,
2726
private val lookup: LookupImpl,
2827
) : ActionGroup("", false), DumbAware {
29-
private val config = lookup.project.service<CCConfigService>()
28+
private val config = CCConfigService.getInstance(lookup.project)
3029
private val actions = arrayOf(
3130
Separator.create(),
3231
CompletionModeChangeAction(),

0 commit comments

Comments
 (0)