CASE 1:
Have your autocmd command be setup like this:
autocmd User ALELintPost call SayHello() " ALELintPost is async
And your SayHello function set up like this
function! SayHello() abort
echo "Hello World!"
endfunction
The function correctly executes, but the message isn't echoed.
CASE 2:
function! SayHello2() abort
echo "Hello World!"
endfunction
function! SayHello() abort
let timer=timer_start(500, { timer -> execute('call SayHello2()') }) " Or however you wanna call, really... It doesn't work
endfunction
Also doesn't work.
There is a library called Echodoc who seems to be dedicated to printing stuff there (it's also a plugin). It uses the typical echo methods like I'm currently trying to.
https://github.com/Shougo/echodoc.vim/blob/master/autoload/echodoc.vim#L200
Perhaps it's able to echo directly because the methods aren't asynchronous?
Is there some register/buffer/place I can write to in order to cheat this?
Or am I doing something wrong?
Please let me know!
I found out a solution and posted the answer below.
call timer_start(
because it is a function