Skip to content

Expand file and directory categories in config#40

Merged
AzisK merged 5 commits intomainfrom
Expand-file-and-directory-categories-in-config
Jan 18, 2026
Merged

Expand file and directory categories in config#40
AzisK merged 5 commits intomainfrom
Expand-file-and-directory-categories-in-config

Conversation

@AzisK
Copy link
Copy Markdown
Owner

@AzisK AzisK commented Jan 18, 2026

Added more file extensions to CATEGORIES for images, documents, music, videos, code, archives, disk images, config files, ML models, databases, 3D models, executables, and fonts. Extended SPECIAL_DIRS with additional virtual environment, build artifact, package cache, IDE config, temp, and ML artifact directories. Bumped version to 0.4.3 in pyproject.toml.

AzisK added 2 commits January 18, 2026 12:46
Added more file extensions to CATEGORIES for images, documents, music, videos, code, archives, disk images, config files, ML models, databases, 3D models, executables, and fonts. Extended SPECIAL_DIRS with additional virtual environment, build artifact, package cache, IDE config, temp, and ML artifact directories. Bumped version to 0.4.3 in pyproject.toml.
@github-actions
Copy link
Copy Markdown

⸜(。˃ ᵕ ˂ )⸝♡ Thank you for opening this Pull Request, AzisK!

( ˶°ㅁ°) !! It's Trivia Time!

Here are 3 trivia questions to keep you entertained while CI runs.
(Feel free to demonstrate your knowledge and reply!)

🧩 Q1: If you planted the seeds of Quercus robur what would grow?

A) Grains
B) Vegtables
C) Flowers
D) Trees

🧩 Q2: Which water-type Pokémon starter was introduced in the 4th generation of the series?

A) Totodile
B) Oshawott
C) Mudkip
D) Piplup

🧩 Q3: Which kind of algorithm is Ron Rivest not famous for creating?

A) Asymmetric encryption
B) Hashing algorithm
C) Secret sharing scheme
D) Stream cipher

You got this! Remember, every bug is just a feature in disguise.

@github-actions
Copy link
Copy Markdown

Excellent work on this PR! This was a meticulous update that extended the functionality across categories in a systematic and clean manner. Here's the review:


Commendations:

  1. Broad Coverage:

    • Including various file types and directories across multiple categories demonstrates a comprehensive understanding of user needs. You're really catering to a wide user base!
    • The addition of file types for extensions such as executables, ML models, and 3D models (, lines 70-94) is thoughtful and ensures Zpace can handle modern use cases seamlessly. 👏
  2. Maintainability:

    • The structure of the and is organized in an easily readable and extensible format (, throughout). Adding new categories or extensions will be straightforward due to this clean grouping.
    • Alphabetical and logical ordering in some sections (e.g., file extensions and directory names in ) makes changes easy to follow. Great touch for maintainability.
  3. Versioning:

    • Updating the version number (, line 4) to reflect the changes exhibits proper semantic versioning practices. Kudos for staying disciplined.
  4. Removal of ambiguity:

    • Removing from (commit message) highlights your attention to detail and careful evaluation of categories to avoid conflicts or unclear behavior. Great job being proactive! 😊

Suggestions for Improvement:

  1. Consistency in Alphabetization:
    Currently, the entries in certain sections like (lines 75-91) and (lines 140-153) aren't fully alphabetized. Maintaining consistent ordering will enhance readability and simplify future additions. Consider consistently ordering file extensions and special directories alphabetically.

  2. Flexible Categories for Configurations:
    The category (lines 70-71) includes a reasonable set of file extensions. However, additional common file extensions like and are worth including since they are widely used as config files across setups.

  3. Duplicate Coverage in Directories:
    For , it seems that overlaps broadly with directories like the ones listed. The category (lines 160-161) might also overlap somewhat with this. It might be worth clarifying if the overlapping paths are deduplicated or accounted for explicitly in the scanning routine. This ensures no computations are wasted.

  4. Extension Uniqueness Across Categories:
    While extending the , ensure no extensions are shared between categories. For example:

    • exists in both original and the updated category (line 70). Presumably is being replaced with , but this wasn't explicitly mentioned.
    • , a traditionally generic extension, may fit into both and . While this is somewhat subjective, a clarification on the separation logic might help.
  5. Unit Tests for New Categories (if not already added):

    • Testing for these new categories and extensions should be in place to ensure proper classification and avoid accidental misplacements during scans. If unit or integration tests aren't included in this PR, a subsequent PR should address this for validation. For example:
      • Test cases for mock file trees containing these new categories/directories would help confirm correct sorting and detection.
      • Test boundary cases for special directories that might clash with other folder names (e.g., ensure isn’t wrongly matched to unrelated directories containing as a substring).
  6. Future-Proofing with Config Files:

    • As more user requests and changes come in, consider moving and from codebase constants into configurable external JSON/YAML/TOML files. This would allow users or developers to tweak the configurations without new code updates.

Suggestions for Code Logic (Optional):

  1. Ensure patterns for and are handled case-insensitively during scans. If this is already the case, fantastic! If not, it could lead to potential mismatches when scanning file systems.

  2. Consider documenting any assumptions explicitly. For instance:

    • If categories like (line 161) only match exact directory names, a comment or explanation could clarify this, as some systems use or similar.

Overall, this is impressive work aligning with modern needs and showing a clear understanding of user pain points. Making Zpace adaptable for a variety of files and directories is especially valuable.

Keep up the amazing work, and don't hesitate to continue leveling up this tool! 🚀

AzisK added 2 commits January 18, 2026 19:37
Added new test cases for additional directory names including conda environments, build artifacts, package caches, IDE configs, temp files, and ML artifacts to improve coverage and robustness of identify_special_dir_name.
Renamed the test and updated assertions to categorize .yml and .json extensions as 'Config' instead of 'JSON/YAML'. Also updated related test to check for 'Config' in file categories.
@github-actions
Copy link
Copy Markdown

🎉 All tests passed! Here's a dog for you! 🐶

Dog

Documented new file and directory categories, performance optimizations, and documentation updates for version 0.4.3. Expanded configuration, special directories, and added new categories for various file types and tools.
@github-actions
Copy link
Copy Markdown

🎉 All tests passed! Here's a dog for you! 🐶

Dog

@AzisK AzisK merged commit dc63d42 into main Jan 18, 2026
32 checks passed
@AzisK AzisK deleted the Expand-file-and-directory-categories-in-config branch February 6, 2026 18:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant