[Dot Shorthands] Analysis Server Implementation #59836
Labels
area-devexp
For issues related to the analysis server, IDE support, linter, `dart fix`, and diagnostic messages.
devexp-server
Issues related to some aspect of the analysis server
feature-dot-shorthands
Implementation of the dot shorthands feature.
P2
A bug or feature request we're likely to work on
This issue tracks all the analysis server work items for the dot shorthands feature. Referenced from: https://github.com/dart-lang/sdk/blob/main/pkg/analysis_server/doc/process/new_language_feature.md
Estimated work
Call Hierarchy (an IDE feature where you can get a call hierarchy if you click on a method)
The shorthand calls should show up properly in the call hierarchy.
Closing Labels (an LSP feature allowing the IDE to show lightly grayed out comments at the end of the last line of a multi-line invocation, to aid the user in understanding what invocation is closed by a ))
Code Completion
Code completion should work when entering . in a place where there is a context type available.
ResolverVisitor
, code completion can pick that info upCode Folding
Document Colors (an LSP feature whereby a reference to a color in code can be associated with a colored swatch and a color picker)
Hovers (a legacy protocol feature, only available to IntelliJ and Android Studio)
Implemented Markers (allows navigation from a base class method to methods that override it, or from a base class to classes that extend/implement it)
Override Markers (allows navigation from a method to the base class method it overrides, or from a class to the class that it extends/implements)
Inlay Hints (an LSP feature allowing extra information to be displayed using inline hints)
Go to Definition (LSP feature)
Go to Type Definition (LSP feature)
Go to Super (LSP feature)
Legacy protocol (for IntelliJ and Android Studio)
Occurrences
Document Highlights (LSP feature)
Organize Imports
No work needed
Outline
Flutter Outline
Legacy protocol, a.k.a. Document Symbols (for IntelliJ and Android Studio)
LSP feature
No work needed, nothing added top level?
Refactorings and quick assists/fixes (note that in addition to potentially creating new refactorings and/or quick assists/fixes, part of the work required to implement a new language feature includes evaluating each existing refactoring and quick fix/assist to see whether it needs to be improved or have test cases added to reflect the new feature).
Quick Assists
Quick Fixes
prefer_dot_shorthands
Import Library
fixes,Add enum constant
,Create method
andCreate getter
(consideringit can be followed by non-assignment selectors
from the feature specification - Elevator pitch - third paragraph, we won't need to makeCreate Setter
work for this).Go to Import
(same place asGo to Definition
, etc. commands).Extract expression
Linter
Search
Selection Range (an LSP feature allowing a selection to be expanded to cover the range of an ancestor AST node)
Syntax Highlighting
Signature Help (an LSP feature that tells the parameters and types needed for an invocation)
Snippets
No work needed
Sort Members
Workspace Symbols (LSP feature)
No work needed
The text was updated successfully, but these errors were encountered: