⚠️ Note: Parts of this project's code and documentation are generated by AI, including this README.
Echolysis (Echo
+ -lysis
) is an open-source duplicate code detection tool that aims to provide fast and accurate code duplication analysis across multiple programming languages.
While commercial IDEs like JetBrains products offer excellent duplicate code detection features, there's a gap in the open-source ecosystem. Existing open-source solutions often:
- Support only a limited set of programming languages
- Lack integration with modern development environments
- Have performance limitations with large codebases
Echolysis addresses these challenges by:
- Leveraging tree-sitter for robust and fast parsing across many languages
- Providing both CLI and Language Server Protocol (LSP) implementations (IN PROGRESS)
- Enabling easy integration with various editors and IDEs with the help of LSP (IN PROGRESS)
- Offering a language-agnostic approach that makes adding new language support straightforward (Currently only Rust and Python are supported)
- Fast and accurate duplicate code detection
- Support for multiple programming languages through tree-sitter (IN PROGRESS)
- CLI tool for command-line usage and CI/CD integration (IN PROGRESS)
- LSP server for real-time duplicate detection in editors
- Easy to extend with new language support
Echolysis currently supports:
- Rust
- Python
- C/C++
- ...
More languages will be added in the future.
- VS Code (Developing)
- Vim/Neovim
- ...
echolysis-core
: Core duplicate detection engineecholysis-cli
: Command line interface (TODO)echolysis-lsp
: Language Server Protocol implementation