@@ -68,17 +68,20 @@ class DependencySearchManager(private val dependencyText: DependencyText) {
6868
6969 private fun createLookupElement (result : DependencySearcher .Result , cheatString : String ): LookupElement {
7070 return LookupElementBuilder .create(result, cheatString).withRenderer(CustomLookupElementRenderer (dependencyText)).withInsertHandler { context, item ->
71- val quoteArg = dependencyText.quoteArg
71+ var quoteArg = dependencyText.quoteArg
7272 val text: String
7373 var insertArg: String? = null
74- if (quoteArg.isNullOrEmpty() ) {
75- text = result.getFullText ()
74+ if (quoteArg == null ) {
75+ text = result.getFullTextAndColon ()
7676 } else {
7777 if (result.version.isNullOrEmpty() || result.artifact.isNullOrEmpty()) {
78- text = result.getFullText() + " $ $quoteArg "
78+ text = result.getFullText()
7979 } else {
80+ if (quoteArg.isEmpty()) {
81+ quoteArg = " ver_${result.artifact} "
82+ }
8083 text = " ${result.groupId} :${result.artifact} :$$quoteArg "
81- insertArg = " //{ ext.$quoteArg = '${result.version} '} "
84+ insertArg = " // ext.$quoteArg = '${result.version} ' "
8285 }
8386 }
8487 val editor = context.editor
@@ -88,10 +91,18 @@ class DependencySearchManager(private val dependencyText: DependencyText) {
8891 val lineStartOffset = document.getLineStartOffset(lineNumber)
8992 val lineEndOffset = document.getLineEndOffset(lineNumber)
9093 val allText = document.text
91- var lineText = allText.substring(lineStartOffset, lineEndOffset )
94+ var lineText = allText.substring(lineStartOffset, offset )
9295 lineText = lineText.replace(cheatString, text)
9396
97+ if (lineText.contains(" '" )) {
98+ lineText + = " '"
99+ } else if (lineText.contains(" \" " )) {
100+ lineText + = " \" "
101+ }
94102
103+ if (lineText.contains(" (" )) {
104+ lineText + = " )"
105+ }
95106 insertArg?.let {
96107 if (lineText.contains(" '" )) {
97108 lineText = lineText.replace(" '" , " \" " )
@@ -112,8 +123,8 @@ class DependencySearchManager(private val dependencyText: DependencyText) {
112123 val result = (element as LookupElementBuilder ).`object ` as DependencySearcher .Result
113124 presentation?.typeText = result.source
114125 val quoteArg = dependencyText.quoteArg
115- if (quoteArg.isNullOrEmpty() ) {
116- presentation?.itemText = result.getFullText ()
126+ if (quoteArg == null ) {
127+ presentation?.itemText = result.getFullTextAndColon ()
117128 } else {
118129 if (result.version.isNullOrEmpty() || result.artifact.isNullOrEmpty()) {
119130 presentation?.itemText = result.getFullText() + " $$quoteArg "
@@ -126,4 +137,8 @@ class DependencySearchManager(private val dependencyText: DependencyText) {
126137 }
127138 }
128139
140+ companion object {
141+ const val Q_SYMBOL = " #"
142+ }
143+
129144}
0 commit comments