public async loadExamples()

in src/arduino/exampleManager.ts [24:80]


    public async loadExamples() {
        const examples = [];
        // load Built-in Examples from examples folder under arduino installation directory.
        examples.push({
            name: "Built-in Examples",
            path: this._settings.defaultExamplePath,
            children: this.parseExamples(this._settings.defaultExamplePath),
        });

        // load Examples from default libraries under arduino installation directory.
        const examplesFromDefaultLibraries = await this.parseExamplesFromLibrary(this._settings.defaultLibPath, true);
        if (examplesFromDefaultLibraries.length) {
            examples.push({
                name: "Examples for any board",
                path: this._settings.defaultLibPath,
                children: examplesFromDefaultLibraries,
            });
        }

        // load Examples from current board's firmware package directory.
        if (this._arduinoApp.boardManager.currentBoard) {
            const currentBoard = this._arduinoApp.boardManager.currentBoard;
            const currentBoardLibrariesPath = path.join(currentBoard.platform.rootBoardPath, "libraries");
            const examplesFromCurrentBoard = await this.parseExamplesFromLibrary(currentBoardLibrariesPath, false);
            if (examplesFromCurrentBoard.length) {
                examples.push({
                    name: `Examples for ${currentBoard.name}`,
                    path: currentBoardLibrariesPath,
                    children: examplesFromCurrentBoard,
                });
            }
        }

        // load Examples from Custom Libraries
        const customLibrariesPath = path.join(this._settings.sketchbookPath, "libraries");
        const examplesFromCustomLibraries = await this.parseExamplesFromLibrary(customLibrariesPath, true, true);
        if (examplesFromCustomLibraries.length) {
            examples.push({
                name: "Examples from Custom Libraries",
                path: customLibrariesPath,
                children: examplesFromCustomLibraries,
            });
        }

        // load Examples from user's workspace
        const sketchesPath = path.join(this._settings.sketchbookPath, "sketches");
        const examplesFromSketches = await this.parseExamples(sketchesPath);
        if (examplesFromSketches.length) {
            examples.push({
                name: "Workspace",
                path: sketchesPath,
                children: examplesFromSketches,
            });
        }

        return examples;
    }