Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Request] Future of std/registry for Windows #15375

Open
awr1 opened this issue Sep 20, 2020 · 2 comments
Open

[Request] Future of std/registry for Windows #15375

awr1 opened this issue Sep 20, 2020 · 2 comments

Comments

@awr1
Copy link
Contributor

awr1 commented Sep 20, 2020

The current registry module is kind of sparse and has an unstable API, there are definitely some enhancements that I think could be made here:

  • Make module available at compile-time - this can be useful for interfacing with certain libraries and other utilities, e.g. getting path for Windows SDK. My one worry is that the Nim compiler might trip AVs depending on what procs are exposed - but it might not since registry manipulation is a common activity for many applications.
  • / path joining procedure similar to std/os module. (Maybe we should just export the std/os one, since registry paths on Windows also use \ for splits)
  • Support for all registry types
  • hasKey for key detection
  • getKey (return a variant type?)
  • Subkey enumeration iterator
  • Key deletion, key tree deletion
  • Aliases like HKLM, HKCU for root keys

The alternative is that we renege on this and deprecate the module for the standard library and instead just make it a nimble one, but with that we could lose the possibility for compile-time procedure calls (especially because compile-time FFI beyond the core standard library/nimscript stuff is up in the air)

@Araq
Copy link
Member

Araq commented Sep 21, 2020

Something for "fusion".

@rominf
Copy link
Contributor

rominf commented Feb 14, 2021

It would be useful to have: hasKey and getKey which returns a variant type because of nim-lang/RFCs#343.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants