Improve completions for built-in types

This commit is contained in:
Hackerpilot 2014-05-27 16:03:55 -07:00
parent 4247cff0bd
commit b516277b0a
2 changed files with 27 additions and 2 deletions

View File

@ -533,29 +533,53 @@ static this()
auto void_ = allocate!ACSymbol(Mallocator.it, "void", CompletionKind.keyword);
builtinSymbols.insert(bool_);
bool_.type = bool_;
builtinSymbols.insert(int_);
int_.type = int_;
builtinSymbols.insert(long_);
long_.type = long_;
builtinSymbols.insert(byte_);
byte_.type = byte_;
builtinSymbols.insert(char_);
char_.type = char_;
builtinSymbols.insert(dchar_);
dchar_.type = dchar_;
builtinSymbols.insert(short_);
short_.type = short_;
builtinSymbols.insert(ubyte_);
ubyte_.type = ubyte_;
builtinSymbols.insert(uint_);
uint_.type = uint_;
builtinSymbols.insert(ulong_);
ulong_.type = ulong_;
builtinSymbols.insert(ushort_);
ushort_.type = ushort_;
builtinSymbols.insert(wchar_);
wchar_.type = wchar_;
builtinSymbols.insert(cdouble_);
cdouble_.type = cdouble_;
builtinSymbols.insert(cent_);
cent_.type = cent_;
builtinSymbols.insert(cfloat_);
cfloat_.type = cfloat_;
builtinSymbols.insert(creal_);
creal_.type = creal_;
builtinSymbols.insert(double_);
double_.type = double_;
builtinSymbols.insert(float_);
float_.type = float_;
builtinSymbols.insert(idouble_);
idouble_.type = idouble_;
builtinSymbols.insert(ifloat_);
ifloat_.type = ifloat_;
builtinSymbols.insert(ireal_);
ireal_.type = ireal_;
builtinSymbols.insert(real_);
real_.type = real_;
builtinSymbols.insert(ucent_);
ucent_.type = ucent_;
builtinSymbols.insert(void_);
void_.type = void_;
// writeln(">>Builtin symbols");
// foreach (symbol; builtinSymbols[])

View File

@ -45,6 +45,7 @@ public:
void run()
{
rootSymbol.acSymbol.parts.insert(builtinSymbols[]);
assignToScopes(rootSymbol.acSymbol);
resolveImports(moduleScope);
}
@ -62,8 +63,8 @@ private:
s.symbols.insert(currentSymbol);
foreach (part; currentSymbol.parts[])
{
std.utf.validate(part.name);
assignToScopes(part);
if (part.kind != CompletionKind.keyword)
assignToScopes(part);
}
}