xemplo de texto de um objeto com esco

Estou procurando um exemplo (no XText) de como implementar a conclusão de código em membros de objetos definidos pelo usuário. Tanto quanto posso ver, preciso usar o IScope, mas como tudo isso está unido não está clar

Dado quetrait é um tipo definido pelo usuário, como faço para criar uma gramática para completar / validar o código dos métodos contidos emString quando digitoname.?

trait String {
    def toLowerCase(): String
    def toUpperCase(): String
}

val name = new String()
name.toLowerCase()

Obrigad

questionAnswers(2)

yourAnswerToTheQuestion