LSP: incorrect handling for textDocument/definition response
May be there is an error on hanling GVls response for textDocument/definition
request:
** Message: 23:05:12.044: gvlsp-server-jsonrpc.vala:610: Request: {'textDocument': <{'uri': <'file:///home/despinosa/Projects/gvls/src/lsp/gvlsp-server-jsonrpc.vala'>}>, 'position': <{'line': <int64 22>, 'character': <int64 26>}>}
** Message: 23:05:12.063: gvlsp-server-jsonrpc.vala:615: Parsed: {'textDocument': <{'uri': <'file:///home/despinosa/Projects/gvls/src/lsp/gvlsp-server-jsonrpc.vala'>}>, 'position': <{'line': <int64 22>, 'character': <int64 26>}>}
** Message: 23:05:12.064: gvlsp-server-jsonrpc.vala:429: WORD: 'GVls.ValaServer' CNAME 'GVls.ValaServer' PART ''
** Message: 23:05:12.071: gvlsp-server-jsonrpc.vala:632: Response: {'uri': <'file:///home/despinosa/Projects/gvls/src/gvls-vala-server.vala'>, 'start': <{'line': <int64 28>, 'character': <int64 1>}>, 'end': <{'line': <int64 28>, 'character': <int64 66>}>}
sys:1: Warning: the GVariant format string 'v' has a type of 'v' but the given value has a type of '{sv}'
sys:1: Warning: g_variant_iter_next: assertion 'valid_format_string (format_string, TRUE, value)' failed
As you can see, GVls server gets the correct request and parse it correctly too. Then perform a search for the requested symbol, found it and response a Location
object as a {sv}
, but Builder just doesn't expect a dictionary but a Variant
.