code: def handle_symbol_info(self, call_id, payload):
          
          with catch(KeyError, lambda e: self.editor.message("unknown_symbol")):
              decl_pos = payload["declPos"]
              f = decl_pos.get("file")
              call_options = self.call_options[call_id]
              self.log.debug('handle_symbol_info: call_options %s', call_options)
              display = call_options.get("display")
              if display and f:
                  self.editor.raw_message(f)
  
              open_definition = call_options.get("open_definition")
              if open_definition and f:
                  self.editor.clean_errors()
                  self.editor.doautocmd('BufLeave')
                  if call_options.get("split"):
                      vert = call_options.get("vert")
                      self.editor.split_window(f, vertical=vert)
                  else:
                      self.editor.edit(f)
                  self.editor.doautocmd('BufReadPre', 'BufRead', 'BufEnter')
                  self.set_position(decl_pos)
                  del self.call_options[call_id]
docs: Handler for response `SymbolInfo`.