Skip to content

Commit 5e8fc3e

Browse files
committed
refactor: Simplify and optimize weight calculation in RepoMap
1 parent 04e76ad commit 5e8fc3e

1 file changed

Lines changed: 12 additions & 6 deletions

File tree

aider/repomap.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ def get_repo_map(
105105
mentioned_idents=None,
106106
force_refresh=False,
107107
):
108+
108109
if self.max_map_tokens <= 0:
109110
return
110111
if not other_files:
@@ -445,23 +446,28 @@ def get_ranked_tags(
445446
progress()
446447

447448
definers = defines[ident]
449+
450+
mul = 1.0
451+
# if ident is snake_case or camelCase, mul * 10 ai!
448452
if ident in mentioned_idents:
449-
mul = 10
450-
elif ident.startswith("_"):
451-
mul = 0.1
452-
else:
453-
mul = 1
453+
mul *= 10
454+
if ident.startswith("_"):
455+
mul *= 0.1
454456

455457
for referencer, num_refs in Counter(references[ident]).items():
456458
for definer in definers:
457459
# dump(referencer, definer, num_refs, mul)
458460
# if referencer == definer:
459461
# continue
460462

463+
use_mul = mul
464+
if referencer in chat_rel_fnames:
465+
use_mul *= 50
466+
461467
# scale down so high freq (low value) mentions don't dominate
462468
num_refs = math.sqrt(num_refs)
463469

464-
G.add_edge(referencer, definer, weight=mul * num_refs, ident=ident)
470+
G.add_edge(referencer, definer, weight=use_mul * num_refs, ident=ident)
465471

466472
if not references:
467473
pass

0 commit comments

Comments
 (0)