Skip to content

[Feature Request] More Feedback for Slow Operations #324

Closed

Description

@skela

For actions like hot reload or restart, or even building , launching the app, its a bit difficult to know if its actually doing anything, and if u glance away at the wrong time, u might not know that its finished.

Would it be possible to hook into whatever it is the lsp is using to notify for long standing tasks (ill attach screenshots of what I mean below, but its basically the little messages u see in the bottom right as its analyzing the code).

Alternatively, if we had events, that would enable people to choose what they want to happen themselves when these events occur.

2024-01-18-005512_hyprshot
2024-01-18-005516_hyprshot

Activity

  1. sidlatau commented on Sep 28, 2026

    @sidlatau
    Collaborator

    Hot reload, hot restart and launch/attach now show native progress, as of #553 on main. It needs Neovim 0.12+ and the debugger runner:

    require("flutter-tools").setup({
      debugger = { enabled = true }, -- requires nvim-dap
    })

    The Flutter debug adapter reports each operation's start and finish. Those reports show up where Neovim shows progress, and as a progress bar in terminals that support OSC 9;4.

    If you want to react to them yourself, they fire the Progress autocmd:

    vim.api.nvim_create_autocmd("Progress", {
      pattern = "flutter-tools",
      callback = function(ev)
        local p = ev.data -- { title, text, status = "running"|"success"|"failed", percent }
        if p.status ~= "running" then vim.notify(p.title .. ": " .. p.text) end
      end,
    })

    The plain flutter run runner (debugger.enabled = false, the default) doesn't report any of this. Its output is only human-readable text, and matching on that text would break whenever Flutter changes the wording.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions