diff --git a/src/backend/gdb_expansion.ts b/src/backend/gdb_expansion.ts index efb5949..8528dff 100644 --- a/src/backend/gdb_expansion.ts +++ b/src/backend/gdb_expansion.ts @@ -7,7 +7,7 @@ const referenceStringRegex = /^(0x[0-9a-fA-F]+\s*)"/; const referenceRegex = /^0x[0-9a-fA-F]+/; const nullpointerRegex = /^0x0+\b/; const charRegex = /^(\d+) ['"]/; -const numberRegex = /^\d+/; +const numberRegex = /^\d+(\.\d+)?/; const pointerCombineChar = "."; export function isExpandable(value: string): number { diff --git a/test/gdb_expansion.test.ts b/test/gdb_expansion.test.ts index 60acddf..8d7e3b7 100644 --- a/test/gdb_expansion.test.ts +++ b/test/gdb_expansion.test.ts @@ -292,4 +292,15 @@ suite("GDB Value Expansion", () => { } ]); }); + test("float values", () => { + let node = `{ intval1 = 123, floatval1 = 123.456, intval2 = 3, floatval2 = 234.45 }`; + let variables = expandValue(variableCreate, node); + + assert.deepEqual(variables, [ + { name: "intval1", value: "123", variablesReference: 0 }, + { name: "floatval1", value: "123.456", variablesReference: 0 }, + { name: "intval2", value: "3", variablesReference: 0 }, + { name: "floatval2", value: "234.45", variablesReference: 0 } + ]); + }); }); \ No newline at end of file