refixing ufcs calltips
This commit is contained in:
parent
2fd33fc27f
commit
0c22a2bf7e
|
@ -311,6 +311,7 @@ bool isCallableWithArg(DSymbol* incomingSymbol, const(DSymbol)* beforeDotType, b
|
|||
.functionParameters.front.type.name)
|
||||
|| matchAliasThis(beforeDotType, incomingSymbol, recursionDepth))
|
||||
{
|
||||
incomingSymbol.kind = CompletionKind.ufcsName;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -221,7 +221,7 @@ AutocompleteResponse dotCompletion(T)(T beforeTokens, const(Token)[] tokenArray,
|
|||
scope(exit) pair.destroy();
|
||||
response.setCompletions(pair.scope_, getExpression(beforeTokens),
|
||||
cursorPosition, CompletionType.identifiers, false, partial);
|
||||
response.completions ~= pair.ufcsSymbols.map!(s => makeSymbolCompletionInfo(s, CompletionKind.ufcsName)).array;
|
||||
response.completions ~= pair.ufcsSymbols.map!(s => makeSymbolCompletionInfo(s, s.kind)).array;
|
||||
break;
|
||||
// these tokens before a "." mean "Module Scope Operator"
|
||||
case tok!":":
|
||||
|
@ -308,7 +308,7 @@ AutocompleteResponse parenCompletion(T)(T beforeTokens,
|
|||
auto expression = getExpression(beforeTokens[0 .. $ - 1]);
|
||||
response.setCompletions(pair.scope_, expression,
|
||||
cursorPosition, CompletionType.calltips, beforeTokens[$ - 1] == tok!"[");
|
||||
response.completions ~= pair.ufcsSymbols.map!(s => makeSymbolCompletionInfo(s, char.init)).array;
|
||||
response.completions ~= pair.ufcsSymbols.map!(s => makeSymbolCompletionInfo(s, s.kind)).array;
|
||||
response.completionType = CompletionType.calltips;
|
||||
break;
|
||||
default:
|
||||
|
|
|
@ -614,7 +614,7 @@ bool isUdaExpression(T)(ref T tokens)
|
|||
AutocompleteResponse.Completion makeSymbolCompletionInfo(const DSymbol* symbol, char kind)
|
||||
{
|
||||
string definition;
|
||||
if ((kind == CompletionKind.variableName || kind == CompletionKind.ufcsName || kind == CompletionKind.memberVariableName) && symbol.type)
|
||||
if ((kind == CompletionKind.variableName || kind == CompletionKind.memberVariableName) && symbol.type)
|
||||
definition = symbol.type.name ~ ' ' ~ symbol.name;
|
||||
else if (kind == CompletionKind.enumMember)
|
||||
definition = symbol.name; // TODO: add enum value to definition string
|
||||
|
|
Loading…
Reference in New Issue