vlang / v-analyzer

The @vlang language server, for all your editing needs like go-to-definition, code completion, type hints, and more.
MIT License
92 stars 10 forks source link

`os.join_path` does not get inferred #23

Closed bramvbilsen closed 5 months ago

bramvbilsen commented 5 months ago

Describe the bug

There is no type inferrence for the os.join_path function. For example:

tmp := os.join_path(root, 'tmp')

tmp will be inferred as unknown and the os.join_path method does not have any typing information. I.e. when analyzing the method, it seems to be detached from the actual implementation. I believe this is the case as the function is defined and has documentation (https://modules.vlang.io/os.html#join_path).

A side effect of this is also that os.join_path has no auto-completion.

Expected Behavior

Analyzer being aware of the method and showing its signature and docs.

Current Behavior

No type inferrence -> no docs / signature. As a result, when using this method and assigning the result to a variable, the type of the variable will be inferred as unknown.

Reproduction Steps

tmp := os.join_path(root, 'tmp')

Possible Solution

No response

Additional Information/Context

No response

Environment details (v doctor output)

V full version: V 0.4.4 365bd18
OS: macos, macOS, 14.4, 23E214
Processor: 10 cpus, 64bit, little endian, Apple M1 Max

getwd: X
vexe: X
vexe mtime: 2024-03-12 15:26:32

vroot: OK, value: X
VMODULES: OK, value: X
VTMP: OK, value: X

Git version: git version 2.44.0
Git vroot status: weekly.2024.11-9-g365bd185
.git/config present: true

CC version: Apple clang version 15.0.0 (clang-1500.3.9.4)
thirdparty/tcc status: thirdparty-macos-arm64 5c1d002f

Editor name

VS Code

v-analyzer Version

0.0.3-beta.1.a796f25

VS Code Extension Version

v0.0.2