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

feat: support format tool error recovery and error indent/dedent code format #661

Merged
merged 1 commit into from
Aug 16, 2023

Conversation

Peefy
Copy link
Contributor

@Peefy Peefy commented Aug 15, 2023

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

  • N
  • Y

feat: support format tool error recovery and error indent/dedent code format.

  • By supporting the omit_errors option to impl the code formatting feature with syntax errors
  • Optimize KCL indentation error handling and recovery, so that configuration code with indentation errors can still be formatted correctly.
  • Fix unexpected ConfigExpr and ListExpr parser error handling.

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

  • kclvm/cmd/src/fmt.rs
  • kclvm/parser/src/lexer/indent.rs
  • kclvm/parser/src/lib.rs
  • kclvm/parser/src/parser/expr.rs

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

  • 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
  • test_format_with_omit_error_option at kclvm/tools/src/format/tests.rs

@Peefy Peefy self-assigned this Aug 15, 2023
@Peefy Peefy added tool Issues or PRs related to kcl tools inlucding format, lint, validation, document tools, etc. parser Issues or PRs related to kcl parser labels Aug 15, 2023
@Peefy Peefy added this to the v0.6.0 Release milestone Aug 15, 2023
Copy link
Contributor

@zong-zhe zong-zhe 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 e4e4b18 into kcl-lang:main Aug 16, 2023
10 checks passed
@Peefy Peefy deleted the feat-fmt-tool-error-recovery branch August 16, 2023 02:37
@github-actions github-actions bot locked and limited conversation to collaborators Aug 16, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
parser Issues or PRs related to kcl parser tool Issues or PRs related to kcl tools inlucding format, lint, validation, document tools, etc.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants