| <html><head> |
| <meta charset="UTF-8"> |
| <title>Analysis Server API Specification</title> |
| <style>body { |
| font-family: sans-serif, serif; |
| padding-left: 5%; |
| padding-right: 5%; |
| } |
| h1 { |
| text-align: center; |
| } |
| h2.domain { |
| border-bottom: 3px solid rgb(160, 160, 160); |
| } |
| pre { |
| margin: 0px; |
| } |
| div.box { |
| border: 1px solid rgb(0, 0, 0); |
| background-color: rgb(207, 226, 243); |
| padding: 0.5em; |
| } |
| div.hangingIndent { |
| padding-left: 3em; |
| text-indent: -3em; |
| } |
| dt { |
| margin-top: 1em; |
| margin-bottom: 1em; |
| } |
| dt.notification { |
| font-weight: bold; |
| } |
| dt.refactoring { |
| font-weight: bold; |
| } |
| dt.request { |
| font-weight: bold; |
| } |
| dt.typeDefinition { |
| font-weight: bold; |
| } |
| </style></head> |
| <body> |
| <h1>Analysis Server API Specification</h1> |
| <h1 style="color:#999999">WORKING DRAFT - Version 0.3</h1> |
| <p> |
| This document contains a specification of the API provided by |
| the analysis server. The API in this document is currently under |
| development and should be expected to change. In some cases |
| those changes will be substantial. |
| </p> |
| <h2>Overview</h2> |
| <p> |
| The analysis server API is a bi-directional client-server |
| API. The API is independent of the transport mechanism used, but |
| is heavily influenced by a model in which sockets or character |
| streams are used to transport JSON-RPC encoded information. |
| </p> |
| <h3>Transport Mechanism</h3> |
| <p> |
| The characters passed to the server are expected to be encoded |
| using UTF-8. |
| </p> |
| <p> |
| When character streams are used as the transport, messages are |
| delineated by newlines. This means, in particular, that the JSON |
| encoding process must not introduce newlines within a |
| message. Note however that newlines are used in this document |
| for readability. |
| </p> |
| <p> |
| It is the client's responsibility to read output from the server to |
| avoid its blocking. |
| </p> |
| <p> |
| To ease interoperability with Lisp-based clients (which may not |
| be able to easily distinguish between empty lists, empty maps, |
| and null), client-to-server communication is allowed to replace |
| any instance of “<tt>{}</tt>” or “<tt>[]</tt>” with null. The |
| server will always properly represent empty lists as |
| “<tt>[]</tt>” and empty maps as “<tt>{}</tt>”. |
| </p> |
| <h3>Communication Structure</h3> |
| <p> |
| Clients can make a request of the server and the server will |
| provide a response for each request that it receives. While many |
| of the requests that can be made by a client are informational |
| in nature, we have chosen to always return a response so that |
| clients can know whether the request was received and was |
| correct. |
| </p> |
| <p> |
| There is no guarantee concerning the order in which responses |
| will be returned, but there is a guarantee that the server will |
| process requests in the order in which they are sent as long as |
| the transport mechanism also makes this guarantee. Responses can |
| be returned in an order that is different from the order in |
| which the requests were received because some requests take |
| longer to process than others. |
| </p> |
| <p> |
| Every request is required to have two fields and may have two |
| additional optional fields. The first required field is the ‘id’ |
| field, which is only used by the server to associate a response |
| with the request that generated the response. The second |
| required field is the ‘method’ field, which is used to determine |
| what the server is being requested to do. One optional field is |
| the ‘params’ field, whose structure is dependent on the method |
| being requested. The structure of this field is described with |
| each request for which it is required. The other optional field |
| is the 'clientRequestTime' field, which is a number indicating |
| the time at which the client made the request (milliseconds |
| since epoch). Providing clientRequestTime helps us track |
| how responsive analysis server is to client requests |
| and better address any issues that occur. |
| </p> |
| <p> |
| Every response has up to three fields. The first field is the |
| ‘id’ field, which is always present and whose value is the |
| identifier that was passed to the request that generated the |
| response. The second field is the ‘error’ field, which is only |
| present if an error was encountered while processing the |
| request. The third field is the ‘result’ field, whose structure |
| is dependent on the method being responded to, and is described |
| with each request that will produce it. |
| </p> |
| <p> |
| The server can also communicate to the clients by sending a |
| notification. The purpose of these notifications is to provide |
| information to clients as it becomes available rather than to |
| require that clients poll for it. Unless explicitly stated, all |
| notifications are designed to return the complete information |
| available at the time the notification is sent; clients are not |
| required to update previously communicated |
| results. Consequently, the server can and should return partial |
| results before all results are available. For example, the |
| syntactic errors for a file can be returned as soon as the |
| syntactic analysis is complete, and both syntactic and semantic |
| errors can be returned together at a later time. |
| </p> |
| <p> |
| Each notification has two fields. The first field is the ‘event’ |
| field, which identifies the kind of notification. The second |
| field is the ‘params’ field, whose structure is dependent on the |
| kind of notification being sent. The structure of this field is |
| described with each notification. |
| </p> |
| <h3>Eventual Consistency</h3> |
| <p> |
| TBD |
| </p> |
| <h3>Domains</h3> |
| <p> |
| For convenience, the API is divided into domains. Each domain is |
| specified in a separate section below: |
| </p> |
| <ul> |
| <li><a href="#domain_server">Server</a></li> |
| <li><a href="#domain_analysis">Analysis</a></li> |
| <li><a href="#domain_completion">Code Completion</a></li> |
| <li><a href="#domain_search">Search</a></li> |
| <li><a href="#domain_edit">Edit</a></li> |
| <li><a href="#domain_execution">Execution</a></li> |
| </ul> |
| <p> |
| The specifications of the API’s refer to data structures beyond |
| the standard JSON primitives. These data structures are |
| documented in the section titled <a href="#types">Types</a>. |
| </p> |
| <h3>Command-line Arguments</h3> |
| <p> |
| The command-line arguments that can be passed to the server. |
| </p> |
| <h4>Options</h4> |
| <blockquote> |
| <dl> |
| <dt>--no-error-notification</dt> |
| <dd> |
| Disable notifications about errors (see analysis.error). If this |
| flag is not specified then notifications will be sent for all |
| errors produced for all files in the actual analysis roots. |
| </dd> |
| </dl> |
| <dl> |
| <dt>--file-read-mode</dt> |
| <dd> |
| An enumeration of the ways files can be read from disk. Some clients |
| normalize end of line characters which would make the file offset and |
| range information incorrect. The default option is <tt>as-is</tt>, but |
| can also be set to <tt>normalize-eol-always</tt>. The default option |
| (<tt>as-is</tt>) reads files as they are on disk. The |
| <tt>normalize-eol-always</tt> option does the following: |
| <ul> |
| <li>'\r\n' is converted to '\n';</li> |
| <li>'\r' by itself is converted to '\n';</li> |
| <li>this happens regardless of the OS editor is running on.</li> |
| </ul> |
| </dd> |
| </dl> |
| </blockquote> |
| <h2 class="domain"><a name="domain_server">Domain: server</a></h2> |
| <p> |
| The server domain contains API’s related to the execution of |
| the server. |
| </p> |
| |
| |
| |
| |
| |
| |
| <h3>Requests</h3><dl><dt class="request">server.getVersion</dt><dd><div class="box"><pre>request: { |
| "id": String |
| "method": "server.getVersion" |
| }</pre><br><pre>response: { |
| "id": String |
| "error": <span style="color:#999999">optional</span> <a href="#type_RequestError">RequestError</a> |
| "result": { |
| "<b>version</b>": String |
| } |
| }</pre></div> |
| <p>Return the version number of the analysis server.</p> |
| |
| <h4>Returns</h4><dl><dt class="field"><b><i>version ( String )</i></b></dt><dd> |
| |
| <p>The version number of the analysis server.</p> |
| </dd></dl></dd><dt class="request">server.shutdown</dt><dd><div class="box"><pre>request: { |
| "id": String |
| "method": "server.shutdown" |
| }</pre><br><pre>response: { |
| "id": String |
| "error": <span style="color:#999999">optional</span> <a href="#type_RequestError">RequestError</a> |
| }</pre></div> |
| <p> |
| Cleanly shutdown the analysis server. Requests that are |
| received after this request will not be processed. Requests |
| that were received before this request, but for which a |
| response has not yet been sent, will not be responded to. No |
| further responses or notifications will be sent after the |
| response to this request has been sent. |
| </p> |
| </dd><dt class="request">server.setSubscriptions</dt><dd><div class="box"><pre>request: { |
| "id": String |
| "method": "server.setSubscriptions" |
| "params": { |
| "<b>subscriptions</b>": List<<a href="#type_ServerService">ServerService</a>> |
| } |
| }</pre><br><pre>response: { |
| "id": String |
| "error": <span style="color:#999999">optional</span> <a href="#type_RequestError">RequestError</a> |
| }</pre></div> |
| <p> |
| Subscribe for services. All previous subscriptions are |
| replaced by the given set of services. |
| </p> |
| <p> |
| It is an error if any of the elements in the list are not |
| valid services. If there is an error, then the current |
| subscriptions will remain unchanged. |
| </p> |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>subscriptions ( List<<a href="#type_ServerService">ServerService</a>> )</i></b></dt><dd> |
| |
| <p>A list of the services being subscribed to.</p> |
| </dd></dl></dd></dl><h3>Notifications</h3><dl><dt class="notification">server.connected</dt><dd><div class="box"><pre>notification: { |
| "event": "server.connected" |
| }</pre></div> |
| <p> |
| Reports that the server is running. This notification is |
| issued once after the server has started running but before |
| any requests are processed to let the client know that it |
| started correctly. |
| </p> |
| <p> |
| It is not possible to subscribe to or unsubscribe from this |
| notification. |
| </p> |
| </dd><dt class="notification">server.error</dt><dd><div class="box"><pre>notification: { |
| "event": "server.error" |
| "params": { |
| "<b>isFatal</b>": bool |
| "<b>message</b>": String |
| "<b>stackTrace</b>": String |
| } |
| }</pre></div> |
| <p> |
| Reports that an unexpected error has occurred while |
| executing the server. This notification is not used for |
| problems with specific requests (which are returned as part |
| of the response) but is used for exceptions that occur while |
| performing other tasks, such as analysis or preparing |
| notifications. |
| </p> |
| <p> |
| It is not possible to subscribe to or unsubscribe from this |
| notification. |
| </p> |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>isFatal ( bool )</i></b></dt><dd> |
| |
| <p> |
| True if the error is a fatal error, meaning that the |
| server will shutdown automatically after sending this |
| notification. |
| </p> |
| </dd><dt class="field"><b><i>message ( String )</i></b></dt><dd> |
| |
| <p> |
| The error message indicating what kind of error was |
| encountered. |
| </p> |
| </dd><dt class="field"><b><i>stackTrace ( String )</i></b></dt><dd> |
| |
| <p> |
| The stack trace associated with the generation of the |
| error, used for debugging the server. |
| </p> |
| </dd></dl></dd><dt class="notification">server.status</dt><dd><div class="box"><pre>notification: { |
| "event": "server.status" |
| "params": { |
| "<b>analysis</b>": <span style="color:#999999">optional</span> <a href="#type_AnalysisStatus">AnalysisStatus</a> |
| "<b>pub</b>": <span style="color:#999999">optional</span> <a href="#type_PubStatus">PubStatus</a> |
| } |
| }</pre></div> |
| <p> |
| Reports the current status of the server. Parameters are |
| omitted if there has been no change in the status |
| represented by that parameter. |
| </p> |
| <p> |
| This notification is not subscribed to by default. Clients |
| can subscribe by including the value <tt>"STATUS"</tt> in |
| the list of services passed in a server.setSubscriptions |
| request. |
| </p> |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>analysis ( <span style="color:#999999">optional</span> <a href="#type_AnalysisStatus">AnalysisStatus</a> )</i></b></dt><dd> |
| |
| <p> |
| The current status of analysis, including whether |
| analysis is being performed and if so what is being |
| analyzed. |
| </p> |
| </dd><dt class="field"><b><i>pub ( <span style="color:#999999">optional</span> <a href="#type_PubStatus">PubStatus</a> )</i></b></dt><dd> |
| |
| <p> |
| The current status of pub execution, indicating whether we are |
| currently running pub. |
| </p> |
| </dd></dl></dd></dl> |
| <h2 class="domain"><a name="domain_analysis">Domain: analysis</a></h2> |
| <p> |
| The analysis domain contains API’s related to the analysis of |
| files. |
| </p> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <h3>Requests</h3><dl><dt class="request">analysis.getErrors</dt><dd><div class="box"><pre>request: { |
| "id": String |
| "method": "analysis.getErrors" |
| "params": { |
| "<b>file</b>": <a href="#type_FilePath">FilePath</a> |
| } |
| }</pre><br><pre>response: { |
| "id": String |
| "error": <span style="color:#999999">optional</span> <a href="#type_RequestError">RequestError</a> |
| "result": { |
| "<b>errors</b>": List<<a href="#type_AnalysisError">AnalysisError</a>> |
| } |
| }</pre></div> |
| <p> |
| Return the errors associated with the given file. If the |
| errors for the given file have not yet been computed, or the |
| most recently computed errors for the given file are out of |
| date, then the response for this request will be delayed |
| until they have been computed. If some or all of the errors |
| for the file cannot be computed, then the subset of the |
| errors that can be computed will be returned and the |
| response will contain an error to indicate why the errors |
| could not be computed. If the content of the file changes after this |
| request was received but before a response could be sent, then an |
| error of type <tt>CONTENT_MODIFIED</tt> will be generated. |
| </p> |
| <p> |
| This request is intended to be used by clients that cannot |
| asynchronously apply updated error information. Clients that |
| <b>can</b> apply error information as it becomes available |
| should use the information provided by the 'analysis.errors' |
| notification. |
| </p> |
| <p> |
| If a request is made for a file which does not exist, or |
| which is not currently subject to analysis (e.g. because it |
| is not associated with any analysis root specified to |
| analysis.setAnalysisRoots), an error of type |
| <tt>GET_ERRORS_INVALID_FILE</tt> will be generated. |
| </p> |
| |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>file ( <a href="#type_FilePath">FilePath</a> )</i></b></dt><dd> |
| |
| <p> |
| The file for which errors are being requested. |
| </p> |
| </dd></dl><h4>Returns</h4><dl><dt class="field"><b><i>errors ( List<<a href="#type_AnalysisError">AnalysisError</a>> )</i></b></dt><dd> |
| |
| <p> |
| The errors associated with the file. |
| </p> |
| </dd></dl></dd><dt class="request">analysis.getHover</dt><dd><div class="box"><pre>request: { |
| "id": String |
| "method": "analysis.getHover" |
| "params": { |
| "<b>file</b>": <a href="#type_FilePath">FilePath</a> |
| "<b>offset</b>": int |
| } |
| }</pre><br><pre>response: { |
| "id": String |
| "error": <span style="color:#999999">optional</span> <a href="#type_RequestError">RequestError</a> |
| "result": { |
| "<b>hovers</b>": List<<a href="#type_HoverInformation">HoverInformation</a>> |
| } |
| }</pre></div> |
| <p> |
| Return the hover information associate with the given |
| location. If some or all of the hover information is not |
| available at the time this request is processed the |
| information will be omitted from the response. |
| </p> |
| |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>file ( <a href="#type_FilePath">FilePath</a> )</i></b></dt><dd> |
| |
| <p> |
| The file in which hover information is being requested. |
| </p> |
| </dd><dt class="field"><b><i>offset ( int )</i></b></dt><dd> |
| |
| <p> |
| The offset for which hover information is being requested. |
| </p> |
| </dd></dl><h4>Returns</h4><dl><dt class="field"><b><i>hovers ( List<<a href="#type_HoverInformation">HoverInformation</a>> )</i></b></dt><dd> |
| |
| <p> |
| The hover information associated with the |
| location. The list will be empty if no information |
| could be determined for the location. The list can |
| contain multiple items if the file is being analyzed |
| in multiple contexts in conflicting ways (such as a |
| part that is included in multiple libraries). |
| </p> |
| </dd></dl></dd><dt class="request">analysis.getLibraryDependencies</dt><dd><div class="box"><pre>request: { |
| "id": String |
| "method": "analysis.getLibraryDependencies" |
| }</pre><br><pre>response: { |
| "id": String |
| "error": <span style="color:#999999">optional</span> <a href="#type_RequestError">RequestError</a> |
| "result": { |
| "<b>libraries</b>": List<<a href="#type_FilePath">FilePath</a>> |
| } |
| }</pre></div> |
| <p> |
| Return a list of all of the libraries referenced by any files in |
| existing analysis roots. |
| </p> |
| |
| <h4>Returns</h4><dl><dt class="field"><b><i>libraries ( List<<a href="#type_FilePath">FilePath</a>> )</i></b></dt><dd> |
| |
| <p> |
| A list of the paths of library elements referenced by |
| files in existing analysis roots. |
| </p> |
| </dd></dl></dd><dt class="request">analysis.getNavigation</dt><dd><div class="box"><pre>request: { |
| "id": String |
| "method": "analysis.getNavigation" |
| "params": { |
| "<b>file</b>": <a href="#type_FilePath">FilePath</a> |
| "<b>offset</b>": int |
| "<b>length</b>": int |
| } |
| }</pre><br><pre>response: { |
| "id": String |
| "error": <span style="color:#999999">optional</span> <a href="#type_RequestError">RequestError</a> |
| "result": { |
| "<b>files</b>": List<<a href="#type_FilePath">FilePath</a>> |
| "<b>targets</b>": List<<a href="#type_NavigationTarget">NavigationTarget</a>> |
| "<b>regions</b>": List<<a href="#type_NavigationRegion">NavigationRegion</a>> |
| } |
| }</pre></div> |
| <p> |
| Return the navigation information associated with the given region of |
| the given file. If the navigation information for the given file has |
| not yet been computed, or the most recently computed navigation |
| information for the given file is out of date, then the response for |
| this request will be delayed until it has been computed. If the |
| content of the file changes after this request was received but before |
| a response could be sent, then an error of type |
| <tt>CONTENT_MODIFIED</tt> will be generated. |
| </p> |
| <p> |
| If a navigation region overlaps (but extends either before or after) |
| the given region of the file it will be included in the result. This |
| means that it is theoretically possible to get the same navigation |
| region in response to multiple requests. Clients can avoid this by |
| always choosing a region that starts at the beginning of a line and |
| ends at the end of a (possibly different) line in the file. |
| </p> |
| |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>file ( <a href="#type_FilePath">FilePath</a> )</i></b></dt><dd> |
| |
| <p> |
| The file in which navigation information is being requested. |
| </p> |
| </dd><dt class="field"><b><i>offset ( int )</i></b></dt><dd> |
| |
| <p> |
| The offset of the region for which navigation information is being |
| requested. |
| </p> |
| </dd><dt class="field"><b><i>length ( int )</i></b></dt><dd> |
| |
| <p> |
| The length of the region for which navigation information is being |
| requested. |
| </p> |
| </dd></dl><h4>Returns</h4><dl><dt class="field"><b><i>files ( List<<a href="#type_FilePath">FilePath</a>> )</i></b></dt><dd> |
| |
| <p> |
| A list of the paths of files that are referenced by the navigation |
| targets. |
| </p> |
| </dd><dt class="field"><b><i>targets ( List<<a href="#type_NavigationTarget">NavigationTarget</a>> )</i></b></dt><dd> |
| |
| <p> |
| A list of the navigation targets that are referenced by the |
| navigation regions. |
| </p> |
| </dd><dt class="field"><b><i>regions ( List<<a href="#type_NavigationRegion">NavigationRegion</a>> )</i></b></dt><dd> |
| |
| <p> |
| A list of the navigation regions within the requested region of |
| the file. |
| </p> |
| </dd></dl></dd><dt class="request">analysis.reanalyze</dt><dd><div class="box"><pre>request: { |
| "id": String |
| "method": "analysis.reanalyze" |
| }</pre><br><pre>response: { |
| "id": String |
| "error": <span style="color:#999999">optional</span> <a href="#type_RequestError">RequestError</a> |
| }</pre></div> |
| <p> |
| Force the re-analysis of everything contained in the |
| existing analysis roots. This will cause all previously |
| computed analysis results to be discarded and recomputed, |
| and will cause all subscribed notifications to be re-sent. |
| </p> |
| </dd><dt class="request">analysis.setAnalysisRoots</dt><dd><div class="box"><pre>request: { |
| "id": String |
| "method": "analysis.setAnalysisRoots" |
| "params": { |
| "<b>included</b>": List<<a href="#type_FilePath">FilePath</a>> |
| "<b>excluded</b>": List<<a href="#type_FilePath">FilePath</a>> |
| "<b>packageRoots</b>": <span style="color:#999999">optional</span> Map<<a href="#type_FilePath">FilePath</a>, <a href="#type_FilePath">FilePath</a>> |
| } |
| }</pre><br><pre>response: { |
| "id": String |
| "error": <span style="color:#999999">optional</span> <a href="#type_RequestError">RequestError</a> |
| }</pre></div> |
| <p> |
| Sets the root paths used to determine which files to |
| analyze. The set of files to be analyzed are all of the |
| files in one of the root paths that are not also in one of |
| the excluded paths. |
| </p> |
| <p> |
| Note that this request determines the set of requested |
| analysis roots. The actual set of analysis roots at any |
| given time is the intersection of this set with the set of |
| files and directories actually present on the |
| filesystem. When the filesystem changes, the actual set of |
| analysis roots is automatically updated, but the set of |
| requested analysis roots is unchanged. This means that if |
| the client sets an analysis root before the root becomes |
| visible to server in the filesystem, there is no error; once |
| the server sees the root in the filesystem it will start |
| analyzing it. Similarly, server will stop analyzing files |
| that are removed from the file system but they will remain |
| in the set of requested roots. |
| </p> |
| <p> |
| If an included path represents a file, then server will look |
| in the directory containing the file for a pubspec.yaml |
| file. If none is found, then the parents of the directory |
| will be searched until such a file is found or the root of |
| the file system is reached. If such a file is found, it will |
| be used to resolve package: URI’s within the file. |
| </p> |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>included ( List<<a href="#type_FilePath">FilePath</a>> )</i></b></dt><dd> |
| |
| <p> |
| A list of the files and directories that should be |
| analyzed. |
| </p> |
| </dd><dt class="field"><b><i>excluded ( List<<a href="#type_FilePath">FilePath</a>> )</i></b></dt><dd> |
| |
| <p> |
| A list of the files and directories within the |
| included directories that should not be analyzed. |
| </p> |
| </dd><dt class="field"><b><i>packageRoots ( <span style="color:#999999">optional</span> Map<<a href="#type_FilePath">FilePath</a>, <a href="#type_FilePath">FilePath</a>> )</i></b></dt><dd> |
| |
| <p> |
| A mapping from source directories to target directories |
| that should override the normal package: URI resolution |
| mechanism. The analyzer will behave as though each |
| source directory in the map contains a special |
| pubspec.yaml file which resolves any package: URI to the |
| corresponding path within the target directory. The |
| effect is the same as specifying the target directory as |
| a "--package_root" parameter to the Dart VM when |
| executing any Dart file inside the source directory. |
| </p> |
| <p> |
| Files in any directories that are not overridden by this |
| mapping have their package: URI's resolved using the |
| normal pubspec.yaml mechanism. If this field is absent, |
| or the empty map is specified, that indicates that the |
| normal pubspec.yaml mechanism should always be used. |
| </p> |
| </dd></dl></dd><dt class="request">analysis.setPriorityFiles</dt><dd><div class="box"><pre>request: { |
| "id": String |
| "method": "analysis.setPriorityFiles" |
| "params": { |
| "<b>files</b>": List<<a href="#type_FilePath">FilePath</a>> |
| } |
| }</pre><br><pre>response: { |
| "id": String |
| "error": <span style="color:#999999">optional</span> <a href="#type_RequestError">RequestError</a> |
| }</pre></div> |
| <p> |
| Set the priority files to the files in the given list. A |
| priority file is a file that is given priority when |
| scheduling which analysis work to do first. The list |
| typically contains those files that are visible to the user |
| and those for which analysis results will have the biggest |
| impact on the user experience. The order of the files within |
| the list is significant: the first file will be given higher |
| priority than the second, the second higher priority than |
| the third, and so on. |
| </p> |
| <p> |
| Note that this request determines the set of requested |
| priority files. The actual set of priority files is the |
| intersection of the requested set of priority files with the |
| set of files currently subject to analysis. (See |
| analysis.setSubscriptions for a description of files that |
| are subject to analysis.) |
| </p> |
| <p> |
| If a requested priority file is a directory it is ignored, |
| but remains in the set of requested priority files so that |
| if it later becomes a file it can be included in the set of |
| actual priority files. |
| </p> |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>files ( List<<a href="#type_FilePath">FilePath</a>> )</i></b></dt><dd> |
| |
| <p> |
| The files that are to be a priority for analysis. |
| </p> |
| </dd></dl></dd><dt class="request">analysis.setSubscriptions</dt><dd><div class="box"><pre>request: { |
| "id": String |
| "method": "analysis.setSubscriptions" |
| "params": { |
| "<b>subscriptions</b>": Map<<a href="#type_AnalysisService">AnalysisService</a>, List<<a href="#type_FilePath">FilePath</a>>> |
| } |
| }</pre><br><pre>response: { |
| "id": String |
| "error": <span style="color:#999999">optional</span> <a href="#type_RequestError">RequestError</a> |
| }</pre></div> |
| <p> |
| Subscribe for services. All previous subscriptions are |
| replaced by the current set of subscriptions. If a given |
| service is not included as a key in the map then no files |
| will be subscribed to the service, exactly as if the service |
| had been included in the map with an explicit empty list of |
| files. |
| </p> |
| <p> |
| Note that this request determines the set of requested |
| subscriptions. The actual set of subscriptions at any given |
| time is the intersection of this set with the set of files |
| currently subject to analysis. The files currently subject |
| to analysis are the set of files contained within an actual |
| analysis root but not excluded, plus all of the files |
| transitively reachable from those files via import, export |
| and part directives. (See analysis.setAnalysisRoots for an |
| explanation of how the actual analysis roots are |
| determined.) When the actual analysis roots change, the |
| actual set of subscriptions is automatically updated, but |
| the set of requested subscriptions is unchanged. |
| </p> |
| <p> |
| If a requested subscription is a directory it is ignored, |
| but remains in the set of requested subscriptions so that if |
| it later becomes a file it can be included in the set of |
| actual subscriptions. |
| </p> |
| <p> |
| It is an error if any of the keys in the map are not valid |
| services. If there is an error, then the existing |
| subscriptions will remain unchanged. |
| </p> |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>subscriptions ( Map<<a href="#type_AnalysisService">AnalysisService</a>, List<<a href="#type_FilePath">FilePath</a>>> )</i></b></dt><dd> |
| |
| <p> |
| A table mapping services to a list of the files being |
| subscribed to the service. |
| </p> |
| </dd></dl></dd><dt class="request">analysis.updateContent</dt><dd><div class="box"><pre>request: { |
| "id": String |
| "method": "analysis.updateContent" |
| "params": { |
| "<b>files</b>": Map<<a href="#type_FilePath">FilePath</a>, <a href="#type_AddContentOverlay">AddContentOverlay</a> | <a href="#type_ChangeContentOverlay">ChangeContentOverlay</a> | <a href="#type_RemoveContentOverlay">RemoveContentOverlay</a>> |
| } |
| }</pre><br><pre>response: { |
| "id": String |
| "error": <span style="color:#999999">optional</span> <a href="#type_RequestError">RequestError</a> |
| "result": { |
| } |
| }</pre></div> |
| <p> |
| Update the content of one or more files. Files that were |
| previously updated but not included in this update remain |
| unchanged. This effectively represents an overlay of the |
| filesystem. The files whose content is overridden are |
| therefore seen by server as being files with the given |
| content, even if the files do not exist on the filesystem or |
| if the file path represents the path to a directory on the |
| filesystem. |
| </p> |
| |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>files ( Map<<a href="#type_FilePath">FilePath</a>, <a href="#type_AddContentOverlay">AddContentOverlay</a> | <a href="#type_ChangeContentOverlay">ChangeContentOverlay</a> | <a href="#type_RemoveContentOverlay">RemoveContentOverlay</a>> )</i></b></dt><dd> |
| |
| <p> |
| A table mapping the files whose content has changed to a |
| description of the content change. |
| </p> |
| </dd></dl><h4>Returns</h4><dl></dl></dd><dt class="request">analysis.updateOptions</dt><dd><div class="box"><pre>request: { |
| "id": String |
| "method": "analysis.updateOptions" |
| "params": { |
| "<b>options</b>": <a href="#type_AnalysisOptions">AnalysisOptions</a> |
| } |
| }</pre><br><pre>response: { |
| "id": String |
| "error": <span style="color:#999999">optional</span> <a href="#type_RequestError">RequestError</a> |
| }</pre></div> |
| <p> |
| Update the options controlling analysis based on the given |
| set of options. Any options that are not included in the |
| analysis options will not be changed. If there are options |
| in the analysis options that are not valid, they will be |
| silently ignored. |
| </p> |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>options ( <a href="#type_AnalysisOptions">AnalysisOptions</a> )</i></b></dt><dd> |
| |
| <p> |
| The options that are to be used to control analysis. |
| </p> |
| </dd></dl></dd></dl><h3>Notifications</h3><dl><dt class="notification">analysis.errors</dt><dd><div class="box"><pre>notification: { |
| "event": "analysis.errors" |
| "params": { |
| "<b>file</b>": <a href="#type_FilePath">FilePath</a> |
| "<b>errors</b>": List<<a href="#type_AnalysisError">AnalysisError</a>> |
| } |
| }</pre></div> |
| <p> |
| Reports the errors associated with a given file. The set of |
| errors included in the notification is always a complete |
| list that supersedes any previously reported errors. |
| </p> |
| <p> |
| It is only possible to unsubscribe from this notification by |
| using the command-line flag --no-error-notification. |
| </p> |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>file ( <a href="#type_FilePath">FilePath</a> )</i></b></dt><dd> |
| |
| <p> |
| The file containing the errors. |
| </p> |
| </dd><dt class="field"><b><i>errors ( List<<a href="#type_AnalysisError">AnalysisError</a>> )</i></b></dt><dd> |
| |
| <p> |
| The errors contained in the file. |
| </p> |
| </dd></dl></dd><dt class="notification">analysis.flushResults</dt><dd><div class="box"><pre>notification: { |
| "event": "analysis.flushResults" |
| "params": { |
| "<b>files</b>": List<<a href="#type_FilePath">FilePath</a>> |
| } |
| }</pre></div> |
| <p> |
| Reports that any analysis results that were previously |
| associated with the given files should be considered to be |
| invalid because those files are no longer being analyzed, |
| either because the analysis root that contained it is no |
| longer being analyzed or because the file no longer exists. |
| </p> |
| <p> |
| If a file is included in this notification and at some later |
| time a notification with results for the file is received, |
| clients should assume that the file is once again being |
| analyzed and the information should be processed. |
| </p> |
| <p> |
| It is not possible to subscribe to or unsubscribe from this |
| notification. |
| </p> |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>files ( List<<a href="#type_FilePath">FilePath</a>> )</i></b></dt><dd> |
| |
| <p> |
| The files that are no longer being analyzed. |
| </p> |
| </dd></dl></dd><dt class="notification">analysis.folding</dt><dd><div class="box"><pre>notification: { |
| "event": "analysis.folding" |
| "params": { |
| "<b>file</b>": <a href="#type_FilePath">FilePath</a> |
| "<b>regions</b>": List<<a href="#type_FoldingRegion">FoldingRegion</a>> |
| } |
| }</pre></div> |
| <p> |
| Reports the folding regions associated with a given |
| file. Folding regions can be nested, but will not be |
| overlapping. Nesting occurs when a foldable element, such as |
| a method, is nested inside another foldable element such as |
| a class. |
| </p> |
| <p> |
| This notification is not subscribed to by default. Clients |
| can subscribe by including the value <tt>"FOLDING"</tt> in |
| the list of services passed in an analysis.setSubscriptions |
| request. |
| </p> |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>file ( <a href="#type_FilePath">FilePath</a> )</i></b></dt><dd> |
| |
| <p> |
| The file containing the folding regions. |
| </p> |
| </dd><dt class="field"><b><i>regions ( List<<a href="#type_FoldingRegion">FoldingRegion</a>> )</i></b></dt><dd> |
| |
| <p> |
| The folding regions contained in the file. |
| </p> |
| </dd></dl></dd><dt class="notification">analysis.highlights</dt><dd><div class="box"><pre>notification: { |
| "event": "analysis.highlights" |
| "params": { |
| "<b>file</b>": <a href="#type_FilePath">FilePath</a> |
| "<b>regions</b>": List<<a href="#type_HighlightRegion">HighlightRegion</a>> |
| } |
| }</pre></div> |
| <p> |
| Reports the highlight regions associated with a given file. |
| </p> |
| <p> |
| This notification is not subscribed to by default. Clients |
| can subscribe by including the value <tt>"HIGHLIGHTS"</tt> |
| in the list of services passed in an |
| analysis.setSubscriptions request. |
| </p> |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>file ( <a href="#type_FilePath">FilePath</a> )</i></b></dt><dd> |
| |
| <p> |
| The file containing the highlight regions. |
| </p> |
| </dd><dt class="field"><b><i>regions ( List<<a href="#type_HighlightRegion">HighlightRegion</a>> )</i></b></dt><dd> |
| |
| <p> |
| The highlight regions contained in the file. Each |
| highlight region represents a particular syntactic or |
| semantic meaning associated with some range. Note that |
| the highlight regions that are returned can overlap |
| other highlight regions if there is more than one |
| meaning associated with a particular region. |
| </p> |
| </dd></dl></dd><dt class="notification">analysis.invalidate</dt><dd><div class="box"><pre>notification: { |
| "event": "analysis.invalidate" |
| "params": { |
| "<b>file</b>": <a href="#type_FilePath">FilePath</a> |
| "<b>offset</b>": int |
| "<b>length</b>": int |
| "<b>delta</b>": int |
| } |
| }</pre></div> |
| <p> |
| Reports that the navigation information associated with a region of a |
| single file has become invalid and should be re-requested. |
| </p> |
| <p> |
| This notification is not subscribed to by default. Clients can |
| subscribe by including the value <tt>"INVALIDATE"</tt> in the list of |
| services passed in an analysis.setSubscriptions request. |
| </p> |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>file ( <a href="#type_FilePath">FilePath</a> )</i></b></dt><dd> |
| |
| <p> |
| The file whose information has been invalidated. |
| </p> |
| </dd><dt class="field"><b><i>offset ( int )</i></b></dt><dd> |
| |
| <p> |
| The offset of the invalidated region. |
| </p> |
| </dd><dt class="field"><b><i>length ( int )</i></b></dt><dd> |
| |
| <p> |
| The length of the invalidated region. |
| </p> |
| </dd><dt class="field"><b><i>delta ( int )</i></b></dt><dd> |
| |
| <p> |
| The delta to be applied to the offsets in information that follows |
| the invalidated region in order to update it so that it doesn't |
| need to be re-requested. |
| </p> |
| </dd></dl></dd><dt class="notification">analysis.navigation</dt><dd><div class="box"><pre>notification: { |
| "event": "analysis.navigation" |
| "params": { |
| "<b>file</b>": <a href="#type_FilePath">FilePath</a> |
| "<b>regions</b>": List<<a href="#type_NavigationRegion">NavigationRegion</a>> |
| "<b>targets</b>": List<<a href="#type_NavigationTarget">NavigationTarget</a>> |
| "<b>files</b>": List<<a href="#type_FilePath">FilePath</a>> |
| } |
| }</pre></div> |
| <p> |
| Reports the navigation targets associated with a given file. |
| </p> |
| <p> |
| This notification is not subscribed to by default. Clients |
| can subscribe by including the value <tt>"NAVIGATION"</tt> |
| in the list of services passed in an |
| analysis.setSubscriptions request. |
| </p> |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>file ( <a href="#type_FilePath">FilePath</a> )</i></b></dt><dd> |
| |
| <p> |
| The file containing the navigation regions. |
| </p> |
| </dd><dt class="field"><b><i>regions ( List<<a href="#type_NavigationRegion">NavigationRegion</a>> )</i></b></dt><dd> |
| |
| <p> |
| The navigation regions contained in the file. |
| The regions are sorted by their offsets. |
| Each navigation region represents a list of targets |
| associated with some range. The lists will usually |
| contain a single target, but can contain more in the |
| case of a part that is included in multiple libraries |
| or in Dart code that is compiled against multiple |
| versions of a package. Note that the navigation |
| regions that are returned do not overlap other |
| navigation regions. |
| </p> |
| </dd><dt class="field"><b><i>targets ( List<<a href="#type_NavigationTarget">NavigationTarget</a>> )</i></b></dt><dd> |
| |
| <p> |
| The navigation targets referenced in the file. |
| They are referenced by <tt>NavigationRegion</tt>s by their |
| index in this array. |
| </p> |
| </dd><dt class="field"><b><i>files ( List<<a href="#type_FilePath">FilePath</a>> )</i></b></dt><dd> |
| |
| <p> |
| The files containing navigation targets referenced in the file. |
| They are referenced by <tt>NavigationTarget</tt>s by their |
| index in this array. |
| </p> |
| </dd></dl></dd><dt class="notification">analysis.occurrences</dt><dd><div class="box"><pre>notification: { |
| "event": "analysis.occurrences" |
| "params": { |
| "<b>file</b>": <a href="#type_FilePath">FilePath</a> |
| "<b>occurrences</b>": List<<a href="#type_Occurrences">Occurrences</a>> |
| } |
| }</pre></div> |
| <p> |
| Reports the occurrences of references to elements within a |
| single file. |
| </p> |
| <p> |
| This notification is not subscribed to by default. Clients |
| can subscribe by including the value <tt>"OCCURRENCES"</tt> |
| in the list of services passed in an |
| analysis.setSubscriptions request. |
| </p> |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>file ( <a href="#type_FilePath">FilePath</a> )</i></b></dt><dd> |
| |
| <p> |
| The file in which the references occur. |
| </p> |
| </dd><dt class="field"><b><i>occurrences ( List<<a href="#type_Occurrences">Occurrences</a>> )</i></b></dt><dd> |
| |
| <p> |
| The occurrences of references to elements within the |
| file. |
| </p> |
| </dd></dl></dd><dt class="notification">analysis.outline</dt><dd><div class="box"><pre>notification: { |
| "event": "analysis.outline" |
| "params": { |
| "<b>file</b>": <a href="#type_FilePath">FilePath</a> |
| "<b>outline</b>": <a href="#type_Outline">Outline</a> |
| } |
| }</pre></div> |
| <p> |
| Reports the outline associated with a single file. |
| </p> |
| <p> |
| This notification is not subscribed to by default. Clients |
| can subscribe by including the value <tt>"OUTLINE"</tt> in |
| the list of services passed in an analysis.setSubscriptions |
| request. |
| </p> |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>file ( <a href="#type_FilePath">FilePath</a> )</i></b></dt><dd> |
| |
| <p> |
| The file with which the outline is associated. |
| </p> |
| </dd><dt class="field"><b><i>outline ( <a href="#type_Outline">Outline</a> )</i></b></dt><dd> |
| |
| <p> |
| The outline associated with the file. |
| </p> |
| </dd></dl></dd><dt class="notification">analysis.overrides</dt><dd><div class="box"><pre>notification: { |
| "event": "analysis.overrides" |
| "params": { |
| "<b>file</b>": <a href="#type_FilePath">FilePath</a> |
| "<b>overrides</b>": List<<a href="#type_Override">Override</a>> |
| } |
| }</pre></div> |
| <p> |
| Reports the overridding members in a file. |
| </p> |
| <p> |
| This notification is not subscribed to by default. Clients |
| can subscribe by including the value <tt>"OVERRIDES"</tt> in |
| the list of services passed in an analysis.setSubscriptions |
| request. |
| </p> |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>file ( <a href="#type_FilePath">FilePath</a> )</i></b></dt><dd> |
| |
| <p> |
| The file with which the overrides are associated. |
| </p> |
| </dd><dt class="field"><b><i>overrides ( List<<a href="#type_Override">Override</a>> )</i></b></dt><dd> |
| |
| <p> |
| The overrides associated with the file. |
| </p> |
| </dd></dl></dd></dl> |
| <h2 class="domain"><a name="domain_completion">Domain: completion</a></h2> |
| <p> |
| The code completion domain contains commands related to |
| getting code completion suggestions. |
| </p> |
| |
| |
| <h3>Requests</h3><dl><dt class="request">completion.getSuggestions</dt><dd><div class="box"><pre>request: { |
| "id": String |
| "method": "completion.getSuggestions" |
| "params": { |
| "<b>file</b>": <a href="#type_FilePath">FilePath</a> |
| "<b>offset</b>": int |
| } |
| }</pre><br><pre>response: { |
| "<b>id</b>": String |
| "error": <span style="color:#999999">optional</span> <a href="#type_RequestError">RequestError</a> |
| "result": { |
| "<b>id</b>": <a href="#type_CompletionId">CompletionId</a> |
| } |
| }</pre></div> |
| <p> |
| Request that completion suggestions for the given offset in |
| the given file be returned. |
| </p> |
| |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>file ( <a href="#type_FilePath">FilePath</a> )</i></b></dt><dd> |
| |
| <p> |
| The file containing the point at which suggestions are |
| to be made. |
| </p> |
| </dd><dt class="field"><b><i>offset ( int )</i></b></dt><dd> |
| |
| <p> |
| The offset within the file at which suggestions are to |
| be made. |
| </p> |
| </dd></dl><h4>Returns</h4><dl><dt class="field"><b><i>id ( <a href="#type_CompletionId">CompletionId</a> )</i></b></dt><dd> |
| |
| <p> |
| The identifier used to associate results with this |
| completion request. |
| </p> |
| </dd></dl></dd></dl><h3>Notifications</h3><dl><dt class="notification">completion.results</dt><dd><div class="box"><pre>notification: { |
| "event": "completion.results" |
| "params": { |
| "<b>id</b>": <a href="#type_CompletionId">CompletionId</a> |
| "<b>replacementOffset</b>": int |
| "<b>replacementLength</b>": int |
| "<b>results</b>": List<<a href="#type_CompletionSuggestion">CompletionSuggestion</a>> |
| "<b>isLast</b>": bool |
| } |
| }</pre></div> |
| <p> |
| Reports the completion suggestions that should be presented |
| to the user. The set of suggestions included in the |
| notification is always a complete list that supersedes any |
| previously reported suggestions. |
| </p> |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>id ( <a href="#type_CompletionId">CompletionId</a> )</i></b></dt><dd> |
| |
| <p> |
| The id associated with the completion. |
| </p> |
| </dd><dt class="field"><b><i>replacementOffset ( int )</i></b></dt><dd> |
| |
| <p> |
| The offset of the start of the text to be |
| replaced. This will be different than the offset used |
| to request the completion suggestions if there was a |
| portion of an identifier before the original |
| offset. In particular, the replacementOffset will be |
| the offset of the beginning of said identifier. |
| </p> |
| </dd><dt class="field"><b><i>replacementLength ( int )</i></b></dt><dd> |
| |
| <p> |
| The length of the text to be replaced if the remainder |
| of the identifier containing the cursor is to be |
| replaced when the suggestion is applied (that is, the |
| number of characters in the existing identifier). |
| </p> |
| </dd><dt class="field"><b><i>results ( List<<a href="#type_CompletionSuggestion">CompletionSuggestion</a>> )</i></b></dt><dd> |
| |
| <p> |
| The completion suggestions being reported. The |
| notification contains all possible completions at the |
| requested cursor position, even those that do not match |
| the characters the user has already typed. This allows |
| the client to respond to further keystrokes from the |
| user without having to make additional requests. |
| </p> |
| </dd><dt class="field"><b><i>isLast ( bool )</i></b></dt><dd> |
| |
| <p> |
| True if this is that last set of results that will be |
| returned for the indicated completion. |
| </p> |
| </dd></dl></dd></dl> |
| <h2 class="domain"><a name="domain_search">Domain: search</a></h2> |
| <p> |
| The search domain contains commands related to searches that |
| can be performed against the code base. |
| </p> |
| |
| |
| |
| |
| |
| |
| <h3>Requests</h3><dl><dt class="request">search.findElementReferences</dt><dd><div class="box"><pre>request: { |
| "id": String |
| "method": "search.findElementReferences" |
| "params": { |
| "<b>file</b>": <a href="#type_FilePath">FilePath</a> |
| "<b>offset</b>": int |
| "<b>includePotential</b>": bool |
| } |
| }</pre><br><pre>response: { |
| "<b>id</b>": String |
| "error": <span style="color:#999999">optional</span> <a href="#type_RequestError">RequestError</a> |
| "result": { |
| "<b>id</b>": <span style="color:#999999">optional</span> <a href="#type_SearchId">SearchId</a> |
| "<b>element</b>": <span style="color:#999999">optional</span> <a href="#type_Element">Element</a> |
| } |
| }</pre></div> |
| <p> |
| Perform a search for references to the element defined or |
| referenced at the given offset in the given file. |
| </p> |
| <p> |
| An identifier is returned immediately, and individual |
| results will be returned via the search.results notification |
| as they become available. |
| </p> |
| |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>file ( <a href="#type_FilePath">FilePath</a> )</i></b></dt><dd> |
| |
| <p> |
| The file containing the declaration of or reference to |
| the element used to define the search. |
| </p> |
| </dd><dt class="field"><b><i>offset ( int )</i></b></dt><dd> |
| |
| <p> |
| The offset within the file of the declaration of or |
| reference to the element. |
| </p> |
| </dd><dt class="field"><b><i>includePotential ( bool )</i></b></dt><dd> |
| |
| <p> |
| True if potential matches are to be included in the |
| results. |
| </p> |
| </dd></dl><h4>Returns</h4><dl><dt class="field"><b><i>id ( <span style="color:#999999">optional</span> <a href="#type_SearchId">SearchId</a> )</i></b></dt><dd> |
| |
| <p> |
| The identifier used to associate results with this |
| search request. |
| </p> |
| <p> |
| If no element was found at the given location, this |
| field will be absent, and no results will be reported |
| via the search.results notification. |
| </p> |
| </dd><dt class="field"><b><i>element ( <span style="color:#999999">optional</span> <a href="#type_Element">Element</a> )</i></b></dt><dd> |
| |
| <p> |
| The element referenced or defined at the given offset |
| and whose references will be returned in the search |
| results. |
| </p> |
| <p> |
| If no element was found at the given location, this |
| field will be absent. |
| </p> |
| </dd></dl></dd><dt class="request">search.findMemberDeclarations</dt><dd><div class="box"><pre>request: { |
| "id": String |
| "method": "search.findMemberDeclarations" |
| "params": { |
| "<b>name</b>": String |
| } |
| }</pre><br><pre>response: { |
| "<b>id</b>": String |
| "error": <span style="color:#999999">optional</span> <a href="#type_RequestError">RequestError</a> |
| "result": { |
| "<b>id</b>": <a href="#type_SearchId">SearchId</a> |
| } |
| }</pre></div> |
| <p> |
| Perform a search for declarations of members whose name is |
| equal to the given name. |
| </p> |
| <p> |
| An identifier is returned immediately, and individual |
| results will be returned via the search.results notification |
| as they become available. |
| </p> |
| |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>name ( String )</i></b></dt><dd> |
| |
| <p> |
| The name of the declarations to be found. |
| </p> |
| </dd></dl><h4>Returns</h4><dl><dt class="field"><b><i>id ( <a href="#type_SearchId">SearchId</a> )</i></b></dt><dd> |
| |
| <p> |
| The identifier used to associate results with this |
| search request. |
| </p> |
| </dd></dl></dd><dt class="request">search.findMemberReferences</dt><dd><div class="box"><pre>request: { |
| "id": String |
| "method": "search.findMemberReferences" |
| "params": { |
| "<b>name</b>": String |
| } |
| }</pre><br><pre>response: { |
| "<b>id</b>": String |
| "error": <span style="color:#999999">optional</span> <a href="#type_RequestError">RequestError</a> |
| "result": { |
| "<b>id</b>": <a href="#type_SearchId">SearchId</a> |
| } |
| }</pre></div> |
| <p> |
| Perform a search for references to members whose name is |
| equal to the given name. This search does not check to see |
| that there is a member defined with the given name, so it is |
| able to find references to undefined members as well. |
| </p> |
| <p> |
| An identifier is returned immediately, and individual |
| results will be returned via the search.results notification |
| as they become available. |
| </p> |
| |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>name ( String )</i></b></dt><dd> |
| |
| <p> |
| The name of the references to be found. |
| </p> |
| </dd></dl><h4>Returns</h4><dl><dt class="field"><b><i>id ( <a href="#type_SearchId">SearchId</a> )</i></b></dt><dd> |
| |
| <p> |
| The identifier used to associate results with this |
| search request. |
| </p> |
| </dd></dl></dd><dt class="request">search.findTopLevelDeclarations</dt><dd><div class="box"><pre>request: { |
| "id": String |
| "method": "search.findTopLevelDeclarations" |
| "params": { |
| "<b>pattern</b>": String |
| } |
| }</pre><br><pre>response: { |
| "<b>id</b>": String |
| "error": <span style="color:#999999">optional</span> <a href="#type_RequestError">RequestError</a> |
| "result": { |
| "<b>id</b>": <a href="#type_SearchId">SearchId</a> |
| } |
| }</pre></div> |
| <p> |
| Perform a search for declarations of top-level elements |
| (classes, typedefs, getters, setters, functions and fields) |
| whose name matches the given pattern. |
| </p> |
| <p> |
| An identifier is returned immediately, and individual |
| results will be returned via the search.results notification |
| as they become available. |
| </p> |
| |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>pattern ( String )</i></b></dt><dd> |
| |
| <p> |
| The regular expression used to match the names of the |
| declarations to be found. |
| </p> |
| </dd></dl><h4>Returns</h4><dl><dt class="field"><b><i>id ( <a href="#type_SearchId">SearchId</a> )</i></b></dt><dd> |
| |
| <p> |
| The identifier used to associate results with this |
| search request. |
| </p> |
| </dd></dl></dd><dt class="request">search.getTypeHierarchy</dt><dd><div class="box"><pre>request: { |
| "id": String |
| "method": "search.getTypeHierarchy" |
| "params": { |
| "<b>file</b>": <a href="#type_FilePath">FilePath</a> |
| "<b>offset</b>": int |
| } |
| }</pre><br><pre>response: { |
| "id": String |
| "error": <span style="color:#999999">optional</span> <a href="#type_RequestError">RequestError</a> |
| "result": { |
| "<b>hierarchyItems</b>": <span style="color:#999999">optional</span> List<<a href="#type_TypeHierarchyItem">TypeHierarchyItem</a>> |
| } |
| }</pre></div> |
| <p> |
| Return the type hierarchy of the class declared or |
| referenced at the given location. |
| </p> |
| |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>file ( <a href="#type_FilePath">FilePath</a> )</i></b></dt><dd> |
| |
| <p> |
| The file containing the declaration or reference to the |
| type for which a hierarchy is being requested. |
| </p> |
| </dd><dt class="field"><b><i>offset ( int )</i></b></dt><dd> |
| |
| <p> |
| The offset of the name of the type within the file. |
| </p> |
| </dd></dl><h4>Returns</h4><dl><dt class="field"><b><i>hierarchyItems ( <span style="color:#999999">optional</span> List<<a href="#type_TypeHierarchyItem">TypeHierarchyItem</a>> )</i></b></dt><dd> |
| |
| <p> |
| A list of the types in the requested hierarchy. The |
| first element of the list is the item representing the |
| type for which the hierarchy was requested. The index of |
| other elements of the list is unspecified, but |
| correspond to the integers used to reference supertype |
| and subtype items within the items. |
| </p> |
| <p> |
| This field will be absent if the code at the given file |
| and offset does not represent a type, or if the file has |
| not been sufficiently analyzed to allow a type hierarchy |
| to be produced. |
| </p> |
| </dd></dl></dd></dl><h3>Notifications</h3><dl><dt class="notification">search.results</dt><dd><div class="box"><pre>notification: { |
| "event": "search.results" |
| "params": { |
| "<b>id</b>": <a href="#type_SearchId">SearchId</a> |
| "<b>results</b>": List<<a href="#type_SearchResult">SearchResult</a>> |
| "<b>isLast</b>": bool |
| } |
| }</pre></div> |
| <p> |
| Reports some or all of the results of performing a requested |
| search. Unlike other notifications, this notification |
| contains search results that should be added to any |
| previously received search results associated with the same |
| search id. |
| </p> |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>id ( <a href="#type_SearchId">SearchId</a> )</i></b></dt><dd> |
| |
| <p> |
| The id associated with the search. |
| </p> |
| </dd><dt class="field"><b><i>results ( List<<a href="#type_SearchResult">SearchResult</a>> )</i></b></dt><dd> |
| |
| <p> |
| The search results being reported. |
| </p> |
| </dd><dt class="field"><b><i>isLast ( bool )</i></b></dt><dd> |
| |
| <p> |
| True if this is that last set of results that will be |
| returned for the indicated search. |
| </p> |
| </dd></dl></dd></dl> |
| <h2 class="domain"><a name="domain_edit">Domain: edit</a></h2> |
| <p> |
| The edit domain contains commands related to edits that can be |
| applied to the code. |
| </p> |
| |
| |
| |
| |
| |
| |
| <h3>Requests</h3><dl><dt class="request">edit.format</dt><dd><div class="box"><pre>request: { |
| "id": String |
| "method": "edit.format" |
| "params": { |
| "<b>file</b>": <a href="#type_FilePath">FilePath</a> |
| "<b>selectionOffset</b>": int |
| "<b>selectionLength</b>": int |
| } |
| }</pre><br><pre>response: { |
| "id": String |
| "error": <span style="color:#999999">optional</span> <a href="#type_RequestError">RequestError</a> |
| "result": { |
| "<b>edits</b>": List<<a href="#type_SourceEdit">SourceEdit</a>> |
| "<b>selectionOffset</b>": int |
| "<b>selectionLength</b>": int |
| } |
| }</pre></div> |
| <p> |
| Format the contents of a single file. The currently selected region of |
| text is passed in so that the selection can be preserved across the |
| formatting operation. The updated selection will be as close to |
| matching the original as possible, but whitespace at the beginning or |
| end of the selected region will be ignored. |
| </p> |
| <p> |
| If a request is made for a file which does not exist, or |
| which is not currently subject to analysis (e.g. because it |
| is not associated with any analysis root specified to |
| analysis.setAnalysisRoots), an error of type |
| <tt>FORMAT_INVALID_FILE</tt> will be generated. |
| </p> |
| |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>file ( <a href="#type_FilePath">FilePath</a> )</i></b></dt><dd> |
| |
| <p> |
| The file containing the code to be formatted. |
| </p> |
| </dd><dt class="field"><b><i>selectionOffset ( int )</i></b></dt><dd> |
| |
| <p> |
| The offset of the current selection in the file. |
| </p> |
| </dd><dt class="field"><b><i>selectionLength ( int )</i></b></dt><dd> |
| |
| <p> |
| The length of the current selection in the file. |
| </p> |
| </dd></dl><h4>Returns</h4><dl><dt class="field"><b><i>edits ( List<<a href="#type_SourceEdit">SourceEdit</a>> )</i></b></dt><dd> |
| |
| <p> |
| The edit(s) to be applied in order to format the code. The list |
| will be empty if the code was already formatted (there are no |
| changes). |
| </p> |
| </dd><dt class="field"><b><i>selectionOffset ( int )</i></b></dt><dd> |
| |
| <p> |
| The offset of the selection after formatting the code. |
| </p> |
| </dd><dt class="field"><b><i>selectionLength ( int )</i></b></dt><dd> |
| |
| <p> |
| The length of the selection after formatting the code. |
| </p> |
| </dd></dl></dd><dt class="request">edit.getAssists</dt><dd><div class="box"><pre>request: { |
| "id": String |
| "method": "edit.getAssists" |
| "params": { |
| "<b>file</b>": <a href="#type_FilePath">FilePath</a> |
| "<b>offset</b>": int |
| "<b>length</b>": int |
| } |
| }</pre><br><pre>response: { |
| "id": String |
| "error": <span style="color:#999999">optional</span> <a href="#type_RequestError">RequestError</a> |
| "result": { |
| "<b>assists</b>": List<<a href="#type_SourceChange">SourceChange</a>> |
| } |
| }</pre></div> |
| <p> |
| Return the set of assists that are available at the given |
| location. An assist is distinguished from a refactoring |
| primarily by the fact that it affects a single file and does |
| not require user input in order to be performed. |
| </p> |
| |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>file ( <a href="#type_FilePath">FilePath</a> )</i></b></dt><dd> |
| |
| <p> |
| The file containing the code for which assists are being |
| requested. |
| </p> |
| </dd><dt class="field"><b><i>offset ( int )</i></b></dt><dd> |
| |
| <p> |
| The offset of the code for which assists are being |
| requested. |
| </p> |
| </dd><dt class="field"><b><i>length ( int )</i></b></dt><dd> |
| |
| <p> |
| The length of the code for which assists are being |
| requested. |
| </p> |
| </dd></dl><h4>Returns</h4><dl><dt class="field"><b><i>assists ( List<<a href="#type_SourceChange">SourceChange</a>> )</i></b></dt><dd> |
| |
| <p> |
| The assists that are available at the given location. |
| </p> |
| </dd></dl></dd><dt class="request">edit.getAvailableRefactorings</dt><dd><div class="box"><pre>request: { |
| "id": String |
| "method": "edit.getAvailableRefactorings" |
| "params": { |
| "<b>file</b>": <a href="#type_FilePath">FilePath</a> |
| "<b>offset</b>": int |
| "<b>length</b>": int |
| } |
| }</pre><br><pre>response: { |
| "id": String |
| "error": <span style="color:#999999">optional</span> <a href="#type_RequestError">RequestError</a> |
| "result": { |
| "<b>kinds</b>": List<<a href="#type_RefactoringKind">RefactoringKind</a>> |
| } |
| }</pre></div> |
| <p> |
| Get a list of the kinds of refactorings that are valid for |
| the given selection in the given file. |
| </p> |
| |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>file ( <a href="#type_FilePath">FilePath</a> )</i></b></dt><dd> |
| |
| <p> |
| The file containing the code on which the refactoring |
| would be based. |
| </p> |
| </dd><dt class="field"><b><i>offset ( int )</i></b></dt><dd> |
| |
| <p> |
| The offset of the code on which the refactoring would be |
| based. |
| </p> |
| </dd><dt class="field"><b><i>length ( int )</i></b></dt><dd> |
| |
| <p> |
| The length of the code on which the refactoring would be |
| based. |
| </p> |
| </dd></dl><h4>Returns</h4><dl><dt class="field"><b><i>kinds ( List<<a href="#type_RefactoringKind">RefactoringKind</a>> )</i></b></dt><dd> |
| |
| <p> |
| The kinds of refactorings that are valid for the given |
| selection. |
| </p> |
| </dd></dl></dd><dt class="request">edit.getFixes</dt><dd><div class="box"><pre>request: { |
| "id": String |
| "method": "edit.getFixes" |
| "params": { |
| "<b>file</b>": <a href="#type_FilePath">FilePath</a> |
| "<b>offset</b>": int |
| } |
| }</pre><br><pre>response: { |
| "id": String |
| "error": <span style="color:#999999">optional</span> <a href="#type_RequestError">RequestError</a> |
| "result": { |
| "<b>fixes</b>": List<<a href="#type_AnalysisErrorFixes">AnalysisErrorFixes</a>> |
| } |
| }</pre></div> |
| <p> |
| Return the set of fixes that are available for the errors at |
| a given offset in a given file. |
| </p> |
| |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>file ( <a href="#type_FilePath">FilePath</a> )</i></b></dt><dd> |
| |
| <p> |
| The file containing the errors for which fixes are being |
| requested. |
| </p> |
| </dd><dt class="field"><b><i>offset ( int )</i></b></dt><dd> |
| |
| <p> |
| The offset used to select the errors for which fixes |
| will be returned. |
| </p> |
| </dd></dl><h4>Returns</h4><dl><dt class="field"><b><i>fixes ( List<<a href="#type_AnalysisErrorFixes">AnalysisErrorFixes</a>> )</i></b></dt><dd> |
| |
| <p> |
| The fixes that are available for the errors at the given offset. |
| </p> |
| </dd></dl></dd><dt class="request">edit.getRefactoring</dt><dd><div class="box"><pre>request: { |
| "id": String |
| "method": "edit.getRefactoring" |
| "params": { |
| "<b>kind</b>": <a href="#type_RefactoringKind">RefactoringKind</a> |
| "<b>file</b>": <a href="#type_FilePath">FilePath</a> |
| "<b>offset</b>": int |
| "<b>length</b>": int |
| "<b>validateOnly</b>": bool |
| "<b>options</b>": <span style="color:#999999">optional</span> <a href="#type_RefactoringOptions">RefactoringOptions</a> |
| } |
| }</pre><br><pre>response: { |
| "id": String |
| "error": <span style="color:#999999">optional</span> <a href="#type_RequestError">RequestError</a> |
| "result": { |
| "<b>initialProblems</b>": List<<a href="#type_RefactoringProblem">RefactoringProblem</a>> |
| "<b>optionsProblems</b>": List<<a href="#type_RefactoringProblem">RefactoringProblem</a>> |
| "<b>finalProblems</b>": List<<a href="#type_RefactoringProblem">RefactoringProblem</a>> |
| "<b>feedback</b>": <span style="color:#999999">optional</span> <a href="#type_RefactoringFeedback">RefactoringFeedback</a> |
| "<b>change</b>": <span style="color:#999999">optional</span> <a href="#type_SourceChange">SourceChange</a> |
| "<b>potentialEdits</b>": <span style="color:#999999">optional</span> List<String> |
| } |
| }</pre></div> |
| <p> |
| Get the changes required to perform a refactoring. |
| </p> |
| |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>kind ( <a href="#type_RefactoringKind">RefactoringKind</a> )</i></b></dt><dd> |
| |
| <p> |
| The kind of refactoring to be performed. |
| </p> |
| </dd><dt class="field"><b><i>file ( <a href="#type_FilePath">FilePath</a> )</i></b></dt><dd> |
| |
| <p> |
| The file containing the code involved in the |
| refactoring. |
| </p> |
| </dd><dt class="field"><b><i>offset ( int )</i></b></dt><dd> |
| |
| <p> |
| The offset of the region involved in the refactoring. |
| </p> |
| </dd><dt class="field"><b><i>length ( int )</i></b></dt><dd> |
| |
| <p> |
| The length of the region involved in the refactoring. |
| </p> |
| </dd><dt class="field"><b><i>validateOnly ( bool )</i></b></dt><dd> |
| |
| <p> |
| True if the client is only requesting that the values of |
| the options be validated and no change be generated. |
| </p> |
| </dd><dt class="field"><b><i>options ( <span style="color:#999999">optional</span> <a href="#type_RefactoringOptions">RefactoringOptions</a> )</i></b></dt><dd> |
| |
| <p> |
| Data used to provide values provided by the user. The |
| structure of the data is dependent on the kind of |
| refactoring being performed. The data that is expected is |
| documented in the section titled <a href="#refactorings">Refactorings</a>, labeled as |
| “Options”. This field can be omitted if the refactoring |
| does not require any options or if the values of those |
| options are not known. |
| </p> |
| </dd></dl><h4>Returns</h4><dl><dt class="field"><b><i>initialProblems ( List<<a href="#type_RefactoringProblem">RefactoringProblem</a>> )</i></b></dt><dd> |
| |
| <p> |
| The initial status of the refactoring, i.e. problems related to |
| the context in which the refactoring is requested. |
| The array will be empty if there are no known problems. |
| </p> |
| </dd><dt class="field"><b><i>optionsProblems ( List<<a href="#type_RefactoringProblem">RefactoringProblem</a>> )</i></b></dt><dd> |
| |
| <p> |
| The options validation status, i.e. problems in the given options, |
| such as light-weight validation of a new name, flags |
| compatibility, etc. |
| The array will be empty if there are no known problems. |
| </p> |
| </dd><dt class="field"><b><i>finalProblems ( List<<a href="#type_RefactoringProblem">RefactoringProblem</a>> )</i></b></dt><dd> |
| |
| <p> |
| The final status of the refactoring, i.e. problems identified in |
| the result of a full, potentially expensive validation and / or |
| change creation. |
| The array will be empty if there are no known problems. |
| </p> |
| </dd><dt class="field"><b><i>feedback ( <span style="color:#999999">optional</span> <a href="#type_RefactoringFeedback">RefactoringFeedback</a> )</i></b></dt><dd> |
| |
| <p> |
| Data used to provide feedback to the user. The structure |
| of the data is dependent on the kind of refactoring |
| being created. The data that is returned is documented |
| in the section titled <a href="#refactorings">Refactorings</a>, labeled as |
| “Feedback”. |
| </p> |
| </dd><dt class="field"><b><i>change ( <span style="color:#999999">optional</span> <a href="#type_SourceChange">SourceChange</a> )</i></b></dt><dd> |
| |
| <p> |
| The changes that are to be applied to affect the |
| refactoring. This field will be omitted if there are |
| problems that prevent a set of changes from being |
| computed, such as having no options specified for a |
| refactoring that requires them, or if only validation |
| was requested. |
| </p> |
| </dd><dt class="field"><b><i>potentialEdits ( <span style="color:#999999">optional</span> List<String> )</i></b></dt><dd> |
| |
| <p> |
| The ids of source edits that are not known to be valid. An edit is |
| not known to be valid if there was insufficient type information |
| for the server to be able to determine whether or not the code |
| needs to be modified, such as when a member is being renamed and |
| there is a reference to a member from an unknown type. This field |
| will be omitted if the change field is omitted or if there are no |
| potential edits for the refactoring. |
| </p> |
| </dd></dl></dd><dt class="request">edit.sortMembers</dt><dd><div class="box"><pre>request: { |
| "id": String |
| "method": "edit.sortMembers" |
| "params": { |
| "<b>file</b>": <a href="#type_FilePath">FilePath</a> |
| } |
| }</pre><br><pre>response: { |
| "id": String |
| "error": <span style="color:#999999">optional</span> <a href="#type_RequestError">RequestError</a> |
| "result": { |
| "<b>edit</b>": <a href="#type_SourceFileEdit">SourceFileEdit</a> |
| } |
| }</pre></div> |
| <p> |
| Sort all of the directives, unit and class members |
| of the given Dart file. |
| </p> |
| <p> |
| If a request is made for a file that does not exist, does not belong |
| to an analysis root or is not a Dart file, |
| <tt>SORT_MEMBERS_INVALID_FILE</tt> will be generated. |
| </p> |
| <p> |
| If the Dart file has scan or parse errors, |
| <tt>SORT_MEMBERS_PARSE_ERRORS</tt> will be generated. |
| </p> |
| |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>file ( <a href="#type_FilePath">FilePath</a> )</i></b></dt><dd> |
| |
| <p> |
| The Dart file to sort. |
| </p> |
| </dd></dl><h4>Returns</h4><dl><dt class="field"><b><i>edit ( <a href="#type_SourceFileEdit">SourceFileEdit</a> )</i></b></dt><dd> |
| |
| <p> |
| The file edit that is to be applied to the given file to effect |
| the sorting. |
| </p> |
| </dd></dl></dd></dl> |
| <h2 class="domain"><a name="domain_execution">Domain: execution</a></h2> |
| <p> |
| The execution domain contains commands related to providing an execution |
| or debugging experience. |
| </p> |
| |
| |
| |
| |
| |
| <h3>Requests</h3><dl><dt class="request">execution.createContext</dt><dd><div class="box"><pre>request: { |
| "id": String |
| "method": "execution.createContext" |
| "params": { |
| "<b>contextRoot</b>": <a href="#type_FilePath">FilePath</a> |
| } |
| }</pre><br><pre>response: { |
| "<b>id</b>": String |
| "error": <span style="color:#999999">optional</span> <a href="#type_RequestError">RequestError</a> |
| "result": { |
| "<b>id</b>": <a href="#type_ExecutionContextId">ExecutionContextId</a> |
| } |
| }</pre></div> |
| <p> |
| Create an execution context for the executable file with the given |
| path. The context that is created will persist until |
| execution.deleteContext is used to delete it. Clients, therefore, are |
| responsible for managing the lifetime of execution contexts. |
| </p> |
| |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>contextRoot ( <a href="#type_FilePath">FilePath</a> )</i></b></dt><dd> |
| |
| <p> |
| The path of the Dart or HTML file that will be launched. |
| </p> |
| </dd></dl><h4>Returns</h4><dl><dt class="field"><b><i>id ( <a href="#type_ExecutionContextId">ExecutionContextId</a> )</i></b></dt><dd> |
| |
| <p> |
| The identifier used to refer to the execution context that was |
| created. |
| </p> |
| </dd></dl></dd><dt class="request">execution.deleteContext</dt><dd><div class="box"><pre>request: { |
| "<b>id</b>": String |
| "method": "execution.deleteContext" |
| "params": { |
| "<b>id</b>": <a href="#type_ExecutionContextId">ExecutionContextId</a> |
| } |
| }</pre><br><pre>response: { |
| "id": String |
| "error": <span style="color:#999999">optional</span> <a href="#type_RequestError">RequestError</a> |
| }</pre></div> |
| <p> |
| Delete the execution context with the given identifier. The context id |
| is no longer valid after this command. The server is allowed to re-use |
| ids when they are no longer valid. |
| </p> |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>id ( <a href="#type_ExecutionContextId">ExecutionContextId</a> )</i></b></dt><dd> |
| |
| <p> |
| The identifier of the execution context that is to be deleted. |
| </p> |
| </dd></dl></dd><dt class="request">execution.mapUri</dt><dd><div class="box"><pre>request: { |
| "<b>id</b>": String |
| "method": "execution.mapUri" |
| "params": { |
| "<b>id</b>": <a href="#type_ExecutionContextId">ExecutionContextId</a> |
| "<b>file</b>": <span style="color:#999999">optional</span> <a href="#type_FilePath">FilePath</a> |
| "<b>uri</b>": <span style="color:#999999">optional</span> String |
| } |
| }</pre><br><pre>response: { |
| "id": String |
| "error": <span style="color:#999999">optional</span> <a href="#type_RequestError">RequestError</a> |
| "result": { |
| "<b>file</b>": <span style="color:#999999">optional</span> <a href="#type_FilePath">FilePath</a> |
| "<b>uri</b>": <span style="color:#999999">optional</span> String |
| } |
| }</pre></div> |
| <p> |
| Map a URI from the execution context to the file that it corresponds |
| to, or map a file to the URI that it corresponds to in the execution |
| context. |
| </p> |
| <p> |
| Exactly one of the file and uri fields must be provided. |
| </p> |
| |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>id ( <a href="#type_ExecutionContextId">ExecutionContextId</a> )</i></b></dt><dd> |
| |
| <p> |
| The identifier of the execution context in which the URI is to be |
| mapped. |
| </p> |
| </dd><dt class="field"><b><i>file ( <span style="color:#999999">optional</span> <a href="#type_FilePath">FilePath</a> )</i></b></dt><dd> |
| |
| <p> |
| The path of the file to be mapped into a URI. |
| </p> |
| </dd><dt class="field"><b><i>uri ( <span style="color:#999999">optional</span> String )</i></b></dt><dd> |
| |
| <p> |
| The URI to be mapped into a file path. |
| </p> |
| </dd></dl><h4>Returns</h4><dl><dt class="field"><b><i>file ( <span style="color:#999999">optional</span> <a href="#type_FilePath">FilePath</a> )</i></b></dt><dd> |
| |
| <p> |
| The file to which the URI was mapped. This field is omitted if the |
| uri field was not given in the request. |
| </p> |
| </dd><dt class="field"><b><i>uri ( <span style="color:#999999">optional</span> String )</i></b></dt><dd> |
| |
| <p> |
| The URI to which the file path was mapped. This field is omitted |
| if the file field was not given in the request. |
| </p> |
| </dd></dl></dd><dt class="request">execution.setSubscriptions</dt><dd><div class="box"><pre>request: { |
| "id": String |
| "method": "execution.setSubscriptions" |
| "params": { |
| "<b>subscriptions</b>": List<<a href="#type_ExecutionService">ExecutionService</a>> |
| } |
| }</pre><br><pre>response: { |
| "id": String |
| "error": <span style="color:#999999">optional</span> <a href="#type_RequestError">RequestError</a> |
| }</pre></div> |
| <p> |
| Subscribe for services. All previous subscriptions are replaced by the |
| given set of services. |
| </p> |
| <p> |
| It is an error if any of the elements in the list are not valid |
| services. If there is an error, then the current subscriptions will |
| remain unchanged. |
| </p> |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>subscriptions ( List<<a href="#type_ExecutionService">ExecutionService</a>> )</i></b></dt><dd> |
| |
| <p> |
| A list of the services being subscribed to. |
| </p> |
| </dd></dl></dd></dl><h3>Notifications</h3><dl><dt class="notification">execution.launchData</dt><dd><div class="box"><pre>notification: { |
| "event": "execution.launchData" |
| "params": { |
| "<b>file</b>": <a href="#type_FilePath">FilePath</a> |
| "<b>kind</b>": <span style="color:#999999">optional</span> <a href="#type_ExecutableKind">ExecutableKind</a> |
| "<b>referencedFiles</b>": <span style="color:#999999">optional</span> List<<a href="#type_FilePath">FilePath</a>> |
| } |
| }</pre></div> |
| <p> |
| Reports information needed to allow a single file to be launched. |
| </p> |
| <p> |
| This notification is not subscribed to by default. Clients can |
| subscribe by including the value "LAUNCH_DATA" in the list of services |
| passed in an <tt>execution.setSubscriptions</tt> request. |
| </p> |
| |
| <h4>Parameters</h4><dl><dt class="field"><b><i>file ( <a href="#type_FilePath">FilePath</a> )</i></b></dt><dd> |
| |
| <p> |
| The file for which launch data is being provided. This will either |
| be a Dart library or an HTML file. |
| </p> |
| </dd><dt class="field"><b><i>kind ( <span style="color:#999999">optional</span> <a href="#type_ExecutableKind">ExecutableKind</a> )</i></b></dt><dd> |
| |
| <p> |
| The kind of the executable file. This field is omitted if the file |
| is not a Dart file. |
| </p> |
| </dd><dt class="field"><b><i>referencedFiles ( <span style="color:#999999">optional</span> List<<a href="#type_FilePath">FilePath</a>> )</i></b></dt><dd> |
| |
| <p> |
| A list of the Dart files that are referenced by the file. This |
| field is omitted if the file is not an HTML file. |
| </p> |
| </dd></dl></dd></dl> |
| |
| <h2 class="domain"><a name="types">Types</a></h2> |
| <p> |
| This section contains descriptions of the data types referenced |
| in the API’s of the various domains. |
| </p> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <dl><dt class="typeDefinition"><a name="type_AddContentOverlay">AddContentOverlay: object</a></dt><dd> |
| <p> |
| A directive to begin overlaying the contents of a file. The |
| supplied content will be used for analysis in place of the |
| file contents in the filesystem. |
| </p> |
| <p> |
| If this directive is used on a file that already has a file |
| content overlay, the old overlay is discarded and replaced |
| with the new one. |
| </p> |
| |
| <dl><dt class="field"><b><i>type = "add"</i></b></dt><dd></dd><dt class="field"><b><i>content ( String )</i></b></dt><dd> |
| |
| <p> |
| The new content of the file. |
| </p> |
| </dd></dl></dd><dt class="typeDefinition"><a name="type_AnalysisError">AnalysisError: object</a></dt><dd> |
| <p> |
| An indication of an error, warning, or hint that was produced |
| by the analysis. |
| </p> |
| |
| <dl><dt class="field"><b><i>severity ( <a href="#type_AnalysisErrorSeverity">AnalysisErrorSeverity</a> )</i></b></dt><dd> |
| |
| <p> |
| The severity of the error. |
| </p> |
| </dd><dt class="field"><b><i>type ( <a href="#type_AnalysisErrorType">AnalysisErrorType</a> )</i></b></dt><dd> |
| |
| <p> |
| The type of the error. |
| </p> |
| </dd><dt class="field"><b><i>location ( <a href="#type_Location">Location</a> )</i></b></dt><dd> |
| |
| <p> |
| The location associated with the error. |
| </p> |
| </dd><dt class="field"><b><i>message ( String )</i></b></dt><dd> |
| |
| <p> |
| The message to be displayed for this error. The message |
| should indicate what is wrong with the code and why it is |
| wrong. |
| </p> |
| </dd><dt class="field"><b><i>correction ( <span style="color:#999999">optional</span> String )</i></b></dt><dd> |
| |
| <p> |
| The correction message to be displayed for this error. The |
| correction message should indicate how the user can fix |
| the error. The field is omitted if there is no correction |
| message associated with the error code. |
| </p> |
| </dd></dl></dd><dt class="typeDefinition"><a name="type_AnalysisErrorFixes">AnalysisErrorFixes: object</a></dt><dd> |
| <p> |
| A list of fixes associated with a specific error |
| </p> |
| |
| <dl><dt class="field"><b><i>error ( <a href="#type_AnalysisError">AnalysisError</a> )</i></b></dt><dd> |
| |
| <p> |
| The error with which the fixes are associated. |
| </p> |
| </dd><dt class="field"><b><i>fixes ( List<<a href="#type_SourceChange">SourceChange</a>> )</i></b></dt><dd> |
| |
| <p> |
| The fixes associated with the error. |
| </p> |
| </dd></dl></dd><dt class="typeDefinition"><a name="type_AnalysisErrorSeverity">AnalysisErrorSeverity: String</a></dt><dd> |
| <p> |
| An enumeration of the possible severities of analysis |
| errors. |
| </p> |
| |
| <dl><dt class="value">INFO</dt><dt class="value">WARNING</dt><dt class="value">ERROR</dt></dl></dd><dt class="typeDefinition"><a name="type_AnalysisErrorType">AnalysisErrorType: String</a></dt><dd> |
| <p> |
| An enumeration of the possible types of analysis errors. |
| </p> |
| |
| <dl><dt class="value">CHECKED_MODE_COMPILE_TIME_ERROR</dt><dt class="value">COMPILE_TIME_ERROR</dt><dt class="value">HINT</dt><dt class="value">LINT</dt><dt class="value">STATIC_TYPE_WARNING</dt><dt class="value">STATIC_WARNING</dt><dt class="value">SYNTACTIC_ERROR</dt><dt class="value">TODO</dt></dl></dd><dt class="typeDefinition"><a name="type_AnalysisOptions">AnalysisOptions: object</a></dt><dd> |
| <p> |
| A set of options controlling what kind of analysis is to be |
| performed. If the value of a field is omitted the value of the |
| option will not be changed. |
| </p> |
| |
| <dl><dt class="field"><b><i>enableAsync ( <span style="color:#999999">optional</span> bool )</i></b></dt><dd> |
| |
| <p><b><i>Deprecated</i></b>/</p><p> |
| </p><p> |
| True if the client wants to enable support for the |
| proposed async feature. |
| </p> |
| </dd><dt class="field"><b><i>enableDeferredLoading ( <span style="color:#999999">optional</span> bool )</i></b></dt><dd> |
| |
| <p><b><i>Deprecated</i></b>/</p><p> |
| </p><p> |
| True if the client wants to enable support for the |
| proposed deferred loading feature. |
| </p> |
| </dd><dt class="field"><b><i>enableEnums ( <span style="color:#999999">optional</span> bool )</i></b></dt><dd> |
| |
| <p><b><i>Deprecated</i></b>/</p><p> |
| </p><p> |
| True if the client wants to enable support for the |
| proposed enum feature. |
| </p> |
| </dd><dt class="field"><b><i>generateDart2jsHints ( <span style="color:#999999">optional</span> bool )</i></b></dt><dd> |
| |
| <p> |
| True if hints that are specific to dart2js should be |
| generated. This option is ignored if generateHints is false. |
| </p> |
| </dd><dt class="field"><b><i>generateHints ( <span style="color:#999999">optional</span> bool )</i></b></dt><dd> |
| |
| <p> |
| True if hints should be generated as part of generating |
| errors and warnings. |
| </p> |
| </dd><dt class="field"><b><i>generateLints ( <span style="color:#999999">optional</span> bool )</i></b></dt><dd> |
| |
| <p> |
| True if lints should be generated as part of generating |
| errors and warnings. |
| </p> |
| </dd></dl></dd><dt class="typeDefinition"><a name="type_AnalysisService">AnalysisService: String</a></dt><dd> |
| <p> |
| An enumeration of the services provided by the analysis |
| domain. |
| </p> |
| |
| <dl><dt class="value">FOLDING</dt><dt class="value">HIGHLIGHTS</dt><dt class="value">INVALIDATE</dt><dt class="value">NAVIGATION</dt><dt class="value">OCCURRENCES</dt><dt class="value">OUTLINE</dt><dt class="value">OVERRIDES</dt></dl></dd><dt class="typeDefinition"><a name="type_AnalysisStatus">AnalysisStatus: object</a></dt><dd> |
| <p> |
| An indication of the current state of analysis. |
| </p> |
| |
| <dl><dt class="field"><b><i>isAnalyzing ( bool )</i></b></dt><dd> |
| |
| <p>True if analysis is currently being performed.</p> |
| </dd><dt class="field"><b><i>analysisTarget ( <span style="color:#999999">optional</span> String )</i></b></dt><dd> |
| |
| <p> |
| The name of the current target of analysis. This field is |
| omitted if analyzing is false. |
| </p> |
| </dd></dl></dd><dt class="typeDefinition"><a name="type_ChangeContentOverlay">ChangeContentOverlay: object</a></dt><dd> |
| <p> |
| A directive to modify an existing file content overlay. One or more |
| ranges of text are deleted from the old file content overlay and |
| replaced with new text. |
| </p> |
| <p> |
| The edits are applied in the order in which they occur in the list. |
| This means that the offset of each edit must be correct under the |
| assumption that all previous edits have been applied. |
| </p> |
| <p> |
| It is an error to use this overlay on a file that does not yet have |
| a file content overlay or that has had its overlay removed via |
| <a href="#type_RemoveContentOverlay">RemoveContentOverlay</a>. |
| </p> |
| <p> |
| If any of the edits cannot be applied due to its offset or |
| length being out of range, an INVALID_OVERLAY_CHANGE error |
| will be reported. |
| </p> |
| |
| <dl><dt class="field"><b><i>type = "change"</i></b></dt><dd></dd><dt class="field"><b><i>edits ( List<<a href="#type_SourceEdit">SourceEdit</a>> )</i></b></dt><dd> |
| |
| <p> |
| The edits to be applied to the file. |
| </p> |
| </dd></dl></dd><dt class="typeDefinition"><a name="type_CompletionId">CompletionId: String</a></dt><dd> |
| |
| <p> |
| An identifier used to associate completion results with a |
| completion request. |
| </p> |
| </dd><dt class="typeDefinition"><a name="type_CompletionSuggestion">CompletionSuggestion: object</a></dt><dd> |
| <p> |
| A suggestion for how to complete partially entered text. Many |
| of the fields are optional, depending on the kind of element |
| being suggested. |
| </p> |
| |
| <dl><dt class="field"><b><i>kind ( <a href="#type_CompletionSuggestionKind">CompletionSuggestionKind</a> )</i></b></dt><dd> |
| |
| <p> |
| The kind of element being suggested. |
| </p> |
| </dd><dt class="field"><b><i>relevance ( int )</i></b></dt><dd> |
| |
| <p> |
| The relevance of this completion suggestion |
| where a higher number indicates a higher relevance. |
| </p> |
| </dd><dt class="field"><b><i>completion ( String )</i></b></dt><dd> |
| |
| <p> |
| The identifier to be inserted if the suggestion is |
| selected. If the suggestion is for a method or function, |
| the client might want to additionally insert a template |
| for the parameters. The information required in order to |
| do so is contained in other fields. |
| </p> |
| </dd><dt class="field"><b><i>selectionOffset ( int )</i></b></dt><dd> |
| |
| <p> |
| The offset, relative to the beginning of the completion, |
| of where the selection should be placed after insertion. |
| </p> |
| </dd><dt class="field"><b><i>selectionLength ( int )</i></b></dt><dd> |
| |
| <p> |
| The number of characters that should be selected after |
| insertion. |
| </p> |
| </dd><dt class="field"><b><i>isDeprecated ( bool )</i></b></dt><dd> |
| |
| <p> |
| True if the suggested element is deprecated. |
| </p> |
| </dd><dt class="field"><b><i>isPotential ( bool )</i></b></dt><dd> |
| |
| <p> |
| True if the element is not known to be valid for the |
| target. This happens if the type of the target is dynamic. |
| </p> |
| </dd><dt class="field"><b><i>docSummary ( <span style="color:#999999">optional</span> String )</i></b></dt><dd> |
| |
| <p> |
| An abbreviated version of the Dartdoc associated with the |
| element being suggested, This field is omitted if there is |
| no Dartdoc associated with the element. |
| </p> |
| </dd><dt class="field"><b><i>docComplete ( <span style="color:#999999">optional</span> String )</i></b></dt><dd> |
| |
| <p> |
| The Dartdoc associated with the element being suggested, |
| This field is omitted if there is no Dartdoc associated |
| with the element. |
| </p> |
| </dd><dt class="field"><b><i>declaringType ( <span style="color:#999999">optional</span> String )</i></b></dt><dd> |
| |
| <p> |
| The class that declares the element being suggested. This |
| field is omitted if the suggested element is not a member |
| of a class. |
| </p> |
| </dd><dt class="field"><b><i>element ( <span style="color:#999999">optional</span> <a href="#type_Element">Element</a> )</i></b></dt><dd> |
| |
| <p> |
| Information about the element reference being suggested. |
| </p> |
| </dd><dt class="field"><b><i>returnType ( <span style="color:#999999">optional</span> String )</i></b></dt><dd> |
| |
| <p> |
| The return type of the getter, function or method |
| or the type of the field being suggested. |
| This field is omitted if the suggested element |
| is not a getter, function or method. |
| </p> |
| </dd><dt class="field"><b><i>parameterNames ( <span style="color:#999999">optional</span> List<String> )</i></b></dt><dd> |
| |
| <p> |
| The names of the parameters of the function or method |
| being suggested. This field is omitted if the suggested |
| element is not a setter, function or method. |
| </p> |
| </dd><dt class="field"><b><i>parameterTypes ( <span style="color:#999999">optional</span> List<String> )</i></b></dt><dd> |
| |
| <p> |
| The types of the parameters of the function or method |
| being suggested. This field is omitted if the |
| parameterNames field is omitted. |
| </p> |
| </dd><dt class="field"><b><i>requiredParameterCount ( <span style="color:#999999">optional</span> int )</i></b></dt><dd> |
| |
| <p> |
| The number of required parameters for the function or |
| method being suggested. This field is omitted if the |
| parameterNames field is omitted. |
| </p> |
| </dd><dt class="field"><b><i>hasNamedParameters ( <span style="color:#999999">optional</span> bool )</i></b></dt><dd> |
| |
| <p> |
| True if the function or method being suggested has at |
| least one named parameter. This field is omitted if the |
| parameterNames field is omitted. |
| </p> |
| </dd><dt class="field"><b><i>parameterName ( <span style="color:#999999">optional</span> String )</i></b></dt><dd> |
| |
| <p> |
| The name of the optional parameter being suggested. This |
| field is omitted if the suggestion is not the addition of |
| an optional argument within an argument list. |
| </p> |
| </dd><dt class="field"><b><i>parameterType ( <span style="color:#999999">optional</span> String )</i></b></dt><dd> |
| |
| <p> |
| The type of the options parameter being suggested. This |
| field is omitted if the parameterName field is omitted. |
| </p> |
| </dd></dl></dd><dt class="typeDefinition"><a name="type_CompletionSuggestionKind">CompletionSuggestionKind: String</a></dt><dd> |
| <p> |
| An enumeration of the kinds of elements that can be included |
| in a completion suggestion. |
| </p> |
| |
| <dl><dt class="value">ARGUMENT_LIST</dt><dd> |
| |
| <p> |
| A list of arguments for the method or function that is being invoked. |
| For this suggestion kind, the completion field is a textual representation |
| of the invocation and the parameterNames, parameterTypes, and requiredParameterCount |
| attributes are defined. |
| </p> |
| </dd><dt class="value">IMPORT</dt><dt class="value">IDENTIFIER</dt><dd> |
| |
| <p> |
| The element identifier should be inserted at the completion location. |
| For example "someMethod" in import 'myLib.dart' show someMethod; . |
| For suggestions of this kind, the element attribute is defined |
| and the completion field is the element's identifier. |
| </p> |
| </dd><dt class="value">INVOCATION</dt><dd> |
| |
| <p> |
| The element is being invoked at the completion location. |
| For example, "someMethod" in x.someMethod(); . |
| For suggestions of this kind, the element attribute is defined |
| and the completion field is the element's identifier. |
| </p> |
| </dd><dt class="value">KEYWORD</dt><dd> |
| |
| <p> |
| A keyword is being suggested. |
| For suggestions of this kind, the completion is the keyword. |
| </p> |
| </dd><dt class="value">NAMED_ARGUMENT</dt><dt class="value">OPTIONAL_ARGUMENT</dt><dt class="value">PARAMETER</dt></dl></dd><dt class="typeDefinition"><a name="type_Element">Element: object</a></dt><dd> |
| <p> |
| Information about an element (something that can be declared |
| in code). |
| </p> |
| |
| <dl><dt class="field"><b><i>kind ( <a href="#type_ElementKind">ElementKind</a> )</i></b></dt><dd> |
| |
| <p> |
| The kind of the element. |
| </p> |
| </dd><dt class="field"><b><i>name ( String )</i></b></dt><dd> |
| |
| <p> |
| The name of the element. This is typically used as the |
| label in the outline. |
| </p> |
| </dd><dt class="field"><b><i>location ( <span style="color:#999999">optional</span> <a href="#type_Location">Location</a> )</i></b></dt><dd> |
| |
| <p> |
| The location of the name in the declaration of the |
| element. |
| </p> |
| </dd><dt class="field"><b><i>flags ( int )</i></b></dt><dd> |
| |
| <p> |
| A bit-map containing the following flags: |
| </p> |
| <ul> |
| <li>0x01 - set if the element is explicitly or implicitly abstract</li> |
| <li>0x02 - set if the element was declared to be ‘const’</li> |
| <li>0x04 - set if the element was declared to be ‘final’</li> |
| <li>0x08 - set if the element is a static member of a class or is a top-level function or field</li> |
| <li>0x10 - set if the element is private</li> |
| <li>0x20 - set if the element is deprecated</li> |
| </ul> |
| </dd><dt class="field"><b><i>parameters ( <span style="color:#999999">optional</span> String )</i></b></dt><dd> |
| |
| <p> |
| The parameter list for the element. If the element is not |
| a method or function this field will not be defined. If |
| the element doesn't have parameters (e.g. getter), this field |
| will not be defined. If the element has zero parameters, this |
| field will have a value of "()". |
| </p> |
| </dd><dt class="field"><b><i>returnType ( <span style="color:#999999">optional</span> String )</i></b></dt><dd> |
| |
| <p> |
| The return type of the element. If the element is not a |
| method or function this field will not be defined. If the |
| element does not have a declared return type, this field |
| will contain an empty string. |
| </p> |
| </dd></dl></dd><dt class="typeDefinition"><a name="type_ElementKind">ElementKind: String</a></dt><dd> |
| <p> |
| An enumeration of the kinds of elements. |
| </p> |
| |
| <dl><dt class="value">CLASS</dt><dt class="value">CLASS_TYPE_ALIAS</dt><dt class="value">COMPILATION_UNIT</dt><dt class="value">CONSTRUCTOR</dt><dt class="value">FIELD</dt><dt class="value">FUNCTION</dt><dt class="value">FUNCTION_TYPE_ALIAS</dt><dt class="value">GETTER</dt><dt class="value">LABEL</dt><dt class="value">LIBRARY</dt><dt class="value">LOCAL_VARIABLE</dt><dt class="value">METHOD</dt><dt class="value">PARAMETER</dt><dt class="value">PREFIX</dt><dt class="value">SETTER</dt><dt class="value">TOP_LEVEL_VARIABLE</dt><dt class="value">TYPE_PARAMETER</dt><dt class="value">UNIT_TEST_GROUP</dt><dt class="value">UNIT_TEST_TEST</dt><dt class="value">UNKNOWN</dt></dl></dd><dt class="typeDefinition"><a name="type_ExecutableFile">ExecutableFile: object</a></dt><dd> |
| <p> |
| A description of an executable file. |
| </p> |
| |
| <dl><dt class="field"><b><i>file ( <a href="#type_FilePath">FilePath</a> )</i></b></dt><dd> |
| |
| <p> |
| The path of the executable file. |
| </p> |
| </dd><dt class="field"><b><i>kind ( <a href="#type_ExecutableKind">ExecutableKind</a> )</i></b></dt><dd> |
| |
| <p> |
| The kind of the executable file. |
| </p> |
| </dd></dl></dd><dt class="typeDefinition"><a name="type_ExecutableKind">ExecutableKind: String</a></dt><dd> |
| <p> |
| An enumeration of the kinds of executable files. |
| </p> |
| |
| <dl><dt class="value">CLIENT</dt><dt class="value">EITHER</dt><dt class="value">NOT_EXECUTABLE</dt><dt class="value">SERVER</dt></dl></dd><dt class="typeDefinition"><a name="type_ExecutionContextId">ExecutionContextId: String</a></dt><dd> |
| |
| <p> |
| The identifier for a execution context. |
| </p> |
| </dd><dt class="typeDefinition"><a name="type_ExecutionService">ExecutionService: String</a></dt><dd> |
| <p> |
| An enumeration of the services provided by the execution |
| domain. |
| </p> |
| |
| <dl><dt class="value">LAUNCH_DATA</dt></dl></dd><dt class="typeDefinition"><a name="type_FilePath">FilePath: String</a></dt><dd> |
| |
| <p> |
| The absolute path of a file. |
| </p> |
| </dd><dt class="typeDefinition"><a name="type_FoldingKind">FoldingKind: String</a></dt><dd> |
| <p> |
| An enumeration of the kinds of folding regions. |
| </p> |
| |
| <dl><dt class="value">COMMENT</dt><dt class="value">CLASS_MEMBER</dt><dt class="value">DIRECTIVES</dt><dt class="value">DOCUMENTATION_COMMENT</dt><dt class="value">TOP_LEVEL_DECLARATION</dt></dl></dd><dt class="typeDefinition"><a name="type_FoldingRegion">FoldingRegion: object</a></dt><dd> |
| <p> |
| A description of a region that can be folded. |
| </p> |
| |
| <dl><dt class="field"><b><i>kind ( <a href="#type_FoldingKind">FoldingKind</a> )</i></b></dt><dd> |
| |
| <p> |
| The kind of the region. |
| </p> |
| </dd><dt class="field"><b><i>offset ( int )</i></b></dt><dd> |
| |
| <p> |
| The offset of the region to be folded. |
| </p> |
| </dd><dt class="field"><b><i>length ( int )</i></b></dt><dd> |
| |
| <p> |
| The length of the region to be folded. |
| </p> |
| </dd></dl></dd><dt class="typeDefinition"><a name="type_HighlightRegion">HighlightRegion: object</a></dt><dd> |
| <p> |
| A description of a region that could have special highlighting |
| associated with it. |
| </p> |
| |
| <dl><dt class="field"><b><i>type ( <a href="#type_HighlightRegionType">HighlightRegionType</a> )</i></b></dt><dd> |
| |
| <p> |
| The type of highlight associated with the region. |
| </p> |
| </dd><dt class="field"><b><i>offset ( int )</i></b></dt><dd> |
| |
| <p> |
| The offset of the region to be highlighted. |
| </p> |
| </dd><dt class="field"><b><i>length ( int )</i></b></dt><dd> |
| |
| <p> |
| The length of the region to be highlighted. |
| </p> |
| </dd></dl></dd><dt class="typeDefinition"><a name="type_HighlightRegionType">HighlightRegionType: String</a></dt><dd> |
| <p> |
| An enumeration of the kinds of highlighting that can be |
| applied to files. |
| </p> |
| |
| <dl><dt class="value">ANNOTATION</dt><dt class="value">BUILT_IN</dt><dt class="value">CLASS</dt><dt class="value">COMMENT_BLOCK</dt><dt class="value">COMMENT_DOCUMENTATION</dt><dt class="value">COMMENT_END_OF_LINE</dt><dt class="value">CONSTRUCTOR</dt><dt class="value">DIRECTIVE</dt><dt class="value">DYNAMIC_TYPE</dt><dt class="value">ENUM</dt><dt class="value">ENUM_CONSTANT</dt><dt class="value">FIELD</dt><dt class="value">FIELD_STATIC</dt><dt class="value">FUNCTION</dt><dt class="value">FUNCTION_DECLARATION</dt><dt class="value">FUNCTION_TYPE_ALIAS</dt><dt class="value">GETTER_DECLARATION</dt><dt class="value">IDENTIFIER_DEFAULT</dt><dt class="value">IMPORT_PREFIX</dt><dt class="value">KEYWORD</dt><dt class="value">LABEL</dt><dt class="value">LITERAL_BOOLEAN</dt><dt class="value">LITERAL_DOUBLE</dt><dt class="value">LITERAL_INTEGER</dt><dt class="value">LITERAL_LIST</dt><dt class="value">LITERAL_MAP</dt><dt class="value">LITERAL_STRING</dt><dt class="value">LOCAL_VARIABLE</dt><dt class="value">LOCAL_VARIABLE_DECLARATION</dt><dt class="value">METHOD</dt><dt class="value">METHOD_DECLARATION</dt><dt class="value">METHOD_DECLARATION_STATIC</dt><dt class="value">METHOD_STATIC</dt><dt class="value">PARAMETER</dt><dt class="value">SETTER_DECLARATION</dt><dt class="value">TOP_LEVEL_VARIABLE</dt><dt class="value">TYPE_NAME_DYNAMIC</dt><dt class="value">TYPE_PARAMETER</dt></dl></dd><dt class="typeDefinition"><a name="type_HoverInformation">HoverInformation: object</a></dt><dd> |
| <p> |
| The hover information associated with a specific location. |
| </p> |
| |
| <dl><dt class="field"><b><i>offset ( int )</i></b></dt><dd> |
| |
| <p> |
| The offset of the range of characters that encompases the |
| cursor position and has the same hover information as the |
| cursor position. |
| </p> |
| </dd><dt class="field"><b><i>length ( int )</i></b></dt><dd> |
| |
| <p> |
| The length of the range of characters that encompases the |
| cursor position and has the same hover information as the |
| cursor position. |
| </p> |
| </dd><dt class="field"><b><i>containingLibraryPath ( <span style="color:#999999">optional</span> String )</i></b></dt><dd> |
| |
| <p> |
| The path to the defining compilation unit of the library |
| in which the referenced element is declared. This data is |
| omitted if there is no referenced element, or if the |
| element is declared inside an HTML file. |
| </p> |
| </dd><dt class="field"><b><i>containingLibraryName ( <span style="color:#999999">optional</span> String )</i></b></dt><dd> |
| |
| <p> |
| The name of the library in which the referenced element is |
| declared. This data is omitted if there is no referenced |
| element, or if the element is declared inside an HTML |
| file. |
| </p> |
| </dd><dt class="field"><b><i>dartdoc ( <span style="color:#999999">optional</span> String )</i></b></dt><dd> |
| |
| <p> |
| The dartdoc associated with the referenced element. Other |
| than the removal of the comment delimiters, including |
| leading asterisks in the case of a block comment, the |
| dartdoc is unprocessed markdown. This data is omitted if |
| there is no referenced element, or if the element has no |
| dartdoc. |
| </p> |
| </dd><dt class="field"><b><i>elementDescription ( <span style="color:#999999">optional</span> String )</i></b></dt><dd> |
| |
| <p> |
| A human-readable description of the element being |
| referenced. This data is omitted if there is no referenced |
| element. |
| </p> |
| </dd><dt class="field"><b><i>elementKind ( <span style="color:#999999">optional</span> String )</i></b></dt><dd> |
| |
| <p> |
| A human-readable description of the kind of element being |
| referenced (such as “class” or “function type |
| alias”). This data is omitted if there is no referenced |
| element. |
| </p> |
| </dd><dt class="field"><b><i>parameter ( <span style="color:#999999">optional</span> String )</i></b></dt><dd> |
| |
| <p> |
| A human-readable description of the parameter |
| corresponding to the expression being hovered over. This |
| data is omitted if the location is not in an argument to a |
| function. |
| </p> |
| </dd><dt class="field"><b><i>propagatedType ( <span style="color:#999999">optional</span> String )</i></b></dt><dd> |
| |
| <p> |
| The name of the propagated type of the expression. This |
| data is omitted if the location does not correspond to an |
| expression or if there is no propagated type information. |
| </p> |
| </dd><dt class="field"><b><i>staticType ( <span style="color:#999999">optional</span> String )</i></b></dt><dd> |
| |
| <p> |
| The name of the static type of the expression. This data |
| is omitted if the location does not correspond to an |
| expression. |
| </p> |
| </dd></dl></dd><dt class="typeDefinition"><a name="type_LinkedEditGroup">LinkedEditGroup: object</a></dt><dd> |
| <p> |
| A collection of positions that should be linked (edited |
| simultaneously) for the purposes of updating code after a |
| source change. For example, if a set of edits introduced a |
| new variable name, the group would contain all of the |
| positions of the variable name so that if the client wanted |
| to let the user edit the variable name after the operation, |
| all occurrences of the name could be edited simultaneously. |
| </p> |
| |
| <dl><dt class="field"><b><i>positions ( List<<a href="#type_Position">Position</a>> )</i></b></dt><dd> |
| |
| <p> |
| The positions of the regions that should be edited |
| simultaneously. |
| </p> |
| </dd><dt class="field"><b><i>length ( int )</i></b></dt><dd> |
| |
| <p> |
| The length of the regions that should be edited |
| simultaneously. |
| </p> |
| </dd><dt class="field"><b><i>suggestions ( List<<a href="#type_LinkedEditSuggestion">LinkedEditSuggestion</a>> )</i></b></dt><dd> |
| |
| <p> |
| Pre-computed suggestions for what every region might |
| want to be changed to. |
| </p> |
| </dd></dl></dd><dt class="typeDefinition"><a name="type_LinkedEditSuggestion">LinkedEditSuggestion: object</a></dt><dd> |
| <p> |
| A suggestion of a value that could be used to replace all of |
| the linked edit regions in a LinkedEditGroup. |
| </p> |
| |
| <dl><dt class="field"><b><i>value ( String )</i></b></dt><dd> |
| |
| <p> |
| The value that could be used to replace all of the linked |
| edit regions. |
| </p> |
| </dd><dt class="field"><b><i>kind ( <a href="#type_LinkedEditSuggestionKind">LinkedEditSuggestionKind</a> )</i></b></dt><dd> |
| |
| <p> |
| The kind of value being proposed. |
| </p> |
| </dd></dl></dd><dt class="typeDefinition"><a name="type_LinkedEditSuggestionKind">LinkedEditSuggestionKind: String</a></dt><dd> |
| <p> |
| An enumeration of the kind of values that can be suggested |
| for a linked edit. |
| </p> |
| |
| <dl><dt class="value">METHOD</dt><dt class="value">PARAMETER</dt><dt class="value">TYPE</dt><dt class="value">VARIABLE</dt></dl></dd><dt class="typeDefinition"><a name="type_Location">Location: object</a></dt><dd> |
| <p> |
| A location (character range) within a file. |
| </p> |
| |
| <dl><dt class="field"><b><i>file ( <a href="#type_FilePath">FilePath</a> )</i></b></dt><dd> |
| |
| <p> |
| The file containing the range. |
| </p> |
| </dd><dt class="field"><b><i>offset ( int )</i></b></dt><dd> |
| |
| <p> |
| The offset of the range. |
| </p> |
| </dd><dt class="field"><b><i>length ( int )</i></b></dt><dd> |
| |
| <p> |
| The length of the range. |
| </p> |
| </dd><dt class="field"><b><i>startLine ( int )</i></b></dt><dd> |
| |
| <p> |
| The one-based index of the line containing the first |
| character of the range. |
| </p> |
| </dd><dt class="field"><b><i>startColumn ( int )</i></b></dt><dd> |
| |
| <p> |
| The one-based index of the column containing the first |
| character of the range. |
| </p> |
| </dd></dl></dd><dt class="typeDefinition"><a name="type_NavigationRegion">NavigationRegion: object</a></dt><dd> |
| <p> |
| A description of a region from which the user can navigate to |
| the declaration of an element. |
| </p> |
| |
| <dl><dt class="field"><b><i>offset ( int )</i></b></dt><dd> |
| |
| <p> |
| The offset of the region from which the user can navigate. |
| </p> |
| </dd><dt class="field"><b><i>length ( int )</i></b></dt><dd> |
| |
| <p> |
| The length of the region from which the user can navigate. |
| </p> |
| </dd><dt class="field"><b><i>targets ( List<int> )</i></b></dt><dd> |
| |
| <p> |
| The indexes of the targets (in the enclosing navigation response) |
| to which the given region is bound. By opening the target, clients |
| can implement one form of navigation. |
| </p> |
| </dd></dl></dd><dt class="typeDefinition"><a name="type_NavigationTarget">NavigationTarget: object</a></dt><dd> |
| <p> |
| A description of a target to which the user can navigate. |
| </p> |
| |
| <dl><dt class="field"><b><i>kind ( <a href="#type_ElementKind">ElementKind</a> )</i></b></dt><dd> |
| |
| <p> |
| The kind of the element. |
| </p> |
| </dd><dt class="field"><b><i>fileIndex ( int )</i></b></dt><dd> |
| |
| <p> |
| The index of the file (in the enclosing navigation response) to |
| navigate to. |
| </p> |
| </dd><dt class="field"><b><i>offset ( int )</i></b></dt><dd> |
| |
| <p> |
| The offset of the region from which the user can navigate. |
| </p> |
| </dd><dt class="field"><b><i>length ( int )</i></b></dt><dd> |
| |
| <p> |
| The length of the region from which the user can navigate. |
| </p> |
| </dd><dt class="field"><b><i>startLine ( int )</i></b></dt><dd> |
| |
| <p> |
| The one-based index of the line containing the first |
| character of the region. |
| </p> |
| </dd><dt class="field"><b><i>startColumn ( int )</i></b></dt><dd> |
| |
| <p> |
| The one-based index of the column containing the first |
| character of the region. |
| </p> |
| </dd></dl></dd><dt class="typeDefinition"><a name="type_Occurrences">Occurrences: object</a></dt><dd> |
| <p> |
| A description of the references to a single element within a |
| single file. |
| </p> |
| |
| <dl><dt class="field"><b><i>element ( <a href="#type_Element">Element</a> )</i></b></dt><dd> |
| |
| <p> |
| The element that was referenced. |
| </p> |
| </dd><dt class="field"><b><i>offsets ( List<int> )</i></b></dt><dd> |
| |
| <p> |
| The offsets of the name of the referenced element within |
| the file. |
| </p> |
| </dd><dt class="field"><b><i>length ( int )</i></b></dt><dd> |
| |
| <p> |
| The length of the name of the referenced element. |
| </p> |
| </dd></dl></dd><dt class="typeDefinition"><a name="type_Outline">Outline: object</a></dt><dd> |
| <p> |
| An node in the outline structure of a file. |
| </p> |
| |
| <dl><dt class="field"><b><i>element ( <a href="#type_Element">Element</a> )</i></b></dt><dd> |
| |
| <p> |
| A description of the element represented by this node. |
| </p> |
| </dd><dt class="field"><b><i>offset ( int )</i></b></dt><dd> |
| |
| <p> |
| The offset of the first character of the element. This is |
| different than the offset in the Element, which if the |
| offset of the name of the element. It can be used, for |
| example, to map locations in the file back to an outline. |
| </p> |
| </dd><dt class="field"><b><i>length ( int )</i></b></dt><dd> |
| |
| <p> |
| The length of the element. |
| </p> |
| </dd><dt class="field"><b><i>children ( <span style="color:#999999">optional</span> List<<a href="#type_Outline">Outline</a>> )</i></b></dt><dd> |
| |
| <p> |
| The children of the node. The field will be omitted if the |
| node has no children. |
| </p> |
| </dd></dl></dd><dt class="typeDefinition"><a name="type_Override">Override: object</a></dt><dd> |
| <p> |
| A description of a member that overrides an inherited member. |
| </p> |
| |
| <dl><dt class="field"><b><i>offset ( int )</i></b></dt><dd> |
| |
| <p> |
| The offset of the name of the overriding member. |
| </p> |
| </dd><dt class="field"><b><i>length ( int )</i></b></dt><dd> |
| |
| <p> |
| The length of the name of the overriding member. |
| </p> |
| </dd><dt class="field"><b><i>superclassMember ( <span style="color:#999999">optional</span> <a href="#type_OverriddenMember">OverriddenMember</a> )</i></b></dt><dd> |
| |
| <p> |
| The member inherited from a superclass that is overridden |
| by the overriding member. The field is omitted if there is |
| no superclass member, in which case there must be at least |
| one interface member. |
| </p> |
| </dd><dt class="field"><b><i>interfaceMembers ( <span style="color:#999999">optional</span> List<<a href="#type_OverriddenMember">OverriddenMember</a>> )</i></b></dt><dd> |
| |
| <p> |
| The members inherited from interfaces that are overridden |
| by the overriding member. The field is omitted if there |
| are no interface members, in which case there must be a |
| superclass member. |
| </p> |
| </dd></dl></dd><dt class="typeDefinition"><a name="type_OverriddenMember">OverriddenMember: object</a></dt><dd> |
| <p> |
| A description of a member that is being overridden. |
| </p> |
| |
| <dl><dt class="field"><b><i>element ( <a href="#type_Element">Element</a> )</i></b></dt><dd> |
| |
| <p> |
| The element that is being overridden. |
| </p> |
| </dd><dt class="field"><b><i>className ( String )</i></b></dt><dd> |
| |
| <p> |
| The name of the class in which the member is defined. |
| </p> |
| </dd></dl></dd><dt class="typeDefinition"><a name="type_Position">Position: object</a></dt><dd> |
| <p> |
| A position within a file. |
| </p> |
| |
| <dl><dt class="field"><b><i>file ( <a href="#type_FilePath">FilePath</a> )</i></b></dt><dd> |
| |
| <p> |
| The file containing the position. |
| </p> |
| </dd><dt class="field"><b><i>offset ( int )</i></b></dt><dd> |
| |
| <p> |
| The offset of the position. |
| </p> |
| </dd></dl></dd><dt class="typeDefinition"><a name="type_PubStatus">PubStatus: object</a></dt><dd> |
| <p> |
| An indication of the current state of pub execution. |
| </p> |
| |
| <dl><dt class="field"><b><i>isListingPackageDirs ( bool )</i></b></dt><dd> |
| |
| <p> |
| True if the server is currently running pub to produce a list of |
| package directories. |
| </p> |
| </dd></dl></dd><dt class="typeDefinition"><a name="type_RefactoringKind">RefactoringKind: String</a></dt><dd> |
| <p> |
| An enumeration of the kinds of refactorings that can be |
| created. |
| </p> |
| |
| <dl><dt class="value">CONVERT_GETTER_TO_METHOD</dt><dt class="value">CONVERT_METHOD_TO_GETTER</dt><dt class="value">EXTRACT_LOCAL_VARIABLE</dt><dt class="value">EXTRACT_METHOD</dt><dt class="value">INLINE_LOCAL_VARIABLE</dt><dt class="value">INLINE_METHOD</dt><dt class="value">MOVE_FILE</dt><dt class="value">RENAME</dt><dt class="value">SORT_MEMBERS</dt></dl></dd><dt class="typeDefinition"><a name="type_RefactoringMethodParameter">RefactoringMethodParameter: object</a></dt><dd> |
| <p> |
| A description of a parameter in a method refactoring. |
| </p> |
| |
| <dl><dt class="field"><b><i>id ( <span style="color:#999999">optional</span> String )</i></b></dt><dd> |
| |
| <p> |
| The unique identifier of the parameter. |
| Clients may omit this field for the parameters they want to add. |
| </p> |
| </dd><dt class="field"><b><i>kind ( <a href="#type_RefactoringMethodParameterKind">RefactoringMethodParameterKind</a> )</i></b></dt><dd> |
| |
| <p> |
| The kind of the parameter. |
| </p> |
| </dd><dt class="field"><b><i>type ( String )</i></b></dt><dd> |
| |
| <p> |
| The type that should be given to the parameter, or the return type |
| of the parameter's function type. |
| </p> |
| </dd><dt class="field"><b><i>name ( String )</i></b></dt><dd> |
| |
| <p> |
| The name that should be given to the parameter. |
| </p> |
| </dd><dt class="field"><b><i>parameters ( <span style="color:#999999">optional</span> String )</i></b></dt><dd> |
| |
| <p> |
| The parameter list of the parameter's function type. |
| If the parameter is not of a function type, this field will |
| not be defined. If the function type has zero parameters, this |
| field will have a value of "()". |
| </p> |
| </dd></dl></dd><dt class="typeDefinition"><a name="type_RefactoringFeedback">RefactoringFeedback: object</a></dt><dd> |
| <p> |
| An abstract superclass of all refactoring feedbacks. |
| </p> |
| |
| <dl></dl></dd><dt class="typeDefinition"><a name="type_RefactoringOptions">RefactoringOptions: object</a></dt><dd> |
| <p> |
| An abstract superclass of all refactoring options. |
| </p> |
| |
| <dl></dl></dd><dt class="typeDefinition"><a name="type_RefactoringMethodParameterKind">RefactoringMethodParameterKind: String</a></dt><dd> |
| <p> |
| An enumeration of the kinds of parameters. |
| </p> |
| |
| <dl><dt class="value">REQUIRED</dt><dt class="value">POSITIONAL</dt><dt class="value">NAMED</dt></dl></dd><dt class="typeDefinition"><a name="type_RefactoringProblem">RefactoringProblem: object</a></dt><dd> |
| <p> |
| A description of a problem related to a refactoring. |
| </p> |
| |
| <dl><dt class="field"><b><i>severity ( <a href="#type_RefactoringProblemSeverity">RefactoringProblemSeverity</a> )</i></b></dt><dd> |
| |
| <p> |
| The severity of the problem being represented. |
| </p> |
| </dd><dt class="field"><b><i>message ( String )</i></b></dt><dd> |
| |
| <p> |
| A human-readable description of the problem being |
| represented. |
| </p> |
| </dd><dt class="field"><b><i>location ( <span style="color:#999999">optional</span> <a href="#type_Location">Location</a> )</i></b></dt><dd> |
| |
| <p> |
| The location of the problem being represented. |
| This field is omitted unless there is a specific location |
| associated with the problem (such as a location where an element |
| being renamed will be shadowed). |
| </p> |
| </dd></dl></dd><dt class="typeDefinition"><a name="type_RefactoringProblemSeverity">RefactoringProblemSeverity: String</a></dt><dd> |
| <p> |
| An enumeration of the severities of problems that can be |
| returned by the refactoring requests. |
| </p> |
| |
| <dl><dt class="value">INFO</dt><dt class="value">WARNING</dt><dt class="value">ERROR</dt><dt class="value">FATAL</dt></dl></dd><dt class="typeDefinition"><a name="type_RemoveContentOverlay">RemoveContentOverlay: object</a></dt><dd> |
| <p> |
| A directive to remove an existing file content overlay. |
| After processing this directive, the file contents will once |
| again be read from the file system. |
| </p> |
| <p> |
| If this directive is used on a file that doesn't currently |
| have a content overlay, it has no effect. |
| </p> |
| |
| <dl><dt class="field"><b><i>type = "remove"</i></b></dt><dd></dd></dl></dd><dt class="typeDefinition"><a name="type_RequestError">RequestError: object</a></dt><dd> |
| <p> |
| An indication of a problem with the execution of the server, |
| typically in response to a request. |
| </p> |
| |
| <dl><dt class="field"><b><i>code ( <a href="#type_RequestErrorCode">RequestErrorCode</a> )</i></b></dt><dd> |
| |
| <p> |
| A code that uniquely identifies the error that occurred. |
| </p> |
| </dd><dt class="field"><b><i>message ( String )</i></b></dt><dd> |
| |
| <p> |
| A short description of the error. |
| </p> |
| </dd><dt class="field"><b><i>stackTrace ( <span style="color:#999999">optional</span> String )</i></b></dt><dd> |
| |
| <p> |
| The stack trace associated with processing the request, |
| used for debugging the server. |
| </p> |
| </dd></dl></dd><dt class="typeDefinition"><a name="type_RequestErrorCode">RequestErrorCode: String</a></dt><dd> |
| <p> |
| An enumeration of the types of errors that can occur in the |
| execution of the server. |
| </p> |
| |
| <dl><dt class="value">CONTENT_MODIFIED</dt><dd> |
| |
| <p> |
| An "analysis.getErrors" or "analysis.getNavigation" request could |
| not be satisfied because the content of the file changed before |
| the requested results could be computed. |
| </p> |
| </dd><dt class="value">FORMAT_INVALID_FILE</dt><dd> |
| |
| <p> |
| An "edit.format" request specified a FilePath |
| which does not match a Dart file in an analysis root. |
| </p> |
| </dd><dt class="value">GET_ERRORS_INVALID_FILE</dt><dd> |
| |
| <p> |
| An "analysis.getErrors" request specified a FilePath |
| which does not match a file currently subject to |
| analysis. |
| </p> |
| </dd><dt class="value">INVALID_OVERLAY_CHANGE</dt><dd> |
| |
| <p> |
| An analysis.updateContent request contained a |
| ChangeContentOverlay object which can't be applied, due |
| to an edit having an offset or length that is out of |
| range. |
| </p> |
| </dd><dt class="value">INVALID_PARAMETER</dt><dd> |
| |
| <p> |
| One of the method parameters was invalid. |
| </p> |
| </dd><dt class="value">INVALID_REQUEST</dt><dd> |
| |
| <p> |
| A malformed request was received. |
| </p> |
| </dd><dt class="value">SERVER_ALREADY_STARTED</dt><dd> |
| |
| <p> |
| The analysis server has already been started (and hence |
| won't accept new connections). |
| </p> |
| <p> |
| This error is included for future expansion; at present |
| the analysis server can only speak to one client at a |
| time so this error will never occur. |
| </p> |
| </dd><dt class="value">SERVER_ERROR</dt><dd> |
| |
| <p> |
| An internal error occurred in the analysis server. |
| Also see the server.error notification. |
| </p> |
| </dd><dt class="value">SORT_MEMBERS_INVALID_FILE</dt><dd> |
| |
| <p> |
| An "edit.sortMembers" request specified a FilePath |
| which does not match a Dart file in an analysis root. |
| </p> |
| </dd><dt class="value">SORT_MEMBERS_PARSE_ERRORS</dt><dd> |
| |
| <p> |
| An "edit.sortMembers" request specified a Dart file that has |
| scan or parse errors. |
| </p> |
| </dd><dt class="value">UNANALYZED_PRIORITY_FILES</dt><dd> |
| |
| <p> |
| An "analysis.setPriorityFiles" request includes one or |
| more files that are not being analyzed. |
| </p> |
| <p> |
| This is a legacy error; it will be removed before the |
| API reaches version 1.0. |
| </p> |
| |
| </dd><dt class="value">UNKNOWN_REQUEST</dt><dd> |
| |
| <p> |
| A request was received which the analysis server does |
| not recognize, or cannot handle in its current |
| configuation. |
| </p> |
| </dd><dt class="value">UNSUPPORTED_FEATURE</dt><dd> |
| |
| <p> |
| The analysis server was requested to perform an action |
| which is not supported. |
| </p> |
| <p> |
| This is a legacy error; it will be removed before the |
| API reaches version 1.0. |
| </p> |
| |
| </dd></dl></dd><dt class="typeDefinition"><a name="type_SearchId">SearchId: String</a></dt><dd> |
| |
| <p> |
| An identifier used to associate search results with a search |
| request. |
| </p> |
| </dd><dt class="typeDefinition"><a name="type_SearchResult">SearchResult: object</a></dt><dd> |
| <p> |
| A single result from a search request. |
| </p> |
| |
| <dl><dt class="field"><b><i>location ( <a href="#type_Location">Location</a> )</i></b></dt><dd> |
| |
| <p> |
| The location of the code that matched the search criteria. |
| </p> |
| </dd><dt class="field"><b><i>kind ( <a href="#type_SearchResultKind">SearchResultKind</a> )</i></b></dt><dd> |
| |
| <p> |
| The kind of element that was found or the kind of |
| reference that was found. |
| </p> |
| </dd><dt class="field"><b><i>isPotential ( bool )</i></b></dt><dd> |
| |
| <p> |
| True if the result is a potential match but cannot be |
| confirmed to be a match. For example, if all references to |
| a method m defined in some class were requested, and a |
| reference to a method m from an unknown class were found, |
| it would be marked as being a potential match. |
| </p> |
| </dd><dt class="field"><b><i>path ( List<<a href="#type_Element">Element</a>> )</i></b></dt><dd> |
| |
| <p> |
| The elements that contain the result, starting with the |
| most immediately enclosing ancestor and ending with the |
| library. |
| </p> |
| </dd></dl></dd><dt class="typeDefinition"><a name="type_SearchResultKind">SearchResultKind: String</a></dt><dd> |
| <p> |
| An enumeration of the kinds of search results returned by the |
| search domain. |
| </p> |
| |
| <dl><dt class="value">DECLARATION</dt><dd> |
| |
| <p> |
| The declaration of an element. |
| </p> |
| </dd><dt class="value">INVOCATION</dt><dd> |
| |
| <p> |
| The invocation of a function or method. |
| </p> |
| </dd><dt class="value">READ</dt><dd> |
| |
| <p> |
| A reference to a field, parameter or variable where it is being read. |
| </p> |
| </dd><dt class="value">READ_WRITE</dt><dd> |
| |
| <p> |
| A reference to a field, parameter or variable where it is being read and written. |
| </p> |
| </dd><dt class="value">REFERENCE</dt><dd> |
| |
| <p> |
| A reference to an element. |
| </p> |
| </dd><dt class="value">UNKNOWN</dt><dd> |
| |
| <p> |
| Some other kind of search result. |
| </p> |
| </dd><dt class="value">WRITE</dt><dd> |
| |
| <p> |
| A reference to a field, parameter or variable where it is being written. |
| </p> |
| </dd></dl></dd><dt class="typeDefinition"><a name="type_ServerService">ServerService: String</a></dt><dd> |
| <p> |
| An enumeration of the services provided by the server domain. |
| </p> |
| |
| <dl><dt class="value">STATUS</dt></dl></dd><dt class="typeDefinition"><a name="type_SourceChange">SourceChange: object</a></dt><dd> |
| <p> |
| A description of a set of edits that implement a single |
| conceptual change. |
| </p> |
| |
| <dl><dt class="field"><b><i>message ( String )</i></b></dt><dd> |
| |
| <p> |
| A human-readable description of the change to be applied. |
| </p> |
| </dd><dt class="field"><b><i>edits ( List<<a href="#type_SourceFileEdit">SourceFileEdit</a>> )</i></b></dt><dd> |
| |
| <p> |
| A list of the edits used to effect the change, grouped by |
| file. |
| </p> |
| </dd><dt class="field"><b><i>linkedEditGroups ( List<<a href="#type_LinkedEditGroup">LinkedEditGroup</a>> )</i></b></dt><dd> |
| |
| <p> |
| A list of the linked editing groups used to customize |
| the changes that were made. |
| </p> |
| </dd><dt class="field"><b><i>selection ( <span style="color:#999999">optional</span> <a href="#type_Position">Position</a> )</i></b></dt><dd> |
| |
| <p> |
| The position that should be selected after the edits |
| have been applied. |
| </p> |
| </dd></dl></dd><dt class="typeDefinition"><a name="type_SourceEdit">SourceEdit: object</a></dt><dd> |
| <p> |
| A description of a single change to a single file. |
| </p> |
| |
| <dl><dt class="field"><b><i>offset ( int )</i></b></dt><dd> |
| |
| <p> |
| The offset of the region to be modified. |
| </p> |
| </dd><dt class="field"><b><i>length ( int )</i></b></dt><dd> |
| |
| <p> |
| The length of the region to be modified. |
| </p> |
| </dd><dt class="field"><b><i>replacement ( String )</i></b></dt><dd> |
| |
| <p> |
| The code that is to replace the specified region in the |
| original code. |
| </p> |
| </dd><dt class="field"><b><i>id ( <span style="color:#999999">optional</span> String )</i></b></dt><dd> |
| |
| <p> |
| An identifier that uniquely identifies this source edit from other |
| edits in the same response. This field is omitted unless a |
| containing structure needs to be able to identify the edit for |
| some reason. |
| </p> |
| <p> |
| For example, some refactoring operations can produce edits that |
| might not be appropriate (referred to as potential edits). Such |
| edits will have an id so that they can be referenced. Edits in |
| the same response that do not need to be referenced will not have |
| an id. |
| </p> |
| </dd></dl></dd><dt class="typeDefinition"><a name="type_SourceFileEdit">SourceFileEdit: object</a></dt><dd> |
| <p> |
| A description of a set of changes to a single file. |
| </p> |
| |
| <dl><dt class="field"><b><i>file ( <a href="#type_FilePath">FilePath</a> )</i></b></dt><dd> |
| |
| <p> |
| The file containing the code to be modified. |
| </p> |
| </dd><dt class="field"><b><i>fileStamp ( long )</i></b></dt><dd> |
| |
| <p> |
| The modification stamp of the file at the moment when the change |
| was created, in milliseconds since the "Unix epoch". Will be -1 if |
| the file did not exist and should be created. The client may use |
| this field to make sure that the file was not changed since then, |
| so it is safe to apply the change. |
| </p> |
| </dd><dt class="field"><b><i>edits ( List<<a href="#type_SourceEdit">SourceEdit</a>> )</i></b></dt><dd> |
| |
| <p> |
| A list of the edits used to effect the change. |
| </p> |
| </dd></dl></dd><dt class="typeDefinition"><a name="type_TypeHierarchyItem">TypeHierarchyItem: object</a></dt><dd> |
| <p> |
| A representation of a class in a type hierarchy. |
| </p> |
| |
| <dl><dt class="field"><b><i>classElement ( <a href="#type_Element">Element</a> )</i></b></dt><dd> |
| |
| <p> |
| The class element represented by this item. |
| </p> |
| </dd><dt class="field"><b><i>displayName ( <span style="color:#999999">optional</span> String )</i></b></dt><dd> |
| |
| <p> |
| The name to be displayed for the class. This field will be |
| omitted if the display name is the same as the name of the |
| element. The display name is different if there is |
| additional type information to be displayed, such as type |
| arguments. |
| </p> |
| </dd><dt class="field"><b><i>memberElement ( <span style="color:#999999">optional</span> <a href="#type_Element">Element</a> )</i></b></dt><dd> |
| |
| <p> |
| The member in the class corresponding to the member on |
| which the hierarchy was requested. This field will be |
| omitted if the hierarchy was not requested for a member or |
| if the class does not have a corresponding member. |
| </p> |
| </dd><dt class="field"><b><i>superclass ( <span style="color:#999999">optional</span> int )</i></b></dt><dd> |
| |
| <p> |
| The index of the item representing the superclass of |
| this class. This field will be omitted if this item |
| represents the class Object. |
| </p> |
| </dd><dt class="field"><b><i>interfaces ( List<int> )</i></b></dt><dd> |
| |
| <p> |
| The indexes of the items representing the interfaces |
| implemented by this class. The list will be empty if |
| there are no implemented interfaces. |
| </p> |
| </dd><dt class="field"><b><i>mixins ( List<int> )</i></b></dt><dd> |
| |
| <p> |
| The indexes of the items representing the mixins |
| referenced by this class. The list will be empty if |
| there are no classes mixed in to this class. |
| </p> |
| </dd><dt class="field"><b><i>subclasses ( List<int> )</i></b></dt><dd> |
| |
| <p> |
| The indexes of the items representing the subtypes of |
| this class. The list will be empty if there are no |
| subtypes or if this item represents a supertype of the |
| pivot type. |
| </p> |
| </dd></dl></dd></dl> |
| |
| <h2><a name="refactorings">Refactorings</a></h2> |
| <p> |
| This section contains additional information for each kind of |
| refactoring. In addition to a brief description of the |
| refactoring, there is a specification of the feedback that is |
| provided when a refactoring is requested using the |
| edit.getRefactoring request (designed to improve the UX) |
| and the options that may be provided to edit.getRefactoring. |
| </p> |
| |
| |
| |
| |
| |
| |
| |
| |
| <dl><dt class="refactoring">CONVERT_GETTER_TO_METHOD</dt><dd> |
| <p> |
| Convert a getter into a method by removing the keyword get |
| and adding an empty parameter list. |
| </p> |
| <p> |
| It is an error if the range contains anything other than all |
| or part of the name of a single getter. |
| </p> |
| <h4>Feedback</h4><p>none</p><h4>Options</h4><p>none</p></dd><dt class="refactoring">CONVERT_METHOD_TO_GETTER</dt><dd> |
| <p> |
| Convert a method into a getter by adding the keyword get and |
| removing the parameter list. |
| </p> |
| <p> |
| It is an error if the range contains anything other than all |
| or part of the name of a single method or if the method has |
| a non-empty parameter list. |
| </p> |
| <h4>Feedback</h4><p>none</p><h4>Options</h4><p>none</p></dd><dt class="refactoring">EXTRACT_LOCAL_VARIABLE</dt><dd> |
| <p> |
| Create a local variable initialized by a specified |
| expression. |
| </p> |
| <p> |
| It is an error if the range contains anything other than a |
| complete expression (no partial expressions are allowed). |
| </p> |
| |
| |
| <h4>Feedback</h4><dl><dt class="field"><b><i>names ( List<String> )</i></b></dt><dd> |
| |
| <p> |
| The proposed names for the local variable. |
| </p> |
| </dd><dt class="field"><b><i>offsets ( List<int> )</i></b></dt><dd> |
| |
| <p> |
| The offsets of the expressions that would be replaced by |
| a reference to the variable. |
| </p> |
| </dd><dt class="field"><b><i>lengths ( List<int> )</i></b></dt><dd> |
| |
| <p> |
| The lengths of the expressions that would be replaced by |
| a reference to the variable. The lengths correspond to |
| the offsets. In other words, for a given expression, if |
| the offset of that expression is offsets[i], then the |
| length of that expression is lengths[i]. |
| </p> |
| </dd></dl><h4>Options</h4><dl><dt class="field"><b><i>name ( String )</i></b></dt><dd> |
| |
| <p> |
| The name that the local variable should be given. |
| </p> |
| </dd><dt class="field"><b><i>extractAll ( bool )</i></b></dt><dd> |
| |
| <p> |
| True if all occurrences of the expression within the |
| scope in which the variable will be defined should be |
| replaced by a reference to the local variable. The |
| expression used to initiate the refactoring will always |
| be replaced. |
| </p> |
| </dd></dl></dd><dt class="refactoring">EXTRACT_METHOD</dt><dd> |
| <p> |
| Create a method whose body is the specified expression or |
| list of statements, possibly augmented with a return |
| statement. |
| </p> |
| <p> |
| It is an error if the range contains anything other than a |
| complete expression (no partial expressions are allowed) or |
| a complete sequence of statements. |
| </p> |
| |
| |
| <h4>Feedback</h4><dl><dt class="field"><b><i>offset ( int )</i></b></dt><dd> |
| |
| <p> |
| The offset to the beginning of the expression or |
| statements that will be extracted. |
| </p> |
| </dd><dt class="field"><b><i>length ( int )</i></b></dt><dd> |
| |
| <p> |
| The length of the expression or statements that will be |
| extracted. |
| </p> |
| </dd><dt class="field"><b><i>returnType ( String )</i></b></dt><dd> |
| |
| <p> |
| The proposed return type for the method. |
| </p> |
| </dd><dt class="field"><b><i>names ( List<String> )</i></b></dt><dd> |
| |
| <p> |
| The proposed names for the method. |
| </p> |
| </dd><dt class="field"><b><i>canCreateGetter ( bool )</i></b></dt><dd> |
| |
| <p> |
| True if a getter could be created rather than a method. |
| </p> |
| </dd><dt class="field"><b><i>parameters ( List<<a href="#type_RefactoringMethodParameter">RefactoringMethodParameter</a>> )</i></b></dt><dd> |
| |
| <p> |
| The proposed parameters for the method. |
| </p> |
| </dd><dt class="field"><b><i>offsets ( List<int> )</i></b></dt><dd> |
| |
| <p> |
| The offsets of the expressions or statements that would |
| be replaced by an invocation of the method. |
| </p> |
| </dd><dt class="field"><b><i>lengths ( List<int> )</i></b></dt><dd> |
| |
| <p> |
| The lengths of the expressions or statements that would |
| be replaced by an invocation of the method. The lengths |
| correspond to the offsets. In other words, for a given |
| expression (or block of statements), if the offset of |
| that expression is offsets[i], then the length of that |
| expression is lengths[i]. |
| </p> |
| </dd></dl><h4>Options</h4><dl><dt class="field"><b><i>returnType ( String )</i></b></dt><dd> |
| |
| <p> |
| The return type that should be defined for the method. |
| </p> |
| </dd><dt class="field"><b><i>createGetter ( bool )</i></b></dt><dd> |
| |
| <p> |
| True if a getter should be created rather than a |
| method. It is an error if this field is true and the |
| list of parameters is non-empty. |
| </p> |
| </dd><dt class="field"><b><i>name ( String )</i></b></dt><dd> |
| |
| <p> |
| The name that the method should be given. |
| </p> |
| </dd><dt class="field"><b><i>parameters ( List<<a href="#type_RefactoringMethodParameter">RefactoringMethodParameter</a>> )</i></b></dt><dd> |
| |
| <p> |
| The parameters that should be defined for the method. |
| </p> |
| <p> |
| It is an error if a REQUIRED or NAMED parameter follows a |
| POSITIONAL parameter. |
| It is an error if a REQUIRED or POSITIONAL parameter follows a |
| NAMED parameter. |
| </p> |
| <ul> |
| <li> |
| To change the order and/or update proposed parameters, add |
| parameters with the same identifiers as proposed. |
| </li> |
| <li>To add new parameters, omit their identifier.</li> |
| <li>To remove some parameters, omit them in this list.</li> |
| </ul> |
| </dd><dt class="field"><b><i>extractAll ( bool )</i></b></dt><dd> |
| |
| <p> |
| True if all occurrences of the expression or statements |
| should be replaced by an invocation of the method. The |
| expression or statements used to initiate the |
| refactoring will always be replaced. |
| </p> |
| </dd></dl></dd><dt class="refactoring">INLINE_LOCAL_VARIABLE</dt><dd> |
| <p> |
| Inline the initializer expression of a local variable in |
| place of any references to that variable. |
| </p> |
| <p> |
| It is an error if the range contains anything other than all |
| or part of the name of a single local variable. |
| </p> |
| |
| <h4>Feedback</h4><dl><dt class="field"><b><i>name ( String )</i></b></dt><dd> |
| |
| <p> |
| The name of the variable being inlined. |
| </p> |
| </dd><dt class="field"><b><i>occurrences ( int )</i></b></dt><dd> |
| |
| <p> |
| The number of times the variable occurs. |
| </p> |
| </dd></dl><h4>Options</h4><p>none</p></dd><dt class="refactoring">INLINE_METHOD</dt><dd> |
| <p> |
| Inline a method in place of one or all references to that |
| method. |
| </p> |
| <p> |
| It is an error if the range contains anything other than all |
| or part of the name of a single method. |
| </p> |
| |
| |
| <h4>Feedback</h4><dl><dt class="field"><b><i>className ( <span style="color:#999999">optional</span> String )</i></b></dt><dd> |
| |
| <p> |
| The name of the class enclosing the method being inlined. |
| If not a class member is being inlined, this field will be absent. |
| </p> |
| </dd><dt class="field"><b><i>methodName ( String )</i></b></dt><dd> |
| |
| <p> |
| The name of the method (or function) being inlined. |
| </p> |
| </dd><dt class="field"><b><i>isDeclaration ( bool )</i></b></dt><dd> |
| |
| <p> |
| True if the declaration of the method is selected. |
| So all references should be inlined. |
| </p> |
| </dd></dl><h4>Options</h4><dl><dt class="field"><b><i>deleteSource ( bool )</i></b></dt><dd> |
| |
| <p> |
| True if the method being inlined should be removed. |
| It is an error if this field is true and inlineAll is false. |
| </p> |
| </dd><dt class="field"><b><i>inlineAll ( bool )</i></b></dt><dd> |
| |
| <p> |
| True if all invocations of the method should be inlined, |
| or false if only the invocation site used to create this |
| refactoring should be inlined. |
| </p> |
| </dd></dl></dd><dt class="refactoring">MOVE_FILE</dt><dd> |
| <p> |
| Move the given file and update all of the references to that file |
| and from it. The move operation is supported in general case - for |
| renaming a file in the same folder, moving it to a different folder |
| or both. |
| </p> |
| <p> |
| The refactoring must be activated before an actual file moving |
| operation is performed. |
| </p> |
| <p> |
| The "offset" and "length" fields from the request are ignored, but the |
| file specified in the request specifies the file to be moved. |
| </p> |
| |
| <h4>Feedback</h4><p>none</p><h4>Options</h4><dl><dt class="field"><b><i>newFile ( <a href="#type_FilePath">FilePath</a> )</i></b></dt><dd> |
| |
| <p> |
| The new file path to which the given file is being moved. |
| </p> |
| </dd></dl></dd><dt class="refactoring">RENAME</dt><dd> |
| <p> |
| Rename a given element and all of the references to that |
| element. |
| </p> |
| <p> |
| It is an error if the range contains anything other than all |
| or part of the name of a single function (including methods, |
| getters and setters), variable (including fields, parameters |
| and local variables), class or function type. |
| </p> |
| |
| |
| <h4>Feedback</h4><dl><dt class="field"><b><i>offset ( int )</i></b></dt><dd> |
| |
| <p> |
| The offset to the beginning of the name selected to be |
| renamed. |
| </p> |
| </dd><dt class="field"><b><i>length ( int )</i></b></dt><dd> |
| |
| <p> |
| The length of the name selected to be renamed. |
| </p> |
| </dd><dt class="field"><b><i>elementKindName ( String )</i></b></dt><dd> |
| |
| <p> |
| The human-readable description of the kind of element being |
| renamed (such as “class” or “function type |
| alias”). |
| </p> |
| </dd><dt class="field"><b><i>oldName ( String )</i></b></dt><dd> |
| |
| <p> |
| The old name of the element before the refactoring. |
| </p> |
| </dd></dl><h4>Options</h4><dl><dt class="field"><b><i>newName ( String )</i></b></dt><dd> |
| |
| <p> |
| The name that the element should have after the |
| refactoring. |
| </p> |
| </dd></dl></dd></dl> |
| <h2>Errors</h2> |
| <p> |
| This section contains a list of all of the errors that are |
| produced by the server and the data that is returned with each. |
| </p> |
| <p> |
| TBD |
| </p> |
| |
| |
| </body></html> |