Sublime Forum

Sublime Text 4 R code autocomplete doesn't recognize variables with period


In R is common practice to name long variables using a period such as “my.variable”. The autocomplete in ST3 recognized these as variables but in ST4 the words before and after the period are recognized as separate variables.

How do I make variables with a period recognized as a complete name?



You probably can’t, because many functions just ignore word_separators settings, which doesn’t contain periods for R already.



It was working just fine on ST3, I am not sure I understand your answer. I guess I will have to go back to ST3



Word boundaries in auto-completions and other functions are hard coded and not configurable (The linked issue requests them to be more adjustable). Auto-completions has seen several changes to fix quite a number of issues with regards to non-word characters. All those changes or new heuristics are hard coded as well. So there is no way for syntax authors or end users to adjust things for certain syntaxes - all of them coming with their own special needs.

The main issue might be - just guessing - periods to be used as accessors in many popular languages, so new AC breaks words when seeing them.

As AC probably won’t go the way back to make it work like in ST3 as it breaks many other things, the only chance is to request it to respect word_separators setting. That’s the point.



Thanks for explaining that. Oh my what a nightmare, I definitely will not change thousands of lines of code, so I am forced to go back to ST3 or move to a different editor. This is a huge drawback for R users.



Are there any updates on the issue? I am sure I am not the only R programmer with this problem. I wanted to buy a ST license but now being stuck with ST3 I don’t know what to do. What are some alternatives for R coding aside from Rstudio text editor?



Have you tried LSP-R ?

It’s a package that hooks up the R languageserver with sublime text, providing accurate completions (among other things).

1 Like


I recommend using ST4 with LSP-R.

1 Like


Thanks for the suggestion. I have just tried but unfortunately it doesn’t recognize “.” as part of a variable name.

This is really frustrating! ST developer have not at all thought about R code!