OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 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 | 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. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 /** | 5 /** |
6 * Support for client code that extends the analysis server by adding new code | 6 * Support for client code that extends the analysis server by adding new code |
7 * completion contributors. | 7 * completion contributors. |
| 8 * |
| 9 * Plugins can register completion contributors. The registered contributors |
| 10 * will be used to get completions any time a client issues a |
| 11 * 'completion.getSuggestions' request. |
| 12 * |
| 13 * If a plugin wants to add completions, it should implement the class |
| 14 * [CompletionContributor] and then register the contributor by including code |
| 15 * like the following in the plugin's registerExtensions method: |
| 16 * |
| 17 * @override |
| 18 * void registerExtensions(RegisterExtension registerExtension) { |
| 19 * ... |
| 20 * registerExtension( |
| 21 * COMPLETION_CONTRIBUTOR_EXTENSION_POINT_ID, |
| 22 * new MyCompletionContributor()); |
| 23 * ... |
| 24 * } |
8 */ | 25 */ |
9 library analysis_server.plugin.completion; | 26 library analysis_server.plugin.completion; |
10 | 27 |
11 import 'package:analysis_server/completion/completion_core.dart'; | 28 import 'package:analysis_server/completion/completion_core.dart'; |
12 import 'package:analysis_server/src/plugin/server_plugin.dart'; | 29 import 'package:analysis_server/src/plugin/server_plugin.dart'; |
13 import 'package:plugin/plugin.dart'; | 30 import 'package:plugin/plugin.dart'; |
14 | 31 |
15 /** | 32 /** |
16 * The identifier of the extension point that allows plugins to register code | 33 * The identifier of the extension point that allows plugins to register code |
17 * completion contributors. The object used as an extension must be a | 34 * completion contributors. The object used as an extension must be a |
18 * [CompletionContributor]. | 35 * [CompletionContributor]. |
19 */ | 36 */ |
20 final String COMPLETION_CONTRIBUTOR_EXTENSION_POINT_ID = Plugin.join( | 37 final String COMPLETION_CONTRIBUTOR_EXTENSION_POINT_ID = Plugin.join( |
21 ServerPlugin.UNIQUE_IDENTIFIER, | 38 ServerPlugin.UNIQUE_IDENTIFIER, |
22 ServerPlugin.COMPLETION_CONTRIBUTOR_EXTENSION_POINT); | 39 ServerPlugin.COMPLETION_CONTRIBUTOR_EXTENSION_POINT); |
OLD | NEW |