Git Product home page Git Product logo

envd-lsp's People

Contributors

cutecutecat avatar dependabot[bot] avatar gaocegege avatar hezhizhen avatar kemingy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

envd-lsp's Issues

feat: Support macOS M1/M2

Description

We should support macos arm64.


Message from the maintainers:

Love this enhancement proposal? Give it a ๐Ÿ‘. We prioritise the proposals with the most ๐Ÿ‘.

feat: Hover could contain more infomation

Description

When we turn to Python extension Hover info, it would display Args and Returns:
image
While envd Hover only display documents, likes:
image

We have description of arguments either, we could display them like Python extension.
ref: https://envd.tensorchord.ai/api/starlark/v0/global.html

How to fix

This is by inherited Hover from starlark use plaintext to display, it drops arguments/returns from docstring.
https://github.com/tilt-dev/starlark-lsp/blob/c0c1958f8166f93abfde9f5d3ddbf0d66e405730/pkg/query/signature.go#L72

We could provide a Markdown model and insert arguments and returns to it.


Message from the maintainers:

Love this enhancement proposal? Give it a ๐Ÿ‘. We prioritise the proposals with the most ๐Ÿ‘.

bug: Release at a detached commit

Description

Release tag push at a detached commit of a fork of depandabot.

Which lead to v0.2.4 as the only available last tag and changelog contains whole history.

Example:

image

image

detached commit: 9bb022f

Reproduction

git tag
v0.0.1-alpha.1
v0.0.1-alpha.2
v0.0.1-alpha.3
v0.2.0
v0.2.2
v0.2.3
v0.2.4
v0.2.5
v0.3.0
v0.3.1
v0.3.5

git describe --abbrev=0 --tags
v0.2.4

Additional Info

Action: https://github.com/tensorchord/envd-lsp/actions/runs/3828232773/jobs/6513594739
The Action checkout the detached branch.

image

Fix

To fix it, we need to:

  • Remove mathieudutour/[email protected] and turn to git tag push
  • Add ref: main to actions/checkout@v3 to force pull main branch
  • Add kachick/wait-other-jobs@v1 to wait PR merged finished before push tag
- name: Wait other jobs(CI and lint)
      uses: kachick/wait-other-jobs@v1
      timeout-minutes: 10
      with:
        min-interval-seconds: '10'
        github-token: '${{ secrets.GITHUB_TOKEN }}'

Message from the maintainers:

Impacted by this bug? Give it a ๐Ÿ‘. We prioritise the issues with the most ๐Ÿ‘.

bug: Dangerous access control

Description

name: release

on:
  push:
    tags:
      - 'v*'
  pull_request:
    paths:
    - '.github/workflows/release.yml'
    - '.goreleaser.yaml'

It will trigerr release when a PR created, not PR merged. A hacker can produce a bad PR, and easily ruin the newest release.

ref: https://github.com/orgs/community/discussions/26724

As PR merge always triger a push, we can use:

name: release

on:
  push:
    tags:
      - 'v*'
    paths:
    - '.github/workflows/release.yml'
    - '.goreleaser.yaml'

instead. ref: https://github.com/orgs/community/discussions/26273

Reproduction

Create a PR of .github/workflows/release.yml changed.

Demo: cutecutecat#1
The release is actually trigererd!

Additional Info


Message from the maintainers:

Impacted by this bug? Give it a ๐Ÿ‘. We prioritise the issues with the most ๐Ÿ‘.

feat: Add API SemanticTokens implement from LSP protocol

Description

LSP protocol provide an API SemanticTokens. According to VSCode, Semantic tokens are used to add additional color information to a file that depends on language specific symbol information.

API ref: https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_semanticTokens

VSCode document: https://code.visualstudio.com/api/language-extensions/semantic-highlight-guide

envd-lsp depends on starlark-lsp, which doesn't implement this feature.

However, there are some difference between envd and raw starlark:

  • def build() is the entry of env build script, that is a special function
  • envdlib = include("https://github.com/tensorchord/envdlib") should not be see as a function call, but a module import

Both of them could be implement by feature SemanticTokens. Apart from special color rendered at file, we could instruct envd-vscode to add run icon at the line of def build(), as previous design File Command from tensorchord/vscode-envd#10 (comment)


Message from the maintainers:

Love this enhancement proposal? Give it a ๐Ÿ‘. We prioritise the proposals with the most ๐Ÿ‘.

bug: LSP syntax prompt is broken since v0.3.0

Description

envd ApiStubs has a breaking change since v0.3.0, makes lsp failed to extract API.

We could do these to fix it:

  • Add a argument syntax at LSP Server start, instruct whether version point to
  • Add a test to extract right info of base method for both v0 and v1

Reproduction

Additional Info


Message from the maintainers:

Impacted by this bug? Give it a ๐Ÿ‘. We prioritise the issues with the most ๐Ÿ‘.

chore: Update envd lsp automatically

Description


Message from the maintainers:

Love this enhancement proposal? Give it a ๐Ÿ‘. We prioritise the proposals with the most ๐Ÿ‘.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.