X-Git-Url: https://git.sthu.org/?a=blobdiff_plain;f=pygdb.vim;h=fe0626ff04f12b9359f87dbcef63393babe3cb17;hb=d7679b03d875c207a48c8d86fbeb3c8b22e4d351;hp=b38a173115aca00226ac05589e4039b49f6ac3d9;hpb=1094f7f4581a9c0074294004bbd8c934593a54d5;p=pygdb.git diff --git a/pygdb.vim b/pygdb.vim index b38a173..fe0626f 100644 --- a/pygdb.vim +++ b/pygdb.vim @@ -9,52 +9,41 @@ let s:ScriptLocation = expand("") python << >> import gtk +import os import string import sys import threading - import vim -#Do not use a ~ for home directory -sys.path.append("/home/shuber/projekte/pygdb/") +import Configuration -import GdbTerminal -import MainControlWindow -import StatusWindow -#Breakpoint positions: List of dictionaries of form {"signnum" : , "file" : , "lineno":, "cond" : } +#Breakpoint positions: List of dictionaries of form +#{"signnum" : , "file" : , "lineno":, "cond" : } gdbBps = [] signnum = 0 clientcmd = "" -gdbterm = None -mainctrlwnd = None -statuswnd = None -gdbthread = None - - - def gdbLaunch(): global gdbterm, mainctrlwnd, statuswnd, gdbBps, clientcmd, gdbthread - if gdbterm == None: - clientcmd = vim.eval("input('Client commando: ', '%s')" % clientcmd) - gdbterm = GdbTerminal.GdbTerminal(clientcmd) - mainctrlwnd = MainControlWindow.MainControlWindow(gdbterm, quitonclose=False) - statuswnd = StatusWindow.StatusWindow(mainctrlwnd, gdbterm, quitonclose=False) - gdbterm.initialize() + clientcmd = vim.eval("input('Client commando: ', '%s')" % clientcmd).strip() - for bp in gdbBps: - statuswnd.breakpointsFrame.addBreakpoint(bp["file"], bp["lineno"], bp["cond"]) + if clientcmd.strip()=="": + print "No command given!" + return - gtk.main() - gtk.main() - print "hello" - #mainctrlwnd.hide() - #statuswnd.hide() + #Add the breakpoints to the configuration + conf = Configuration.Configuration() + conf.load(".pygdb.conf") + for bp in gdbBps: + conf.addBreak(bp["file"], bp["lineno"], bp["cond"]) + conf.store(".pygdb.conf") + + vim.command("!python %s/pygdb.py %s &\n" % (pygdbdir, clientcmd)) def gdbToggleBreakpoint(lineno=None, file=None): @@ -64,7 +53,7 @@ def gdbToggleBreakpoint(lineno=None, file=None): if lineno==None: lineno = vim.current.window.cursor[0] if file==None: - file = vim.current.window.buffer.name + file = getCurrentFile() #Determine index of breakpoint bpidx = gdbGetBreakpoint( file, lineno ) @@ -92,7 +81,7 @@ def gdbBreakpointCond(lineno=None, file=None, cond=None): if lineno==None: lineno = vim.current.window.cursor[0] if file==None: - file = vim.current.window.buffer.name + file = getCurrentFile() #Determine index of breakpoint bpidx = gdbGetBreakpoint( file, lineno ) @@ -117,6 +106,11 @@ def gdbBreakpointCond(lineno=None, file=None, cond=None): gdbBps += [b] +def getCurrentFile(): + return vim.current.window.buffer.name + + + def gdbNewSignnum(): global signnum signnum += 1 @@ -133,10 +127,8 @@ def gdbGetBreakpoint(file, lineno): >> -highlight ExecutionLine term=bold ctermbg=DarkGreen ctermfg=White highlight BreakPoint term=inverse ctermbg=DarkCyan ctermfg=Black -sign define ExecutionLine text==> texthl=ExecutionLine linehl=ExecutionLine sign define BreakPoint text=! texthl=BreakPoint linehl=BreakPoint sign define CondBreakPoint text=? texthl=BreakPoint linehl=BreakPoint