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

VS Code: Auto-completion #41

Closed
19 tasks done
lars-reimann opened this issue Aug 17, 2021 · 1 comment · Fixed by #997
Closed
19 tasks done

VS Code: Auto-completion #41

lars-reimann opened this issue Aug 17, 2021 · 1 comment · Fixed by #997
Assignees
Labels
enhancement 💡 New feature or request released Included in a release vscode 🔨 Issues regarding tools like the VS Code extension
Milestone

Comments

@lars-reimann
Copy link
Member

lars-reimann commented Aug 17, 2021

Autocompletion can be added using a CompletionProvider. Currently, however, the extension only has very basic auto-completion. It should also have auto-completion for the following:

  • Cross-references:

    • SmlAnnotationUse -> annotation=[SmlAnnotation]
    • SmlArgument -> parameter=[SmlParameter]
    • SmlYield -> result=[SmlResult]
    • SmlReference -> declaration=[SmlDeclaration]
    • SmlNamedType -> declaration=[SmlNamedTypeDeclaration]
    • Constraint -> leftOperand=[SdsParameter]
    • SmlTypeArgument -> typeParameter=[SmlTypeParameter]
  • Nesting (must only suggest stuff in the current scope):

    • SmlMemberAccess-> member=SmlReference
    • SmlMemberType -> member=SmlNamedType
  • Keywords (unless there is a snippet for it):

    • Boolean literals: true/false
    • this
    • null
    • Modifies: static
    • Operators: or, and, not, ==, !=, ===, !==, <, <=, >=, >, +, -, *, /, ?:
    • Type Parameter Variance: in, out
    • Type Parameter Constraints: sub, super
@lars-reimann lars-reimann self-assigned this Aug 17, 2021
@lars-reimann lars-reimann transferred this issue from another repository Nov 9, 2021
@lars-reimann lars-reimann added enhancement 💡 New feature or request vscode 🔨 Issues regarding tools like the VS Code extension labels Dec 3, 2021
@lars-reimann lars-reimann transferred this issue from another repository Jun 7, 2022
@lars-reimann lars-reimann removed their assignment Nov 9, 2022
@lars-reimann lars-reimann removed this from Safe-DS Nov 9, 2022
@lars-reimann lars-reimann added this to DSL Mar 7, 2023
@github-project-automation github-project-automation bot moved this to Backlog in DSL Mar 7, 2023
@lars-reimann lars-reimann added this to the Future milestone Jan 8, 2024
@lars-reimann lars-reimann self-assigned this Apr 5, 2024
@lars-reimann lars-reimann moved this from Backlog to In Progress in DSL Apr 5, 2024
@lars-reimann lars-reimann modified the milestones: Future, v0.10.0 Apr 5, 2024
lars-reimann added a commit that referenced this issue Apr 5, 2024
Closes #41

### Summary of Changes

Various improvements to the completion provider:

* Proper icons
* Documentation
* Mark as deprecated
* Fix suggestions for member accesses
* Fix suggestions for member types
* Filter keywords
@github-project-automation github-project-automation bot moved this from In Progress to ✔️ Done in DSL Apr 5, 2024
lars-reimann pushed a commit that referenced this issue Apr 6, 2024
## [0.10.0](v0.9.0...v0.10.0) (2024-04-06)

### Features

* add settings to enable inlay hints individually ([#992](#992)) ([b0f3e62](b0f3e62))
* filter suggestions by node type ([#999](#999)) ([8d22e67](8d22e67)), closes [#998](#998)
* forbid instance and static class members with same name ([#988](#988)) ([7fa6fd4](7fa6fd4))
* improved completion provider ([#997](#997)) ([61e776b](61e776b)), closes [#41](#41)
* inlay hints for inferred types of lambda parameters ([#993](#993)) ([c064e0e](c064e0e))
* mark entire type cast as wrong if cast is impossible ([#991](#991)) ([72d4e2e](72d4e2e))
* profiling in EDA tool ([#954](#954)) ([854122c](854122c)), closes [#929](#929)
* require `safe-ds-runner>=0.8.0,<0.9.0` ([#976](#976)) ([1003e6c](1003e6c))
* resolve name paths in `{[@link](https://github.com/link) }` tags in documentation ([#978](#978)) ([b59d6f0](b59d6f0))

### Bug Fixes

* catch internal errors caused by wrong synthetic nodes created by completion provider ([#1001](#1001)) ([8a6ab99](8a6ab99))
* chained memoized calls ([#987](#987)) ([df89291](df89291))
* correctly import declarations for member functions ([#983](#983)) ([79f9b08](79f9b08))
* error in Python generator for assignments with class/enum variant call as RHS ([#977](#977)) ([46b2bb2](46b2bb2)), closes [#975](#975)
* generation of memoized class member calls ([#982](#982)) ([ed06aef](ed06aef))
* generation of Python imports ([#979](#979)) ([f69d836](f69d836)), closes [#974](#974)
* invalid Python code generated for constructor calls ([#981](#981)) ([c7d006f](c7d006f)), closes [#980](#980)
* Python generation for type casts ([#1000](#1000)) ([621ab86](621ab86))
@lars-reimann
Copy link
Member Author

🎉 This issue has been resolved in version 0.10.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@lars-reimann lars-reimann added the released Included in a release label Apr 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement 💡 New feature or request released Included in a release vscode 🔨 Issues regarding tools like the VS Code extension
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

1 participant