Tab completion of more than one Unicode character at a time

Is there a way to type this variable

xᵢ₊₁

without having to manually tab complete each separate character: x\_i TAB \_+ TAB \_1 TAB?

In Latex this would be x_{i+1}. Is there an equivalent in Julia?

Type in the REPL: x\_i+1<tab>

NB: in help mode ? paste the symbol and Julia will tell you how to type it.

5 Likes

Has this always worked? How “long” can be the expression?

I remember some discussion on how nice would it be to support more general latex syntaxes for combining Unicode chars, I didn’t remember this working. Cool.

It seems to take a googol:

xᵢ₊₁₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀ = π

julia> xᵢ₊₁₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀₀
π = 3.1415926535897...
I❤ⱼᵤₗᵢₐ

It was a new feature in Julia 1.6; it works \_ or \^ followed by any sequence of subscripts or superscript characters, respectively, as long as all of the characters have Unicode sub/superscripts.

10 Likes

Unfortunately it doesn’t seem to work in VSCode, just in the REPL.

You may want to install the Fast Unicode Math Characters plugin in VSCode.

2 Likes

While convenient for some usecases, that’s unfortunate for others. Quoting myself from slack:

We could probably allow \^\gamma for , in which case completion of \^\gam could work.

2 Likes

Do you know if the Fast Unicode Math plugin does tab completion in the same way as Julia does in the REPL? For example, for the gamma issue raised by @aplavin would Fast Unicode Math and REPL tab completion give the same result?

If they don’t it could lead to confusing inconsistencies between REPL completion vs. completion in VSCode editor windows.

As requested, the F.U.M. VSCode plugin produces the following completions in the editor pane:

\^gam <tab> results in ᵞ
\^gamma <tab> results in ᵞ
\gam <tab> results in γ
1 Like