|
diff --git a/README.md b/README.md
|
| ... |
| 3 |
traditional `grep`, which operates on text lines, `crep` understands the |
3 |
traditional `grep`, which operates on text lines, `crep` understands the |
| 4 |
structure of your code, allowing for more precise semantic searching. |
4 |
structure of your code, allowing for more precise semantic searching. |
| 5 |
|
5 |
|
|
|
6 |
> [!IMPORTANT] |
|
|
7 |
> `crep` is a fun project and is not intended for real use. I made it to learn |
|
|
8 |
> Tree-sitter and to have fun. |
|
|
9 |
|
| 6 |
## Features |
10 |
## Features |
| 7 |
|
11 |
|
| 8 |
- **Semantic Search**: Uses Tree-sitter to parse code into Concrete Syntax Trees |
12 |
- **Semantic Search**: Uses Tree-sitter to parse code into Concrete Syntax Trees |
| 9 |
(CSTs) and execute queries against them. |
13 |
(CSTs) and execute queries against them. |
| 10 |
- **Broad Language Support**: Supports multiple languages including C, C++, Go, |
14 |
- **Broad Language Support**: Supports a wide range of languages including C, C++, |
| 11 |
Python, PHP, Rust, JavaScript and Lua. |
15 |
Rust, Python, Go, and others (see full list below). |
| 12 |
- **Multi-threaded**: Utilizes a custom thread pool for efficient scanning of |
16 |
- **Multi-threaded**: Utilizes a custom thread pool for efficient scanning of |
| 13 |
large codebases. |
17 |
large codebases. |
| 14 |
- **Structural Matching**: Reports file path, line number, return type, function |
18 |
- **Structural Matching**: Reports file path, line number, return type, function |
| 15 |
name, and parameters for each match. |
19 |
name, and parameters for each match. |
| 16 |
- **Debug Mode**: Supports detailed logging via the `DEBUG` environment |
20 |
- **Debug Mode**: Supports detailed logging via the `DEBUG` environment |
| 17 |
variable. |
21 |
variable. |
|
|
22 |
- **Fuzzy Matching**: Supports configurable Levenshtein distance for fuzzy search. |
| 18 |
|
23 |
|
| 19 |
## Prerequisites |
24 |
## Prerequisites |
| 20 |
|
25 |
|
| ... |
| 89 |
| ---------- | -------------- | |
94 |
| ---------- | -------------- | |
| 90 |
| C | `.c`, `.h` | |
95 |
| C | `.c`, `.h` | |
| 91 |
| C++ | `.cpp`, `.hpp` | |
96 |
| C++ | `.cpp`, `.hpp` | |
|
|
97 |
| CUDA | `.cu`, `.cuh` | |
|
|
98 |
| GLSL | `.glsl` | |
| 92 |
| Go | `.go` | |
99 |
| Go | `.go` | |
| 93 |
| Python | `.py` | |
|
|
| 94 |
| PHP | `.php` | |
|
|
| 95 |
| Rust | `.rs` | |
|
|
| 96 |
| JavaScript | `.js` | |
100 |
| JavaScript | `.js` | |
|
|
101 |
| Kotlin | `.kt` | |
| 97 |
| Lua | `.lua` | |
102 |
| Lua | `.lua` | |
|
|
103 |
| Odin | `.odin` | |
|
|
104 |
| PHP | `.php` | |
|
|
105 |
| Python | `.py` | |
|
|
106 |
| Rust | `.rs` | |
|
|
107 |
| Tcl | `.tcl` | |
|
|
108 |
| Zig | `.zig` | |
|
|
109 |
|
|
|
110 |
## Running Tests |
|
|
111 |
|
|
|
112 |
To run the test suite: |
|
|
113 |
|
|
|
114 |
```bash |
|
|
115 |
make tests |
|
|
116 |
``` |
| 98 |
|
117 |
|
| 99 |
## Additional resources |
118 |
## Additional resources |
| 100 |
|
119 |
|
| ... |