| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | |
| 2 // for details. All rights reserved. Use of this source code is governed by a | |
| 3 // BSD-style license that can be found in the LICENSE file. | |
| 4 | |
| 5 import 'package:analysis_server/src/provisional/completion/completion.dart'; | |
| 6 import 'package:analysis_server/src/provisional/completion/dart/completion.dart'
; | |
| 7 import 'package:analysis_server/src/provisional/completion/dart/completion_dart.
dart'; | |
| 8 import 'package:analysis_server/src/services/completion/dart/arglist_contributor
.dart'; | |
| 9 import 'package:analysis_server/src/services/completion/dart/combinator_contribu
tor.dart'; | |
| 10 import 'package:analysis_server/src/services/completion/dart/completion_manager.
dart'; | |
| 11 import 'package:analysis_server/src/services/completion/dart/field_formal_contri
butor.dart'; | |
| 12 import 'package:analysis_server/src/services/completion/dart/imported_reference_
contributor.dart'; | |
| 13 import 'package:analysis_server/src/services/completion/dart/inherited_reference
_contributor.dart'; | |
| 14 import 'package:analysis_server/src/services/completion/dart/keyword_contributor
.dart'; | |
| 15 import 'package:analysis_server/src/services/completion/dart/label_contributor.d
art'; | |
| 16 import 'package:analysis_server/src/services/completion/dart/library_member_cont
ributor.dart'; | |
| 17 import 'package:analysis_server/src/services/completion/dart/library_prefix_cont
ributor.dart'; | |
| 18 import 'package:analysis_server/src/services/completion/dart/local_constructor_c
ontributor.dart'; | |
| 19 import 'package:analysis_server/src/services/completion/dart/local_library_contr
ibutor.dart'; | |
| 20 import 'package:analysis_server/src/services/completion/dart/local_reference_con
tributor.dart'; | |
| 21 import 'package:analysis_server/src/services/completion/dart/named_constructor_c
ontributor.dart'; | |
| 22 import 'package:analysis_server/src/services/completion/dart/static_member_contr
ibutor.dart'; | |
| 23 import 'package:analysis_server/src/services/completion/dart/type_member_contrib
utor.dart'; | |
| 24 import 'package:analysis_server/src/services/completion/dart/uri_contributor.dar
t'; | |
| 25 import 'package:analysis_server/src/services/completion/dart/variable_name_contr
ibutor.dart'; | |
| 26 import 'package:plugin/plugin.dart'; | |
| 27 | |
| 28 /** | |
| 29 * The shared dart completion plugin instance. | |
| 30 */ | |
| 31 final DartCompletionPlugin dartCompletionPlugin = new DartCompletionPlugin(); | |
| 32 | |
| 33 class DartCompletionPlugin implements Plugin { | |
| 34 /** | |
| 35 * The simple identifier of the extension point that allows plugins to | |
| 36 * register Dart specific completion contributor factories. | |
| 37 * Use [DART_COMPLETION_CONTRIBUTOR_EXTENSION_POINT_ID] | |
| 38 * when registering contributors. | |
| 39 */ | |
| 40 static const String CONTRIBUTOR_EXTENSION_POINT = 'contributor'; | |
| 41 | |
| 42 /** | |
| 43 * The unique identifier of this plugin. | |
| 44 */ | |
| 45 static const String UNIQUE_IDENTIFIER = 'dart.completion'; | |
| 46 | |
| 47 /** | |
| 48 * The extension point that allows plugins to register Dart specific | |
| 49 * completion contributor factories. | |
| 50 */ | |
| 51 ExtensionPoint<DartCompletionContributorFactory> _contributorExtensionPoint; | |
| 52 | |
| 53 /** | |
| 54 * Return a list containing all of the Dart specific completion contributors. | |
| 55 */ | |
| 56 Iterable<DartCompletionContributor> get contributors => | |
| 57 _contributorExtensionPoint.extensions.map( | |
| 58 (Object factory) => (factory as DartCompletionContributorFactory)()); | |
| 59 | |
| 60 @override | |
| 61 String get uniqueIdentifier => UNIQUE_IDENTIFIER; | |
| 62 | |
| 63 @override | |
| 64 void registerExtensionPoints(RegisterExtensionPoint registerExtensionPoint) { | |
| 65 _contributorExtensionPoint = | |
| 66 new ExtensionPoint<DartCompletionContributorFactory>( | |
| 67 this, CONTRIBUTOR_EXTENSION_POINT, null); | |
| 68 registerExtensionPoint(_contributorExtensionPoint); | |
| 69 } | |
| 70 | |
| 71 @override | |
| 72 void registerExtensions(RegisterExtension registerExtension) { | |
| 73 // | |
| 74 // Register DartCompletionManager as a CompletionContributor | |
| 75 // which delegates to all the DartCompletionContributors | |
| 76 // | |
| 77 registerExtension(COMPLETION_CONTRIBUTOR_EXTENSION_POINT_ID, | |
| 78 () => new DartCompletionManager()); | |
| 79 // | |
| 80 // Register the default DartCompletionContributors | |
| 81 // | |
| 82 registerExtension(DART_COMPLETION_CONTRIBUTOR_EXTENSION_POINT_ID, | |
| 83 () => new ArgListContributor()); | |
| 84 registerExtension(DART_COMPLETION_CONTRIBUTOR_EXTENSION_POINT_ID, | |
| 85 () => new CombinatorContributor()); | |
| 86 registerExtension(DART_COMPLETION_CONTRIBUTOR_EXTENSION_POINT_ID, | |
| 87 () => new FieldFormalContributor()); | |
| 88 registerExtension(DART_COMPLETION_CONTRIBUTOR_EXTENSION_POINT_ID, | |
| 89 () => new ImportedReferenceContributor()); | |
| 90 registerExtension(DART_COMPLETION_CONTRIBUTOR_EXTENSION_POINT_ID, | |
| 91 () => new InheritedReferenceContributor()); | |
| 92 registerExtension(DART_COMPLETION_CONTRIBUTOR_EXTENSION_POINT_ID, | |
| 93 () => new KeywordContributor()); | |
| 94 registerExtension(DART_COMPLETION_CONTRIBUTOR_EXTENSION_POINT_ID, | |
| 95 () => new LabelContributor()); | |
| 96 registerExtension(DART_COMPLETION_CONTRIBUTOR_EXTENSION_POINT_ID, | |
| 97 () => new LibraryMemberContributor()); | |
| 98 registerExtension(DART_COMPLETION_CONTRIBUTOR_EXTENSION_POINT_ID, | |
| 99 () => new LibraryPrefixContributor()); | |
| 100 registerExtension(DART_COMPLETION_CONTRIBUTOR_EXTENSION_POINT_ID, | |
| 101 () => new LocalConstructorContributor()); | |
| 102 registerExtension(DART_COMPLETION_CONTRIBUTOR_EXTENSION_POINT_ID, | |
| 103 () => new LocalLibraryContributor()); | |
| 104 registerExtension(DART_COMPLETION_CONTRIBUTOR_EXTENSION_POINT_ID, | |
| 105 () => new LocalReferenceContributor()); | |
| 106 registerExtension(DART_COMPLETION_CONTRIBUTOR_EXTENSION_POINT_ID, | |
| 107 () => new NamedConstructorContributor()); | |
| 108 // Revisit this contributor and these tests | |
| 109 // once DartChangeBuilder API has solidified. | |
| 110 // registerExtension(DART_COMPLETION_CONTRIBUTOR_EXTENSION_POINT_ID, | |
| 111 // () => new OverrideContributor()); | |
| 112 registerExtension(DART_COMPLETION_CONTRIBUTOR_EXTENSION_POINT_ID, | |
| 113 () => new StaticMemberContributor()); | |
| 114 registerExtension(DART_COMPLETION_CONTRIBUTOR_EXTENSION_POINT_ID, | |
| 115 () => new TypeMemberContributor()); | |
| 116 registerExtension(DART_COMPLETION_CONTRIBUTOR_EXTENSION_POINT_ID, | |
| 117 () => new UriContributor()); | |
| 118 registerExtension(DART_COMPLETION_CONTRIBUTOR_EXTENSION_POINT_ID, | |
| 119 () => new VariableNameContributor()); | |
| 120 } | |
| 121 } | |
| OLD | NEW |