test_eq(
test_instance.get_env("`", "", None)[0:3],
(Env.LOCAL, 1, ""))completion_env
Autocomplete helper: determine context of the token to be autocompleted
Adapted from the stata_kernel version (omitting mata-specific stuff).
Note the corner cases discussed here, but the commented out test cases below are not yet handled:
- github.com/kylebarron/language-stata/issues/90
- statalist.org/forums/forum/general-stata-discussion/general/1448244
CompletionEnv
def CompletionEnv(
):
Env
def Env(
args:VAR_POSITIONAL, kwds:VAR_KEYWORD
):
Enum where members are also (and must be) ints
CompletionEnv.get_env
def get_env(
code:str, # Right-truncated to cursor position
r2chars:str, # The two characters immediately after `code`, used to accurately determine rcomp
sc_delimiter
)->Tuple:
Returns completions environment
test_eq(
test_instance.get_env("*%b", "", None)[0:2],
(Env.MAGIC, 1))test_eq(
test_instance.get_env("gen time_tc = clock(datea", "", None)[0:2],
(Env.GENERAL, 20))test_eq(
test_instance.get_env("list var1-v", "", None)[0:2],
(Env.GENERAL, 10))