afnanenayet / afnanenayet/diffsitter
[feature]: capture semantically non-meaningful changes separately
- Linguagem predominante
- Rust
- Estrelas
- 2.4k
- Forks
- 53
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Descrição
**Is your feature request related to a problem? Please describe.**
The goal of diffsitter is to highlight **semantically meaningful code changes** using ASTs, unlike traditional line-based text diffs, which include both meaningful and trivial edits and simple formatting that is often the case when developing code. However, there is currently no way to isolate the *remainder* of the diff — the changes that are syntactically present but **semantically irrelevant** (e.g., formatting, ordering, whitespace, or other non-functional edits).
This could be useful for tools that automate the commit message generation with LLM: to keep the important and meaningless information separate, and generate better accuracy: paying more attention to semantically important changes and potentially using a more expensive LLM model, while processing the remainder of less important changes with a cheaper model, asking to keep the summary short and saving output tokens.
**Describe the solution you'd like**
Provide an option to output **two complementary diff views**:
- **Semantic diff** — semantically meaningful changes (current behavior).
- **Non-semantic diff** — the remaining changes after semantic ones are removed.
This would allow the semantic diff to remain clean while still keeping track of the **non-essential modifications explicitly visible**.
**Describe alternatives you've considered**
Using both a traditional diff and diffsitter output. However, this results in **overlap**, where semantically meaningful changes appear in both outputs, creating duplication and reducing clarity.
**Additional context**
This feature would enable clearer review workflows by separating **behavioral changes** from **cosmetic or structural edits**.
Guia de contribuição
Avaliação
Esta issue ainda não foi avaliada.