Regression in REPL file path completion in 1.12?

In versions of Julia up to 1.11, tab completion of file paths would work from anywhere in the line, e.g. hitting <tab> in the middle of a path like

julia> run_something("input_files/f<tab>/bar.toml"; some_kwarg=true)

would complete the directory name (as long as that was unambiguous). However in 1.12 it seems that completion of file paths works only at the end of the line, so

julia> run_something("input_files/f<tab>

would complete, but there is no completion if there is any other character after the end of the partial file path.

The old behaviour was very useful to me, because I frequently use the REPL history to re-run a previous command, but with a new input file. This use case is now much more tedious - either type the full file path manually, or delete everything following the file path, use the tab-completion, then retype or copy-paste the remaining arguments, etc.

Was this an intentional change, or is it a bug? If it was intentional, is there a way to opt back in to the old behaviour?

5 Likes

I’ve also run into this, and don’t like the new behavior at all. Nothing has changed in the manual about tab completion. The 1.12.0 NEWS does mention some changes to tab completion, but not this.

I would say this would qualify as an Issue.

2 Likes

I dislike inline hinting, but it is now prevalent, manifestly. The old (I think < 1.10) tab completion worked fine.

I agree that an issue can be opened.

I think this is essentially `:incomplete` detection should properly consider where in the line I am · Issue #60017 · JuliaLang/julia · GitHub

1 Like

I’ve opened an issue

3 Likes