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 | 6 * Support for client code that extends the analysis server by adding new |
7 * navigation contributors. | 7 * navigation contributors. |
| 8 * |
| 9 * Plugins can register navigation contributors. The registered contributors |
| 10 * will be used to get navigation regions any time a client issues an |
| 11 * 'analysis.getNavigation' request or the server is about to send an |
| 12 * 'analysis.navigation' notification. |
| 13 * |
| 14 * If a plugin wants to add navigation regions, it should implement the class |
| 15 * [NavigationContributor] and then register the contributor by including code |
| 16 * like the following in the plugin's registerExtensions method: |
| 17 * |
| 18 * @override |
| 19 * void registerExtensions(RegisterExtension registerExtension) { |
| 20 * ... |
| 21 * registerExtension( |
| 22 * NAVIGATION_CONTRIBUTOR_EXTENSION_POINT_ID, |
| 23 * new MyNavigationContributor()); |
| 24 * ... |
| 25 * } |
8 */ | 26 */ |
9 library analysis_server.plugin.navigation; | 27 library analysis_server.plugin.navigation; |
10 | 28 |
11 import 'package:analysis_server/analysis/navigation_core.dart'; | 29 import 'package:analysis_server/analysis/navigation_core.dart'; |
12 import 'package:analysis_server/src/plugin/server_plugin.dart'; | 30 import 'package:analysis_server/src/plugin/server_plugin.dart'; |
13 import 'package:plugin/plugin.dart'; | 31 import 'package:plugin/plugin.dart'; |
14 | 32 |
15 /** | 33 /** |
16 * The identifier of the extension point that allows plugins to register | 34 * The identifier of the extension point that allows plugins to register |
17 * navigation contributors. The object used as an extension must be | 35 * navigation contributors. The object used as an extension must be |
18 * a [NavigationContributor]. | 36 * a [NavigationContributor]. |
19 */ | 37 */ |
20 final String NAVIGATION_CONTRIBUTOR_EXTENSION_POINT_ID = Plugin.join( | 38 final String NAVIGATION_CONTRIBUTOR_EXTENSION_POINT_ID = Plugin.join( |
21 ServerPlugin.UNIQUE_IDENTIFIER, | 39 ServerPlugin.UNIQUE_IDENTIFIER, |
22 ServerPlugin.NAVIGATION_CONTRIBUTOR_EXTENSION_POINT); | 40 ServerPlugin.NAVIGATION_CONTRIBUTOR_EXTENSION_POINT); |
OLD | NEW |