diff --git a/src/NECompletion/RBProgramNode.extension.st b/src/NECompletion/RBProgramNode.extension.st index 7c9b790da55..7f36cf32cc0 100644 --- a/src/NECompletion/RBProgramNode.extension.st +++ b/src/NECompletion/RBProgramNode.extension.st @@ -4,7 +4,7 @@ Extension { #name : #RBProgramNode } RBProgramNode >> completionEntries: offset [ "for now we give all selectors and gloabls as a fallback" | selectors globals | - + self methodNode sourceCode ifNil: [ ^#() ]. selectors := Symbol selectorTable select: [ :each | each beginsWith: (self completionToken: offset)] thenCollect: [ :each | NECSymbolEntry contents: each node: self ]. @@ -20,6 +20,8 @@ RBProgramNode >> completionEntries: offset [ { #category : #'*NECompletion' } RBProgramNode >> completionToken: offset [ "fall back: if we are not able to parse to something better, we use the word before the cursor" - ^self methodNode sourceCode wordBefore: offset + ^ self methodNode sourceCode + ifNil: [ String new ] + ifNotNil: [ :source | source wordBefore: offset ] ]