Commit graph

21 commits

Author SHA1 Message Date
Pat Hartl
0137def923 Add missing user custom field cmdlets
Fixes #163
2025-01-14 17:42:28 -06:00
Pat Hartl
61c25ac005 Avoid null reference exception at end of script exec 2024-10-09 20:22:41 -05:00
Pat Hartl
6b68592b71 Avoid null reference when trying to gather return value 2024-09-27 17:59:47 -05:00
Pat Hartl
2d00742212 Allow scripts to return data 2024-09-20 00:27:20 -05:00
Pat Hartl
1cbc3eab56 Rework PS variables, add logo, add script type/working dir, show/hide terminal when script runs 2024-08-16 18:18:02 -05:00
Pat Hartl
ac16ba813b Switched to using xterm-readline, redirect PS output to terminal 2024-08-15 21:33:17 -05:00
Pat Hartl
9038e02bfb Progress on debug console 2024-08-14 13:24:50 -05:00
Pat Hartl
5a1346b5e5 Remove reference to install/uninstall cmdlet 2024-08-08 18:08:35 -05:00
Pat Hartl
85e47f5d3a Run scripts as admin using CLI elevation 2024-08-08 18:00:41 -05:00
Pat Hartl
9e770f4965 Bundle PowerShell runtime
This does a very basic job of bundling a PowerShell runtime into the SDK. Previously, scripts had been run by spawning a separate PowerShell process and feeding the script into it. This was nothing better than a hack and meant that PowerShell had to be separately installed on the machine it's executing on. This should open up the opportunity for scripts to run on other platforms.

There's still some things that need to be figured out. Some sort of console output as well as a debugging mode would be highly beneficial for those that wish to actively develop scripts for their games.
2024-08-05 18:02:01 -05:00
Pat Hartl
424f63b207 Use correct working directory 2024-08-04 13:19:56 -05:00
Pat Hartl
a6ca4297d5 List variables when debugging PowerShell script executions 2024-07-07 20:37:39 -05:00
Pat Hartl
9ea51f6fa5 Run powershell instead of powershell.exe 2024-06-19 17:21:49 -05:00
Pat Hartl
6fec91e73e Fix PowerShell scripts, add script debug mode
PowerShell scripts now execute correctly with the client. The built in PowerShell API's serializer will always return null on .NET 8 for some reason. The serializer/deserializer was switched to YAML, mostly due to convenience of already having a package for it.

Added a new settings for enabling script debugging mode. This ensures that when a script is executed, the PowerShell terminal window is not closed. This allows power users to get the same environment that the script executes in. It also allows for some scroll back to see what potentially went wrong in their script.
2024-06-11 21:43:12 -05:00
Pat Hartl
0bf4e8cc6d Import PowerShell cmdlets module based on SDK assembly's location
Fixes #45
2023-12-13 23:38:13 -06:00
Pat Hartl
bc30cc911a Find LANCommander PowerShell module manifest using search
Probably pretty hacky. Environment.CurrentDirectory doesn't seem to be reliable in dev vs prod. In dev it correctly matches the LANCommander.PlaynitePlugin.dll's location. In prod it is the main directory of Playnite.
2023-11-17 22:35:17 -06:00
Pat Hartl
737f2bec84 Fix how arguments are passed to scripts 2023-11-17 21:39:28 -06:00
Pat Hartl
a47b77cc5c Run scripts as admin if directed via script contents 2023-11-17 21:39:01 -06:00
Pat Hartl
f19ef09ff8 Force IgnoreWow64Redirection in scripts 2023-11-17 21:38:37 -06:00
Pat Hartl
196feedded Load PowerShell module on script execution. Add cmdlet to deserialize/decode variables. 2023-11-16 14:34:00 -06:00
Pat Hartl
29dcebb70f New PowerShell runtime with the ability to use variables 2023-11-15 22:38:20 -06:00