-`swank:simple-completions` <- function(slimeConnection, sldbState, prefix, package) {
- symbolFieldsCompletion <- function(object, rest) {
- ## FIXME: this is hacky, ignoring several syntax issues (use of
- ## and/or necessity for backquoting identifiers: e.g. fields
- ## containing hyphens)
- if((dollar <- regexpr("$", rest, fixed=TRUE)) == -1) {
- matches <- grep(sprintf("^%s", literal2rx(rest)), names(object), value=TRUE)
- matches <- sprintf("%s$%s", gsub("\\$[^$]*$", "", prefix), matches)
- returnMatches(matches)
+symbolFieldsCompletion <- function(object, prefix, rest) {
+ ## FIXME: this is hacky, ignoring several syntax issues (use of
+ ## and/or necessity for backquoting identifiers: e.g. fields
+ ## containing hyphens)
+ if((dollar <- regexpr("$", rest, fixed=TRUE)) == -1) {
+ matches <- grep(sprintf("^%s", literal2rx(rest)), names(object), value=TRUE)
+ matches <- sprintf("%s$%s", gsub("\\$[^$]*$", "", prefix), matches)
+ returnMatches(matches)
+ } else {
+ if(exists(substr(rest, 1, dollar-1), object)) {
+ symbolFieldsCompletion(get(substr(rest, 1, dollar-1), object), prefix, substr(rest, dollar+1, nchar(rest)))