Index: pkg/analysis_server/lib/src/services/completion/dart/uri_contributor.dart |
diff --git a/pkg/analysis_server/lib/src/services/completion/uri_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/uri_contributor.dart |
similarity index 86% |
rename from pkg/analysis_server/lib/src/services/completion/uri_contributor.dart |
rename to pkg/analysis_server/lib/src/services/completion/dart/uri_contributor.dart |
index c6b20d3cf73fb69ed5ab02edd9d2602babdfa81a..ebf87fed932bd46cb443a68392ece7c171fcb05e 100644 |
--- a/pkg/analysis_server/lib/src/services/completion/uri_contributor.dart |
+++ b/pkg/analysis_server/lib/src/services/completion/dart/uri_contributor.dart |
@@ -7,7 +7,7 @@ library services.completion.contributor.dart.importuri; |
import 'dart:async'; |
import 'dart:core' hide Resource; |
-import 'package:analysis_server/src/services/completion/dart_completion_manager.dart'; |
+import 'package:analysis_server/src/provisional/completion/dart/completion_dart.dart'; |
import 'package:analyzer/file_system/file_system.dart'; |
import 'package:analyzer/src/generated/ast.dart'; |
import 'package:analyzer/src/generated/sdk.dart'; |
@@ -15,7 +15,7 @@ import 'package:analyzer/src/generated/source.dart'; |
import 'package:path/path.dart' show posix; |
import 'package:path/src/context.dart'; |
-import '../../protocol_server.dart' |
+import '../../../protocol_server.dart' |
show CompletionSuggestion, CompletionSuggestionKind; |
/** |
@@ -26,27 +26,20 @@ class UriContributor extends DartCompletionContributor { |
_UriSuggestionBuilder builder; |
@override |
- bool computeFast(DartCompletionRequest request) { |
+ Future<List<CompletionSuggestion>> computeSuggestions( |
+ DartCompletionRequest request) async { |
builder = new _UriSuggestionBuilder(request); |
- return builder.computeFast(request.target.containingNode); |
- } |
- |
- @override |
- Future<bool> computeFull(DartCompletionRequest request) { |
- return new Future.value(false); |
+ request.target.containingNode.accept(builder); |
+ return builder.suggestions; |
} |
} |
class _UriSuggestionBuilder extends SimpleAstVisitor { |
final DartCompletionRequest request; |
+ final List<CompletionSuggestion> suggestions = <CompletionSuggestion>[]; |
_UriSuggestionBuilder(this.request); |
- bool computeFast(AstNode node) { |
- node.accept(this); |
- return true; |
- } |
- |
@override |
visitExportDirective(ExportDirective node) { |
visitNamespaceDirective(node); |
@@ -179,24 +172,15 @@ class _UriSuggestionBuilder extends SimpleAstVisitor { |
void _addSuggestion(String completion, |
{int relevance: DART_RELEVANCE_DEFAULT}) { |
- request.addSuggestion(new CompletionSuggestion( |
- CompletionSuggestionKind.IMPORT, |
- relevance, |
- completion, |
- completion.length, |
- 0, |
- false, |
- false)); |
+ suggestions.add(new CompletionSuggestion(CompletionSuggestionKind.IMPORT, |
+ relevance, completion, completion.length, 0, false, false)); |
} |
String _extractPartialUri(SimpleStringLiteral node) { |
if (request.offset < node.contentsOffset) { |
return null; |
} |
- String partial = node.literal.lexeme.substring( |
+ return node.literal.lexeme.substring( |
node.contentsOffset - node.offset, request.offset - node.offset); |
- request.replacementOffset = node.contentsOffset; |
- request.replacementLength = node.contentsEnd - node.contentsOffset; |
- return partial; |
} |
} |