Is there a way to fallback to another completion mechanism if the LSP completion is empty?
E.g. I use ctags and sometimes the ruby LSP will not return a suggestion for a method that exists on a gem and I'd like to fallback to completion for tags when that happens.
It could even merge the completion options.
I've thought about it before. I'm not certain. I would like to avoid falling back to a synchronous option if possible. What might make sense is adding a setting for supplying a custom completion function, instead of the one ALE uses, and some instructions for how to implement a fallback like that.
I've resolved this issue through documentation. Using the existing omnifunc that ALE offers, you can write your own function that falls back on other functions for completion. Fallbacks can't really work while you type, so you ought to use the omnifunc function if you want to use fallbacks.
For forcing insert completion, I now recommend a keybind you can set up with a function to force Ctrl+n to always use the default insert completion in code. I was having the issue myself where I couldn't easily get fuzzy insert completion results when the completion menu became active in files, and now I'm using that keybind so I can use the automatic ALE completion and the default insert completion together.
Most helpful comment
I've thought about it before. I'm not certain. I would like to avoid falling back to a synchronous option if possible. What might make sense is adding a setting for supplying a custom completion function, instead of the one ALE uses, and some instructions for how to implement a fallback like that.