From ef4da34275104ecc51ccafb85ab7953d1524736a Mon Sep 17 00:00:00 2001 From: vinzbarbuto Date: Wed, 28 Aug 2024 10:45:59 +0200 Subject: [PATCH] Update Package Explorer description to reflect recent changes --- LF_PACKAGE_EXPLORER.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/LF_PACKAGE_EXPLORER.md b/LF_PACKAGE_EXPLORER.md index 2313bd5dd..dd3589734 100644 --- a/LF_PACKAGE_EXPLORER.md +++ b/LF_PACKAGE_EXPLORER.md @@ -11,7 +11,7 @@ The Tree View is organized within a view container named the 'Lingua Franca Pack ## Local Libraries View -The Local Libraries view exclusively presents a listing of LF programs defined by the user and positioned within the designated path. After creating a LF Project, developers can incorporate LF Programs, akin to libraries of reactors, into a folder located at `{project_name}/src/lib/.` The Local Libraries view will then enumerate all LF Programs within this directory, typically represented by the pattern `/{project_name}/src/lib/*.lf` (though the path specification may vary). +The Local Libraries view exclusively presents a listing of LF programs defined by the user and positioned within the designated path. After creating a LF Project, developers can incorporate LF Programs, akin to libraries of reactors, into a folder located at `{project_name}/src/lib/.` The Local Libraries view will then enumerate all LF Programs within this directory, typically represented by the pattern `/{project_name}/src/lib/*.lf` (check the [RFC](https://github.com/lf-lang/rfcs/blob/main/rfcs/0011-reusable-reactors-folder.md) for the proposed LF project structure, including the libraries). The view's hierarchy is structured as follows: @@ -35,7 +35,7 @@ Within the hierarchy, Tree Items can be classified into three types: 2. **`file`**: Represents the LF Program. 3. **`reactor`**: Represents a reactor within the LF Program. -Upon selection, both **`file`** and **`reactor`** items offer specific actions. From right to left, for the **`file`** item, we have the "Open in Split View" and "Go To File" commands. Similarly, for the **`reactor`** item, we have the "Import Selected Reactor" and "Go To File" options. While the "Open in Split View" and "Go To File" commands are self-explanatory, the "Import Selected Reactor" function inserts an import statement at the beginning of our LF program. However, this action is only available if there's an LF Program open in our active VS Code editor. Otherwise, a popup notification will inform us that there is no LF Program opened. Additionally, **`reactor`** items offer the ‘Open in Split View’ command, which can be accessed by right-clicking on the item +Upon selection, both `file` and `reactor` items offer specific actions. From right to left, for the `file` item, we have the "Open in Split View" and "Go To File" commands. Similarly, for the `reactor` item, we have the "Import Selected Reactor" and "Go To File" options. While the "Open in Split View" and "Go To File" commands are self-explanatory, the "Import Selected Reactor" function inserts an import statement at the beginning of a LF program. However, this action is only available if there's an LF Program open in our active VS Code editor. Otherwise, a popup notification will inform us that there is no LF Program opened. Additionally, `reactor` items offer the ‘Open in Split View’ command, which can be accessed by right-clicking on the item ### Lingo Libraries View @@ -45,7 +45,7 @@ If the developer instead of defining its own library, already found a ready-to-u To effectively utilize Lingo for downloading a remote LF Project (GitHub repo), proper installation and configuration of Lingo for your LF Project are prerequisites. Detailed guidelines for this setup can be found at the following [link](https://www.lf-lang.org/blog/) and on [Lingo GitHub repo](https://github.com/lf-lang/lingo). Both the local and remote projects must be initialized with Lingo. -Once Lingo has been properly initialized on the local side, programmers will discover a **`Lingo.toml`** file within its folder. An example of this file is the following: +Once Lingo has been properly initialized on the local side, programmers will discover a `Lingo.toml` file within its folder. An example of this file is the following: ```toml [package] @@ -69,11 +69,11 @@ library_2 = {version="<=2.3",git="https://github.com/path/to/repo.git"} ``` -The **`Lingo.toml`** specifies a set of libs that are executable LF programs, crucial for remote files as it directs where to find the LF program containing the reactors. These apps can be configured with additional build and target properties. Under the **`[dependencies]`** section, developers can introduce the remote GitHub repos they deem useful for their project. Once all necessary remote repos are listed, simply execute **`lingo build`**, and Lingo will initiate the download of the listed dependencies. Developers can then find the libraries in **`{project_name}/target/lfc_include/`**, now accessible in the Local view of the VS Code Extension Tree View. +The `Lingo.toml` specifies a set of libs that are executable LF programs, crucial for remote files as it directs where to find the LF program containing the reactors. These apps can be configured with additional build and target properties. Under the `[dependencies]` section, developers can introduce the remote GitHub repos they deem useful for their project. Once all necessary remote repos are listed, simply execute `lingo build`, and Lingo will initiate the download of the listed dependencies. Developers can then find the libraries at the following path `{project_name}/target/lfc_include/` in the local workspace. ### Lingo Libraries View Structure -After being downloaded into the local workspace, the Lingo Libraries view is responsible for listing all the downloaded libraries, accessible at the following path: **`{project_name}/target/lfc_include/*.lf`**. The hierarchy resembles that of the Local Libraries view but introduces an additional level: +After being downloaded into the local workspace, the Lingo Libraries view is responsible for listing all the downloaded libraries, accessible at the following path: `{project_name}/target/lfc_include/{library_name}/src/lib/*.lf`. The hierarchy resembles that of the Local Libraries view but introduces an additional level: ``` ├── LF Project @@ -90,16 +90,16 @@ After being downloaded into the local workspace, the Lingo Libraries view is res └── └── └── └── Reactor 2 ``` -In this structure, the **`LF Project`** serves as the root LF Project, while **`library_x`** refer to the libraries the developer has inserted in the **`[dependencies]`** section of the **`.toml`** file. Each library functions as a conventional LF Project containing one or more LF Programs intended as libraries, i.e., they encompass lists of reactors that developers could include (Refer to the [RFC](https://github.com/lf-lang/rfcs/pull/11) to review the proposed LF project structure, including the libraries). +In this structure, the `LF Project` serves as the root LF Project, while `library_x` refer to the root folder of the libraries the developer has inserted in the `[dependencies]` section of the `.toml` file. Each library functions as a conventional LF Project containing one or more LF Programs intended as libraries, i.e., they encompass lists of reactors that developers could include. -The image below illustrates the Lingo Libraries view: the 'root folder' icon represents the LF Project folder and downloaded libraries (in the picture, the 'edgeai' library). The 'code file' icon symbolizes the LF Program within the downloaded library, while the 'bracket' icon denotes individual reactors within the LF Program. +The image below illustrates the Lingo Libraries view: the ‘root folder’ icon represents the LF Project folder and the downloaded libraries, shown here as `AudioClassification` and the `edgeai` library, respectively.. The 'code file' icon symbolizes the LF Program within the downloaded library, while the 'bracket' icon denotes individual reactors within the LF Program. Screenshot 2024-07-16 alle 12 26 39 Within the hierarchy, similar to the Local View, Tree Items can be categorized into three types: -1. **`root`**: Represents the LF Root Project folder and the downloaded library. +1. **`root`**: Represents the LF Project’s root folder and the root folder of the downloaded library. 2. **`file`**: Represents the LF Program within the downloaded library. 3. **`reactor`**: Denotes a reactor within the LF Program. -Upon selection, both **`file`** and **`reactor`** items offer specific actions, consistent with those described in the [Local Libraries view](#local-libraries-view). For **`file`** items, these actions include the 'Open in Split View' and 'Go To File' commands. For **`reactor`** items, the options include 'Go To File' and 'Import Selected Reactor'. Additionally, **`reactor`** items offer the 'Open in Split View' command, which can be accessed by right-clicking on the item. +Upon selection, both `file` and `reactor` items offer specific actions, consistent with those described in the [Local Libraries view](#local-libraries-view). For `file` items, these actions include the 'Open in Split View' and 'Go To File' commands. For `reactor` items, the options include 'Go To File' and 'Import Selected Reactor'. Additionally, `reactor` items offer the 'Open in Split View' command, which can be accessed by right-clicking on the item.