Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Checkout overseer.nvim / replace task dispatcher #593

Open
kaihowl opened this issue Apr 10, 2023 · 10 comments
Open

Checkout overseer.nvim / replace task dispatcher #593

kaihowl opened this issue Apr 10, 2023 · 10 comments

Comments

@kaihowl
Copy link
Owner

kaihowl commented Apr 10, 2023

https://github.com/stevearc/overseer.nvim or alternatives.

@kaihowl
Copy link
Owner Author

kaihowl commented Oct 15, 2023

Is vscode tasks.yml the only way to add more tasks specific to a current directory?

kaihowl added a commit that referenced this issue Feb 10, 2024
@kaihowl
Copy link
Owner Author

kaihowl commented Feb 11, 2024

  • No simple task file syntax for project-local tasks found.
  • Makefile integration undesirable due to known issue with makefile (not a task runner, PHONY tasks, etc.).
  • Justfile integration possible and out of the box. Justfile was only abandoned as vim-dispatch was not working and cut off long lines. Since asynctask was the replacement and it had taskfile support, no need to keep justfiles around. But justfiles were ok to use. (see Use just instead of make #77)
  • fzf integration to be added, nothing out of the box.
  • vscode tasks (too complex to write by hand) and bundles (not fully understood, they run on load, are not specific to the project?) don't work.
  • actions assume that there is a template. But we have too many divergent tasks per project to templatize them.

Tasks:

  • Define the problems with current asynctasks that need fixing.
  • Fully understand "bundles".
  • Test justfile + fzf + overseer integration.

@kaihowl
Copy link
Owner Author

kaihowl commented Feb 11, 2024

Current problems:

  • incorrectly chosen errorformat / errorformat dependent on current file and not the task.
  • lacking support for concurrent tasks / distinction between running a task in the terminal vs. the quickfix list.
    • no distinction in overseer: everything is run in a terminal.
    • tasks can run concurrently.
    • finished tasks are cleaned up after a configurable amount of time.
  • quickfix list is populated by default.
    • qf is not populated by default. There is an option to transfer text to the qf afterwards / optionally.
  • quickfix list has limited line length.
    • due to usage of term window, no such limitation in overseer. Tested a line with 10k. Text after the 10k chars is still visible.

@kaihowl
Copy link
Owner Author

kaihowl commented Feb 11, 2024

Note: overseer's justfile integration even supports parameters and will ask them with overseer's form support.

@kaihowl
Copy link
Owner Author

kaihowl commented Feb 11, 2024

Overseer Problems:

  • How to rerun a task from the task list?
  • How to mimic the quick edit compile cycle?

@kaihowl
Copy link
Owner Author

kaihowl commented Feb 13, 2024

  • Find out how to list the known templates. Can these be put in a list to feed to fzf?
  • How to run a template as a one off with quickfix enabled?

Side note: overseer finds tasks based on the dir of the current file. This is much better than the one based on current directory. Check if this can make the "Simple*" flavor of asynctask superfluous in subrepo checkouts.

@kaihowl
Copy link
Owner Author

kaihowl commented Feb 13, 2024

Is this output of the terminal limited? Or is long output kept?

In asynctask with terminal, only 10070 lines are kept. The same applies for overseer. This is controlled by the scrollback option, with a default of 10k and a maximum of 100k.

@kaihowl kaihowl removed the next label Feb 13, 2024
@kaihowl
Copy link
Owner Author

kaihowl commented Mar 29, 2024

Addition:

  • instances of long running tasks tied to nvim as a child process. Try asyncrun (and other task managers) with a different strategy. Ideally, one that would launch a tmux pane and copy the output to the quickfix pane only upon failure.

@kaihowl
Copy link
Owner Author

kaihowl commented Mar 30, 2024

https://github.com/rockerBOO/awesome-neovim#code-runner lists more options. -> Research more options.

asyncrun/asynctask can run a task in a separate pane. But there seems to be no way to populate the quickfix list afterwards when a failure occurred. -> Double check.

Overseer.nvim is built upon the idea of using the internal nvim terminal and tightly controlling the process through this. This does not seem to fit the idea of separating the running of processes out to a separate sibling process other than nvim.

@kaihowl kaihowl changed the title Checkout overseer.nvim Checkout overseer.nvim / replace task dispatcher Apr 1, 2024
@kaihowl
Copy link
Owner Author

kaihowl commented Apr 1, 2024

Non of the listed code-runners can launch a separate sibling process / tmux window.

Why did I abandon justfiles and vim-dispatch?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant