]> git.rmz.io Git - dotfiles.git/blobdiff - gdb/fpp.py
gdb: add printer for geo_point type
[dotfiles.git] / gdb / fpp.py
diff --git a/gdb/fpp.py b/gdb/fpp.py
new file mode 100644 (file)
index 0000000..0c72822
--- /dev/null
@@ -0,0 +1,18 @@
+import gdb
+import gdb.printing
+import re
+
+class GeoPointPrinter:
+    def __init__(self, val):
+        self.val = val
+
+    def to_string(self):
+        return self.val['d_']['d_']['_M_elems']
+
+    def display_hint(self):
+        return 'array'
+
+def build_pretty_printer():
+    pp = gdb.printing.RegexpCollectionPrettyPrinter("fpp")
+    pp.add_printer('geo_point', '^base::geo_point<.*>$', GeoPointPrinter)
+    return pp