Break up tab boundary by space not by word

Current behavior: if you have this: `hello world[tab]`
the tab will select `world` as the prefix to lookup tab triggers for because it's the current word. 
My modification does't look at the current word but instead looks backwards until it finds the first whitespace character, and uses that as the prefix e.g `hello @world[tab]` would use `@world` as the prefix