code: def rpc_get_names(self, filename, source, offset):
          
          names = jedi.api.names(source=source,
                                 path=filename, encoding='utf-8',
                                 all_scopes=True,
                                 definitions=True,
                                 references=True)
  
          result = []
          for name in names:
              if name.module_path == filename:
                  offset = linecol_to_pos(source, name.line, name.column)
              elif name.module_path is not None:
                  with open(name.module_path) as f:
                      text = f.read()
                  offset = linecol_to_pos(text, name.line, name.column)
              result.append({"name": name.name,
                             "filename": name.module_path,
                             "offset": offset})
          return result
docs: Return the list of possible names