mirror of
https://github.com/dart-lang/sdk
synced 2024-09-20 07:21:33 +00:00
Only show dart files in the imports code completion.
Bug: Change-Id: Ib2e48422e85c6abcdf0c8af33a8f80e6d36111f5 Reviewed-on: https://dart-review.googlesource.com/23700 Commit-Queue: Devon Carew <devoncarew@google.com> Reviewed-by: Dan Rubel <danrubel@google.com> Reviewed-by: Konstantin Shcheglov <scheglov@google.com> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
This commit is contained in:
parent
f85a962d97
commit
331c3ab82f
|
@ -17,8 +17,7 @@ import 'package:path/path.dart' show posix;
|
|||
import 'package:path/src/context.dart';
|
||||
|
||||
/**
|
||||
* A contributor for calculating uri suggestions
|
||||
* for import and part directives.
|
||||
* A contributor for calculating uri suggestions for import and part directives.
|
||||
*/
|
||||
class UriContributor extends DartCompletionContributor {
|
||||
_UriSuggestionBuilder builder;
|
||||
|
@ -175,11 +174,15 @@ class _UriSuggestionBuilder extends SimpleAstVisitor {
|
|||
for (Resource child in dir.getChildren()) {
|
||||
String completion;
|
||||
if (child is Folder) {
|
||||
completion = '$uriPrefix${child.shortName}/';
|
||||
} else {
|
||||
completion = '$uriPrefix${child.shortName}';
|
||||
if (!child.shortName.startsWith('.')) {
|
||||
completion = '$uriPrefix${child.shortName}/';
|
||||
}
|
||||
} else if (child is File) {
|
||||
if (child.shortName.endsWith('.dart')) {
|
||||
completion = '$uriPrefix${child.shortName}';
|
||||
}
|
||||
}
|
||||
if (completion != source.shortName) {
|
||||
if (completion != null && completion != source.shortName) {
|
||||
_addSuggestion(completion);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -272,6 +272,24 @@ class UriContributorTest extends DartCompletionContributorTest {
|
|||
assertSuggest('../blat.dart', csKind: CompletionSuggestionKind.IMPORT);
|
||||
}
|
||||
|
||||
test_import_only_dart_files() async {
|
||||
testFile = '/proj/completion.dart';
|
||||
addSource('/proj/other.dart', 'library other;');
|
||||
newFile('/proj/analysis_options.yaml', '# analysis options');
|
||||
addTestSource('import "package:^";');
|
||||
await computeSuggestions();
|
||||
assertNotSuggested('analysis_options.yaml');
|
||||
}
|
||||
|
||||
test_import_no_dot_folders() async {
|
||||
testFile = '/proj/completion.dart';
|
||||
addSource('/proj/other.dart', 'library other;');
|
||||
newFolder('/proj/.fooFolder');
|
||||
addTestSource('import "package:^";');
|
||||
await computeSuggestions();
|
||||
assertNotSuggested('.fooFolder/');
|
||||
}
|
||||
|
||||
test_import_package() async {
|
||||
addPackageSource('foo', 'foo.dart', 'library foo;');
|
||||
addPackageSource('foo', 'baz/too.dart', 'library too;');
|
||||
|
|
Loading…
Reference in a new issue