You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A versatile command-line, Python library and toolkit for `.gitignore`-style file matching, designed to meet four key goals:
@@ -16,21 +18,17 @@ A versatile command-line, Python library and toolkit for `.gitignore`-style file
16
18
17
19
## Features
18
20
19
-
-**Git-Compatible Matching**: The pure Python matcher passes all test cases, unlike many other libraries.
21
+
-**Git-Compatible Matching**: Pure Python implementation passes all test cases, ensuring 100% compatibility with Git's behavior.
20
22
-**Multiple Implementations**: Choose from pure Python, external libraries ([gitignorefile](https://github.com/excitoon/gitignorefile), [pathspec](https://github.com/excitoon/gitignorefile)), or native Git integration.
21
-
-**[Comprehensive Test Suite](#unit-testing)**: Includes a [corpus of test cases](tests/corpus) to validate `.gitignore` matching behavior.
23
+
-**Multiple Implementations** (see available options in [MatcherImplementation](src/orgecc/filematcher/__init__.py)):
24
+
-**Pure Python**: No external dependencies. Aims at 100% Git compatibility.
25
+
-**Native Git Integration**: Internally calls `git check-ignore -v`. The unit tests are adjusted according to this implementation.
26
+
-**External Libraries**: Supports [gitignorefile](https://github.com/excitoon/gitignorefile) and [pathspec](https://github.com/cpburnz/python-path-specification).
27
+
-**[Comprehensive Test Suite](#unit-testing)**: Includes a [test corpus](tests/corpus) for validating `.gitignore` matching behavior.
22
28
-**Tree-Sitter-Inspired Testing**: The corpus files follow the same rigorous testing principles used by [Tree-Sitter](https://tree-sitter.github.io/tree-sitter/), ensuring high-quality and reliable test coverage.
23
29
-**Efficient Directory Traversal**: A file walker that skips ignored files and directories.
24
30
-**Cross-Platform**: Works seamlessly on Windows, macOS, and Linux.
25
31
26
-
## Supported Implementations
27
-
28
-
See available options in [MatcherImplementation](src/orgecc/filematcher/__init__.py)
29
-
30
-
-**Pure Python**: No external dependencies. Aims at 100% Git compatibility.
31
-
-**Native Git**: Use Git's built-in pattern matching (`git check-ignore -v`) for maximum compatibility. The unit tests are adjusted according to this implementation.
32
-
-**External Libraries**: Leverage `gitignorefile` or `pathspec` for enhanced performance.
33
-
34
32
## Installation
35
33
36
34
Install via **pip**:
@@ -47,19 +45,22 @@ Use the Git-compatible pure Python matcher (the default):
47
45
48
46
```python
49
47
from orgecc.filematcher import get_factory, MatcherImplementation
48
+
from orgecc.filematcher.patterns import new_deny_pattern_source
0 commit comments