diff --git a/src/cpp/session/modules/SessionRCompletions.R b/src/cpp/session/modules/SessionRCompletions.R index 322a0a0a7f5..58ce1cfc311 100644 --- a/src/cpp/session/modules/SessionRCompletions.R +++ b/src/cpp/session/modules/SessionRCompletions.R @@ -2547,18 +2547,20 @@ assign(x = ".rs.acCompletionTypes", } } - aliases <- tryCatch( - aliases[[pkg]], - error = function(e) character() - ) + # filter the aliases list to just this package + aliases <- aliases[names(aliases) %in% pkg] } - aliases <- unlist(aliases) - results <- .rs.selectFuzzyMatches(aliases, token) + filtered <- lapply(aliases, function(alias) { + .rs.selectFuzzyMatches(alias, token) + }) + + listed <- .rs.namedVectorAsList(filtered) completions <- .rs.makeCompletions( token = token, - results = results, + results = listed$values, + packages = listed$names, quote = quote, type = .rs.acCompletionTypes$HELP, overrideInsertParens = TRUE