MCPcopy Create free account
hub / github.com/JordanCoin/codemap / applyMakefileHeuristics

Function applyMakefileHeuristics

cmd/context.go:324–345  ·  view source on GitHub ↗
(path string, addLang func(string))

Source from the content-addressed store, hash-verified

322var cachedFileCount = -1
323
324func applyMakefileHeuristics(path string, addLang func(string)) {
325 f, err := os.Open(path)
326 if err != nil {
327 return
328 }
329 defer f.Close()
330
331 buf, err := io.ReadAll(io.LimitReader(f, 128*1024))
332 if err != nil {
333 return
334 }
335 content := strings.ToLower(string(buf))
336
337 if strings.Contains(content, "g++") || strings.Contains(content, "clang++") || strings.Contains(content, ".cpp") || strings.Contains(content, ".cc") {
338 addLang("cpp")
339 }
340 // Tighten C detection: exclude clang++ and .cpp/.cc false positives
341 if strings.Contains(content, "gcc") ||
342 (strings.Contains(content, "clang") && !strings.Contains(content, "clang++")) {
343 addLang("c")
344 }
345}
346
347// countSourceFiles does a quick count of source files in the project.
348// Uses cached result from detectLanguagesFromFiles if available.

Callers 1

detectLanguagesFromFilesFunction · 0.85

Calls 1

CloseMethod · 0.80

Tested by

no test coverage detected