pygdb saves command now
authorStefan Huber <shuber2@gmail.com>
Mon, 23 Jun 2008 12:32:30 +0000 (13:32 +0100)
committerStefan Huber <shuber2@gmail.com>
Mon, 23 Jun 2008 12:37:50 +0000 (13:37 +0100)
Configuration.py
StatusWindow.py
pygdb.vim

index d97e1c43cb9151b11755e633247cfdff0d05f8a3..778afb2334a15469d08b4c1548a0fbc35256a99f 100644 (file)
@@ -21,6 +21,7 @@ class Configuration:
                self.watches = []
                self.ints = []
                self.currfile, self.currlineno = None, 0
+               self.command = None
 
 
        def load(self, filename):
@@ -45,6 +46,8 @@ class Configuration:
                                        self.parseInt(tail)
                                elif cmd == "currpos":
                                        self.parseCurrpos(tail)
+                               elif cmd == "cmd":
+                                       self.parseCommand(tail)
                                else:
                                        cnt -= 1
                                        print "Unkown command", cmd
@@ -71,6 +74,9 @@ class Configuration:
                        if self.isCurrposSet():
                                self.__writeCurrpos(f)
 
+                       if self.getCommand() != None:
+                               self.__writeCommand(f)
+
                        f.close()
                        return True
 
@@ -129,6 +135,9 @@ class Configuration:
 
                self.setCurrpos(file, lineno)
 
+       def parseCommand(self, tail):
+               self.command = tail
+
 
        def __writeBreak(self, f, b):
                if b["cond"] != None:
@@ -145,6 +154,9 @@ class Configuration:
        def __writeCurrpos(self, f):
                f.write("currpos %s:%d\n" % (self.currfile, self.currlineno))
 
+       def __writeCommand(self, f):
+               f.write("cmd %s\n" % self.command)
+
 
        def addBreak(self, file, lineno, cond=None):
                bp = {"file" : file, "lineno" : lineno, "cond" : cond}
@@ -166,10 +178,16 @@ class Configuration:
 
        def isCurrposSet(self):
                return self.currfile!=None
+       
 
        def delCurrpos(self):
                self.currfile = None
 
+       def setCommand(self,cmd):
+               self.command = cmd
+
+       def getCommand(self):
+               return self.command
 
        def findInt(self, name):
                for i in self.ints:
index 07abd4c616b7fa0a14fca888a56af4ad00d06c7c..99382ff1d684c9caaa80aa99992398619e3138f4 100644 (file)
@@ -89,6 +89,8 @@ class StatusWindow (gtk.Window):
                conf.addInt("statuswnd-paned1", self.paned1.get_position())
                conf.addInt("statuswnd-paned2", self.paned2.get_position())
 
+               conf.setCommand( self.debugger.clientCmd )
+
                for f in self.frames:
                        f.fillConfiguration(conf)
 
index d7b68e7b94563ced5612f7235fb88179fe412aac..d50d2400cbc1a6c1fb09bdb624cf764919ae398c 100644 (file)
--- a/pygdb.vim
+++ b/pygdb.vim
@@ -215,8 +215,6 @@ def gdbLoadConfig():
        global clientcmd, gdbBps, cmdset
 
 
-
-
        #Load configuration
        conf = Configuration.Configuration()
        conf.load(".pygdb.conf")
@@ -229,6 +227,10 @@ def gdbLoadConfig():
        for bp in conf.breakpoints:
                bp["file"] = toAbsPath( bp["file"] )
                addBreakpoint(bp["file"], bp["lineno"], bp["cond"])
+
+       #Set the command from config
+       if conf.getCommand() != None:
+               clientcmd = conf.getCommand()
        
        #Set current execution line
        if conf.isCurrposSet():