OLD | NEW |
1 <html> | 1 <html> |
2 <head> | 2 <head> |
3 <meta charset="UTF-8"/> | 3 <meta charset="UTF-8"/> |
4 <title>Analysis Server API Specification</title> | 4 <title>Analysis Server API Specification</title> |
5 </head> | 5 </head> |
6 <body> | 6 <body> |
7 <h1>Analysis Server API Specification</h1> | 7 <h1>Analysis Server API Specification</h1> |
8 <h1 style="color:#999999">Version <version>1.7.0</version></h1> | 8 <h1 style="color:#999999">Version <version>1.8.0</version></h1> |
9 <p> | 9 <p> |
10 This document contains a specification of the API provided by the | 10 This document contains a specification of the API provided by the |
11 analysis server. The API in this document is currently under | 11 analysis server. The API in this document is currently under |
12 development. Changes to the API will be accompanied by an update to the | 12 development. Changes to the API will be accompanied by an update to the |
13 protocol version number according to the principles of semantic | 13 protocol version number according to the principles of semantic |
14 versioning <a href="http://semver.org/">http://semver.org/</a>. | 14 versioning <a href="http://semver.org/">http://semver.org/</a>. |
15 </p> | 15 </p> |
16 <h2>Overview</h2> | 16 <h2>Overview</h2> |
17 <p> | 17 <p> |
18 The analysis server API is a bi-directional client-server | 18 The analysis server API is a bi-directional client-server |
(...skipping 370 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
389 part that is included in multiple libraries). | 389 part that is included in multiple libraries). |
390 </p> | 390 </p> |
391 </field> | 391 </field> |
392 </result> | 392 </result> |
393 </request> | 393 </request> |
394 <request method="getLibraryDependencies"> | 394 <request method="getLibraryDependencies"> |
395 <p> | 395 <p> |
396 Return library dependency information for use in client-side indexing | 396 Return library dependency information for use in client-side indexing |
397 and package URI resolution. | 397 and package URI resolution. |
398 </p> | 398 </p> |
| 399 <p> |
| 400 Clients that are only using the libraries field should consider using th
e |
| 401 analyzedFiles notification instead. |
| 402 </p> |
399 <result> | 403 <result> |
400 <field name="libraries"> | 404 <field name="libraries"> |
401 <list><ref>FilePath</ref></list> | 405 <list><ref>FilePath</ref></list> |
402 <p> | 406 <p> |
403 A list of the paths of library elements referenced by | 407 A list of the paths of library elements referenced by |
404 files in existing analysis roots. | 408 files in existing analysis roots. |
405 </p> | 409 </p> |
406 </field> | 410 </field> |
407 <field name="packageMap"> | 411 <field name="packageMap"> |
408 <map> | 412 <map> |
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
584 <p> | 588 <p> |
585 Files in any directories that are not overridden by this | 589 Files in any directories that are not overridden by this |
586 mapping have their package: URI's resolved using the | 590 mapping have their package: URI's resolved using the |
587 normal pubspec.yaml mechanism. If this field is absent, | 591 normal pubspec.yaml mechanism. If this field is absent, |
588 or the empty map is specified, that indicates that the | 592 or the empty map is specified, that indicates that the |
589 normal pubspec.yaml mechanism should always be used. | 593 normal pubspec.yaml mechanism should always be used. |
590 </p> | 594 </p> |
591 </field> | 595 </field> |
592 </params> | 596 </params> |
593 </request> | 597 </request> |
| 598 <request method="setGeneralSubscriptions"> |
| 599 <p> |
| 600 Subscribe for general services (that is, services that are not |
| 601 specific to individual files). All previous subscriptions are replaced |
| 602 by the given set of services. |
| 603 </p> |
| 604 <p> |
| 605 It is an error if any of the elements in the list are not valid |
| 606 services. If there is an error, then the current subscriptions will |
| 607 remain unchanged. |
| 608 </p> |
| 609 <params> |
| 610 <field name="subscriptions"> |
| 611 <list><ref>GeneralAnalysisService</ref></list> |
| 612 <p>A list of the services being subscribed to.</p> |
| 613 </field> |
| 614 </params> |
| 615 </request> |
594 <request method="setPriorityFiles"> | 616 <request method="setPriorityFiles"> |
595 <p> | 617 <p> |
596 Set the priority files to the files in the given list. A | 618 Set the priority files to the files in the given list. A |
597 priority file is a file that is given priority when | 619 priority file is a file that is given priority when |
598 scheduling which analysis work to do first. The list | 620 scheduling which analysis work to do first. The list |
599 typically contains those files that are visible to the user | 621 typically contains those files that are visible to the user |
600 and those for which analysis results will have the biggest | 622 and those for which analysis results will have the biggest |
601 impact on the user experience. The order of the files within | 623 impact on the user experience. The order of the files within |
602 the list is significant: the first file will be given higher | 624 the list is significant: the first file will be given higher |
603 priority than the second, the second higher priority than | 625 priority than the second, the second higher priority than |
(...skipping 17 matching lines...) Expand all Loading... |
621 <field name="files"> | 643 <field name="files"> |
622 <list><ref>FilePath</ref></list> | 644 <list><ref>FilePath</ref></list> |
623 <p> | 645 <p> |
624 The files that are to be a priority for analysis. | 646 The files that are to be a priority for analysis. |
625 </p> | 647 </p> |
626 </field> | 648 </field> |
627 </params> | 649 </params> |
628 </request> | 650 </request> |
629 <request method="setSubscriptions"> | 651 <request method="setSubscriptions"> |
630 <p> | 652 <p> |
631 Subscribe for services. All previous subscriptions are | 653 Subscribe for services that are specific to individual files. |
632 replaced by the current set of subscriptions. If a given | 654 All previous subscriptions are replaced by the current set of |
633 service is not included as a key in the map then no files | 655 subscriptions. If a given service is not included as a key in the map |
634 will be subscribed to the service, exactly as if the service | 656 then no files will be subscribed to the service, exactly as if the |
635 had been included in the map with an explicit empty list of | 657 service had been included in the map with an explicit empty list of |
636 files. | 658 files. |
637 </p> | 659 </p> |
638 <p> | 660 <p> |
639 Note that this request determines the set of requested | 661 Note that this request determines the set of requested |
640 subscriptions. The actual set of subscriptions at any given | 662 subscriptions. The actual set of subscriptions at any given |
641 time is the intersection of this set with the set of files | 663 time is the intersection of this set with the set of files |
642 currently subject to analysis. The files currently subject | 664 currently subject to analysis. The files currently subject |
643 to analysis are the set of files contained within an actual | 665 to analysis are the set of files contained within an actual |
644 analysis root but not excluded, plus all of the files | 666 analysis root but not excluded, plus all of the files |
645 transitively reachable from those files via import, export | 667 transitively reachable from those files via import, export |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
717 </p> | 739 </p> |
718 <params> | 740 <params> |
719 <field name="options"> | 741 <field name="options"> |
720 <ref>AnalysisOptions</ref> | 742 <ref>AnalysisOptions</ref> |
721 <p> | 743 <p> |
722 The options that are to be used to control analysis. | 744 The options that are to be used to control analysis. |
723 </p> | 745 </p> |
724 </field> | 746 </field> |
725 </params> | 747 </params> |
726 </request> | 748 </request> |
| 749 <notification event="analyzedFiles"> |
| 750 <p> |
| 751 Reports the paths of the files that are being analyzed. |
| 752 </p> |
| 753 <p> |
| 754 This notification is not subscribed to by default. Clients can |
| 755 subscribe by including the value <tt>"ANALYZED_FILES"</tt> in the list |
| 756 of services passed in an analysis.setGeneralSubscriptions request. |
| 757 </p> |
| 758 <params> |
| 759 <field name="directories"> |
| 760 <list><ref>FilePath</ref></list> |
| 761 <p> |
| 762 A list of the paths of the files that are being analyzed. |
| 763 </p> |
| 764 </field> |
| 765 </params> |
| 766 </notification> |
727 <notification event="errors"> | 767 <notification event="errors"> |
728 <p> | 768 <p> |
729 Reports the errors associated with a given file. The set of | 769 Reports the errors associated with a given file. The set of |
730 errors included in the notification is always a complete | 770 errors included in the notification is always a complete |
731 list that supersedes any previously reported errors. | 771 list that supersedes any previously reported errors. |
732 </p> | 772 </p> |
733 <p> | 773 <p> |
734 It is only possible to unsubscribe from this notification by | 774 It is only possible to unsubscribe from this notification by |
735 using the command-line flag --no-error-notification. | 775 using the command-line flag --no-error-notification. |
736 </p> | 776 </p> |
(...skipping 1258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1995 <ref>bool</ref> | 2035 <ref>bool</ref> |
1996 <p> | 2036 <p> |
1997 True if lints should be generated as part of generating | 2037 True if lints should be generated as part of generating |
1998 errors and warnings. | 2038 errors and warnings. |
1999 </p> | 2039 </p> |
2000 </field> | 2040 </field> |
2001 </object> | 2041 </object> |
2002 </type> | 2042 </type> |
2003 <type name="AnalysisService"> | 2043 <type name="AnalysisService"> |
2004 <p> | 2044 <p> |
2005 An enumeration of the services provided by the analysis | 2045 An enumeration of the services provided by the analysis domain that |
2006 domain. | 2046 are related to a specific list of files. |
2007 </p> | 2047 </p> |
2008 <enum> | 2048 <enum> |
2009 <value><code>FOLDING</code></value> | 2049 <value><code>FOLDING</code></value> |
2010 <value><code>HIGHLIGHTS</code></value> | 2050 <value><code>HIGHLIGHTS</code></value> |
2011 <value><code>INVALIDATE</code></value> | 2051 <value> |
| 2052 <code>INVALIDATE</code> |
| 2053 <p> |
| 2054 This service is not currently implemented and will become a |
| 2055 GeneralAnalysisService in a future release. |
| 2056 </p> |
| 2057 </value> |
2012 <value><code>NAVIGATION</code></value> | 2058 <value><code>NAVIGATION</code></value> |
2013 <value><code>OCCURRENCES</code></value> | 2059 <value><code>OCCURRENCES</code></value> |
2014 <value><code>OUTLINE</code></value> | 2060 <value><code>OUTLINE</code></value> |
2015 <value><code>OVERRIDES</code></value> | 2061 <value><code>OVERRIDES</code></value> |
2016 </enum> | 2062 </enum> |
2017 </type> | 2063 </type> |
2018 <type name="AnalysisStatus"> | 2064 <type name="AnalysisStatus"> |
2019 <p> | 2065 <p> |
2020 An indication of the current state of analysis. | 2066 An indication of the current state of analysis. |
2021 </p> | 2067 </p> |
(...skipping 432 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2454 </p> | 2500 </p> |
2455 </field> | 2501 </field> |
2456 <field name="length"> | 2502 <field name="length"> |
2457 <ref>int</ref> | 2503 <ref>int</ref> |
2458 <p> | 2504 <p> |
2459 The length of the region to be folded. | 2505 The length of the region to be folded. |
2460 </p> | 2506 </p> |
2461 </field> | 2507 </field> |
2462 </object> | 2508 </object> |
2463 </type> | 2509 </type> |
| 2510 <type name="GeneralAnalysisService"> |
| 2511 <p> |
| 2512 An enumeration of the services provided by the analysis domain that ar
e |
| 2513 general in nature (that is, are not specific to some list of files). |
| 2514 </p> |
| 2515 <enum> |
| 2516 <value><code>ANALYZED_FILES</code></value> |
| 2517 </enum> |
| 2518 </type> |
2464 <type name="HighlightRegion"> | 2519 <type name="HighlightRegion"> |
2465 <p> | 2520 <p> |
2466 A description of a region that could have special highlighting | 2521 A description of a region that could have special highlighting |
2467 associated with it. | 2522 associated with it. |
2468 </p> | 2523 </p> |
2469 <object> | 2524 <object> |
2470 <field name="type"> | 2525 <field name="type"> |
2471 <ref>HighlightRegionType</ref> | 2526 <ref>HighlightRegionType</ref> |
2472 <p> | 2527 <p> |
2473 The type of highlight associated with the region. | 2528 The type of highlight associated with the region. |
(...skipping 1459 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3933 <h2>Errors</h2> | 3988 <h2>Errors</h2> |
3934 <p> | 3989 <p> |
3935 This section contains a list of all of the errors that are | 3990 This section contains a list of all of the errors that are |
3936 produced by the server and the data that is returned with each. | 3991 produced by the server and the data that is returned with each. |
3937 </p> | 3992 </p> |
3938 <p> | 3993 <p> |
3939 TBD | 3994 TBD |
3940 </p> | 3995 </p> |
3941 </body> | 3996 </body> |
3942 </html> | 3997 </html> |
OLD | NEW |