summaryrefslogtreecommitdiffstats
path: root/src/ClientHandle.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ClientHandle.cpp')
-rw-r--r--src/ClientHandle.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/ClientHandle.cpp b/src/ClientHandle.cpp
index 772d8ad6c..997510684 100644
--- a/src/ClientHandle.cpp
+++ b/src/ClientHandle.cpp
@@ -1831,12 +1831,24 @@ void cClientHandle::HandleUnmount(void)
void cClientHandle::HandleTabCompletion(const AString & a_Text)
{
AStringVector Results;
- m_Player->GetWorld()->TabCompleteUserName(a_Text, Results);
+ // Get player name completions.
+ if (cRoot::Get()->GetServer()->ShouldAllowMultiWorldTabCompletion())
+ {
+ Results = cRoot::Get()->GetPlayerTabCompletionMultiWorld(a_Text);
+ }
+ else
+ {
+ m_Player->GetWorld()->TabCompleteUserName(a_Text, Results);
+ }
+
+ // Get command completions.
cRoot::Get()->GetPluginManager()->TabCompleteCommand(a_Text, Results, m_Player);
if (Results.empty())
{
return;
}
+
+ // Sort and send results.
std::sort(Results.begin(), Results.end());
SendTabCompletionResults(Results);
}