baldurk
64645aa9d6
Add autocomplete helpers for members and function calls
...
* This requires a small quasi-hack for tracking user defined function calls
while looking up types.
2026-08-13 17:46:42 +01:00
baldurk
e0ca14d55a
Add a helper to figure out which function call and argument we're in
2026-08-13 17:46:42 +01:00
baldurk
575d8ed853
Add a function to figure out the trailing subexpression in an expr
...
* This is what will be used for autocompletion at a cursor point
2026-08-13 17:46:42 +01:00
baldurk
1b5ba59336
Return the correct type for list comprehension targets
2026-08-13 17:46:42 +01:00
baldurk
d7c3371777
Add a helper function that replaces contents of any strings with "xxx"
2026-08-13 17:46:42 +01:00
baldurk
6a2fca967c
Add a helper to get the friendly name for a type
2026-08-13 17:46:42 +01:00
baldurk
6b85e503fe
Add testing for type checking
2026-08-13 17:46:42 +01:00
baldurk
e7845446db
Add a query to pull the type of a given location
2026-08-13 17:46:41 +01:00
baldurk
f090436670
Determine best-effort type information for AST nodes
...
* This is not perfect but does a good enough job for most common cases.
2026-08-13 17:46:41 +01:00
baldurk
e57d9db9c4
Process scope declarations and identifiers in AST tree
...
* We don't generate type information yet, _get_type is stubbed out.
2026-08-13 17:46:41 +01:00
baldurk
b2b46e7e7c
Add structs for tracking identifiers and scopes
2026-08-13 17:46:41 +01:00
baldurk
08369056d3
Add python script for autocompletion parsing
...
* This tries to ast parse source that may contain an error.
* We don't try to fully error recover from unlimited problems, but a single
statement that is being edited can be tolerated by commenting out lines around
it
2026-08-13 17:46:41 +01:00
baldurk
23ca2cf053
Show syntax errors when editing in python script editor
2026-08-13 17:46:41 +01:00
baldurk
a70ee3a2eb
Watch python extensions for changes on disk and update status bar
...
* We show a button to quickly reload changed extensions.
2026-08-13 17:46:41 +01:00
baldurk
22444aa44d
Disable python debugging buttons if it's not supported
2026-08-13 17:46:41 +01:00
baldurk
c0b47ee48c
Don't enable output/debug buttons for unloaded extensions
2026-08-13 17:46:41 +01:00
baldurk
a995ded466
Add quick-helper to view extension output from manager dialog
2026-08-13 17:46:41 +01:00
baldurk
02ead51303
Add a status entry showing loaded python extensions & debugger status
2026-08-13 17:46:40 +01:00
baldurk
3c6dfd23b4
Add a drop-down for the script output panel to switch context
...
* By default we still display all messages, but this allows users to switch to
just seeing the output from one extension if desired.
2026-08-13 17:46:40 +01:00
baldurk
768d8fa615
Add a static context for connecting Qt signals for python extensions
2026-08-13 17:46:40 +01:00
baldurk
b1f0b9d310
Flush output before an exception
...
* We buffer output to avoid spamming huge numbers of signals especially when
single lines can be many write calls. This means if an exception is processed
immediately after a print the output from the print may come after the
extension.
2026-08-13 17:46:40 +01:00
baldurk
229c4c8746
Avoid polluting globals with completion objects
2026-08-13 17:46:40 +01:00
baldurk
836a5da7fa
Re-organise python shell to be dockable and dock REPL at bottom
2026-08-13 17:46:40 +01:00
baldurk
60b989f2b7
Give extensions their own OutputRedirector object to identify them
2026-08-13 17:46:40 +01:00
baldurk
3ff393c91f
Add option to launch/wait for debugger on python contexts
2026-08-13 17:46:40 +01:00
baldurk
3dfd829331
Initialise debugpy on a thread to reduce startup time
2026-08-13 17:46:40 +01:00
baldurk
d71827d6a1
Load debugpy when possible to allow python debugging in-program
2026-08-13 17:46:39 +01:00
baldurk
53e5e718b1
Copy whichever libffi version the python installation needs
2026-08-13 17:46:39 +01:00
baldurk
9fc3c3cdcd
Use sys.settrace instead of PyEval_SetTrace for better compatibility
2026-08-13 17:46:39 +01:00
baldurk
e5f395497c
Allow custom python folder to contain platform-subfolders
...
* This is not the default python layout but is convenient for sharing the
standard library .zip and include folder with separate binary folders per-
platform. The layout mirrors what we include in the repository.
2026-08-13 17:46:39 +01:00
baldurk
7e11dc9cc5
Allow loading a custom PySide2 with a customised python location
...
* This is expected to be in a pyside\ subfolder, with an organisation matching
our default setup.
* We also now copy the shiboken2 python module (if it exists) as required by new
pyside2 versions.
2026-08-13 17:46:39 +01:00
baldurk
965d788fe5
Add a settings window entry to add extra python stubs paths
2026-08-13 17:46:39 +01:00
baldurk
26a84363b8
Embed stubsgen.py and automatically generate stubs into user folder
...
* We create both a stubs folder for each specific version, and a 'latest' that
is updated by newer RD versions.
* For development, the stubs will be regenerated any time the git commit hash
changes for development builds.
2026-08-13 17:46:39 +01:00
baldurk
a869e5c4f8
Add natvis for python 3.8
2026-08-13 17:46:38 +01:00
baldurk
a23ee5f526
Change documentation for callbacks to use Callable[]
2026-08-13 17:46:38 +01:00
baldurk
7567cc11c9
Fix GC collection of python contexts
2026-08-13 17:46:38 +01:00
baldurk
ef73eb2205
Allow matching debug variables directly before processing path
...
* Debug info could theoretically contain names which include path like
characters including '.' or '[]' even though these wouldn't be valid
identifier names. We assume this will not happen with names that are part of
structures/arrays themselves but instead only happen if there's a single
matching path.
2026-08-07 16:26:34 +01:00
baldurk
a99a02c51b
Add 'bind' to display of samplers in shader debugger
...
* If there is no set/space and no array index, a single number is unclear of
what it actually means (when there is no sampler object, we don't have
anything to refer to except the binding).
2026-08-07 16:26:33 +01:00
baldurk
62b088319a
Detect struct array strides from BDA pointer decorations
2026-08-07 16:26:33 +01:00
baldurk
5bcac1bfda
Update from toolwindowmanager repository @ 984f7fb
2026-08-05 11:51:44 +01:00
baldurk
0cb1000f26
In buffer viewer show tooltip on headers and elide from middle
...
* This helps with long names (e.g. structname.member) on scalars where the width
of the data is not enough to show the full header name.
2026-08-05 10:46:13 +01:00
baldurk
28c6f55800
Custom render tooltip events in RDHeaderView
...
* Because Qt is awful at customising controls, the functions used to fetch the
index of sections are not virtual so the internal QHeaderView version doesn't
get the right sections when we have column grouping enabled.
2026-08-05 10:45:07 +01:00
baldurk
02e0f0983f
Handle mutually recursive cycles in declared pointer types
2026-08-03 21:30:51 +01:00
baldurk
c11d53b0d4
Handle mutually recursive pointer types in packing rules estimation
2026-08-03 21:15:19 +01:00
baldurk
1b9c13223f
Check for all possible GL matrix types in buffer formatter. Closes #3878
2026-08-03 21:15:19 +01:00
baldurk
d1c236573a
Remove custom title bar close button icon. Closes #3875
2026-07-27 12:48:00 +01:00
baldurk
63b38ef8b4
Encode information for ASTC/PVRTC blocks in ResourceFormat
2026-07-27 11:22:02 +01:00
baldurk
caa6977a13
Add support for VK_EXT_image_sliced_view_of_3d
2026-07-24 17:52:49 +01:00
Jake Turner
f8c90b0032
Tweak terminal emulator command line for RunProcessAsAdmin
...
Separate the arguments instead of a single argument
Use a different execute command line parameter for different terminal tools
-e : default
-x : for gnome-terminal
2026-07-22 07:46:21 +01:00
Jake Turner
baec8aa171
Fix building pcre on systems with latest automake version
...
The source bundle was configured using automake 1.16
2026-07-22 07:46:21 +01:00