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

fix: Defend against non-KCL files #798

Merged
merged 2 commits into from
Oct 25, 2023
Merged

Conversation

He1pa
Copy link
Contributor

@He1pa He1pa commented Oct 23, 2023

When the client renames a file, if the file suffix is changed, some requests will also be sent. However, it is considered not a valid kcl file during compilation, which will cause lsp panic.

1. Does this PR affect any open issues?(Y/N) and add issue references (e.g. "fix #123", "re #123".):

2. What is the scope of this PR (e.g. component or file name):

tools/lsp

3. Provide a description of the PR(e.g. more details, effects, motivations or doc link):

When the client renames a file, if the file suffix is changed, some requests will also be sent. However, it is considered not a valid kcl file during compilation, which will cause lsp panic.

  • Affects user behaviors
  • Contains syntax changes
  • Contains variable changes
  • Contains experimental features
  • Performance regression: Consumes more CPU
  • Performance regression: Consumes more Memory
  • Other

4. Are there any breaking changes?(Y/N) and describe the breaking changes(e.g. more details, motivations or doc link):

  • N
  • Y

5. Are there test cases for these changes?(Y/N) select and add more details, references or doc links:

  • Unit test
  • Integration test
  • Benchmark (add benchmark stats below)
  • Manual test (add detailed scripts or steps below)
  • Other

@He1pa He1pa added the lsp label Oct 23, 2023
@He1pa He1pa added this to the v0.7.0 Release milestone Oct 23, 2023
@He1pa He1pa self-assigned this Oct 23, 2023
@He1pa He1pa force-pushed the lsp_defend_non_kcl_file branch from 059900c to c8b4a4c Compare October 23, 2023 10:07
kclvm/tools/src/LSP/src/request.rs Outdated Show resolved Hide resolved
kclvm/tools/src/LSP/src/request.rs Outdated Show resolved Hide resolved
@coveralls
Copy link
Collaborator

coveralls commented Oct 23, 2023

Pull Request Test Coverage Report for Build 6637757784

  • 66 of 73 (90.41%) changed or added relevant lines in 2 files are covered.
  • 471 unchanged lines in 8 files lost coverage.
  • Overall coverage decreased (-17.9%) to 69.932%

Changes Missing Coverage Covered Lines Changed/Added Lines %
kclvm/tools/src/LSP/src/request.rs 27 34 79.41%
Files with Coverage Reduction New Missed Lines %
compiler_base/error/src/diagnostic/components.rs 6 0.0%
compiler_base/error/src/errors.rs 8 0.0%
compiler_base/session/src/lib.rs 26 58.06%
compiler_base/error/src/diagnostic/mod.rs 27 0.0%
compiler_base/error/src/diagnostic/style.rs 41 0.0%
compiler_base/error/src/diagnostic/diagnostic_message.rs 74 0.0%
compiler_base/error/src/emitter.rs 119 0.0%
compiler_base/error/src/diagnostic/diagnostic_handler.rs 170 0.0%
Totals Coverage Status
Change from base Build 6637227415: -17.9%
Covered Lines: 36026
Relevant Lines: 51516

💛 - Coveralls

@He1pa He1pa force-pushed the lsp_defend_non_kcl_file branch from 3151282 to c5b7b3a Compare October 25, 2023 06:00
He1pa added 2 commits October 25, 2023 16:27
…n the client renames a file, if the file suffix is changed, some requests will also be sent. However, it is considered not a valid kcl file during compilation, which will cause lsp panic.

Signed-off-by: He1pa <[email protected]>
@He1pa He1pa force-pushed the lsp_defend_non_kcl_file branch from c5b7b3a to 3fe8feb Compare October 25, 2023 08:29
Copy link
Contributor

@Peefy Peefy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Peefy Peefy merged commit 4bc5888 into kcl-lang:main Oct 25, 2023
11 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Oct 25, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
No open projects
Status: v0.7.0 Release Done
Development

Successfully merging this pull request may close these issues.

[Bug][LSP]AnalysisDatabase not found error after rename file
3 participants