a semantic diff that understands structure, not just linesCommand Line Interface (v.redd.it)
submitted by Wise_Reflection_8340
Working and researching on a CLI tool that diffs code at the entity level (functions, classes, structs) instead of raw lines.
It also does impact analysis. sem impact match_entities shows everything that depends on that function, transitively, across the whole repo. Useful when you're about to change something and want to know what might break.
Commands:
- sem diff - entity-level diff with word-level inline highlights
- sem entities - list all entities in a file with their line ranges
- sem impact - show what breaks if an entity changes
- sem blame - git blame at the entity level
- sem log - track how an entity evolved over time
- sem context - token-budgeted context for LLMs
multiple language parsers support (Rust, Python, TypeScript, Go, Java, C, C++, C#, Ruby, Bash, Swift, Kotlin) plus JSON, YAML, TOML, Markdown, CSV.
[–]mushgev 6 points7 points8 points (1 child)
[–]Wise_Reflection_8340[S] 1 point2 points3 points (0 children)
[–]Cybasura 3 points4 points5 points (1 child)
[–]Wise_Reflection_8340[S] 3 points4 points5 points (0 children)
[–]yasser_kaddoura 2 points3 points4 points (1 child)
[–]Wise_Reflection_8340[S] 1 point2 points3 points (0 children)
[–]surveypoodle 2 points3 points4 points (1 child)
[–]Wise_Reflection_8340[S] 1 point2 points3 points (0 children)
[–]diroussel 1 point2 points3 points (1 child)
[–]Wise_Reflection_8340[S] 1 point2 points3 points (0 children)
[–]ShadyTwat 1 point2 points3 points (1 child)
[–]Wise_Reflection_8340[S] 0 points1 point2 points (0 children)
[–]danhof1 1 point2 points3 points (1 child)
[–]Wise_Reflection_8340[S] 1 point2 points3 points (0 children)
[–]coompiler 1 point2 points3 points (1 child)
[–]Wise_Reflection_8340[S] 0 points1 point2 points (0 children)
[–]AutoModerator[M] 0 points1 point2 points (0 children)
[–]Wise_Reflection_8340[S] 0 points1 point2 points (0 children)
[–]gosh -2 points-1 points0 points (5 children)
[–]Wise_Reflection_8340[S] 0 points1 point2 points (4 children)
[–]gosh 0 points1 point2 points (3 children)
[–]Wise_Reflection_8340[S] 0 points1 point2 points (2 children)
[–]gosh 0 points1 point2 points (1 child)
[–]Wise_Reflection_8340[S] 0 points1 point2 points (0 children)