fix: vergilius fnptr import, remove tab pin, flatten workspace tree, middle-click close

- Fix vergilius_to_rcx.py to detect function pointer syntax (*Name)(params) and emit FuncPtr64
- Re-fetch 85 structs to recover proper field names (697/716 fixed)
- Remove pin button from dock tabs and all pin-related context menu items
- Fix newClass() creating duplicate tabs
- Set workspace tree font to match tab bar (size 10)
- Flatten workspace tree: remove redundant Project group node (VS Code Explorer style)
- Add middle-click to close dock widget tabs
- Allow type chooser to show cross-doc types for root nodes
This commit is contained in:
IChooseYou
2026-03-06 17:39:50 -07:00
committed by IChooseYou
parent 35b3cd9ac1
commit 3ab6affa5e
7 changed files with 2204 additions and 3676 deletions

View File

@@ -341,6 +341,19 @@ def parse_field_line(line, offset, parent_id, ids, struct_registry):
line = re.sub(r'\bvolatile\b', '', line).strip()
line = re.sub(r'\s+', ' ', line)
# Check for function pointer: RETURN_TYPE (*NAME)(PARAMS)
fnptr_m = re.search(r'\(\*\s*(\w+)\s*\)', line)
if fnptr_m:
field_name = fnptr_m.group(1)
node_id = ids.alloc()
return {
'id': str(node_id),
'kind': 'FuncPtr64',
'name': field_name,
'offset': offset,
'parentId': str(parent_id),
}
# Check for struct/union keyword prefix
keyword = None
m = re.match(r'^(struct|union|enum)\s+(.+)', line)