Published v1.6.2 still fails to index C++ operator++ references on Windows (related to #2482 / #2769)
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 68/100
Línea de trabajo
La regex que falla se construye en cppParenListAfter en lib/dist/resolution/name-matcher.js, alrededor de la línea 10334, donde solo se escapa ~ antes de new RegExp. Comprueba si el código fuente ya tiene la corrección de #2769 y, después, escapa todos los metacaracteres de regex en el nombre del operador, como +. Está terminado cuando la resolución de referencias supera el 14 % en un archivo C++ que contiene operator++ sin el error 'Nothing to repeat'.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
CodeGraph 1.6.2 fails during reference resolution with an invalid regular expression involving operator++. This prevents my project from being fully indexed.
I found #2482 and the fix merged in #2769. My installed npm package still contains the unescaped operator-name handling. Could you confirm which published release includes the fix, or recommend a supported workaround until it is released?
Environment
- OS: Windows, x64
- Shell: PowerShell
- Package:
@colbymchenry/codegraph - Installed version: 1.6.2
- Installation:
npm install -g @colbymchenry/codegraph - System Node.js: v26.13.0
- CodeGraph's bundled Node.js: v24.16.0
The MCP server connects successfully through Magpie. The indexing failure also happens directly in the CLI, independently of MCP calls.
Steps to reproduce on my project
- Install the npm package.
- Open PowerShell in the project root.
- Run:
codegraph.cmd init - Scanning finds 41,050 files.
- Parsing completes, but reference resolution fails at approximately 14%.
- Running
codegraph.cmd indexalso fails with the same regex error.
Actual output
Initialized in <project-root>
Scanning files — 41,050 found
Parsing code — done
Resolving refs — 14%
Failed: Invalid regular expression: /\boperator++\s*(?:<[^<>()]*>)?\s*\(/: Nothing to repeat
Re-indexing reports:
Failed to index: Invalid regular expression: /\boperator++\s*(?:<[^<>()]*>)?\s*\(/: Nothing to repeat
After the failed initialization, running init again says:
Already initialized in <project-root>
Use "codegraph index" to re-index or "codegraph sync" to update
This message does not make it clear that the initial indexing did not finish.
Expected behavior
- Operator names containing regex metacharacters should not crash reference resolution.
- Indexing should complete for supported source files.
- A failed initial index should be clearly distinguishable from a successfully indexed project.
Relevant installed code
In the installed Windows platform package:
lib/dist/resolution/name-matcher.js, line 10334, inside cppParenListAfter:
const at = new RegExp(`\\b${name.replace(/[~]/g, '\\$&')}\\s*(?:<[^<>()]*>)?\\s*\\(`).exec(text.slice(column));
This escapes ~ only, leaving the + characters in operator++ unescaped.
Impact
This blocks CodeGraph indexing for my project. An incomplete index is left behind, so I cannot rely on it for complete code relationships.
Related: #2482, #2457, #2769.
- Lenguaje dominante
- C
- Estrellas
- 73.2k
- Forks
- 4.7k
- Merge medio
- 3 h 39 min
- PR fusionados (30 d)
- 528
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de colbymchenry/codegraph
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
colbymchenry/codegraph#3228 ·
Los mantenedores suelen responder en 1 día
-
A `../` entry in package.json `workspaces` makes a folder outside the project count as a workspace package, and a call gets linked to the wrong functionPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
colbymchenry/codegraph#3093 ·
Los mantenedores suelen responder en 1 día
-
Windows: npm-shim spawnSync missing windowsHide flashes a console window on every MCP server launchAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
colbymchenry/codegraph#3054 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
colbymchenry/codegraph#2974 ·
Los mantenedores suelen responder en 1 día
-
[Security Vulnerabiliy] Vulnerable bundled `node.exe` detected (Node2Shell - CVE-2026-111497)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
colbymchenry/codegraph#2959 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de colbymchenry/codegraph
Issues similares
-
Preserve final logical line at EOF in db2ldif_read_ldif_line()Posiblemente ocupada @ccsimplyspolit la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
389ds/389-ds-base#8088 ·
Los mantenedores suelen responder en 2 días
-
ai-driven-fuzzing bug Minor
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
linagora/open-bastion#431 ·
Los mantenedores suelen responder en 1 día
-
JWT: malformed exp and nbf claim types bypass time validationPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
Properties side panel changes width when switching panels (MOs wider, Density Profile narrower)Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
FriendsofECCE/ECCE#843 ·
-
vim.pack: version cannot match branches when git column.ui is setPosiblemente ocupada @tanloong la tomó hoy. Abiertopackages
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
neovim/neovim#42682 · 1 reacción ·
Los mantenedores suelen responder en 1 día