| 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 |