From 5d71e4ff2acddd6d914ff8fad3650f1d136248a9 Mon Sep 17 00:00:00 2001 From: Hackerpilot Date: Thu, 8 Aug 2013 02:46:43 +0000 Subject: [PATCH] Udated readme. Also added a change that was supposed to be in the last commit --- README.md | 8 ++++++-- autocomplete.d | 37 +++++++++++-------------------------- teaser.png | Bin 0 -> 44723 bytes 3 files changed, 17 insertions(+), 28 deletions(-) create mode 100644 teaser.png diff --git a/README.md b/README.md index 79647f4..64219ec 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,15 @@ #Overview The D Completion Daemon is an auto-complete program for the D programming language. +![Teaser](teaser.png "This is what the future looks like - Jayce, League of Legends") + #Status * Working: - * Autocomplete class, struct, interface, and enum members if the class, struct, or - enum was declared in the current file. * Autocompletion of properties of built-in types such as int, float, double, etc. + * Autocompletion of __traits, scope, and extern arguments + * Autocompletion of enums +* Crashes frequently + * Autocompletion of class, struct, and interfacae instances. * Not working: * Everything else diff --git a/autocomplete.d b/autocomplete.d index fe44768..b9a9cfb 100644 --- a/autocomplete.d +++ b/autocomplete.d @@ -74,14 +74,14 @@ AutocompleteResponse complete(AutocompleteRequest request, string[] importPaths) response.completionKinds ~= CompletionKind.keyword; } break; - case TokenType.identifier: + /+case TokenType.identifier: case TokenType.rParen: case TokenType.rBracket: auto expression = getExpression(beforeTokens[0..$]); writeln("Expression: ", expression.map!"a.value"()); response.completionType = CompletionType.calltips; // TODO - break; + break;+/ default: break; } @@ -121,6 +121,7 @@ AutocompleteResponse complete(AutocompleteRequest request, string[] importPaths) case TokenType.identifier: case TokenType.rParen: case TokenType.rBracket: + case TokenType.this_: auto visitor = processModule(tokenArray); visitor.scope_.symbols ~= builtinSymbols; auto expression = getExpression(beforeTokens[0..$]); @@ -142,10 +143,11 @@ AutocompleteResponse complete(AutocompleteRequest request, string[] importPaths) } void setCompletions(T)(ref AutocompleteResponse response, - AutoCompleteVisitor visitor, T tokens, size_t cursorPosition) + AutocompleteVisitor visitor, T tokens, size_t cursorPosition) { // TODO: Completely hacked together. writeln("Getting completions for ", map!"a.value"(tokens)); + visitor.scope_.resolveSymbolTypes(); ACSymbol symbol = visitor.scope_.findSymbolInCurrentScope(cursorPosition, tokens[0].value); if (symbol is null) { @@ -153,12 +155,14 @@ void setCompletions(T)(ref AutocompleteResponse response, return; } - writeln(symbol.kind); - if (symbol.kind == CompletionKind.variableName - || symbol.kind == CompletionKind.memberVariableName) + if (symbol.kind == CompletionKind.memberVariableName + || symbol.kind == CompletionKind.variableName) { - symbol = resolveType(cursorPosition, symbol, visitor.scope_); + symbol = symbol.resolvedType; + if (symbol is null) + return; } + loop: for (size_t i = 1; i < tokens.length; i++) { TokenType open; @@ -233,25 +237,6 @@ void setCompletions(T)(ref AutocompleteResponse response, response.completionType = CompletionType.identifiers; } -ACSymbol resolveType(size_t cursorPosition, ACSymbol symbol, Scope scope_) -{ - writeln("Resolving type of ", symbol.name); - Type type = symbol.type; - - // Simple case - if (type.type2.builtinType != TokenType.invalid && type.typeSuffixes.length == 0) - { - return scope_.findSymbolInCurrentScope(cursorPosition, getTokenValue(type.type2.builtinType)); - } - if (type.type2.symbol !is null && type.typeSuffixes.length == 0) - { - return scope_.findSymbolInCurrentScope(cursorPosition, - type.type2.symbol.identifierOrTemplateChain.identifiersOrTemplateInstances[0].identifier.value); - } - - return null; -} - T getExpression(T)(T beforeTokens) { size_t i = beforeTokens.length - 1; diff --git a/teaser.png b/teaser.png new file mode 100644 index 0000000000000000000000000000000000000000..9a0222c7742a401a7ae184f46846310aa33ad38b GIT binary patch literal 44723 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 KvRd3Y@V@|%F-(yF literal 0 HcmV?d00001