# Adapted to use neovim from https://github.com/cyrus-and/gdb-dashboard/issues/20 # Requires neovim-remote and can only be used from within neovim terminal import os import gdb # type: ignore class OpenNvim(gdb.Command): def __init__(self): super().__init__("vo", gdb.COMMAND_USER) def complete(self, _text, _word): return gdb.COMPLETE_SYMBOL def invoke(self, _args, _from_tty): sal = gdb.selected_frame().find_sal() current_line = sal.line if current_line != 0: openInNvim = "nvr +" + str(current_line) + " " + sal.symtab.fullname() os.system(openInNvim) OpenNvim()