Skip to content

Commit

Permalink
Merge remote-tracking branch 'remotes/origin/develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
hisaaki.sioiri committed Feb 15, 2020
2 parents 2c77678 + 83261a2 commit e40e7e0
Show file tree
Hide file tree
Showing 7 changed files with 73 additions and 24 deletions.
6 changes: 3 additions & 3 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ plugins {
apply(plugin = "java")
apply(plugin = "kotlin")

version = "1.15"
version = "1.16"

dependencies {
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.61")
Expand All @@ -24,9 +24,9 @@ dependencies {

intellij {
pluginName = "Gradle Dependencies Helper"
version = "IC-2019.3.1"
version = "LATEST-EAP-SNAPSHOT"
updateSinceUntilBuild = false
setPlugins("java", "Groovy", "gradle", "gradle-java")
setPlugins("java", "Groovy", "gradle", "gradle-java", "Kotlin")
}

configure<JavaPluginConvention> {
Expand Down
23 changes: 23 additions & 0 deletions src/main/java/siosio/DependenciesCompletionProvider.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package siosio

import com.intellij.codeInsight.completion.CompletionParameters
import com.intellij.codeInsight.completion.CompletionProvider
import com.intellij.codeInsight.completion.CompletionResultSet
import com.intellij.util.ProcessingContext

class DependenciesCompletionProvider : CompletionProvider<CompletionParameters>() {

override fun addCompletions(
parameters: CompletionParameters,
context: ProcessingContext,
resultSet: CompletionResultSet) {

val originalElement = parameters.originalPosition ?: return
if (originalElement.isValid.not()) {
return
}
DependencyText(trimQuote(originalElement.text))
.takeUnless { it.isShort }
?.addCompletions(resultSet)
}
}
18 changes: 1 addition & 17 deletions src/main/java/siosio/GradleDependenciesCompletionContributor.kt
Original file line number Diff line number Diff line change
Expand Up @@ -29,24 +29,8 @@ class GradleDependenciesCompletionContributor : AbstractGradleCompletionContribu
.withSuperParent(6, psiElement(GrMethodCallExpression::class.java)
.withText(containsDependencies))

), CompletionParametersCompletionProvider())
), DependenciesCompletionProvider())
}

private class CompletionParametersCompletionProvider : CompletionProvider<CompletionParameters>() {

override fun addCompletions(
parameters: CompletionParameters,
context: ProcessingContext,
resultSet: CompletionResultSet) {

val originalElement = parameters.originalPosition ?: return
if (originalElement.isValid.not()) {
return
}
DependencyText(trimQuote(originalElement.text))
.takeUnless { it.isShort }
?.addCompletions(resultSet)
}
}
}

35 changes: 35 additions & 0 deletions src/main/java/siosio/GradleKtsDependenciesCompletionContributor.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package siosio

import com.intellij.codeInsight.completion.CompletionContributor
import com.intellij.codeInsight.completion.CompletionParameters
import com.intellij.codeInsight.completion.CompletionProvider
import com.intellij.codeInsight.completion.CompletionResultSet
import com.intellij.codeInsight.completion.CompletionType
import com.intellij.patterns.PlatformPatterns.*
import com.intellij.patterns.StandardPatterns
import com.intellij.psi.PsiElement
import com.intellij.util.ProcessingContext
import org.jetbrains.kotlin.KtNodeTypes
import org.jetbrains.kotlin.lexer.KtTokens
import org.jetbrains.kotlin.psi.KtCallExpression
import org.jetbrains.kotlin.psi.KtElement
import org.jetbrains.kotlin.psi.KtStringTemplateExpression
import org.jetbrains.kotlin.psi.KtValueArgument
import org.jetbrains.plugins.gradle.codeInsight.AbstractGradleCompletionContributor

class GradleKtsDependenciesCompletionContributor : CompletionContributor() {
init {
val containsDependencies = string().contains("dependencies")
extend(CompletionType.SMART,
psiElement(KtTokens.REGULAR_STRING_PART)
.and(psiElement().inFile(psiFile().withName(StandardPatterns.string().endsWith(".gradle.kts"))))
.and(
psiElement()
.andOr(
psiElement().withSuperParent(10, psiElement(KtCallExpression::class.java).withText(containsDependencies)),
psiElement().withSuperParent(13, psiElement(KtCallExpression::class.java).withText(containsDependencies))
)
),
DependenciesCompletionProvider())
}
}
6 changes: 3 additions & 3 deletions src/main/java/siosio/OpenMavenCentralProvider.kt
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ class OpenMavenCentralProvider : DocumentationProvider {


companion object {
private const val GROUP_AND_ARTIFACT: String = "http://search.maven.org/#search|gav|1|g:\"%s\" AND a:\"%s\""
private const val GROUP: String = "http://search.maven.org/#search|gav|1|g:\"%s\""
private const val GROUP_AND_ARTIFACT: String = "https://search.maven.org/#search|gav|1|g:\"%s\" AND a:\"%s\""
private const val GROUP: String = "https://search.maven.org/#search|gav|1|g:\"%s\""
}

override fun getQuickNavigateInfo(element: PsiElement?, element1: PsiElement?): String? {
Expand All @@ -22,7 +22,7 @@ class OpenMavenCentralProvider : DocumentationProvider {
return null
}

return split(trimQuote(element.text)).let {
return split(trimQuote(element?.text ?: "")).let {
listOf(
if (it.size > 2) {
GROUP_AND_ARTIFACT.format(it[0], it[1])
Expand Down
6 changes: 6 additions & 0 deletions src/main/resources/META-INF/kts.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<idea-plugin>
<extensions defaultExtensionNs="com.intellij">
<completion.contributor language="kotlin" implementationClass="siosio.GradleKtsDependenciesCompletionContributor" order="first" />
</extensions>

</idea-plugin>
3 changes: 2 additions & 1 deletion src/main/resources/META-INF/plugin.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
<depends>com.intellij.gradle</depends>
<depends>com.intellij.modules.gradle.java</depends>
<depends>org.intellij.groovy</depends>
<depends optional="true" config-file="kts.xml">org.jetbrains.kotlin</depends>

<description><![CDATA[
library is searched in Smart Code Completion by Maven repository
Expand Down Expand Up @@ -37,7 +38,7 @@
]]>
</change-notes>

<idea-version since-build="193.0"/>
<idea-version since-build="201.0"/>

<extensions defaultExtensionNs="com.intellij">
<completion.contributor language="Groovy" implementationClass="siosio.GradleDependenciesCompletionContributor" order="first" />
Expand Down

0 comments on commit e40e7e0

Please sign in to comment.