Releases: lukaszliniewicz/ChaReCo
Releases · lukaszliniewicz/ChaReCo
0.4
ChaReCo v0.4 Release Notes
New Features
- Analysis History: "Load from History" dropdown menus have been added for both remote repositories and local folders. The 10 most recent unique paths are saved between sessions.
- Drag and Drop: Users can now drag a local folder from their file explorer and drop it onto the application window to select it for analysis.
- PyInstaller Support: The project now includes a
run.pyentry point and aChaReCo.specfile to facilitate building a standalone executable. - Improved Ignore/Exclude Options:
- Added several new preset checkboxes to easily ignore common folders and files, such as
__pycache__,node_modules,build/,dist/,.logfiles, and IDE metadata folders (e.g.,.vscode/,.idea/). - The glob pattern matching for excluded folders is now more robust, checking against both full paths and simple filenames.
- Added several new preset checkboxes to easily ignore common folders and files, such as
- File Tree Enhancements:
- A filter bar has been added above the file tree to allow for quick searching and filtering of the repository structure.
- A right-click context menu is now available on files in the tree to copy the content of a single file directly.
- Line Numbering: An option to "Add line numbers to copied files" has been added. This applies to both the "Copy Selected Files" and the new right-click copy action.
- "Copy Local" Analysis: A new checkbox, "Copy local folder to temporary location," allows for a safer analysis method that does not operate directly on the original user files.
Fixes & Improvements
- "Structure Only" Mode Performance: The "Only show structure, don't concatenate" mode has been optimized. It no longer reads file contents during the initial analysis, resulting in a significantly faster scan. File content is now loaded on-demand when a file or folder is selected from the tree.
- Search Logic: The in-app content search functionality has been refactored. It now correctly handles all search types (standard, case-sensitive, whole word, and regex) using a more reliable, unified regular expression engine.
- Binary File Detection: Replaced the previous content-sniffing method for detecting binary files with a more efficient and comprehensive extension-based check. This speeds up the analysis process and reduces potential read errors.
- Cleaner Output: Directory headers (e.g.,
---/src/---) are no longer added to the concatenated output if the directory is empty or all its files were excluded by filters. - README: The
README.mdfile has been updated to reflect the new features and includes an animateddemonstration.gifinstead of a static screenshot.
0.3
ChaReCo v0.3 is a significant update. This version introduces in-app search, advanced filtering, and more. ChaReCo is now also available as a Python package.
Key New Features
- In-App Search: Search through the content of analyzed files directly within ChaReCo. Supports regular expressions, case sensitivity, and whole-word matching.
- Glob Pattern Filtering: Use glob patterns (e.g.,
**/__pycache__,node_modules/*) to exclude specific folders from the analysis. - Private GitHub Repository Support: Analyze private GitHub repositories using a Personal Access Token (PAT).
- Pip Package Installation: ChaReCo can be installed directly from GitHub using pip:
pip install git+https://github.com/lukaszliniewicz/ChaReCo.git
Improvements
- Performance and UI: Background processing for analysis and search leads to a more responsive UI, especially for larger projects.
- Refined Filtering: Better handling of common project files and binary detection.
How to Get v0.3.0
- Windows Users: Download the
.exefile (created using PyInstaller). - Python Users: Install using pip:
pip install git+https://github.com/lukaszliniewicz/ChaReCo.git
Then run withchareco.
v0.2
Changes
Switched to PyQT6, improved the UI, speed and copying.
The executable was made with PyInstaller. If you're not comfortable using it, or don't use Windows, please see the readme for manual installation.
0.1
The executable was made with PyInstaller. If you're not comfortable using it, or don't use Windows, please see the readme for manual installation.