Update readme

Update readme

Author Mitja Felicijan <mitja.felicijan@gmail.com> 2026-01-22 13:12:25 +0100
Committer Mitja Felicijan <mitja.felicijan@gmail.com> 2026-01-22 13:37:04 +0100
Commit 90f1332da23792fde5f3b32a0c3d72481a7e65f1 (patch)
-rw-r--r-- README.md 29
1 files changed, 24 insertions, 5 deletions
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
  
...