Commit Graph
1080 Commits
Author SHA1 Message Date
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 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 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 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 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 62b088319a Detect struct array strides from BDA pointer decorations 2026-08-07 16:26:33 +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 63b38ef8b4 Encode information for ASTC/PVRTC blocks in ResourceFormat 2026-07-27 11:22:02 +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
baldurk 4edf26d6f7 Choose native VS toolset per version as with SDK version 2026-07-02 16:24:42 +01:00
baldurk 06e8f370ba Fix handling of some formats of scalar pointers in buffer formatter 2026-06-18 21:50:51 +01:00
baldurk 75ecc6ea1a Return internal handle from sys 2026-05-15 13:15:45 +01:00
baldurk 206d732ade Check serialised shader tool enums against known list
* Prevents an out of bound error from corrupt configs (or configs from the
  future!)
2026-05-15 13:09:20 +01:00
baldurk 403725f69f Check global handle from correct object in extension loading 2026-03-13 18:21:33 +00:00
baldurk 109e524d5c Improve cross-module references in docstrings 2026-03-13 13:07:44 +00:00
baldurk fc85e44a06 Output stderr as warnings, not necessarily errors 2026-03-13 13:07:44 +00:00
baldurk a72ea34c6c Don't use sys.stdout to find global handle
* Instead store sys._renderdoc_internal that won't be overwritten.
2026-03-13 13:07:44 +00:00
baldurk 6e3a0201a8 Determine python version from python module directly 2026-03-13 13:07:44 +00:00
baldurk d32b8a0371 Fix compatibility with python 3.14 2026-03-13 13:07:44 +00:00
baldurk 09bce82078 Always try to use exception-based thread naming
* VS2015 doesn't support the windows 10 thread naming so we want to do both if
  possible
2026-03-13 11:40:17 +00:00
Jake Turner a72067cca5 AsyncInvoke operations related to embedded dependencies 2026-01-29 11:05:10 +13:00
baldurk 2d1c7653f5 Add an analytic flag for use of custom annotations API 2026-01-28 14:42:11 +00:00
baldurk 13ad7875f2 Add annotation display in resource inspector and as standalone panel 2026-01-28 14:42:10 +00:00