mirror of
				https://github.com/MaskRay/ccls.git
				synced 2025-11-03 22:04:24 +00:00 
			
		
		
		
	rename
This commit is contained in:
		
							parent
							
								
									8a9640a56b
								
							
						
					
					
						commit
						0df5a2cd66
					
				@ -220,32 +220,32 @@ target_sources(ccls PRIVATE
 | 
			
		||||
 | 
			
		||||
target_sources(ccls PRIVATE
 | 
			
		||||
               src/messages/ccls_base.cc
 | 
			
		||||
               src/messages/ccls_call_hierarchy.cc
 | 
			
		||||
               src/messages/ccls_callHierarchy.cc
 | 
			
		||||
               src/messages/ccls_callers.cc
 | 
			
		||||
               src/messages/ccls_file_info.cc
 | 
			
		||||
               src/messages/ccls_freshen_index.cc
 | 
			
		||||
               src/messages/ccls_inheritance_hierarchy.cc
 | 
			
		||||
               src/messages/ccls_member_hierarchy.cc
 | 
			
		||||
               src/messages/ccls_fileInfo.cc
 | 
			
		||||
               src/messages/ccls_freshenIndex.cc
 | 
			
		||||
               src/messages/ccls_inheritanceHierarchy.cc
 | 
			
		||||
               src/messages/ccls_memberHierarchy.cc
 | 
			
		||||
               src/messages/ccls_vars.cc
 | 
			
		||||
               src/messages/exit.cc
 | 
			
		||||
               src/messages/initialize.cc
 | 
			
		||||
               src/messages/shutdown.cc
 | 
			
		||||
               src/messages/text_document_code_lens.cc
 | 
			
		||||
               src/messages/text_document_completion.cc
 | 
			
		||||
               src/messages/text_document_definition.cc
 | 
			
		||||
               src/messages/text_document_did_change.cc
 | 
			
		||||
               src/messages/text_document_did_close.cc
 | 
			
		||||
               src/messages/text_document_did_open.cc
 | 
			
		||||
               src/messages/text_document_did_save.cc
 | 
			
		||||
               src/messages/text_document_document_highlight.cc
 | 
			
		||||
               src/messages/text_document_document_symbol.cc
 | 
			
		||||
               src/messages/text_document_hover.cc
 | 
			
		||||
               src/messages/text_document_implementation.cc
 | 
			
		||||
               src/messages/text_document_references.cc
 | 
			
		||||
               src/messages/text_document_rename.cc
 | 
			
		||||
               src/messages/text_document_signature_help.cc
 | 
			
		||||
               src/messages/text_document_type_definition.cc
 | 
			
		||||
               src/messages/workspace_did_change_configuration.cc
 | 
			
		||||
               src/messages/workspace_did_change_watched_files.cc
 | 
			
		||||
               src/messages/textDocument_codeLens.cc
 | 
			
		||||
               src/messages/textDocument_completion.cc
 | 
			
		||||
               src/messages/textDocument_definition.cc
 | 
			
		||||
               src/messages/textDocument_didChange.cc
 | 
			
		||||
               src/messages/textDocument_didClose.cc
 | 
			
		||||
               src/messages/textDocument_didOpen.cc
 | 
			
		||||
               src/messages/textDocument_didSave.cc
 | 
			
		||||
               src/messages/textDocument_documentHighlight.cc
 | 
			
		||||
               src/messages/textDocument_documentSymbol.cc
 | 
			
		||||
               src/messages/textDocument_hover.cc
 | 
			
		||||
               src/messages/textDocument_implementation.cc
 | 
			
		||||
               src/messages/textDocument_references.cc
 | 
			
		||||
               src/messages/textDocument_rename.cc
 | 
			
		||||
               src/messages/textDocument_signatureHelp.cc
 | 
			
		||||
               src/messages/textDocument_typeDefinition.cc
 | 
			
		||||
               src/messages/workspace_didChangeConfiguration.cc
 | 
			
		||||
               src/messages/workspace_didChangeWatchedFiles.cc
 | 
			
		||||
               src/messages/workspace_symbol.cc
 | 
			
		||||
               )
 | 
			
		||||
 | 
			
		||||
@ -20,6 +20,21 @@ struct In_TextDocumentDocumentSymbol : public RequestInMessage {
 | 
			
		||||
MAKE_REFLECT_STRUCT(In_TextDocumentDocumentSymbol, id, params);
 | 
			
		||||
REGISTER_IN_MESSAGE(In_TextDocumentDocumentSymbol);
 | 
			
		||||
 | 
			
		||||
struct lsSimpleLocation {
 | 
			
		||||
  lsRange range;
 | 
			
		||||
};
 | 
			
		||||
MAKE_REFLECT_STRUCT(lsSimpleLocation, range);
 | 
			
		||||
struct lsSimpleSymbolInformation {
 | 
			
		||||
  lsSimpleLocation location;
 | 
			
		||||
};
 | 
			
		||||
MAKE_REFLECT_STRUCT(lsSimpleSymbolInformation, location);
 | 
			
		||||
struct Out_SimpleDocumentSymbol
 | 
			
		||||
    : public lsOutMessage<Out_SimpleDocumentSymbol> {
 | 
			
		||||
  lsRequestId id;
 | 
			
		||||
  std::vector<lsSimpleSymbolInformation> result;
 | 
			
		||||
};
 | 
			
		||||
MAKE_REFLECT_STRUCT(Out_SimpleDocumentSymbol, jsonrpc, id, result);
 | 
			
		||||
 | 
			
		||||
struct Out_TextDocumentDocumentSymbol
 | 
			
		||||
    : public lsOutMessage<Out_TextDocumentDocumentSymbol> {
 | 
			
		||||
  lsRequestId id;
 | 
			
		||||
@ -32,8 +47,6 @@ struct Handler_TextDocumentDocumentSymbol
 | 
			
		||||
  MethodType GetMethodType() const override { return kMethodType; }
 | 
			
		||||
  void Run(In_TextDocumentDocumentSymbol* request) override {
 | 
			
		||||
    auto& params = request->params;
 | 
			
		||||
    Out_TextDocumentDocumentSymbol out;
 | 
			
		||||
    out.id = request->id;
 | 
			
		||||
 | 
			
		||||
    QueryFile* file;
 | 
			
		||||
    int file_id;
 | 
			
		||||
@ -42,17 +55,17 @@ struct Handler_TextDocumentDocumentSymbol
 | 
			
		||||
      return;
 | 
			
		||||
 | 
			
		||||
    if (params.all) {
 | 
			
		||||
      Out_SimpleDocumentSymbol out;
 | 
			
		||||
      out.id = request->id;
 | 
			
		||||
      for (SymbolRef sym : file->def->all_symbols)
 | 
			
		||||
        if (std::optional<lsSymbolInformation> info =
 | 
			
		||||
                GetSymbolInfo(db, working_files, sym, false)) {
 | 
			
		||||
          if (std::optional<lsLocation> location = GetLsLocation(
 | 
			
		||||
                  db, working_files,
 | 
			
		||||
                  Use{{sym.range, sym.usr, sym.kind, sym.role}, file_id})) {
 | 
			
		||||
            info->location = *location;
 | 
			
		||||
            out.result.push_back(*info);
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
        if (std::optional<lsLocation> location = GetLsLocation(
 | 
			
		||||
                db, working_files,
 | 
			
		||||
                Use{{sym.range, sym.usr, sym.kind, sym.role}, file_id}))
 | 
			
		||||
          out.result.push_back({{location->range}});
 | 
			
		||||
      pipeline::WriteStdout(kMethodType, out);
 | 
			
		||||
    } else {
 | 
			
		||||
      Out_TextDocumentDocumentSymbol out;
 | 
			
		||||
      out.id = request->id;
 | 
			
		||||
      for (SymbolRef sym : file->def->outline)
 | 
			
		||||
        if (std::optional<lsSymbolInformation> info =
 | 
			
		||||
                GetSymbolInfo(db, working_files, sym, false)) {
 | 
			
		||||
@ -69,9 +82,8 @@ struct Handler_TextDocumentDocumentSymbol
 | 
			
		||||
            out.result.push_back(*info);
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      pipeline::WriteStdout(kMethodType, out);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    pipeline::WriteStdout(kMethodType, out);
 | 
			
		||||
  }
 | 
			
		||||
};
 | 
			
		||||
REGISTER_MESSAGE_HANDLER(Handler_TextDocumentDocumentSymbol);
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user