Skip to content

incompatibilities with redscript-ide.exe v0.2x #30

@pawrequest

Description

@pawrequest

tldr langServer binary > v0.1.46 is returning paths with percent encoding and intellij doesnt like it
eg "uri": "file:C:/prdev/mod/PawPunk%5Cr6/scripts/PawPunk%5CPawPunk.Funcs.reds"

i guess this is just fine in vscode? same project works fine there, but GoToDefinition broken on intelliJ

also, requests to server always seem to be one position off in line and char number - i hover/click at (x,y) and it requests (x-1,y-1) although this is also true of working setup with v0.1.46 so is likely an unrelated non-concern.

In failure-mode we still get accurate hover responses and even definition, just with filepath that intellij doesnt like.

eg below we hover over actual position 5:19 which is a call to ./PawPunk.Funcs.reds, which generates a request for cursor position 4:18, to which we receive a response saying definition is at 3:12-17 (actual source definition at 4:13-18, but this off-by-one is not the issue atm). but the path is "file:C:/prdev/mod/PawPunk%5C.%5Cr6%5Cscripts%5CPawPunk%5CPawPunk.Funcs.reds" not "file:C:/prdev/mod/PawPunk/r6/scripts/PawPunk/PawPunk.Funcs.reds"

logs from v0.2.7 clickToDefinition broken at cursor position 5:19

[Trace - 01:24:36] Sending notification 'initialized'
Params: {}

[Trace - 01:24:40] Sending notification 'textDocument/didOpen'
Params: {
"textDocument": {
"uri": "file:///C:/prdev/mod/PawPunk/r6/scripts/PawPunk/test.reds",
"languageId": "Redscript",
"version": 1,
"text": "module PawPunk.Test\nimport PawPunk.Funcs.*\n\nfunc Test(){\n let serial \u003d aFunc();\n}\n\n"
}
}

[Trace - 01:24:41] Sending request 'textDocument/hover - (2)'.
Params: {
"textDocument": {
"uri": "file:///C:/prdev/mod/PawPunk/r6/scripts/PawPunk/test.reds"
},
"position": {
"line": 4,
"character": 18
}
}

[Trace - 01:24:41] Received response 'textDocument/hover - (2)' in 0ms.
Result: {
"contents": {
"kind": "markdown",
"value": "### Signature\n\nPawPunk.Funcs.aFunc() -\u003e String\n\n\n\n"
},
"range": {
"start": {
"line": 4,
"character": 17
},
"end": {
"line": 4,
"character": 24
}
}
}

[Trace - 01:24:43] Sending request 'textDocument/definition - (3)'.
Params: {
"textDocument": {
"uri": "file:///C:/prdev/mod/PawPunk/r6/scripts/PawPunk/test.reds"
},
"position": {
"line": 4,
"character": 18
}
}

[Trace - 01:24:43] Received response 'textDocument/definition - (3)' in 0ms.
Result: [
{
"uri": "file:C:/prdev/mod/PawPunk%5Cr6/scripts/PawPunk/PawPunk.Funcs.reds",
"range": {
"start": {
"line": 3,
"character": 12
},
"end": {
"line": 3,
"character": 17
}
}
}
]

[Trace - 01:24:43] Sending request 'textDocument/definition - (4)'.
Params: {
"textDocument": {
"uri": "file:///C:/prdev/mod/PawPunk/r6/scripts/PawPunk/test.reds"
},
"position": {
"line": 0,
"character": 1
}
}

[Trace - 01:24:43] Received response 'textDocument/definition - (4)' in 0ms.
Result: []

logs from v0.1.46 working at cursor position 5:19

[Trace - 23:29:20] Sending notification 'initialized'
Params: {}

[Trace - 23:29:25] Received notification 'textDocument/publishDiagnostics'
Params: {
"uri": "file:///C:/prdev/mod/PawPunk/r6/scripts/PawPunk/PawPunk.Funcs.reds",
"diagnostics": []
}

[Trace - 23:29:25] Received notification 'textDocument/publishDiagnostics'
Params: {
"uri": "file:///C:/prdev/mod/PawPunk/r6/scripts/PawPunk/PawPunk.reds",
"diagnostics": []
}

[Trace - 23:29:25] Received notification 'textDocument/publishDiagnostics'
Params: {
"uri": "file:///C:/prdev/mod/PawPunk/r6/scripts/PawPunk/test.reds",
"diagnostics": []
}

[Trace - 23:29:25] Received notification 'textDocument/publishDiagnostics'
Params: {
"uri": "file:///C:/prdev/mod/PawPunk/r6/scripts/PawPunk/test.reds",
"diagnostics": [
{
"range": {
"start": {
"line": 4,
"character": 4
},
"end": {
"line": 4,
"character": 25
}
},
"severity": 2,
"source": "redscript",
"message": "this variable is never used"
}
]
}

[Trace - 23:29:25] Received notification 'window/logMessage'
Params: {
"type": 3,
"message": "redscript server initialized!"
}

[Trace - 23:29:25] Sending notification 'textDocument/didOpen'
Params: {
"textDocument": {
"uri": "file:///C:/prdev/mod/PawPunk/r6/scripts/PawPunk/test.reds",
"languageId": "Redscript",
"version": 1,
"text": "module PawPunk.Test\nimport PawPunk.Funcs.*\n\nfunc Test(){\n let serial \u003d aFunc();\n}\n\n"
}
}

[Trace - 23:29:26] Sending request 'textDocument/hover - (2)'.
Params: {
"textDocument": {
"uri": "file:///C:/prdev/mod/PawPunk/r6/scripts/PawPunk/test.reds"
},
"position": {
"line": 4,
"character": 18
}
}

[Trace - 23:29:26] Received response 'textDocument/hover - (2)' in 0ms.
Result: {
"contents": {
"language": "redscript",
"value": "PawPunk.Funcs.aFunc() -\u003e String"
},
"range": {
"start": {
"line": 4,
"character": 17
},
"end": {
"line": 4,
"character": 24
}
}
}

[Trace - 23:29:26] Sending request 'textDocument/definition - (3)'.
Params: {
"textDocument": {
"uri": "file:///C:/prdev/mod/PawPunk/r6/scripts/PawPunk/test.reds"
},
"position": {
"line": 4,
"character": 17
}
}

[Trace - 23:29:26] Received response 'textDocument/definition - (3)' in 0ms.
Result: [
{
"uri": "file:///C:/prdev/mod/PawPunk/r6/scripts/PawPunk/PawPunk.Funcs.reds",
"range": {
"start": {
"line": 4,
"character": 0
},
"end": {
"line": 4,
"character": 0
}
}
}
]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions