Tab-completion during readline() function call


I observe that tab-completion is not available during calls to readline(), or at least it appears to behave this way for me.

Sometimes, the user being able to use tab completion to write special characters when requested to input to some code using the stdin, for example a capital delta Δ (written by typing \Delta[TAB]), is nice to have.

I also tried pasting a special character such as Δ after running ‘readline()’, which the function accepted and returned as it does with any other character.

I noted when reading the documenation for tab completion:

In both the Julian and help modes of the REPL

I wanted to ask the community:

  1. Does this mean that readline() goes to a mode of the REPL which is neither the Julian nor help mode?
  2. If so, which of the modes is it?

Thanks for your thoughts!

I found a related post on this forum, which noticed that tab-complete’s behaviour seemed to depend on the choice between using and import, though I don’t think this is exactly the same.

Minimum working example in the Julian REPL:


Then try and type a character using tab-complete such as Δ (\Delta[TAB])

Julia Version information

julia> versioninfo()
Julia Version 1.7.2
Commit bf53498635 (2022-02-06 15:21 UTC)
Platform Info:
  OS: macOS (x86_64-apple-darwin19.5.0)
  CPU: Intel(R) Core(TM) i5-5250U CPU @ 1.60GHz
  LIBM: libopenlibm
  LLVM: libLLVM-12.0.1 (ORCJIT, broadwell)

1 Like


Just to be thorough, I just checked this behaviour in the recently released version of Julia (1.8.0) and the behaviour remains unchanged.

Julia Version information:

julia> versioninfo()
Julia Version 1.8.0
Commit 5544a0fab76 (2022-08-17 13:38 UTC)
Platform Info:
  OS: macOS (x86_64-apple-darwin21.4.0)
  CPU: 4 × Intel(R) Core(TM) i5-5250U CPU @ 1.60GHz
  LIBM: libopenlibm
  LLVM: libLLVM-13.0.1 (ORCJIT, broadwell)
  Threads: 1 on 2 virtual cores