DanielGavin / ols

Language server for Odin
MIT License
375 stars 56 forks source link

Issues with some inlays inside the parameters of the procedures on the file demo.odin . #241

Open joaocarvalhoopen opened 10 months ago

joaocarvalhoopen commented 10 months ago

Following the discussion on the discord of Odin Programming Language.

Please Droaz forget every thing that I told you that was not working I have striped the file of demo.odin to the minimal and it still not working for the majority of the code, but then I did the following and the majority or all the code has comments I will review evry line of the 2500 line of code of the file and come back to you in a momento. The prroblem was in the ols.json This those not work with the tilda.

{
    "$schema": "https://raw.githubusercontent.com/DanielGavin/ols/master/misc/ols.schema.json",
    "collections": [
        { "name": "core", "path": "~/odin/Odin/core" },
        { "name": "shared", "path": "~/odin_proj/demo" }
    ],
    "enable_semantic_tokens": false,
    "enable_document_symbols": true,
    "enable_hover": true,
    "enable_snippets": true,
    "enable_inlay_hints": true
}

But work well with this:

{
    "$schema": "https://raw.githubusercontent.com/DanielGavin/ols/master/misc/ols.schema.json",
    "collections": [
        { "name": "core", "path": "/home/joaocarvalho/odin/Odin/core" },
        { "name": "shared", "path": "/home/joaocarvalho/odin_proj/demo" }
    ],
    "enable_semantic_tokens": false,
    "enable_document_symbols": true,
    "enable_hover": true,
    "enable_snippets": true,
    "enable_inlay_hints": true
}

I will see if it works with all procedures inside demo.odin line by line. defer delete() doesn't work:

line 207 some_map := map[string]int{"A" = 1, "C" = 9, "B" = 4} line 208 defer delete(some_map)

joaocarvalhoopen commented 10 months ago

This one in variadic_procedures() is best described with a screen shot:

image

joaocarvalhoopen commented 10 months ago

In explicit_procedure_overloading() it's is also problematic.

image

joaocarvalhoopen commented 10 months ago

In this case with templates new_entity and the new are also problematic:

image

joaocarvalhoopen commented 10 months ago

The last image didn't show the last line:

image

joaocarvalhoopen commented 10 months ago

While printing the last field off this fmt.println() it is problematic:

image

While receiving the address to an argument with a pointer, it is problematic:

image

new() and free() don't show nothing:

image

joaocarvalhoopen commented 10 months ago

alloc() doesn't work correctly:

image

make(), type_of() , max() don't work correctly, and so doesn't work this template make_slice()

image

joaocarvalhoopen commented 10 months ago

put() doesn't work correctly:

image

All this have templates or generics, so they render badly:

image

append() in a vector doesn't work

image

joaocarvalhoopen commented 10 months ago

O thread.pool_init() e o thread.poll_start() nãom funcionam:

image

If it is inside a compile time assert thje size_of() function doesn't show it's inlay:

image

joaocarvalhoopen commented 10 months ago

Inside a Parametric polymorphic checks in the where of the type the intrinsics.type_is_numeric() doest show but i don't know if this is supposed to show?

image

joaocarvalhoopen commented 10 months ago

In function parameters overloading with generic parameters for the function it doesn't work:

image

make() doesn't work:

image

joaocarvalhoopen commented 10 months ago

IMPORTANT: I correct what I just said, make works because the first parameter is the type!

soa_zip() and soa_unzip() doesn't work:

image

joaocarvalhoopen commented 10 months ago

runtime.default_context() doesn't work:

image

big.gcb_lcm() doesn't show correctly:

image

hadamard_product() for matrixes doesn't show correctly:

image

And that all the cases inside demo.odin from the Odin language repositorio!

Thank you,

Best regards João Carvalho

joaocarvalhoopen commented 10 months ago

Correction:

runtime.default_context() doesn't have parameters so it is working correctly.