Wednesday, September 10, 2025

Re: The screen is not updating after make

You can try async :Make command:


def MakeComplete(_, _, _): string
    return system("make -npq : 2> /dev/null | awk -v RS= -F: '$1 ~ /^[^#%.]+$/ { print $1 }' | sort -u")
enddef

def Make(args: string = "")
    if exists("b:make_jobid") && job_status(b:make_jobid) == 'run'
        echo "There is a make job running."
        return
    endif
    var makeprg = &l:makeprg ?? &makeprg
    setqflist([], ' ', {title: $"{makeprg} {args}"})
    copen
    b:make_jobid = job_start($"{makeprg} {args}", {
        cwd: getcwd(),
        out_cb: (_, msg) => {
            setqflist([], 'a', {lines: [msg]})
        },
        err_cb: (_, msg) => {
            setqflist([], 'a', {lines: [msg]})
        },
        exit_cb: (_, _) => {
            if empty(getqflist())
                timer_start(500, (_) => {
                    if empty(getqflist())
                        cclose
                    endif
                })
            endif
            echo "Make is finished!"
        }
    })
enddef
command! -nargs=* -complete=custom,MakeComplete Make Make(<f-args>)


On Wednesday, September 10, 2025 at 4:09:36 PM UTC+10 Riza Dindir wrote:
Hello

I was thinking that silent was silencing the message output, did not expect it to skip screen refresh... Then it might well be...

I am still using silent, will remove that and try that for a while. But the :redraw! did work.

Regards

On Wed, Sep 10, 2025 at 2:01 AM Marc Chantreux <m...@unistra.fr> wrote:
On Wed, Sep 10, 2025 at 12:21:41AM +0300, Riza Dindir wrote:
> Hello
> Silent should not have been the issue.

well ... as far as I understand, silent makes things silent at the
point vim don't refresh the screen.

It's anyoing but I don't know if it's a bug or a configuration problem
(my terminal, my tmux or something).

regards

--
Marc Chantreux

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+u...@googlegroups.com.

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/vim_use/8ba983e4-bb34-40e1-a880-4680a55767a9n%40googlegroups.com.

No comments: