From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from out03.hibox.biz (out03.hibox.biz [210.71.195.41]) by mx.groups.io with SMTP id smtpd.web09.16087.1581452914648532758 for ; Tue, 11 Feb 2020 12:28:35 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: insyde.com, ip: 210.71.195.41, mailfrom: tim.lewis@insyde.com) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A2CXAQAVDENe/ww0GKxmGwEBAQEBAQE?= =?us-ascii?q?FAQEBEQEBAwMBAQGBe4MVdRIqg02JS4gniyyDWBGMJgkBAQEBAQEBAQEIIwk?= =?us-ascii?q?BAgEBhDoEAgKCazgTAhABAQUBAQEBAQUEbYRrTAyFZgEBBQgCHhIUCBgXAQU?= =?us-ascii?q?GAw0EBAEBSBgeCAIEARILBQ0EgwaCew+rNYF2MRoChBkBgRSFAYE4gWWEHog?= =?us-ascii?q?6hCQ+ijkEll9jRpZ0dgeKCY8AG4NBi00Di36OZIhskmGBaSKBWHBQgmwJNhE?= =?us-ascii?q?YlQGDAYUPIzCBIQgVAY0pAQE?= X-IronPort-AV: E=Sophos;i="5.70,428,1574092800"; d="scan'208";a="29237560" Received: from unknown (HELO hb3-BKT202.hibox.biz) ([172.24.52.12]) by out03.hibox.biz with ESMTP; 12 Feb 2020 04:28:30 +0800 IronPort-SDR: PD3+sj24DGCFct2ztHzS4aJW5EhYrmroKHXxwjmwv9AswGFnMXMZFXNiHVTvCyxMOcKFp7le9g i+jbVM73GBcA== Received: from unknown (HELO hb3-BKT101.hibox.biz) ([172.24.51.11]) by hb3-BKT202.hibox.biz with ESMTP; 12 Feb 2020 04:28:29 +0800 IronPort-SDR: 6zxXnegCGUiZ8emDD5rdtjv4VTp17K7FZlxPS6rwN5Rkr+eIWc5YQD26O+CDa/+hqCbxbhFekw YmYShQ+BYQdw== Received: from unknown (HELO hb3-IN04.hibox.biz) ([172.24.12.14]) by hb3-BKT101.hibox.biz with ESMTP; 12 Feb 2020 04:28:29 +0800 X-Remote-IP: 73.116.1.175 X-Remote-Host: c-73-116-1-175.hsd1.ca.comcast.net X-SBRS: -10.0 X-MID: 36454719 X-Auth-ID: tim.lewis@insyde.com X-EnvelopeFrom: tim.lewis@insyde.com hiBox-Sender: 1 Received: from c-73-116-1-175.hsd1.ca.comcast.net (HELO DESKTOPHG9V3E8) ([73.116.1.175]) by hb3-IN04.hibox.biz with ESMTP/TLS/AES256-SHA; 12 Feb 2020 04:28:28 +0800 From: "Tim Lewis" To: , In-Reply-To: Subject: Re: [edk2-devel] Shell feature? Date: Tue, 11 Feb 2020 12:28:25 -0800 Message-ID: <003b01d5e119$d2806700$77813500$@insyde.com> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQLckwiH9sd6gtLMjLsNUxX3LGj6YaYJDJ8A Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Language: en-us Andrew -- I think this is a good idea, but I think this is probably a shell spec issue because I don't want competing, incompatible implementations. A few other issues: I think there is a persistence issue (similar to shell variables) so that the change could be installed and survive a reboot. I also think there can be a simple shell command that manages extensions (so that they can be installed by a script) Tim -----Original Message----- From: devel@edk2.groups.io On Behalf Of Andrew Fish via Groups.Io Sent: Monday, February 10, 2020 12:12 PM To: devel@edk2.groups.io Subject: [edk2-devel] Shell feature? I wanted to start a conversation on the mailing list prior to writing up a BZ, to make sure I'm not missing anything, or in case there is a better way to implement this. I was thinking it would be good to have a Shell API that lets you associate a file type with an internal or external shell command. The Idea would be to pre-pend the internal/external shell command to the file name and also pass the arguments. So this: fs0:>dump.py 1 2 3 Becomes: fs0:>python3.efi dump.py 1 2 3 Basically you just need an API like: ShellAddScriptingLanguage (L".py", L"python3.efi"); Seems like this could just plug into the Shell via a ShellExecute(). So for example you could make Python a UEFI Shell command via a library and that library constructor could also teach the shell that a .py file could be an executable? Thanks, Andrew Fish