Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[enhanced-parts] Analysis Server implementation #56517

Closed
38 tasks
pq opened this issue Aug 19, 2024 · 2 comments
Closed
38 tasks

[enhanced-parts] Analysis Server implementation #56517

pq opened this issue Aug 19, 2024 · 2 comments
Assignees
Labels
analyzer-server area-analyzer Use area-analyzer for Dart analyzer issues, including the analysis server and code completion. feature-enhanced-parts Regarding the 'enhanced-parts' feature P1 A high priority bug; for example, a single project is unusable or has many test failures type-enhancement A request for a change that isn't a bug

Comments

@pq
Copy link
Member

pq commented Aug 19, 2024

This issue tracks all the analysis server work items for enhanced-parts. (Referenced from: https://github.com/dart-lang/sdk/blob/main/pkg/analysis_server/doc/process/new_language_feature.md)

  • Call Hierarchy (an IDE feature where you can get a call hierarchy if you
    click on a method)
  • 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 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
  • Implemented/override markers (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)
  • Navigation
    • Go to Definition (LSP feature)
    • Go to Type Definition (LSP feature)
    • Go to Super (LSP feature)
    • Legacy protocol (for IntelliJ and Android Studio)
  • Occurrences
    • Legacy protocol (for IntelliJ and Android Studio)
    • Document Highlights (LSP feature)
  • Organize Imports
  • Outline
    • Flutter Outline
    • Legacy protocol, a.k.a. Document Symbols (for IntelliJ and Android
      Studio)
    • LSP feature
  • 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).
    • Legacy refactorings (for IntelliJ and Android Studio)
    • LSP rename refactoring (note that LSP has a special protocol for
      renames)
    • LSP self-describing refactorings
    • Quick Assists
    • Quick Fixes
  • Search
    • Find References
    • Implementations - LSP
    • Member Declarations
    • Member References
    • Top-level Declarations
  • Selection Range (an LSP feature allowing a selection to be expanded to
    cover the range of an ancestor AST node)
  • Syntax Highlighting
    • Legacy protocol, a.k.a. Semantic Highlights (for IntelliJ and Android
      Studio)
    • Semantic Tokens (LSP feature)
  • Signature Help (an LSP feature that tells the parameters and types needed
    for an invocation)
  • Snippets
  • Sort Members
  • Type Hierarchy
    • Legacy protocol (for IntelliJ and Android Studio)
    • LSP feature
  • Workspace Symbols (LSP feature)
@pq pq self-assigned this Aug 19, 2024
@pq pq added P1 A high priority bug; for example, a single project is unusable or has many test failures type-enhancement A request for a change that isn't a bug feature-enhanced-parts Regarding the 'enhanced-parts' feature labels Aug 19, 2024
@pq pq added area-analyzer Use area-analyzer for Dart analyzer issues, including the analysis server and code completion. analyzer-server labels Aug 19, 2024
@bwilkerson
Copy link
Member

I think this is a duplicate of #56203. We should probably keep the original because it's probably linked to from the top-level issue.

@pq
Copy link
Member Author

pq commented Aug 19, 2024

Quite right. I missed that. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
analyzer-server area-analyzer Use area-analyzer for Dart analyzer issues, including the analysis server and code completion. feature-enhanced-parts Regarding the 'enhanced-parts' feature P1 A high priority bug; for example, a single project is unusable or has many test failures type-enhancement A request for a change that isn't a bug
Projects
Development

No branches or pull requests

2 participants