Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
小 白蛋
Intellij Community
Commits
e912c499
Commit
e912c499
authored
7 years ago
by
Sergey.Anchipolevsky
1
Browse files
Options
Download
Email Patches
Plain Diff
[yaml, kubernetes] IDEA-184998 completion item quick doc fixes
parent
53821c02
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
plugins/yaml/src/org/jetbrains/yaml/meta/impl/YamlDocumentationProviderBase.java
+10
-1
...tbrains/yaml/meta/impl/YamlDocumentationProviderBase.java
plugins/yaml/src/org/jetbrains/yaml/meta/impl/YamlMetaTypeCompletionProviderBase.java
+5
-4
...ns/yaml/meta/impl/YamlMetaTypeCompletionProviderBase.java
plugins/yaml/src/org/jetbrains/yaml/meta/model/Field.java
+18
-2
plugins/yaml/src/org/jetbrains/yaml/meta/model/Field.java
with
33 additions
and
7 deletions
+33
-7
plugins/yaml/src/org/jetbrains/yaml/meta/impl/YamlDocumentationProviderBase.java
+
10
-
1
View file @
e912c499
...
...
@@ -57,7 +57,10 @@ public abstract class YamlDocumentationProviderBase extends AbstractDocumentatio
if
(
object
instanceof
ForcedCompletionPath
)
{
// deep completion
return
createFromCompletionPath
((
ForcedCompletionPath
)
object
,
contextElement
);
}
else
if
(
object
instanceof
String
)
{
// basic completion
else
if
(
object
instanceof
YamlMetaTypeProvider
.
MetaTypeProxy
)
{
// basic completion with Field object
return
createFromField
((
YamlMetaTypeProvider
.
MetaTypeProxy
)
object
,
contextElement
);
}
else
if
(
object
instanceof
String
)
{
// basic completion with plain string
return
createFromString
((
String
)
object
,
contextElement
);
}
else
{
...
...
@@ -180,6 +183,12 @@ public abstract class YamlDocumentationProviderBase extends AbstractDocumentatio
return
new
DocumentationElement
(
contextElement
.
getManager
(),
proxy
.
getMetaType
(),
field
);
}
@NotNull
private
DocumentationElement
createFromField
(
YamlMetaTypeProvider
.
MetaTypeProxy
field
,
@NotNull
PsiElement
contextElement
)
{
return
new
DocumentationElement
(
contextElement
.
getManager
(),
field
.
getMetaType
(),
field
.
getField
());
}
private
class
DocumentationElement
extends
LightElement
{
@NotNull
private
final
Project
myProject
;
...
...
This diff is collapsed.
Click to expand it.
plugins/yaml/src/org/jetbrains/yaml/meta/impl/YamlMetaTypeCompletionProviderBase.java
+
5
-
4
View file @
e912c499
...
...
@@ -172,8 +172,8 @@ public abstract class YamlMetaTypeCompletionProviderBase extends CompletionProvi
}
else
{
fieldList
.
stream
()
.
filter
(
childField
->
!
existingByKey
.
containsKey
(
childField
.
getName
()))
.
forEach
(
childField
->
registerBasicKeyCompletion
(
childField
,
result
,
insertedScalar
,
needsSequenceItemMark
));
.
filter
(
childField
->
!
existingByKey
.
containsKey
(
childField
.
getName
()))
.
forEach
(
childField
->
registerBasicKeyCompletion
(
metaClass
,
childField
,
result
,
insertedScalar
,
needsSequenceItemMark
));
}
}
...
...
@@ -182,11 +182,12 @@ public abstract class YamlMetaTypeCompletionProviderBase extends CompletionProvi
!
parentField
.
hasRelationSpecificType
(
Field
.
Relation
.
OBJECT_CONTENTS
);
}
private
static
void
registerBasicKeyCompletion
(
@NotNull
Field
toBeInserted
,
private
static
void
registerBasicKeyCompletion
(
@NotNull
YamlMetaClass
metaClass
,
@NotNull
Field
toBeInserted
,
@NotNull
CompletionResultSet
result
,
@NotNull
PsiElement
insertedScalar
,
boolean
needsSequenceItemMark
)
{
List
<
LookupElementBuilder
>
lookups
=
toBeInserted
.
getKeyLookups
(
insertedScalar
);
List
<
LookupElementBuilder
>
lookups
=
toBeInserted
.
getKeyLookups
(
metaClass
,
insertedScalar
);
if
(!
lookups
.
isEmpty
())
{
InsertHandler
<
LookupElement
>
keyInsertHandler
=
new
YamlKeyInsertHandlerImpl
(
needsSequenceItemMark
,
toBeInserted
);
lookups
.
stream
()
...
...
This diff is collapsed.
Click to expand it.
plugins/yaml/src/org/jetbrains/yaml/meta/model/Field.java
+
18
-
2
View file @
e912c499
...
...
@@ -11,6 +11,7 @@ import org.jetbrains.annotations.ApiStatus;
import
org.jetbrains.annotations.Contract
;
import
org.jetbrains.annotations.NotNull
;
import
org.jetbrains.annotations.Nullable
;
import
org.jetbrains.yaml.meta.impl.YamlMetaTypeProvider
;
import
org.jetbrains.yaml.psi.YAMLKeyValue
;
import
javax.swing.*
;
...
...
@@ -216,12 +217,27 @@ public class Field {
}
@NotNull
public
List
<
LookupElementBuilder
>
getKeyLookups
(
@NotNull
PsiElement
insertedScalar
)
{
public
List
<
LookupElementBuilder
>
getKeyLookups
(
@NotNull
YamlMetaClass
ownerClass
,
@NotNull
PsiElement
insertedScalar
)
{
if
(
isAnyNameAllowed
())
{
return
Collections
.
emptyList
();
}
LookupElementBuilder
lookup
=
LookupElementBuilder
.
create
(
getName
())
final
YamlMetaTypeProvider
.
MetaTypeProxy
lookupObject
=
new
YamlMetaTypeProvider
.
MetaTypeProxy
()
{
@NotNull
@Override
public
YamlMetaType
getMetaType
()
{
return
ownerClass
;
}
@NotNull
@Override
public
Field
getField
()
{
return
Field
.
this
;
}
};
LookupElementBuilder
lookup
=
LookupElementBuilder
.
create
(
lookupObject
,
getName
())
.
withTypeText
(
myMainType
.
getDisplayName
(),
true
)
.
withIcon
(
getLookupIcon
())
.
withStrikeoutness
(
isDeprecated
());
...
...
This diff is collapsed.
Click to expand it.
小 白蛋
@baidan
mentioned in commit
29a14d29
·
2 years ago
mentioned in commit
29a14d29
mentioned in commit 29a14d29466aefa1c1adb4fa619289d6b07f5324
Toggle commit list
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
Menu
Projects
Groups
Snippets
Help