I'm working with a project that has a pre-commit hook that outputs an "animated" progress bar and updates the output to show which step is completed. In the magit-process buffer it shows every frame in the output window rather than in-place as in the terminal. Is it possible to get this to work in the emacs buffers?
You will need to read the manual entries on process handling. Particularly C-hig
(elisp) Output from Processes and
magit-start-process returns a process object with
magit-process-filter attached, and actually mentions that these can be overridden (e.g. with 'after' advice).
term-emulate-terminal to handle the process running in the terminal.
One suspects that you could integrate the
term behaviour with the
magit process handling, but you would surely need to experiment with this yourself. I have no idea whether there are any conflicts that you would need to deal with, or what sort of complications you may encounter.
You might alternatively, as wasamasa comments, implement a custom filter which handles only the specific features that are required. If you're happy to ascertain the control codes which specifically need to be handled, and figure out what needs to be done to support them.