Given typescript(): let abc = y. let foo = ab let foo = (ab) let string1 = ' let string2 = " Execute(Completion should be done after dots in TypeScript): AssertEqual '.', ale#completion#GetPrefix(&filetype, 1, 13) Execute(Completion should be done after words in TypeScript): AssertEqual 'ab', ale#completion#GetPrefix(&filetype, 2, 13) Execute(Completion should be done after words in parens in TypeScript): AssertEqual 'ab', ale#completion#GetPrefix(&filetype, 3, 14) Execute(Completion should not be done after parens in TypeScript): AssertEqual '', ale#completion#GetPrefix(&filetype, 3, 15) Execute(Completion should be done after strings in TypeScript): AssertEqual '''', ale#completion#GetPrefix(&filetype, 4, 16) AssertEqual '"', ale#completion#GetPrefix(&filetype, 5, 16) Execute(Completion prefixes should work for other filetypes): AssertEqual 'ab', ale#completion#GetPrefix('xxxyyyzzz', 3, 14) Execute(Completion prefixes should work for other filetypes): AssertEqual 'ab', ale#completion#GetPrefix('xxxyyyzzz', 3, 14) Given rust(): let abc = y. let abc = String:: let foo = (ab) Execute(Completion should be done after dots in Rust): AssertEqual '.', ale#completion#GetPrefix(&filetype, 1, 13) Execute(Completion should be done after colons in Rust): AssertEqual '::', ale#completion#GetPrefix(&filetype, 2, 19) Execute(Completion should be done after words in parens in Rust): AssertEqual 'ab', ale#completion#GetPrefix(&filetype, 3, 14) Execute(Completion should not be done after parens in Rust): AssertEqual '', ale#completion#GetPrefix(&filetype, 3, 15)