LSP Improvements.

This commit is contained in:
Martín Lucas Golini
2022-11-03 00:11:51 -03:00
parent a2730690f1
commit 36c22d63a9
8 changed files with 134 additions and 40 deletions

View File

@@ -153,7 +153,7 @@ void LSPClientServerManager::updateDirty() {
closeLSPServer( server );
}
void LSPClientServerManager::followSymbolUnderCursor( TextDocument* doc ) {
void LSPClientServerManager::goToDocumentDefinition( TextDocument* doc ) {
for ( auto& server : mClients ) {
if ( server.second->hasDocument( doc ) ) {
server.second->documentDefinition( doc->getURI(), doc->getSelection().start() );
@@ -173,4 +173,31 @@ const LSPWorkspaceFolder& LSPClientServerManager::getLSPWorkspaceFolder() const
return mLSPWorkspaceFolder;
}
std::vector<LSPClientServer*> LSPClientServerManager::getLSPClientServers( UICodeEditor* editor ) {
return getLSPClientServers( editor->getDocumentRef() );
}
std::vector<LSPClientServer*>
LSPClientServerManager::getLSPClientServers( const std::shared_ptr<TextDocument>& doc ) {
std::vector<LSPClientServer*> servers;
for ( auto& server : mClients ) {
if ( server.second->hasDocument( doc.get() ) )
servers.push_back( server.second.get() );
}
return servers;
}
LSPClientServer* LSPClientServerManager::getOneLSPClientServer( UICodeEditor* editor ) {
return getOneLSPClientServer( editor->getDocumentRef() );
}
LSPClientServer*
LSPClientServerManager::getOneLSPClientServer( const std::shared_ptr<TextDocument>& doc ) {
for ( auto& server : mClients ) {
if ( server.second->hasDocument( doc.get() ) )
return server.second.get();
}
return nullptr;
}
} // namespace ecode