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

View File

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