autoload/lsp/lspserver.vim | 5 ++++- diff --git a/autoload/lsp/lspserver.vim b/autoload/lsp/lspserver.vim index 3ef58dce10aa1679dae1368642521eb15cdda0e0..11c4afa753e16ef74fa67324b4025baf38fa04f2 100644 --- a/autoload/lsp/lspserver.vim +++ b/autoload/lsp/lspserver.vim @@ -1451,12 +1451,15 @@ endif var symInfo: list> = reply.result - symInfo->map((_, sym) => { + if lspserver.needOffsetEncoding + # Decode the position encoding in all the symbol locations + symInfo->map((_, sym) => { if sym->has_key('location') lspserver.decodeLocation(sym.location) endif return sym }) + endif if firstCall && symInfo->len() == 1 # If there is only one symbol, then jump to the symbol location