Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: colbymchenry/codegraph
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
Loading
...
head repository: malou996/codegraph
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Loading
Checking mergeability… Don’t worry, you can still create the pull request.
  • 7 commits
  • 15 files changed
  • 1 contributor

Commits on Jun 12, 2026

  1. feat: add Erlang language support (.erl, .hrl)

    Wire the WhatsApp tree-sitter-erlang grammar into the extraction pipeline
    with a custom visitNode extractor that handles Erlang's fun_decl/function_clause
    AST structure. Extracts modules, functions, records, type/opaque declarations,
    macros, imports/includes, exports, and call edges. Benchmarked on poolboy,
    cowboy, and EMQX — codegraph reduces file reads to zero across all three.
    leihua committed Jun 12, 2026
    Configuration menu
    Copy the full SHA
    aec1357 View commit details
    Browse the repository at this point in the history
  2. feat(erlang): resolve remote calls across module boundaries

    Erlang remote calls like `gen_server:call(...)` now emit qualified
    `module:function` references that resolve to functions in the target
    module file. On cowboy, this creates 793 cross-file call edges where
    previously all calls were file-local.
    - extractCall: detect `call` nodes inside `remote` parents and emit
     `module:function` as the callee name
    - import-resolver: add resolveErlangRemoteCall() that matches the
     module prefix to the target .erl file stem
    - test: verify gen_server:start_link, gen_server:call, my_db:lookup
     are extracted as qualified references
    leihua committed Jun 12, 2026
    Configuration menu
    Copy the full SHA
    6ae8303 View commit details
    Browse the repository at this point in the history
  3. feat(erlang): resolve -behaviour() declarations as implements edges

    Erlang -behaviour(gen_server). now creates module→behaviour implements
    edges instead of import nodes. For in-project behaviours, the edge
    resolves to the actual module; for OTP stdlib behaviours, the reference
    stays unresolved rather than mis-connecting to a same-named field.
    On cowboy, this produces 27 correct implements edges (e.g.
    cowboy_router → cowboy_middleware). A callback synthesizer bridges
    behaviour function dispatch for in-project behaviours.
    - erlang.ts: behaviour_attribute emits implements unresolved reference
    - import-resolver: resolveErlangBehaviourImplements matches module nodes
    - index.ts: skip name-matcher for Erlang implements (wrong edge > missing)
    - callback-synthesizer: erlangBehaviourEdges bridges dispatch + adds
     erlang to IFACE_OVERRIDE_LANGS
    leihua committed Jun 12, 2026
    Configuration menu
    Copy the full SHA
    3a84653 View commit details
    Browse the repository at this point in the history
  4. feat(erlang): index OTP .app.src application metadata

    Parse .app.src / .app files as Erlang, extracting the application name
    as a module node and the applications list as import nodes for
    inter-app dependency tracking.
    leihua committed Jun 12, 2026
    Configuration menu
    Copy the full SHA
    3d186f1 View commit details
    Browse the repository at this point in the history
  5. feat(erlang): resolve .hrl include imports to header files

    Connect -include/-include_lib directives to their target .hrl files
    via file→file imports edges. Resolves same-directory includes first,
    then falls back to project-wide search.
    leihua committed Jun 12, 2026
    Configuration menu
    Copy the full SHA
    3268159 View commit details
    Browse the repository at this point in the history

Commits on Jun 13, 2026

  1. fix(erlang): handle module:function syntax in callers/callees/impact ...

    ...queries
    The pre-filter, symbol lookup, and CLI commands all handled '.', '::',
    and '/' separators but missed Erlang's single-colon 'module:function'
    syntax. This caused 'mdb:dirty_insert' references to be dropped before
    the Erlang remote call resolver could match them, and made callers/
    callees/impact return empty results when queried with the qualified name.
    leihua committed Jun 13, 2026
    Configuration menu
    Copy the full SHA
    1fa6f50 View commit details
    Browse the repository at this point in the history
  2. Merge remote-tracking branch 'upstream/main'

    leihua committed Jun 13, 2026
    Configuration menu
    Copy the full SHA
    ec616ac View commit details
    Browse the repository at this point in the history
Loading

AltStyle によって変換されたページ (->オリジナル) /