chaseruskin / legoHDL

An experimental package manager and development tool for Hardware Description Languages (HDL).
https://c-rus.github.io/legoHDL
MIT License
14 stars 2 forks source link

Add summary text for .prfl and .vndr files #30

Closed chaseruskin closed 2 years ago

chaseruskin commented 3 years ago

Only seeing a name of a profile or vendor may not be enough for a user to quite remember what its purpose was. By allowing/reading from .prfl and .vndr files it can be a quick 'readme' summary about that particular file.

These summaries will appear when a user selects that vendor or profile in the settings GUI.

chaseruskin commented 3 years ago

This text/data can be used in the integrated GUI when a user clicks on the given vendor/profile, helpful text about that vendor/profile can appear such as for vendors the amount of blocks it makes available, or for profiles what things the profile consists of (scripts, template, settings).

chaseruskin commented 3 years ago

Support for reading about profiles is added to major-refactor branch. Text stored in the .prfl can be read using the info command.

Example:

legohdl info eel4712c -profile

chaseruskin commented 2 years ago

The question is to how to let user's edit a .vndr file, since vendor repositories are meant to be abstracted away from the developers and are auto-maintained by legoHDL.

One proposed solution:

  1. legohdl open uf-ece -vendor - will open the vendor's .vndr file and await k response to close (like changelogs).

  2. Developer edits the .vndr file by adding text describing the vendor and what type of blocks are to appear there.

  3. Upon pressing 'k', legoHDL will add and commit the .vndr changes to the vendor repository.

Or, just let a user open a vendor repository (only if they have write access (push abilities) to it if it's remote).

chaseruskin commented 2 years ago

Vendors can now be opened via the open command, and their information/summary is read from the .vndr file.

On refresh, any uncommitted changes will be lost for a vendor, and on every publish a block's metadata and other relevant files are locked to read-only to add layer of safety against user's accidentally modifying one of those files while a vendor is open.