Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
小 白蛋
Intellij Community
Commits
f1f0a5d2
Commit
f1f0a5d2
authored
6 years ago
by
peter
Browse files
Options
Download
Email Patches
Plain Diff
completion: show a "no suggestions" hint in dumb mode
parent
17095a16
Branches unavailable
Tags unavailable
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
platform/lang-impl/src/com/intellij/codeInsight/completion/CompletionProgressIndicator.java
+15
-18
...j/codeInsight/completion/CompletionProgressIndicator.java
platform/lang-impl/src/com/intellij/codeInsight/completion/DefaultCompletionContributor.java
+0
-6
.../codeInsight/completion/DefaultCompletionContributor.java
with
15 additions
and
24 deletions
+15
-24
platform/lang-impl/src/com/intellij/codeInsight/completion/CompletionProgressIndicator.java
+
15
-
18
View file @
f1f0a5d2
...
...
@@ -17,6 +17,7 @@ import com.intellij.diagnostic.PerformanceWatcher;
import
com.intellij.featureStatistics.FeatureUsageTracker
;
import
com.intellij.injected.editor.DocumentWindow
;
import
com.intellij.injected.editor.EditorWindow
;
import
com.intellij.lang.LangBundle
;
import
com.intellij.openapi.Disposable
;
import
com.intellij.openapi.actionSystem.IdeActions
;
import
com.intellij.openapi.application.ApplicationManager
;
...
...
@@ -743,29 +744,25 @@ public class CompletionProgressIndicator extends ProgressIndicatorBase implement
LOG
.
assertTrue
(!
isAutopopupCompletion
());
if
(!
myHandler
.
invokedExplicitly
)
{
CompletionServiceImpl
.
setCompletionPhase
(
CompletionPhase
.
NoCompletion
);
return
;
}
CompletionParameters
parameters
=
getParameters
();
if
(
parameters
!=
null
&&
runContributorsOnEmptyLookup
(
awaitSecondInvocation
,
parameters
))
{
return
;
if
(
myHandler
.
invokedExplicitly
&&
parameters
!=
null
)
{
LightweightHint
hint
=
showErrorHint
(
getProject
(),
getEditor
(),
getNoSuggestionsMessage
(
parameters
));
if
(
awaitSecondInvocation
)
{
CompletionServiceImpl
.
setCompletionPhase
(
new
CompletionPhase
.
NoSuggestionsHint
(
hint
,
this
));
return
;
}
}
CompletionServiceImpl
.
setCompletionPhase
(
CompletionPhase
.
NoCompletion
);
}
private
boolean
runContributorsOnEmptyLookup
(
boolean
awaitSecondInvocation
,
CompletionParameters
parameters
)
{
for
(
CompletionContributor
contributor
:
CompletionContributor
.
forParameters
(
parameters
))
{
final
String
text
=
contributor
.
handleEmptyLookup
(
parameters
,
getEditor
());
if
(
StringUtil
.
isNotEmpty
(
text
))
{
LightweightHint
hint
=
showErrorHint
(
getProject
(),
getEditor
(),
text
);
CompletionServiceImpl
.
setCompletionPhase
(
awaitSecondInvocation
?
new
CompletionPhase
.
NoSuggestionsHint
(
hint
,
this
)
:
CompletionPhase
.
NoCompletion
);
return
true
;
}
}
return
false
;
private
String
getNoSuggestionsMessage
(
CompletionParameters
parameters
)
{
String
text
=
CompletionContributor
.
forParameters
(
parameters
)
.
stream
()
.
map
(
c
->
c
.
handleEmptyLookup
(
parameters
,
getEditor
()))
.
filter
(
StringUtil:
:
isNotEmpty
)
.
findFirst
()
.
orElse
(
LangBundle
.
message
(
"completion.no.suggestions"
));
return
DumbService
.
isDumb
(
getProject
())
?
text
+
"; results might be incomplete while indexing is in progress"
:
text
;
}
private
static
LightweightHint
showErrorHint
(
Project
project
,
Editor
editor
,
String
text
)
{
...
...
This diff is collapsed.
Click to expand it.
platform/lang-impl/src/com/intellij/codeInsight/completion/DefaultCompletionContributor.java
+
0
-
6
View file @
f1f0a5d2
...
...
@@ -21,7 +21,6 @@ import com.intellij.codeInsight.lookup.LookupElement;
import
com.intellij.codeInsight.lookup.impl.LookupImpl
;
import
com.intellij.lang.LangBundle
;
import
com.intellij.openapi.actionSystem.IdeActions
;
import
com.intellij.openapi.editor.Editor
;
import
com.intellij.openapi.project.Project
;
import
com.intellij.openapi.util.text.StringUtil
;
import
org.jetbrains.annotations.NotNull
;
...
...
@@ -62,11 +61,6 @@ public class DefaultCompletionContributor extends CompletionContributor {
}
}
@Override
public
String
handleEmptyLookup
(
@NotNull
final
CompletionParameters
parameters
,
final
Editor
editor
)
{
return
LangBundle
.
message
(
"completion.no.suggestions"
);
}
@Override
public
AutoCompletionDecision
handleAutoCompletionPossibility
(
@NotNull
AutoCompletionContext
context
)
{
final
LookupElement
[]
items
=
context
.
getItems
();
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment