Skip to content

@operator add customization for first operand? #2777

Closed
@SeanTheBuilder1

Description

@SeanTheBuilder1

How are you using the lua-language-server?

NeoVim

Which OS are you using?

Linux

What is the issue affecting?

Annotations

Expected Behaviour

I expected it would work like this

---@class Vector3
---@field x number
---@field y number
---@field z number
---@operator add(Vector, Vector3): Vector3 # Vector3 + Vector3
---@operator add(number, Vector3): Vector3 # number + Vector3
---@operator add(Vector3, number): Vector3 # Vector3 + number
Vector3 = {}

Actual Behaviour

But instead it is like this

---@class Vector3
---@field x number
---@field y number
---@field z number
---@operator add(Vector): Vector3 # Vector3 + Vector3
---@operator add(number, Vector3): Vector3 # this is impossible as far as I know
---@operator add(number): Vector3 # Vector3 + number
Vector3 = {}

Reproduction steps

copy paste 'Expected Behaviour code'
displays " ')' expected "

Additional Notes

I am asking if the impossible case is actually possible and that it is only undocumented or something. I expected the binary operators to take two parameters instead of just one. Thank you.

Log File

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions