From 90983f85e5ac4b545ea9626e071472836dfcfcc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aliberk=20Sand=C4=B1k=C3=A7=C4=B1?= Date: Thu, 27 Oct 2022 08:31:55 +0300 Subject: [PATCH] initial commit --- install.sh | 11 + .../.github/workflows/codeql-analysis.yml | 32 + .../CHANGELOG.md | 469 ++ src/franneck94.c-cpp-runner-4.1.2/LICENSE.txt | 21 + src/franneck94.c-cpp-runner-4.1.2/Makefile | 5 + src/franneck94.c-cpp-runner-4.1.2/README.md | 139 + .../dist/main.js | 5432 +++++++++++++++++ .../dist/main.js.map | 1 + .../dist/src/executor/builder.js | 100 + .../dist/src/executor/builder.js.map | 1 + .../dist/src/executor/debugger.js | 30 + .../dist/src/executor/debugger.js.map | 1 + .../dist/src/executor/runner.js | 33 + .../dist/src/executor/runner.js.map | 1 + .../dist/src/extension.js | 581 ++ .../dist/src/extension.js.map | 1 + .../dist/src/handler/folderHandler.js | 48 + .../dist/src/handler/folderHandler.js.map | 1 + .../dist/src/handler/modeHandler.js | 19 + .../dist/src/handler/modeHandler.js.map | 1 + .../dist/src/items/statusBarItems.js | 81 + .../dist/src/items/statusBarItems.js.map | 1 + .../dist/src/provider/callbackProvider.js | 38 + .../dist/src/provider/callbackProvider.js.map | 1 + .../dist/src/provider/fileProvider.js | 40 + .../dist/src/provider/fileProvider.js.map | 1 + .../dist/src/provider/launchProvider.js | 124 + .../dist/src/provider/launchProvider.js.map | 1 + .../dist/src/provider/propertiesProvider.js | 153 + .../src/provider/propertiesProvider.js.map | 1 + .../dist/src/provider/settingsProvider.js | 481 ++ .../dist/src/provider/settingsProvider.js.map | 1 + .../dist/src/provider/taskProvider.js | 228 + .../dist/src/provider/taskProvider.js.map | 1 + .../dist/src/utils/fileUtils.js | 209 + .../dist/src/utils/fileUtils.js.map | 1 + .../dist/src/utils/logger.js | 66 + .../dist/src/utils/logger.js.map | 1 + .../dist/src/utils/systemUtils.js | 55 + .../dist/src/utils/systemUtils.js.map | 1 + .../dist/src/utils/types.js | 72 + .../dist/src/utils/types.js.map | 1 + .../dist/src/utils/vscodeUtils.js | 117 + .../dist/src/utils/vscodeUtils.js.map | 1 + .../extension.vsixmanifest | 44 + src/franneck94.c-cpp-runner-4.1.2/icon.png | Bin 0 -> 7376 bytes .../media/ExecuteTasks.gif | Bin 0 -> 813447 bytes .../media/FolderStatusBar.png | Bin 0 -> 1759 bytes .../media/ModeStatusBar.png | Bin 0 -> 5096 bytes .../media/Properties.png | Bin 0 -> 121811 bytes .../media/Settings.png | Bin 0 -> 212861 bytes .../media/TaskStatusBar.png | Bin 0 -> 5081 bytes .../media/arguments.png | Bin 0 -> 2942 bytes .../media/argumentsDebug.png | Bin 0 -> 4780 bytes .../media/excludePaths1.png | Bin 0 -> 26597 bytes .../media/excludePaths2.png | Bin 0 -> 9742 bytes .../media/excludePattern.png | Bin 0 -> 22390 bytes .../media/fullBar.png | Bin 0 -> 3414 bytes .../package.json | 378 ++ .../templates/launch_template.json | 25 + .../templates/properties_template.json | 14 + 61 files changed, 9064 insertions(+) create mode 100644 src/franneck94.c-cpp-runner-4.1.2/.github/workflows/codeql-analysis.yml create mode 100644 src/franneck94.c-cpp-runner-4.1.2/CHANGELOG.md create mode 100644 src/franneck94.c-cpp-runner-4.1.2/LICENSE.txt create mode 100644 src/franneck94.c-cpp-runner-4.1.2/Makefile create mode 100644 src/franneck94.c-cpp-runner-4.1.2/README.md create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/main.js create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/main.js.map create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/executor/builder.js create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/executor/builder.js.map create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/executor/debugger.js create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/executor/debugger.js.map create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/executor/runner.js create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/executor/runner.js.map create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/extension.js create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/extension.js.map create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/handler/folderHandler.js create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/handler/folderHandler.js.map create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/handler/modeHandler.js create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/handler/modeHandler.js.map create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/items/statusBarItems.js create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/items/statusBarItems.js.map create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/callbackProvider.js create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/callbackProvider.js.map create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/fileProvider.js create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/fileProvider.js.map create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/launchProvider.js create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/launchProvider.js.map create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/propertiesProvider.js create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/propertiesProvider.js.map create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/settingsProvider.js create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/settingsProvider.js.map create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/taskProvider.js create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/taskProvider.js.map create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/fileUtils.js create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/fileUtils.js.map create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/logger.js create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/logger.js.map create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/systemUtils.js create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/systemUtils.js.map create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/types.js create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/types.js.map create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/vscodeUtils.js create mode 100644 src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/vscodeUtils.js.map create mode 100644 src/franneck94.c-cpp-runner-4.1.2/extension.vsixmanifest create mode 100644 src/franneck94.c-cpp-runner-4.1.2/icon.png create mode 100644 src/franneck94.c-cpp-runner-4.1.2/media/ExecuteTasks.gif create mode 100644 src/franneck94.c-cpp-runner-4.1.2/media/FolderStatusBar.png create mode 100644 src/franneck94.c-cpp-runner-4.1.2/media/ModeStatusBar.png create mode 100644 src/franneck94.c-cpp-runner-4.1.2/media/Properties.png create mode 100644 src/franneck94.c-cpp-runner-4.1.2/media/Settings.png create mode 100644 src/franneck94.c-cpp-runner-4.1.2/media/TaskStatusBar.png create mode 100644 src/franneck94.c-cpp-runner-4.1.2/media/arguments.png create mode 100644 src/franneck94.c-cpp-runner-4.1.2/media/argumentsDebug.png create mode 100644 src/franneck94.c-cpp-runner-4.1.2/media/excludePaths1.png create mode 100644 src/franneck94.c-cpp-runner-4.1.2/media/excludePaths2.png create mode 100644 src/franneck94.c-cpp-runner-4.1.2/media/excludePattern.png create mode 100644 src/franneck94.c-cpp-runner-4.1.2/media/fullBar.png create mode 100644 src/franneck94.c-cpp-runner-4.1.2/package.json create mode 100644 src/franneck94.c-cpp-runner-4.1.2/templates/launch_template.json create mode 100644 src/franneck94.c-cpp-runner-4.1.2/templates/properties_template.json diff --git a/install.sh b/install.sh index 1bdd60f..591e0b2 100644 --- a/install.sh +++ b/install.sh @@ -4,6 +4,13 @@ cd || exit mkdir tmp_install cd tmp_install || exit +if [ "$1" == 1 ]; then + curl https://sertifika.meb.gov.tr/MEB_SERTIFIKASI.cer --output MEB_SERTIFIKASI.cer + openssl x509 -inform DER -in MEB_SERTIFIKASI.cer -out MEB_SERTIFIKASI.crt + sudo cp MEB_SERTIFIKASI.crt /usr/local/share/ca-certificates/ + sudo chmod 644 /usr/local/share/ca-certificates/MEB_SERTIFIKASI.crt + sudo update-ca-certificates +fi wget https://github.com/asandikci/iflbot-setup/archive/refs/heads/main.tar.gz tar -xzvf main.tar.gz cd iflbot-setup-main || exit @@ -13,3 +20,7 @@ chmod +x prerequisites.sh chmod +x applications.sh bash .prerequisites.sh bash .applications.sh +cp franneck94.c-cpp-runner-4.1.2 /home/"$USER"/.vscode/extensions/ +cd || exit +rm -r tmp_install +rmdir tmp_install diff --git a/src/franneck94.c-cpp-runner-4.1.2/.github/workflows/codeql-analysis.yml b/src/franneck94.c-cpp-runner-4.1.2/.github/workflows/codeql-analysis.yml new file mode 100644 index 0000000..77db791 --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/.github/workflows/codeql-analysis.yml @@ -0,0 +1,32 @@ +name: "CodeQL" + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + + strategy: + fail-fast: false + matrix: + language: [ 'javascript' ] + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Initialize CodeQL + uses: github/codeql-action/init@v1 + with: + languages: ${{ matrix.language }} + + - name: Autobuild + uses: github/codeql-action/autobuild@v1 + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v1 diff --git a/src/franneck94.c-cpp-runner-4.1.2/CHANGELOG.md b/src/franneck94.c-cpp-runner-4.1.2/CHANGELOG.md new file mode 100644 index 0000000..41121a4 --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/CHANGELOG.md @@ -0,0 +1,469 @@ +# C/C++ Runner Change Log + +## Version 4.1.2: Oct 11, 2022 + +- **Bugfix**: MSVC C++ standard bugfix + +## Version 4.1.1: Oct 04, 2022 + +- **Bugfix**: MSVC c standard bugfix +- **Bugfix**: Added problems output again +- **Info**: MSVC Default C Standard is now C11 + +## Version 4.1.0: Oct 03, 2022 + +- **Info**: Better default value for MSVC, by scanning for installed VS + +## Version 4.0.7: Sep 12, 2022 + +- **Info**: Added check for windows system drive + +## Version 4.0.6: Sep 11, 2022 + +- **Bugfix**: Bug fixes for compiler detection + +## Version 4.0.5: Sep 08, 2022 + +- **Bugfix**: Fixed build error with default include paths + +## Version 4.0.4: Aug 21, 2022 + +- **Bugfix**: On windows gcc, external console for debugging is true +- **Bugfix**: Fixed issue with MIDebuggerPath on Mac with non ARM chip + +## Version 4.0.3: May 24, 2022 + +- **Info**: Updated README +- **Regression**: Removed include paths sync with Microsoft's extension, the user should rather set the include paths settings value of this extension + +## Version 4.0.2: May 23, 2022 + +- **Regression**: Fixed properties <=> settings sync bugs + +## Version 4.0.1: May 22, 2022 + +- **Regression**: Fixed failing msvc compilation with multiple source files +- **Regression**: Fixed properties <=> settings sync bug + +## Version 4.0.0: May 17, 2022 + +- **Info**: Major update about the settings handling. Now, the global (default) settings are used to generate the local .vscode settings files, instead of searching for any compiler installation on your computer. If you do not set an absolute compiler path in the settings, it is expected to have the compiler in the PATH variables (like calling `gcc` in the terminal). +- **Info**: Added boolean flag setting **useMsvc** to indicate if the user wants to use MSVC instead of GCC/Clang in the current workspace. +- **Info**: Clang on windows (backed by MSVC) will also use the MSVC debuggee type +- **Info**: Updated settings.json <=> c_cpp_properties.json sync: + - **Only** Only syncing: C/C++ compiler path, C/C++ standard and include paths + +## Version 3.4.0: May 4, 2022 + +- **Info**: Shortened the msvc commands to have a better overview of the executed command +- **Info**: Added currently known problems list to the README + +## Version 3.3.0: April 14, 2022 + +- **Info**: For debugging the internal console is now used on all operating systems +- **Info**: Removed not working logging + +## Version 3.2.4: March 24, 2022 + +- **Regression**: Fixed MSVC compiling issue + +## Version 3.2.3: March 22, 2022 + +- **Bugfix**: Fixed cmd argument bugs +- **Bugfix**: Fixed double folder entries in folder selection + +## Version 3.2.2: March 6, 2022 + +- **Internal**: Removed task provider +- **Regression**: Fixed CMD arguments bug with whitespaces + +## Version 3.2.1: March 5, 2022 + +- **Regression**: Fixed problem with whitespaces in workspace dir + +## Version 3.2.0: March 5, 2022 + +- **Info**: Now using relative paths for building the binary, hence the console output is shortened and more readable +- **Bugfix**: Hotfix since the extension was not working anymore with VSCode 1.65.0 + +## Version 3.1.1: January 31, 2022 + +- **Info**: Updated MSVC instructions + +## Version 3.1.0: January 19, 20212 + +- **Info**: Removed Makefile deactivation +- **Info**: Updated README + +## Version 3.0.0: December 31, 2021 + +- **Feature**: MSVC Compiler Support + - Add Compiler Commands + - Add Setting for MSVC Batch Path + - E.g.: "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Auxiliary/Build/vcvarsall.bat" + - MSVC Host/Target architecture is equal to current architecture + - Added debug config for MSVC + - Default warning level for MSVC is **/W4**, this will be set if MSVC "mode" is active + - Default C version is c17 for MSVC +- **Info**: Removed warnings from compiler args in c_cpp_properties.json +- **Feature**: Updated logic for exclude pattern for folder selection +- **Feature**: Added Include pattern for folder selection + +## Version 2.1.1: December 21, 2021 + +- **Bugfix**: Now passing linker args after the object files + +## Version 2.1.0: December 07, 2021 + +- **Info**: Load global *C_Cpp.default.includePath* setting for the extensions *includePaths* +- **Bugfix**: Opening a project for the first time with the C/C++ Runner extension and an already existing c_cpp_properties.json file, the compiler args are now correctly read-in. + +## Version 2.0.5: November 29, 2021 + +- **Info**: Updated README +- **Info**: Now using the internal console for debugging on Mac M1 +- **Bugfix**: Command-line arguments are now stored in a single line in launch.json's args array, thus whitespaces in the arguments are handled correctly + +## Version 2.0.4: November 23, 2021 + +- **Info**: On windows, the paths in the launch.json file are now stored with "/" instead of "\\" +- **Info**: On windows, the commands are now always launched in an extra CMD instance + +## Version 2.0.3: November 22, 2021 + +- **Regression Bugfix**: Fixed issue with cmd arguments + +## Version 2.0.2: November 22, 2021 + +- **Bugfix**: Fixed issue for ARM64 Mac user + +## Version 2.0.1: November 17, 2021 + +- **Regression Bugfix**: Fixed issue for handling whitespaces in paths + +## Version 2.0.0: November 16, 2021 + +- **Info**: Makefile is not used anymore and hence it is no dependency, instead all commands are directly executed with VSCode's task API +- **Info**: Added C++23 Standard to **C_Cpp_Runner.cppStandard** setting +- **Improvement**: Added shortcut for active folder selection **ctrl+alt+f** +- **Improvement**: Added shortcut for build mode selection **ctrl+alt+g** +- **Info**: Added **vadimcn.vscode-lldb** as an extension dependency since this will be used for debugging on Mac with M1 chip +- **Info**: Updated debug target on MacOS with an ARM chip + +## Version 1.5.5: November 12, 2021 + +- **Info**: For Windows users, the paths to the compiler tools are now stored with single slashed "/" instead of double backslashes "\\\\" due to issues with the properties handler of Microsoft's C/C++ extension + +## Version 1.5.4: November 10, 2021 + +- **Bugfix**: Bugfix for settings detection based on c_cpp_properties.json file when there is no local settings.json file present + +## Version 1.5.3: November 09, 2021 + +- **Bugfix**: For a single file task the Compiler, Linker, and Include args are now correctly handled + +## Version 1.5.2: October 28, 2021 + +- **Bugfix**: For a single file task the command line arguments are now passed into the executable call +- **Bugfix**: For single-file tasks, the active folder is now updated + +## Version 1.5.1: October 28, 2021 + +- **Bugfix**: Fixed bug where single file tasks can't be executed when no active folder was selected + +## Version 1.5.0: October 27, 2021 + +- **Improvement**: If the workspace is opened with an existing c_cpp_properties file but no settings.json file, the settings from the properties file are now used for initialization +- **Info**: For Windows users with one of the following conditions, the experimental setting (compiling without Makefile) is now the standard due to several issues in the past: + - MinGW (e.g. MSYS2) users + - Space in the username + - Any space in the filenames of the active folder +- **Info**: Toggle extension keybind command is changed from **ctrl+alt+r** to **ctrl+alt+t** +- **Info**: Commandline arguments keybind command is changed from **ctrl+shift+a** to **ctrl+alt+a** +- **Improvement**: Added following commands for single C/C++ files: + - Build single file (**ctrl+alt+b**) - **b** for build + - Run single file (**ctrl+alt+r**) - **r** for run + - Debug single file (**ctrl+alt+d**) - **d** for debug + +## Version 1.4.2: October 25, 2021 + +- **Info**: Set mac launch config to console andf stopAtEntry. + +## Version 1.4.1: September 20, 2021 + +- **Bugfix**: Fixed big for deactivation event with Makefile projects. + +## Version 1.4.0: September 18, 2021 + +- **Improvement**: Updated activation/deactivation logic with the previously called keybinding *toggle status bar* which is now called *toggleExtensionState*. By this command, you can de-/activate the extension for the current workspace. If the extension is deactivated, the setting/properties/launch files won't be re-created on delete. +- **Improvement**: In a workspace with multiple sub-directories, and hence the active folder is not selected on start-up, the settings and properties files are created once the active folder is selected. This speeds up the start-up time for vscode with this extension activated and makes no difference in the usage of this extension. +- **Improvement**: Added command to reset local settings and properties file +- **Bugfix**: Fixed issue for Windows PowerShell users with the experimental setting. Now the CMD is also used to execute the tasks even if the PowerShell is the default terminal. + +## Version 1.3.0: August 28, 2021 + +- **Improvement**: Update gcc/clang search logic, to only search in */usr/* and */usr/bin/* on Linux, and only in paths containing Cygwin, mingw, or msys on windows +- **Improvement**: If the build path contains whitespaces or non-extended ASCII chars the extension's experimental code runner is used instead of Makefile +- **Bugfix**: Fixed using incorrect compiler path in the experimental setting + +## Version 1.2.0: August 25, 2021 + +- **Feature**: Added pretty print for gdb in debug (launch) configuration + +## Version 1.1.5: August 16, 2021 + +- **Bugfix**: Fixed problem with empty arguments for executing the binary on windows with mingw compiler + +## Version 1.1.4: August 15, 2021 + +- **Bugfix**: Fixed problem with Linker Args +- **Info**: Updated README + +## Version 1.1.3: July 27, 2021 + +- **Bugfix**: Fixed problem with Makefile in .vscode folder (regarding my Udemy Courses setup) + +## Version 1.1.2: July 26, 2021 + +- **Bugfix**: Updated run task for windows such that the executable name has .exe file extension since this is needed for MinGW +- **Bugfix**: Fixed bug that debugging the release build was not possible + +## Version 1.1.1: July 26, 2021 + +- **Improvement**: Creating and deleting the build folder is now executed by the extension code and not anymore by the Makefile + +## Version 1.1.0: July 24, 2021 + +- **Feature**: Added experimental setting to run compiler commands without Makefile + +## Version 1.0.2: July 9, 2021 + +- **Bugfix**: Fixed bug for compiler search on Linux and Mac + +## Version 1.0.1: July 4, 2021 + +- **Info**: Added information message if a path has whitespaces. Makefile can not work with paths/filenames with whitespaces properly. + +## Version 1.0.0: July 3, 2021 + +- **Improvement**: Following settings are now array of strings instead of strings: + - `C_Cpp_runner.warnings` + - `C_Cpp_runner.includePaths` + - `C_Cpp_runner.compilerArgs` + - `C_Cpp_runner.linkerArgs` + +So for example previously we used: + +```json +{ + "C_Cpp_Runner.warnings": "-Wall -Wextra -Wpedantic" +} +``` + +This would now be: + +```json +{ + "C_Cpp_Runner.warnings": [ + "-Wall", + "-Wextra", + "-Wpedantic" + ] +} +``` + +- All settings are now stored in the local `.vscode/settings.json` file + +## Version 0.17.1: June 16, 2021 + +- **Bugfix**: Bugfix for passing multiple include paths + +## Version 0.17.0: June 13, 2021 + +- **Improvement**: Added option for glob patterns to exclude from the selected folder search +- **Bugfix**: Bugfix for configuration triplet + +## Version 0.16.2: June 12, 2021 + +- **Bugfix**: Bugfix for configuration triplet + +## Version 0.16.1: June 12, 2021 + +- **Bugfix**: Several bug fixes for Linux/mac + +## Version 0.16.0: June 12, 2021 + +- **Improvement**: Updating c_cpp_properties.json and launch.json do trigger an update for settings.json. Hence, the user can edit any of these files and all other files are updated accordingly. +- **Improvement**: Updated compiler search on windows, to speed up the process. +- **Info**: Added some unit tests. Will be extended in the future. +- **Bugfix**: Several bug fixes + +## Version 0.15.0: June 7, 2021 + +- **Info**: If settings/properties were configured e.g. windows and the project is opened in for example Linux, the commands (compiler, etc.) are searched again and stored in the settings.json/c_cpp_properties.json file +- **Bugfix**: Fixed extension crash + +## Version 0.14.2: June 3, 2021 + +- **Info**: When using cygwin64 the intellisense triplet is changed to "Linux" due to the following [issue](https://github.com/microsoft/vscode-cpptools/issues/7637). + +## Version 0.14.1: June 1, 2021 + +- **Bugfix**: Fixed crash when no compiler was found +- **Info**: Do not list folders in the selection that contain '__' (2 underscores) +- **Info**: Do not list folders that are named 'build' (equality check) +- **Info**: Added x64 as default architecture + +## Version 0.14.0: May 26, 2021 + +- **Feature**: Added option to pass arguments to the binary for running and debugging. Users can set the arguments by the new keybinding `ctrl+shift+a`. +- **Bugfix**: Fixed bug for shortened folder path in the status bar. +- **Important Info**: Removed `ctrl+rshift+r` keybinding for the tasks dropdown menu. If the user does not want to use the status bar items, the commands can be executed from the command palette. +- **Info**: Removed extension activation "onDebugResolve:c/cpp" since the debugging is not triggered by the user anyway. +- **Info**: Removed extension activation "workspaceContains:.vscode/c_cpp_properties.json" since this may result in extension activations where the user does not intend to use c/cpp code. + +## Version 0.13.0: May 19, 2021 + +- **Improvement**: Selected folder path is shortened in the status bar. +- **Improvement**: Remove x86/x64 architecture from build mode. The user should rather select an appropriate x86 or x64 compiler in the settings. +- **Improvement**: The default c and cpp standard is now the compiler's default. +- **Improvement**: Improved lookup performance for installed software. + +## Version 0.12.1: May 10, 2021 + +- **Bugfix**: Fixed naming "C_cpp_Properties.json" to "c_cpp_properties.json". + +## Version 0.12.0: May 09, 2021 + +- **Info**: Extension does not show up if a Makefile is present in the root directory of the workspace or inside the .vscode folder of the workspace. + +## Version 0.11.0: May 04, 2021 + +- **Improvement**: The settings are now read/saved correctly in a use case with multiple workspaces. +A multi-workspace setting is now fully compatible with the extension. +- **Bugfix**: External console is now set to false for Mac due to debugging issues. +- **Bugfix**: In a multi-root workspace use case the cmake detection is now working properly. + +## Version 0.10.0: April 26, 2021 + +- **Info**: Updated display logic of status bar items. For more info see the [here](https://github.com/franneck94/vscode-c-cpp-runner/blob/HEAD/README.md) +- **Info**: Added logging entries +- **Info**: Updated project structure + +## Version 0.9.1: April 23, 2021 + +- **Bugfix**: Major bugfix of tasks were not working + +## Version 0.9.0: April 23, 2021 + +- **Bugfix**: Makefile issue with Windows/MinGW +- **Info**: Added try/catch clauses to all IO related functions +- **Info**: Added logger to log certain info/errors. Also added the setting loggingActive to activate the logger + +## Version 0.8.2: April 19, 2021 + +- **Bugfix**: Set debug console to external for lldb (MacOS) - see: [github issue](https://github.com/microsoft/vscode-cpptools/issues/5079) +- **Bugfix**: Makefile arguments that can hold multiple values are now passed with "" instead of '' +- **Bugfix**: In a multi-root workspace use case, the file watchers were not updated to a new selected workspace (on workspace change) +- **Info**: In a multi-root workspace use case, the extension's settings are stored in the '.code-workspace' file + +## Version 0.8.1: April 14, 2021 + +- **Bugfix**: Commands are now callable if the extension is not activated +- **Bugfix**: Now the correct debug config is used +- **Bugfix**: Removed bug that the debug task was always executed when the selected folder has "debug" in its name +- **Improvement**: Now filtering only the target files on delete events +- **Info**: Toggle status bar command changes to `Ctrl+Alt+R` +- **Info**: Added toggle command description to README + +## Version 0.8.0: April 14, 2021 + +- **Feature**: Added command `Shift+Alt+R` to toggle (hide/show) the status bar items +- **Improvement**: Renamed launch (debug) config to 'C/C++ Runner: Debug Session' +- **Bugfix**: Fixed bug of passing the warnings flags to the Makefile +- **Info**: Folders with a '.' in their name are not displayed in the folder quick pick menu + +## Version 0.7.0: April 12, 2021 + +- **Feature**: Added context menu option to select the folder +- **Feature**: Deactivate extension, if "cmake.sourceDirectory" is set +- **Improvement**: Added events for a selected folder on a name change and delete +- **Bugfix**: Fixed behavior of settings/launch/c_cpp_properties.json files if these were already present without the extension entries +- **Bugfix**: Fixed makefile issue when 'Warnings' is an empty string +- **Info**: Updated C Standard default to c99 +- **Info**: Update README regarding context menu + +## Version 0.6.2: April 11, 2021 + +- **Bugfix**: Fixed file watcher for single root folder use-case +- **Improvement**: Now sorting the folder list by localeCompare ordering +- **Improvement**: Compilers are searched in the PATH just once on extension start and not re-searched after deleting the local settings.json file + +## Version 0.6.1: April 10, 2021 + +- **Bugfix**: Fixed file watcher for single root folder use-case + +## Version 0.6.0: April 9, 2021 + +- **Feature**: Removed extension activation when CMakeLists.txt is present in the root folder of the workspace +- **Feature**: Select the root folder automatically, if this is the only folder in the workspace +- **Bugfix**: Corrected packing with webpack +- **Bugfix**: settings.json is now re-created on delete event +- **Info**: Added Microsoft's C/C++ extension as "extensionDependencies" entry +- **Info**: Updated README for an easier introduction + +## Version 0.5.3: April 5, 2021 + +- **Feature**: Added search for "mingw32-make" for MinGW users +- **Feature**: Updated makefile for Windows users without Cygwin/MSYS installed +- **Info**: Removed Microsoft's C/C++ extension as an "extensionPack" entry, since deactivating/uninstalling this extension would also do so for the Microsoft ones +- **Bugfix**: The extension couldn't start after installing + +## Version 0.5.2: April 5, 2021 + +- **Info**: Added Microsoft's C/C++ extension as "extensionPack" entry + +## Version 0.5.1: April 5, 2021 + +- **Bugfix**: Fixed critical bug of getting the extension's root dir + +## Version 0.5.0: April 4, 2021 + +- **Feature**: Added new buttons to the status bar for: Build, Run, and Debug +- **Feature**: Added a task for debugging to the tasks list (ctrl+shift+r) +- **Bugfix**: If the root directory has code and there is no sub-dir, no dir can be selected +- **Bugfix**: Corrected path to the binary in the launch.json file +- **Feature**: New activation command for extension: .vscode/c_cpp_properties.json is present in workspace + +## Version 0.4.0: April 3, 2021 + +- **Feature**: Added quick pick to select a folder for compiling/running etc. + - After picking a folder a c_cpp_properties.json and launch.json config file is created +- **Feature**: Added status bar item for build and architecture mode (e.g. Debug - x64) + - Architecture mode selection works as follows: + - For 64bit compiler: -m64 compiler argument + - For 32bit compiler: -m32 compiler argument +- **Bugfix**: When deleting the .vscode folder, no \*.json files are created +- **Feature**: Updated task provider behavior: + - Only provide tasks if the user has selected a working directory + - Only run and clean tasks are provided if there is a build folder in the selected working directory +- **Feature**: Output binary with unified name (non-dependent on the C/C++ file name), always called outDebug (.exe for windows) + +## Version 0.3.0: April 1, 2021 + +- **Feature**: Generating a launch.json configuration for the debug build + +## Version 0.2.0: March 31, 2021 + +- **Feature**: If not provided, creating a c_cpp_properties.json file for the C/C++ Microsoft extension +- **Feature**: Added options for the include path, additional compiler, and linker args +- **Feature**: Updated Build/Run/Clean tasks +- **Info**: Now bundling with webpack for improved performance + +## Version 0.1.0: March 29, 2021 + +- **Feature**: Added platform-dependent compiler usage + +## Version 0.0.1: March 23, 2021 + +- **Info**: First alpha Version diff --git a/src/franneck94.c-cpp-runner-4.1.2/LICENSE.txt b/src/franneck94.c-cpp-runner-4.1.2/LICENSE.txt new file mode 100644 index 0000000..2b8216f --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/LICENSE.txt @@ -0,0 +1,21 @@ +Copyright (c) 2021-2022 Jan Schaffranek. All rights reserved. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/src/franneck94.c-cpp-runner-4.1.2/Makefile b/src/franneck94.c-cpp-runner-4.1.2/Makefile new file mode 100644 index 0000000..d1a4b26 --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/Makefile @@ -0,0 +1,5 @@ +clean: + rm -rf test/**/.vscode 2> /dev/null + rm -rf test/**/build 2> /dev/null + +.phony: clean diff --git a/src/franneck94.c-cpp-runner-4.1.2/README.md b/src/franneck94.c-cpp-runner-4.1.2/README.md new file mode 100644 index 0000000..69ce15e --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/README.md @@ -0,0 +1,139 @@ +# VSCode C/C++ Runner + +🚀 Compile, run and debug **single** or **multiple** C/C++ files with ease. 🚀 +You do not need to know about any compiler commands. 😎 + +## Example + +![ExampleGif](https://github.com/franneck94/vscode-c-cpp-runner/raw/HEAD/media/ExecuteTasks.gif?raw=true) + +## Software Requirements + +- 🔧 For C code: Any GCC, Clang or MSVC compiler +- 🔧 For C++ code: Any G++, Clang++ or MSVC compiler + +Make sure that your GCC/Clang compiler is either in your PATH or you have to set the **C/ C++ Compiler Path** setting of this extension. +For the MSVC compiler usage see [here](#Using-the-MSVC-Compiler). + +## Extension Activation Conditions + +- Whenever there is a C/C++ file in the **base** directory of your workspace +- Whenever you open a C/C++ file in your workspace + +## How to use: Compile **all** files in a folder + +1️⃣ Select the folder that contains the C/C++ files. +You can select the folder by the quick pick menu from the status bar. +![TaskStatusBar](https://github.com/franneck94/vscode-c-cpp-runner/raw/HEAD/media/FolderStatusBar.png) +Besides that, you can also select a folder by right-clicking in the context menu. +2️⃣ Select either debug or release mode for building the binary (debug is the default case). +![TaskStatusBar](https://github.com/franneck94/vscode-c-cpp-runner/raw/HEAD/media/ModeStatusBar.png) +3️⃣ Now you can build/run/debug the binary. +![TaskStatusBar](https://github.com/franneck94/vscode-c-cpp-runner/raw/HEAD/media/TaskStatusBar.png) + +- ⚙️ Build: This task will compile all C/C++ files in the selected folder and will link them into a binary. +- ▶️ Run*: This task will execute the built binary. +- 🗑️ Clean*: This helper task will delete all compiled object files (*.o). +- 🐞 Debug*: This task will start a debugging session for the binary. + +*This task is a no-op if the build task was not executed previously. + +## How to use: Compile a **single** file + +1️⃣ Open the C/C++ file you want to compile (build). +2️⃣ Select either debug or release mode for building the binary (debug is the default case). +3️⃣ To build the binary press **ctrl+alt+b**. +4️⃣ To run the binary press **ctrl+alt+r**. +5️⃣ To debug the binary press **ctrl+alt+d**. + +## Extension Features + +### Passing Commandline Arguments + +You can pass in command-line arguments for running or debugging the binary. +Make sure to select the active folder beforehand, then press `ctrl+alt+a` to open the message box to type in the arguments: + +![Arguments](https://github.com/franneck94/vscode-c-cpp-runner/raw/HEAD/media/arguments.png) + +These arguments will be stored in the launch.json config for debugging the binary. + +![ArgumentsDebug](https://github.com/franneck94/vscode-c-cpp-runner/raw/HEAD/media/argumentsDebug.png) + +If you now run or debug your program these values will be fed into **argc**/**argv**. +The stored arguments will be reset after selecting a new active folder. +Note: For strings with whitespaces please use \" (not single \'). + +### Include & Exclude Folders for Selection + +You can add glob patterns to include and exclude folders from the search to shorten the list. +Note: The include pattern is used before the exclude pattern. + +For example with the following exclude glob pattern: + +![ExcludePattern](https://github.com/franneck94/vscode-c-cpp-runner/raw/HEAD/media/excludePattern.png) + +The folder selection would change from left to right. + +![ExcludePaths1](https://github.com/franneck94/vscode-c-cpp-runner/raw/HEAD/media/excludePaths1.png) +![ExcludePaths2](https://github.com/franneck94/vscode-c-cpp-runner/raw/HEAD/media/excludePaths2.png) + +For more information about glob pattern see [here](https://en.wikipedia.org/wiki/Glob_(programming)#Syntax). + +### Configuration + +The current configuration settings will be stored locally in *".vscode/settings.json"*. +![FoundCompiler](https://github.com/franneck94/vscode-c-cpp-runner/raw/HEAD/media/Settings.png) + +Based on the settings, the local *.vscode/c_cpp_properties.json* file is created and will be used by [Microsoft's *C/C++*](https://code.visualstudio.com/docs/cpp/c-cpp-properties-schema-reference) extension for intellisense. +There, the compiler path, the C/C++ standard, and the included paths are **synced** with this extension settings. + +### Extension Settings + +- ⚙️ C Compiler path (defaults to gcc) +- ⚙️ C Standard (defaults to the compiler's default) +- ⚙️ C++ Compiler path (defaults to g++) +- ⚙️ C++ Standard (defaults to the compiler's default) +- ⚙️ Debugger path (defaults to gdb) +- ⚙️ MSVC batch path (defaults to \"\") +- ⚙️ Use MSVC (defaults to false) +- ⚙️ To enable warnings (defaults to True) +- ⚙️ What warnings should be checked by the compiler (defaults to [\"-Wall\", \"-Wextra\", \"-Wpedantic\"]) +- ⚙️ To treat warnings as errors (defaults to False) +- ⚙️ Additional compiler arguments (defaults to [] e.g. **-flto**) +- ⚙️ Additional linker arguments (defaults to [] e.g. **-lpthread**). + - Note: It **is** expected to prefix the arguments with the appropriate flags (e.g. -l or -L) +- ⚙️ Additional include paths (defaults to [] e.g. **path/to/headers/**) + - Note: It is **not** (!) expected to prefix the arguments with the **-I** flag +- ⚙️ Include glob pattern for the folder selection (defaults to ["\*", "\*\*/\*"]) +- ⚙️ Exclude glob pattern for the folder selection (defaults to ["\*\*/build", "\*\*/.\*", "\*\*/.vscode",]) + +## Important Notes + +### Constraints on Files and Folders + +- 📝 Allowed file extensions for headers: \*.h, \*.hpp, \*.hh, \*.hxx +- 📝 Allowed file extensions for sources: \*.c, \*.cpp, \*.cc, \*.cxx +- ⚠️ Include paths with whitespaces can make the compilation fail + +### CMake Projects in the Workspace Directory + +This extension does not start whenever there is a CMakeLists.txt in the workspace root directory. +This prevents an overloaded status bar with a lot of icons due to Microsoft's CMake extension. +However, the user can trigger the start-up of this extension by pressing `ctrl+alt+t`. + +## Using the MSVC Compiler + +To use the MSVC compiler (toolchain), set the **msvcBatchPath** setting to a valid path. +An example path would be **"*PathToVs2022*/Community/VC/Auxiliary/Build/vcvarsall.bat"**. +Then set the **useMsvc** to true, to not use GCC/Clang tools in the current workspace. +If you want to stop using the MSVC compiler, just set **useMsvc** to false. +Note: Only the 64bit (no cross-compiling) version of MSVC is allowed + +## Release Notes + +Refer to the [CHANGELOG](https://github.com/franneck94/vscode-c-cpp-runner/blob/HEAD/CHANGELOG.md). + +## License + +Copyright (C) 2021-2022 Jan Schaffranek. +Licensed under the [MIT License](https://github.com/franneck94/vscode-c-cpp-runner/blob/HEAD/LICENSE). diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/main.js b/src/franneck94.c-cpp-runner-4.1.2/dist/main.js new file mode 100644 index 0000000..592a007 --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/main.js @@ -0,0 +1,5432 @@ +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./node_modules/balanced-match/index.js": +/*!**********************************************!*\ + !*** ./node_modules/balanced-match/index.js ***! + \**********************************************/ +/***/ ((module) => { + +"use strict"; + +module.exports = balanced; +function balanced(a, b, str) { + if (a instanceof RegExp) a = maybeMatch(a, str); + if (b instanceof RegExp) b = maybeMatch(b, str); + + var r = range(a, b, str); + + return r && { + start: r[0], + end: r[1], + pre: str.slice(0, r[0]), + body: str.slice(r[0] + a.length, r[1]), + post: str.slice(r[1] + b.length) + }; +} + +function maybeMatch(reg, str) { + var m = str.match(reg); + return m ? m[0] : null; +} + +balanced.range = range; +function range(a, b, str) { + var begs, beg, left, right, result; + var ai = str.indexOf(a); + var bi = str.indexOf(b, ai + 1); + var i = ai; + + if (ai >= 0 && bi > 0) { + if(a===b) { + return [ai, bi]; + } + begs = []; + left = str.length; + + while (i >= 0 && !result) { + if (i == ai) { + begs.push(i); + ai = str.indexOf(a, i + 1); + } else if (begs.length == 1) { + result = [ begs.pop(), bi ]; + } else { + beg = begs.pop(); + if (beg < left) { + left = beg; + right = bi; + } + + bi = str.indexOf(b, i + 1); + } + + i = ai < bi && ai >= 0 ? ai : bi; + } + + if (begs.length) { + result = [ left, right ]; + } + } + + return result; +} + + +/***/ }), + +/***/ "./node_modules/brace-expansion/index.js": +/*!***********************************************!*\ + !*** ./node_modules/brace-expansion/index.js ***! + \***********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +var concatMap = __webpack_require__(/*! concat-map */ "./node_modules/concat-map/index.js"); +var balanced = __webpack_require__(/*! balanced-match */ "./node_modules/balanced-match/index.js"); + +module.exports = expandTop; + +var escSlash = '\0SLASH'+Math.random()+'\0'; +var escOpen = '\0OPEN'+Math.random()+'\0'; +var escClose = '\0CLOSE'+Math.random()+'\0'; +var escComma = '\0COMMA'+Math.random()+'\0'; +var escPeriod = '\0PERIOD'+Math.random()+'\0'; + +function numeric(str) { + return parseInt(str, 10) == str + ? parseInt(str, 10) + : str.charCodeAt(0); +} + +function escapeBraces(str) { + return str.split('\\\\').join(escSlash) + .split('\\{').join(escOpen) + .split('\\}').join(escClose) + .split('\\,').join(escComma) + .split('\\.').join(escPeriod); +} + +function unescapeBraces(str) { + return str.split(escSlash).join('\\') + .split(escOpen).join('{') + .split(escClose).join('}') + .split(escComma).join(',') + .split(escPeriod).join('.'); +} + + +// Basically just str.split(","), but handling cases +// where we have nested braced sections, which should be +// treated as individual members, like {a,{b,c},d} +function parseCommaParts(str) { + if (!str) + return ['']; + + var parts = []; + var m = balanced('{', '}', str); + + if (!m) + return str.split(','); + + var pre = m.pre; + var body = m.body; + var post = m.post; + var p = pre.split(','); + + p[p.length-1] += '{' + body + '}'; + var postParts = parseCommaParts(post); + if (post.length) { + p[p.length-1] += postParts.shift(); + p.push.apply(p, postParts); + } + + parts.push.apply(parts, p); + + return parts; +} + +function expandTop(str) { + if (!str) + return []; + + // I don't know why Bash 4.3 does this, but it does. + // Anything starting with {} will have the first two bytes preserved + // but *only* at the top level, so {},a}b will not expand to anything, + // but a{},b}c will be expanded to [a}c,abc]. + // One could argue that this is a bug in Bash, but since the goal of + // this module is to match Bash's rules, we escape a leading {} + if (str.substr(0, 2) === '{}') { + str = '\\{\\}' + str.substr(2); + } + + return expand(escapeBraces(str), true).map(unescapeBraces); +} + +function identity(e) { + return e; +} + +function embrace(str) { + return '{' + str + '}'; +} +function isPadded(el) { + return /^-?0\d/.test(el); +} + +function lte(i, y) { + return i <= y; +} +function gte(i, y) { + return i >= y; +} + +function expand(str, isTop) { + var expansions = []; + + var m = balanced('{', '}', str); + if (!m || /\$$/.test(m.pre)) return [str]; + + var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body); + var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body); + var isSequence = isNumericSequence || isAlphaSequence; + var isOptions = m.body.indexOf(',') >= 0; + if (!isSequence && !isOptions) { + // {a},b} + if (m.post.match(/,.*\}/)) { + str = m.pre + '{' + m.body + escClose + m.post; + return expand(str); + } + return [str]; + } + + var n; + if (isSequence) { + n = m.body.split(/\.\./); + } else { + n = parseCommaParts(m.body); + if (n.length === 1) { + // x{{a,b}}y ==> x{a}y x{b}y + n = expand(n[0], false).map(embrace); + if (n.length === 1) { + var post = m.post.length + ? expand(m.post, false) + : ['']; + return post.map(function(p) { + return m.pre + n[0] + p; + }); + } + } + } + + // at this point, n is the parts, and we know it's not a comma set + // with a single entry. + + // no need to expand pre, since it is guaranteed to be free of brace-sets + var pre = m.pre; + var post = m.post.length + ? expand(m.post, false) + : ['']; + + var N; + + if (isSequence) { + var x = numeric(n[0]); + var y = numeric(n[1]); + var width = Math.max(n[0].length, n[1].length) + var incr = n.length == 3 + ? Math.abs(numeric(n[2])) + : 1; + var test = lte; + var reverse = y < x; + if (reverse) { + incr *= -1; + test = gte; + } + var pad = n.some(isPadded); + + N = []; + + for (var i = x; test(i, y); i += incr) { + var c; + if (isAlphaSequence) { + c = String.fromCharCode(i); + if (c === '\\') + c = ''; + } else { + c = String(i); + if (pad) { + var need = width - c.length; + if (need > 0) { + var z = new Array(need + 1).join('0'); + if (i < 0) + c = '-' + z + c.slice(1); + else + c = z + c; + } + } + } + N.push(c); + } + } else { + N = concatMap(n, function(el) { return expand(el, false) }); + } + + for (var j = 0; j < N.length; j++) { + for (var k = 0; k < post.length; k++) { + var expansion = pre + N[j] + post[k]; + if (!isTop || isSequence || expansion) + expansions.push(expansion); + } + } + + return expansions; +} + + + +/***/ }), + +/***/ "./node_modules/concat-map/index.js": +/*!******************************************!*\ + !*** ./node_modules/concat-map/index.js ***! + \******************************************/ +/***/ ((module) => { + +module.exports = function (xs, fn) { + var res = []; + for (var i = 0; i < xs.length; i++) { + var x = fn(xs[i], i); + if (isArray(x)) res.push.apply(res, x); + else res.push(x); + } + return res; +}; + +var isArray = Array.isArray || function (xs) { + return Object.prototype.toString.call(xs) === '[object Array]'; +}; + + +/***/ }), + +/***/ "./node_modules/json5/lib/index.js": +/*!*****************************************!*\ + !*** ./node_modules/json5/lib/index.js ***! + \*****************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +const parse = __webpack_require__(/*! ./parse */ "./node_modules/json5/lib/parse.js") +const stringify = __webpack_require__(/*! ./stringify */ "./node_modules/json5/lib/stringify.js") + +const JSON5 = { + parse, + stringify, +} + +module.exports = JSON5 + + +/***/ }), + +/***/ "./node_modules/json5/lib/parse.js": +/*!*****************************************!*\ + !*** ./node_modules/json5/lib/parse.js ***! + \*****************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +const util = __webpack_require__(/*! ./util */ "./node_modules/json5/lib/util.js") + +let source +let parseState +let stack +let pos +let line +let column +let token +let key +let root + +module.exports = function parse (text, reviver) { + source = String(text) + parseState = 'start' + stack = [] + pos = 0 + line = 1 + column = 0 + token = undefined + key = undefined + root = undefined + + do { + token = lex() + + // This code is unreachable. + // if (!parseStates[parseState]) { + // throw invalidParseState() + // } + + parseStates[parseState]() + } while (token.type !== 'eof') + + if (typeof reviver === 'function') { + return internalize({'': root}, '', reviver) + } + + return root +} + +function internalize (holder, name, reviver) { + const value = holder[name] + if (value != null && typeof value === 'object') { + for (const key in value) { + const replacement = internalize(value, key, reviver) + if (replacement === undefined) { + delete value[key] + } else { + value[key] = replacement + } + } + } + + return reviver.call(holder, name, value) +} + +let lexState +let buffer +let doubleQuote +let sign +let c + +function lex () { + lexState = 'default' + buffer = '' + doubleQuote = false + sign = 1 + + for (;;) { + c = peek() + + // This code is unreachable. + // if (!lexStates[lexState]) { + // throw invalidLexState(lexState) + // } + + const token = lexStates[lexState]() + if (token) { + return token + } + } +} + +function peek () { + if (source[pos]) { + return String.fromCodePoint(source.codePointAt(pos)) + } +} + +function read () { + const c = peek() + + if (c === '\n') { + line++ + column = 0 + } else if (c) { + column += c.length + } else { + column++ + } + + if (c) { + pos += c.length + } + + return c +} + +const lexStates = { + default () { + switch (c) { + case '\t': + case '\v': + case '\f': + case ' ': + case '\u00A0': + case '\uFEFF': + case '\n': + case '\r': + case '\u2028': + case '\u2029': + read() + return + + case '/': + read() + lexState = 'comment' + return + + case undefined: + read() + return newToken('eof') + } + + if (util.isSpaceSeparator(c)) { + read() + return + } + + // This code is unreachable. + // if (!lexStates[parseState]) { + // throw invalidLexState(parseState) + // } + + return lexStates[parseState]() + }, + + comment () { + switch (c) { + case '*': + read() + lexState = 'multiLineComment' + return + + case '/': + read() + lexState = 'singleLineComment' + return + } + + throw invalidChar(read()) + }, + + multiLineComment () { + switch (c) { + case '*': + read() + lexState = 'multiLineCommentAsterisk' + return + + case undefined: + throw invalidChar(read()) + } + + read() + }, + + multiLineCommentAsterisk () { + switch (c) { + case '*': + read() + return + + case '/': + read() + lexState = 'default' + return + + case undefined: + throw invalidChar(read()) + } + + read() + lexState = 'multiLineComment' + }, + + singleLineComment () { + switch (c) { + case '\n': + case '\r': + case '\u2028': + case '\u2029': + read() + lexState = 'default' + return + + case undefined: + read() + return newToken('eof') + } + + read() + }, + + value () { + switch (c) { + case '{': + case '[': + return newToken('punctuator', read()) + + case 'n': + read() + literal('ull') + return newToken('null', null) + + case 't': + read() + literal('rue') + return newToken('boolean', true) + + case 'f': + read() + literal('alse') + return newToken('boolean', false) + + case '-': + case '+': + if (read() === '-') { + sign = -1 + } + + lexState = 'sign' + return + + case '.': + buffer = read() + lexState = 'decimalPointLeading' + return + + case '0': + buffer = read() + lexState = 'zero' + return + + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + buffer = read() + lexState = 'decimalInteger' + return + + case 'I': + read() + literal('nfinity') + return newToken('numeric', Infinity) + + case 'N': + read() + literal('aN') + return newToken('numeric', NaN) + + case '"': + case "'": + doubleQuote = (read() === '"') + buffer = '' + lexState = 'string' + return + } + + throw invalidChar(read()) + }, + + identifierNameStartEscape () { + if (c !== 'u') { + throw invalidChar(read()) + } + + read() + const u = unicodeEscape() + switch (u) { + case '$': + case '_': + break + + default: + if (!util.isIdStartChar(u)) { + throw invalidIdentifier() + } + + break + } + + buffer += u + lexState = 'identifierName' + }, + + identifierName () { + switch (c) { + case '$': + case '_': + case '\u200C': + case '\u200D': + buffer += read() + return + + case '\\': + read() + lexState = 'identifierNameEscape' + return + } + + if (util.isIdContinueChar(c)) { + buffer += read() + return + } + + return newToken('identifier', buffer) + }, + + identifierNameEscape () { + if (c !== 'u') { + throw invalidChar(read()) + } + + read() + const u = unicodeEscape() + switch (u) { + case '$': + case '_': + case '\u200C': + case '\u200D': + break + + default: + if (!util.isIdContinueChar(u)) { + throw invalidIdentifier() + } + + break + } + + buffer += u + lexState = 'identifierName' + }, + + sign () { + switch (c) { + case '.': + buffer = read() + lexState = 'decimalPointLeading' + return + + case '0': + buffer = read() + lexState = 'zero' + return + + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + buffer = read() + lexState = 'decimalInteger' + return + + case 'I': + read() + literal('nfinity') + return newToken('numeric', sign * Infinity) + + case 'N': + read() + literal('aN') + return newToken('numeric', NaN) + } + + throw invalidChar(read()) + }, + + zero () { + switch (c) { + case '.': + buffer += read() + lexState = 'decimalPoint' + return + + case 'e': + case 'E': + buffer += read() + lexState = 'decimalExponent' + return + + case 'x': + case 'X': + buffer += read() + lexState = 'hexadecimal' + return + } + + return newToken('numeric', sign * 0) + }, + + decimalInteger () { + switch (c) { + case '.': + buffer += read() + lexState = 'decimalPoint' + return + + case 'e': + case 'E': + buffer += read() + lexState = 'decimalExponent' + return + } + + if (util.isDigit(c)) { + buffer += read() + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + decimalPointLeading () { + if (util.isDigit(c)) { + buffer += read() + lexState = 'decimalFraction' + return + } + + throw invalidChar(read()) + }, + + decimalPoint () { + switch (c) { + case 'e': + case 'E': + buffer += read() + lexState = 'decimalExponent' + return + } + + if (util.isDigit(c)) { + buffer += read() + lexState = 'decimalFraction' + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + decimalFraction () { + switch (c) { + case 'e': + case 'E': + buffer += read() + lexState = 'decimalExponent' + return + } + + if (util.isDigit(c)) { + buffer += read() + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + decimalExponent () { + switch (c) { + case '+': + case '-': + buffer += read() + lexState = 'decimalExponentSign' + return + } + + if (util.isDigit(c)) { + buffer += read() + lexState = 'decimalExponentInteger' + return + } + + throw invalidChar(read()) + }, + + decimalExponentSign () { + if (util.isDigit(c)) { + buffer += read() + lexState = 'decimalExponentInteger' + return + } + + throw invalidChar(read()) + }, + + decimalExponentInteger () { + if (util.isDigit(c)) { + buffer += read() + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + hexadecimal () { + if (util.isHexDigit(c)) { + buffer += read() + lexState = 'hexadecimalInteger' + return + } + + throw invalidChar(read()) + }, + + hexadecimalInteger () { + if (util.isHexDigit(c)) { + buffer += read() + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + string () { + switch (c) { + case '\\': + read() + buffer += escape() + return + + case '"': + if (doubleQuote) { + read() + return newToken('string', buffer) + } + + buffer += read() + return + + case "'": + if (!doubleQuote) { + read() + return newToken('string', buffer) + } + + buffer += read() + return + + case '\n': + case '\r': + throw invalidChar(read()) + + case '\u2028': + case '\u2029': + separatorChar(c) + break + + case undefined: + throw invalidChar(read()) + } + + buffer += read() + }, + + start () { + switch (c) { + case '{': + case '[': + return newToken('punctuator', read()) + + // This code is unreachable since the default lexState handles eof. + // case undefined: + // return newToken('eof') + } + + lexState = 'value' + }, + + beforePropertyName () { + switch (c) { + case '$': + case '_': + buffer = read() + lexState = 'identifierName' + return + + case '\\': + read() + lexState = 'identifierNameStartEscape' + return + + case '}': + return newToken('punctuator', read()) + + case '"': + case "'": + doubleQuote = (read() === '"') + lexState = 'string' + return + } + + if (util.isIdStartChar(c)) { + buffer += read() + lexState = 'identifierName' + return + } + + throw invalidChar(read()) + }, + + afterPropertyName () { + if (c === ':') { + return newToken('punctuator', read()) + } + + throw invalidChar(read()) + }, + + beforePropertyValue () { + lexState = 'value' + }, + + afterPropertyValue () { + switch (c) { + case ',': + case '}': + return newToken('punctuator', read()) + } + + throw invalidChar(read()) + }, + + beforeArrayValue () { + if (c === ']') { + return newToken('punctuator', read()) + } + + lexState = 'value' + }, + + afterArrayValue () { + switch (c) { + case ',': + case ']': + return newToken('punctuator', read()) + } + + throw invalidChar(read()) + }, + + end () { + // This code is unreachable since it's handled by the default lexState. + // if (c === undefined) { + // read() + // return newToken('eof') + // } + + throw invalidChar(read()) + }, +} + +function newToken (type, value) { + return { + type, + value, + line, + column, + } +} + +function literal (s) { + for (const c of s) { + const p = peek() + + if (p !== c) { + throw invalidChar(read()) + } + + read() + } +} + +function escape () { + const c = peek() + switch (c) { + case 'b': + read() + return '\b' + + case 'f': + read() + return '\f' + + case 'n': + read() + return '\n' + + case 'r': + read() + return '\r' + + case 't': + read() + return '\t' + + case 'v': + read() + return '\v' + + case '0': + read() + if (util.isDigit(peek())) { + throw invalidChar(read()) + } + + return '\0' + + case 'x': + read() + return hexEscape() + + case 'u': + read() + return unicodeEscape() + + case '\n': + case '\u2028': + case '\u2029': + read() + return '' + + case '\r': + read() + if (peek() === '\n') { + read() + } + + return '' + + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + throw invalidChar(read()) + + case undefined: + throw invalidChar(read()) + } + + return read() +} + +function hexEscape () { + let buffer = '' + let c = peek() + + if (!util.isHexDigit(c)) { + throw invalidChar(read()) + } + + buffer += read() + + c = peek() + if (!util.isHexDigit(c)) { + throw invalidChar(read()) + } + + buffer += read() + + return String.fromCodePoint(parseInt(buffer, 16)) +} + +function unicodeEscape () { + let buffer = '' + let count = 4 + + while (count-- > 0) { + const c = peek() + if (!util.isHexDigit(c)) { + throw invalidChar(read()) + } + + buffer += read() + } + + return String.fromCodePoint(parseInt(buffer, 16)) +} + +const parseStates = { + start () { + if (token.type === 'eof') { + throw invalidEOF() + } + + push() + }, + + beforePropertyName () { + switch (token.type) { + case 'identifier': + case 'string': + key = token.value + parseState = 'afterPropertyName' + return + + case 'punctuator': + // This code is unreachable since it's handled by the lexState. + // if (token.value !== '}') { + // throw invalidToken() + // } + + pop() + return + + case 'eof': + throw invalidEOF() + } + + // This code is unreachable since it's handled by the lexState. + // throw invalidToken() + }, + + afterPropertyName () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'punctuator' || token.value !== ':') { + // throw invalidToken() + // } + + if (token.type === 'eof') { + throw invalidEOF() + } + + parseState = 'beforePropertyValue' + }, + + beforePropertyValue () { + if (token.type === 'eof') { + throw invalidEOF() + } + + push() + }, + + beforeArrayValue () { + if (token.type === 'eof') { + throw invalidEOF() + } + + if (token.type === 'punctuator' && token.value === ']') { + pop() + return + } + + push() + }, + + afterPropertyValue () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'punctuator') { + // throw invalidToken() + // } + + if (token.type === 'eof') { + throw invalidEOF() + } + + switch (token.value) { + case ',': + parseState = 'beforePropertyName' + return + + case '}': + pop() + } + + // This code is unreachable since it's handled by the lexState. + // throw invalidToken() + }, + + afterArrayValue () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'punctuator') { + // throw invalidToken() + // } + + if (token.type === 'eof') { + throw invalidEOF() + } + + switch (token.value) { + case ',': + parseState = 'beforeArrayValue' + return + + case ']': + pop() + } + + // This code is unreachable since it's handled by the lexState. + // throw invalidToken() + }, + + end () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'eof') { + // throw invalidToken() + // } + }, +} + +function push () { + let value + + switch (token.type) { + case 'punctuator': + switch (token.value) { + case '{': + value = {} + break + + case '[': + value = [] + break + } + + break + + case 'null': + case 'boolean': + case 'numeric': + case 'string': + value = token.value + break + + // This code is unreachable. + // default: + // throw invalidToken() + } + + if (root === undefined) { + root = value + } else { + const parent = stack[stack.length - 1] + if (Array.isArray(parent)) { + parent.push(value) + } else { + parent[key] = value + } + } + + if (value !== null && typeof value === 'object') { + stack.push(value) + + if (Array.isArray(value)) { + parseState = 'beforeArrayValue' + } else { + parseState = 'beforePropertyName' + } + } else { + const current = stack[stack.length - 1] + if (current == null) { + parseState = 'end' + } else if (Array.isArray(current)) { + parseState = 'afterArrayValue' + } else { + parseState = 'afterPropertyValue' + } + } +} + +function pop () { + stack.pop() + + const current = stack[stack.length - 1] + if (current == null) { + parseState = 'end' + } else if (Array.isArray(current)) { + parseState = 'afterArrayValue' + } else { + parseState = 'afterPropertyValue' + } +} + +// This code is unreachable. +// function invalidParseState () { +// return new Error(`JSON5: invalid parse state '${parseState}'`) +// } + +// This code is unreachable. +// function invalidLexState (state) { +// return new Error(`JSON5: invalid lex state '${state}'`) +// } + +function invalidChar (c) { + if (c === undefined) { + return syntaxError(`JSON5: invalid end of input at ${line}:${column}`) + } + + return syntaxError(`JSON5: invalid character '${formatChar(c)}' at ${line}:${column}`) +} + +function invalidEOF () { + return syntaxError(`JSON5: invalid end of input at ${line}:${column}`) +} + +// This code is unreachable. +// function invalidToken () { +// if (token.type === 'eof') { +// return syntaxError(`JSON5: invalid end of input at ${line}:${column}`) +// } + +// const c = String.fromCodePoint(token.value.codePointAt(0)) +// return syntaxError(`JSON5: invalid character '${formatChar(c)}' at ${line}:${column}`) +// } + +function invalidIdentifier () { + column -= 5 + return syntaxError(`JSON5: invalid identifier character at ${line}:${column}`) +} + +function separatorChar (c) { + console.warn(`JSON5: '${formatChar(c)}' in strings is not valid ECMAScript; consider escaping`) +} + +function formatChar (c) { + const replacements = { + "'": "\\'", + '"': '\\"', + '\\': '\\\\', + '\b': '\\b', + '\f': '\\f', + '\n': '\\n', + '\r': '\\r', + '\t': '\\t', + '\v': '\\v', + '\0': '\\0', + '\u2028': '\\u2028', + '\u2029': '\\u2029', + } + + if (replacements[c]) { + return replacements[c] + } + + if (c < ' ') { + const hexString = c.charCodeAt(0).toString(16) + return '\\x' + ('00' + hexString).substring(hexString.length) + } + + return c +} + +function syntaxError (message) { + const err = new SyntaxError(message) + err.lineNumber = line + err.columnNumber = column + return err +} + + +/***/ }), + +/***/ "./node_modules/json5/lib/stringify.js": +/*!*********************************************!*\ + !*** ./node_modules/json5/lib/stringify.js ***! + \*********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +const util = __webpack_require__(/*! ./util */ "./node_modules/json5/lib/util.js") + +module.exports = function stringify (value, replacer, space) { + const stack = [] + let indent = '' + let propertyList + let replacerFunc + let gap = '' + let quote + + if ( + replacer != null && + typeof replacer === 'object' && + !Array.isArray(replacer) + ) { + space = replacer.space + quote = replacer.quote + replacer = replacer.replacer + } + + if (typeof replacer === 'function') { + replacerFunc = replacer + } else if (Array.isArray(replacer)) { + propertyList = [] + for (const v of replacer) { + let item + + if (typeof v === 'string') { + item = v + } else if ( + typeof v === 'number' || + v instanceof String || + v instanceof Number + ) { + item = String(v) + } + + if (item !== undefined && propertyList.indexOf(item) < 0) { + propertyList.push(item) + } + } + } + + if (space instanceof Number) { + space = Number(space) + } else if (space instanceof String) { + space = String(space) + } + + if (typeof space === 'number') { + if (space > 0) { + space = Math.min(10, Math.floor(space)) + gap = ' '.substr(0, space) + } + } else if (typeof space === 'string') { + gap = space.substr(0, 10) + } + + return serializeProperty('', {'': value}) + + function serializeProperty (key, holder) { + let value = holder[key] + if (value != null) { + if (typeof value.toJSON5 === 'function') { + value = value.toJSON5(key) + } else if (typeof value.toJSON === 'function') { + value = value.toJSON(key) + } + } + + if (replacerFunc) { + value = replacerFunc.call(holder, key, value) + } + + if (value instanceof Number) { + value = Number(value) + } else if (value instanceof String) { + value = String(value) + } else if (value instanceof Boolean) { + value = value.valueOf() + } + + switch (value) { + case null: return 'null' + case true: return 'true' + case false: return 'false' + } + + if (typeof value === 'string') { + return quoteString(value, false) + } + + if (typeof value === 'number') { + return String(value) + } + + if (typeof value === 'object') { + return Array.isArray(value) ? serializeArray(value) : serializeObject(value) + } + + return undefined + } + + function quoteString (value) { + const quotes = { + "'": 0.1, + '"': 0.2, + } + + const replacements = { + "'": "\\'", + '"': '\\"', + '\\': '\\\\', + '\b': '\\b', + '\f': '\\f', + '\n': '\\n', + '\r': '\\r', + '\t': '\\t', + '\v': '\\v', + '\0': '\\0', + '\u2028': '\\u2028', + '\u2029': '\\u2029', + } + + let product = '' + + for (let i = 0; i < value.length; i++) { + const c = value[i] + switch (c) { + case "'": + case '"': + quotes[c]++ + product += c + continue + + case '\0': + if (util.isDigit(value[i + 1])) { + product += '\\x00' + continue + } + } + + if (replacements[c]) { + product += replacements[c] + continue + } + + if (c < ' ') { + let hexString = c.charCodeAt(0).toString(16) + product += '\\x' + ('00' + hexString).substring(hexString.length) + continue + } + + product += c + } + + const quoteChar = quote || Object.keys(quotes).reduce((a, b) => (quotes[a] < quotes[b]) ? a : b) + + product = product.replace(new RegExp(quoteChar, 'g'), replacements[quoteChar]) + + return quoteChar + product + quoteChar + } + + function serializeObject (value) { + if (stack.indexOf(value) >= 0) { + throw TypeError('Converting circular structure to JSON5') + } + + stack.push(value) + + let stepback = indent + indent = indent + gap + + let keys = propertyList || Object.keys(value) + let partial = [] + for (const key of keys) { + const propertyString = serializeProperty(key, value) + if (propertyString !== undefined) { + let member = serializeKey(key) + ':' + if (gap !== '') { + member += ' ' + } + member += propertyString + partial.push(member) + } + } + + let final + if (partial.length === 0) { + final = '{}' + } else { + let properties + if (gap === '') { + properties = partial.join(',') + final = '{' + properties + '}' + } else { + let separator = ',\n' + indent + properties = partial.join(separator) + final = '{\n' + indent + properties + ',\n' + stepback + '}' + } + } + + stack.pop() + indent = stepback + return final + } + + function serializeKey (key) { + if (key.length === 0) { + return quoteString(key, true) + } + + const firstChar = String.fromCodePoint(key.codePointAt(0)) + if (!util.isIdStartChar(firstChar)) { + return quoteString(key, true) + } + + for (let i = firstChar.length; i < key.length; i++) { + if (!util.isIdContinueChar(String.fromCodePoint(key.codePointAt(i)))) { + return quoteString(key, true) + } + } + + return key + } + + function serializeArray (value) { + if (stack.indexOf(value) >= 0) { + throw TypeError('Converting circular structure to JSON5') + } + + stack.push(value) + + let stepback = indent + indent = indent + gap + + let partial = [] + for (let i = 0; i < value.length; i++) { + const propertyString = serializeProperty(String(i), value) + partial.push((propertyString !== undefined) ? propertyString : 'null') + } + + let final + if (partial.length === 0) { + final = '[]' + } else { + if (gap === '') { + let properties = partial.join(',') + final = '[' + properties + ']' + } else { + let separator = ',\n' + indent + let properties = partial.join(separator) + final = '[\n' + indent + properties + ',\n' + stepback + ']' + } + } + + stack.pop() + indent = stepback + return final + } +} + + +/***/ }), + +/***/ "./node_modules/json5/lib/unicode.js": +/*!*******************************************!*\ + !*** ./node_modules/json5/lib/unicode.js ***! + \*******************************************/ +/***/ ((module) => { + +// This is a generated file. Do not edit. +module.exports.Space_Separator = /[\u1680\u2000-\u200A\u202F\u205F\u3000]/ +module.exports.ID_Start = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/ +module.exports.ID_Continue = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/ + + +/***/ }), + +/***/ "./node_modules/json5/lib/util.js": +/*!****************************************!*\ + !*** ./node_modules/json5/lib/util.js ***! + \****************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +const unicode = __webpack_require__(/*! ../lib/unicode */ "./node_modules/json5/lib/unicode.js") + +module.exports = { + isSpaceSeparator (c) { + return typeof c === 'string' && unicode.Space_Separator.test(c) + }, + + isIdStartChar (c) { + return typeof c === 'string' && ( + (c >= 'a' && c <= 'z') || + (c >= 'A' && c <= 'Z') || + (c === '$') || (c === '_') || + unicode.ID_Start.test(c) + ) + }, + + isIdContinueChar (c) { + return typeof c === 'string' && ( + (c >= 'a' && c <= 'z') || + (c >= 'A' && c <= 'Z') || + (c >= '0' && c <= '9') || + (c === '$') || (c === '_') || + (c === '\u200C') || (c === '\u200D') || + unicode.ID_Continue.test(c) + ) + }, + + isDigit (c) { + return typeof c === 'string' && /[0-9]/.test(c) + }, + + isHexDigit (c) { + return typeof c === 'string' && /[0-9A-Fa-f]/.test(c) + }, +} + + +/***/ }), + +/***/ "./node_modules/lookpath/lib/index.js": +/*!********************************************!*\ + !*** ./node_modules/lookpath/lib/index.js ***! + \********************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.lookpath = void 0; +var fs = __importStar(__webpack_require__(/*! fs */ "fs")); +var path = __importStar(__webpack_require__(/*! path */ "path")); +var isWindows = /^win/i.test(process.platform); +/** + * Sometimes, people want to look for local executable files + * which are specified with either relative or absolute file path. + * @private + * @param cmd + * @return {string} An absolute path of given command, or undefined. + */ +var isFilepath = function (cmd) { + return cmd.includes(path.sep) ? path.resolve(cmd) : undefined; +}; +/** + * Just promisifies "fs.access" + * @private + * @param {string} fpath An absolute file path with an applicable extension appended. + * @return {Promise} Resolves absolute path or empty string. + */ +var access = function (fpath) { + return new Promise(function (resolve) { return fs.access(fpath, fs.constants.X_OK, function (err) { return resolve(err ? undefined : fpath); }); }); +}; +/** + * Resolves if the given file is executable or not, regarding "PATHEXT" to be applied. + * @private + * @param {string} abspath A file path to be checked. + * @return {Promise} Resolves the absolute file path just checked, or undefined. + */ +var isExecutable = function (abspath, opt) { + if (opt === void 0) { opt = {}; } + return __awaiter(void 0, void 0, void 0, function () { + var envvars, exts, bins; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + envvars = opt.env || process.env; + exts = (envvars.PATHEXT || '').split(path.delimiter).concat(''); + return [4 /*yield*/, Promise.all(exts.map(function (ext) { return access(abspath + ext); }))]; + case 1: + bins = _a.sent(); + return [2 /*return*/, bins.find(function (bin) { return !!bin; })]; + } + }); + }); +}; +/** + * Returns a list of directories on which the target command should be looked for. + * @private + * @param {string[]} opt.include Will be added to "PATH" env. + * @param {string[]} opt.exclude Will be filtered from "PATH" env. + * @return {string[]} Directories to dig into. + */ +var getDirsToWalkThrough = function (opt) { + var envvars = opt.env || process.env; + var envname = isWindows ? 'Path' : 'PATH'; + return (envvars[envname] || '').split(path.delimiter).concat(opt.include || []).filter(function (p) { return !(opt.exclude || []).includes(p); }); +}; +/** + * Returns async promise with absolute file path of given command, + * and resolves with undefined if the command not found. + * @param {string} command Command name to look for. + * @param {LookPathOption} opt Options for lookpath. + * @return {Promise} Resolves absolute file path, or undefined if not found. + */ +function lookpath(command, opt) { + if (opt === void 0) { opt = {}; } + return __awaiter(this, void 0, void 0, function () { + var directpath, dirs, bins; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + directpath = isFilepath(command); + if (directpath) + return [2 /*return*/, isExecutable(directpath, opt)]; + dirs = getDirsToWalkThrough(opt); + return [4 /*yield*/, Promise.all(dirs.map(function (dir) { return isExecutable(path.join(dir, command), opt); }))]; + case 1: + bins = _a.sent(); + return [2 /*return*/, bins.find(function (bin) { return !!bin; })]; + } + }); + }); +} +exports.lookpath = lookpath; + + +/***/ }), + +/***/ "./node_modules/minimatch/minimatch.js": +/*!*********************************************!*\ + !*** ./node_modules/minimatch/minimatch.js ***! + \*********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +module.exports = minimatch +minimatch.Minimatch = Minimatch + +var path = (function () { try { return __webpack_require__(/*! path */ "path") } catch (e) {}}()) || { + sep: '/' +} +minimatch.sep = path.sep + +var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {} +var expand = __webpack_require__(/*! brace-expansion */ "./node_modules/brace-expansion/index.js") + +var plTypes = { + '!': { open: '(?:(?!(?:', close: '))[^/]*?)'}, + '?': { open: '(?:', close: ')?' }, + '+': { open: '(?:', close: ')+' }, + '*': { open: '(?:', close: ')*' }, + '@': { open: '(?:', close: ')' } +} + +// any single thing other than / +// don't need to escape / when using new RegExp() +var qmark = '[^/]' + +// * => any number of characters +var star = qmark + '*?' + +// ** when dots are allowed. Anything goes, except .. and . +// not (^ or / followed by one or two dots followed by $ or /), +// followed by anything, any number of times. +var twoStarDot = '(?:(?!(?:\\\/|^)(?:\\.{1,2})($|\\\/)).)*?' + +// not a ^ or / followed by a dot, +// followed by anything, any number of times. +var twoStarNoDot = '(?:(?!(?:\\\/|^)\\.).)*?' + +// characters that need to be escaped in RegExp. +var reSpecials = charSet('().*{}+?[]^$\\!') + +// "abc" -> { a:true, b:true, c:true } +function charSet (s) { + return s.split('').reduce(function (set, c) { + set[c] = true + return set + }, {}) +} + +// normalizes slashes. +var slashSplit = /\/+/ + +minimatch.filter = filter +function filter (pattern, options) { + options = options || {} + return function (p, i, list) { + return minimatch(p, pattern, options) + } +} + +function ext (a, b) { + b = b || {} + var t = {} + Object.keys(a).forEach(function (k) { + t[k] = a[k] + }) + Object.keys(b).forEach(function (k) { + t[k] = b[k] + }) + return t +} + +minimatch.defaults = function (def) { + if (!def || typeof def !== 'object' || !Object.keys(def).length) { + return minimatch + } + + var orig = minimatch + + var m = function minimatch (p, pattern, options) { + return orig(p, pattern, ext(def, options)) + } + + m.Minimatch = function Minimatch (pattern, options) { + return new orig.Minimatch(pattern, ext(def, options)) + } + m.Minimatch.defaults = function defaults (options) { + return orig.defaults(ext(def, options)).Minimatch + } + + m.filter = function filter (pattern, options) { + return orig.filter(pattern, ext(def, options)) + } + + m.defaults = function defaults (options) { + return orig.defaults(ext(def, options)) + } + + m.makeRe = function makeRe (pattern, options) { + return orig.makeRe(pattern, ext(def, options)) + } + + m.braceExpand = function braceExpand (pattern, options) { + return orig.braceExpand(pattern, ext(def, options)) + } + + m.match = function (list, pattern, options) { + return orig.match(list, pattern, ext(def, options)) + } + + return m +} + +Minimatch.defaults = function (def) { + return minimatch.defaults(def).Minimatch +} + +function minimatch (p, pattern, options) { + assertValidPattern(pattern) + + if (!options) options = {} + + // shortcut: comments match nothing. + if (!options.nocomment && pattern.charAt(0) === '#') { + return false + } + + return new Minimatch(pattern, options).match(p) +} + +function Minimatch (pattern, options) { + if (!(this instanceof Minimatch)) { + return new Minimatch(pattern, options) + } + + assertValidPattern(pattern) + + if (!options) options = {} + + pattern = pattern.trim() + + // windows support: need to use /, not \ + if (!options.allowWindowsEscape && path.sep !== '/') { + pattern = pattern.split(path.sep).join('/') + } + + this.options = options + this.set = [] + this.pattern = pattern + this.regexp = null + this.negate = false + this.comment = false + this.empty = false + this.partial = !!options.partial + + // make the set of regexps etc. + this.make() +} + +Minimatch.prototype.debug = function () {} + +Minimatch.prototype.make = make +function make () { + var pattern = this.pattern + var options = this.options + + // empty patterns and comments match nothing. + if (!options.nocomment && pattern.charAt(0) === '#') { + this.comment = true + return + } + if (!pattern) { + this.empty = true + return + } + + // step 1: figure out negation, etc. + this.parseNegate() + + // step 2: expand braces + var set = this.globSet = this.braceExpand() + + if (options.debug) this.debug = function debug() { console.error.apply(console, arguments) } + + this.debug(this.pattern, set) + + // step 3: now we have a set, so turn each one into a series of path-portion + // matching patterns. + // These will be regexps, except in the case of "**", which is + // set to the GLOBSTAR object for globstar behavior, + // and will not contain any / characters + set = this.globParts = set.map(function (s) { + return s.split(slashSplit) + }) + + this.debug(this.pattern, set) + + // glob --> regexps + set = set.map(function (s, si, set) { + return s.map(this.parse, this) + }, this) + + this.debug(this.pattern, set) + + // filter out everything that didn't compile properly. + set = set.filter(function (s) { + return s.indexOf(false) === -1 + }) + + this.debug(this.pattern, set) + + this.set = set +} + +Minimatch.prototype.parseNegate = parseNegate +function parseNegate () { + var pattern = this.pattern + var negate = false + var options = this.options + var negateOffset = 0 + + if (options.nonegate) return + + for (var i = 0, l = pattern.length + ; i < l && pattern.charAt(i) === '!' + ; i++) { + negate = !negate + negateOffset++ + } + + if (negateOffset) this.pattern = pattern.substr(negateOffset) + this.negate = negate +} + +// Brace expansion: +// a{b,c}d -> abd acd +// a{b,}c -> abc ac +// a{0..3}d -> a0d a1d a2d a3d +// a{b,c{d,e}f}g -> abg acdfg acefg +// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg +// +// Invalid sets are not expanded. +// a{2..}b -> a{2..}b +// a{b}c -> a{b}c +minimatch.braceExpand = function (pattern, options) { + return braceExpand(pattern, options) +} + +Minimatch.prototype.braceExpand = braceExpand + +function braceExpand (pattern, options) { + if (!options) { + if (this instanceof Minimatch) { + options = this.options + } else { + options = {} + } + } + + pattern = typeof pattern === 'undefined' + ? this.pattern : pattern + + assertValidPattern(pattern) + + // Thanks to Yeting Li for + // improving this regexp to avoid a ReDOS vulnerability. + if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) { + // shortcut. no need to expand. + return [pattern] + } + + return expand(pattern) +} + +var MAX_PATTERN_LENGTH = 1024 * 64 +var assertValidPattern = function (pattern) { + if (typeof pattern !== 'string') { + throw new TypeError('invalid pattern') + } + + if (pattern.length > MAX_PATTERN_LENGTH) { + throw new TypeError('pattern is too long') + } +} + +// parse a component of the expanded set. +// At this point, no pattern may contain "/" in it +// so we're going to return a 2d array, where each entry is the full +// pattern, split on '/', and then turned into a regular expression. +// A regexp is made at the end which joins each array with an +// escaped /, and another full one which joins each regexp with |. +// +// Following the lead of Bash 4.1, note that "**" only has special meaning +// when it is the *only* thing in a path portion. Otherwise, any series +// of * is equivalent to a single *. Globstar behavior is enabled by +// default, and can be disabled by setting options.noglobstar. +Minimatch.prototype.parse = parse +var SUBPARSE = {} +function parse (pattern, isSub) { + assertValidPattern(pattern) + + var options = this.options + + // shortcuts + if (pattern === '**') { + if (!options.noglobstar) + return GLOBSTAR + else + pattern = '*' + } + if (pattern === '') return '' + + var re = '' + var hasMagic = !!options.nocase + var escaping = false + // ? => one single character + var patternListStack = [] + var negativeLists = [] + var stateChar + var inClass = false + var reClassStart = -1 + var classStart = -1 + // . and .. never match anything that doesn't start with ., + // even when options.dot is set. + var patternStart = pattern.charAt(0) === '.' ? '' // anything + // not (start or / followed by . or .. followed by / or end) + : options.dot ? '(?!(?:^|\\\/)\\.{1,2}(?:$|\\\/))' + : '(?!\\.)' + var self = this + + function clearStateChar () { + if (stateChar) { + // we had some state-tracking character + // that wasn't consumed by this pass. + switch (stateChar) { + case '*': + re += star + hasMagic = true + break + case '?': + re += qmark + hasMagic = true + break + default: + re += '\\' + stateChar + break + } + self.debug('clearStateChar %j %j', stateChar, re) + stateChar = false + } + } + + for (var i = 0, len = pattern.length, c + ; (i < len) && (c = pattern.charAt(i)) + ; i++) { + this.debug('%s\t%s %s %j', pattern, i, re, c) + + // skip over any that are escaped. + if (escaping && reSpecials[c]) { + re += '\\' + c + escaping = false + continue + } + + switch (c) { + /* istanbul ignore next */ + case '/': { + // completely not allowed, even escaped. + // Should already be path-split by now. + return false + } + + case '\\': + clearStateChar() + escaping = true + continue + + // the various stateChar values + // for the "extglob" stuff. + case '?': + case '*': + case '+': + case '@': + case '!': + this.debug('%s\t%s %s %j <-- stateChar', pattern, i, re, c) + + // all of those are literals inside a class, except that + // the glob [!a] means [^a] in regexp + if (inClass) { + this.debug(' in class') + if (c === '!' && i === classStart + 1) c = '^' + re += c + continue + } + + // if we already have a stateChar, then it means + // that there was something like ** or +? in there. + // Handle the stateChar, then proceed with this one. + self.debug('call clearStateChar %j', stateChar) + clearStateChar() + stateChar = c + // if extglob is disabled, then +(asdf|foo) isn't a thing. + // just clear the statechar *now*, rather than even diving into + // the patternList stuff. + if (options.noext) clearStateChar() + continue + + case '(': + if (inClass) { + re += '(' + continue + } + + if (!stateChar) { + re += '\\(' + continue + } + + patternListStack.push({ + type: stateChar, + start: i - 1, + reStart: re.length, + open: plTypes[stateChar].open, + close: plTypes[stateChar].close + }) + // negation is (?:(?!js)[^/]*) + re += stateChar === '!' ? '(?:(?!(?:' : '(?:' + this.debug('plType %j %j', stateChar, re) + stateChar = false + continue + + case ')': + if (inClass || !patternListStack.length) { + re += '\\)' + continue + } + + clearStateChar() + hasMagic = true + var pl = patternListStack.pop() + // negation is (?:(?!js)[^/]*) + // The others are (?:) + re += pl.close + if (pl.type === '!') { + negativeLists.push(pl) + } + pl.reEnd = re.length + continue + + case '|': + if (inClass || !patternListStack.length || escaping) { + re += '\\|' + escaping = false + continue + } + + clearStateChar() + re += '|' + continue + + // these are mostly the same in regexp and glob + case '[': + // swallow any state-tracking char before the [ + clearStateChar() + + if (inClass) { + re += '\\' + c + continue + } + + inClass = true + classStart = i + reClassStart = re.length + re += c + continue + + case ']': + // a right bracket shall lose its special + // meaning and represent itself in + // a bracket expression if it occurs + // first in the list. -- POSIX.2 2.8.3.2 + if (i === classStart + 1 || !inClass) { + re += '\\' + c + escaping = false + continue + } + + // handle the case where we left a class open. + // "[z-a]" is valid, equivalent to "\[z-a\]" + // split where the last [ was, make sure we don't have + // an invalid re. if so, re-walk the contents of the + // would-be class to re-translate any characters that + // were passed through as-is + // TODO: It would probably be faster to determine this + // without a try/catch and a new RegExp, but it's tricky + // to do safely. For now, this is safe and works. + var cs = pattern.substring(classStart + 1, i) + try { + RegExp('[' + cs + ']') + } catch (er) { + // not a valid class! + var sp = this.parse(cs, SUBPARSE) + re = re.substr(0, reClassStart) + '\\[' + sp[0] + '\\]' + hasMagic = hasMagic || sp[1] + inClass = false + continue + } + + // finish up the class. + hasMagic = true + inClass = false + re += c + continue + + default: + // swallow any state char that wasn't consumed + clearStateChar() + + if (escaping) { + // no need + escaping = false + } else if (reSpecials[c] + && !(c === '^' && inClass)) { + re += '\\' + } + + re += c + + } // switch + } // for + + // handle the case where we left a class open. + // "[abc" is valid, equivalent to "\[abc" + if (inClass) { + // split where the last [ was, and escape it + // this is a huge pita. We now have to re-walk + // the contents of the would-be class to re-translate + // any characters that were passed through as-is + cs = pattern.substr(classStart + 1) + sp = this.parse(cs, SUBPARSE) + re = re.substr(0, reClassStart) + '\\[' + sp[0] + hasMagic = hasMagic || sp[1] + } + + // handle the case where we had a +( thing at the *end* + // of the pattern. + // each pattern list stack adds 3 chars, and we need to go through + // and escape any | chars that were passed through as-is for the regexp. + // Go through and escape them, taking care not to double-escape any + // | chars that were already escaped. + for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) { + var tail = re.slice(pl.reStart + pl.open.length) + this.debug('setting tail', re, pl) + // maybe some even number of \, then maybe 1 \, followed by a | + tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, function (_, $1, $2) { + if (!$2) { + // the | isn't already escaped, so escape it. + $2 = '\\' + } + + // need to escape all those slashes *again*, without escaping the + // one that we need for escaping the | character. As it works out, + // escaping an even number of slashes can be done by simply repeating + // it exactly after itself. That's why this trick works. + // + // I am sorry that you have to see this. + return $1 + $1 + $2 + '|' + }) + + this.debug('tail=%j\n %s', tail, tail, pl, re) + var t = pl.type === '*' ? star + : pl.type === '?' ? qmark + : '\\' + pl.type + + hasMagic = true + re = re.slice(0, pl.reStart) + t + '\\(' + tail + } + + // handle trailing things that only matter at the very end. + clearStateChar() + if (escaping) { + // trailing \\ + re += '\\\\' + } + + // only need to apply the nodot start if the re starts with + // something that could conceivably capture a dot + var addPatternStart = false + switch (re.charAt(0)) { + case '[': case '.': case '(': addPatternStart = true + } + + // Hack to work around lack of negative lookbehind in JS + // A pattern like: *.!(x).!(y|z) needs to ensure that a name + // like 'a.xyz.yz' doesn't match. So, the first negative + // lookahead, has to look ALL the way ahead, to the end of + // the pattern. + for (var n = negativeLists.length - 1; n > -1; n--) { + var nl = negativeLists[n] + + var nlBefore = re.slice(0, nl.reStart) + var nlFirst = re.slice(nl.reStart, nl.reEnd - 8) + var nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + var nlAfter = re.slice(nl.reEnd) + + nlLast += nlAfter + + // Handle nested stuff like *(*.js|!(*.json)), where open parens + // mean that we should *not* include the ) in the bit that is considered + // "after" the negated section. + var openParensBefore = nlBefore.split('(').length - 1 + var cleanAfter = nlAfter + for (i = 0; i < openParensBefore; i++) { + cleanAfter = cleanAfter.replace(/\)[+*?]?/, '') + } + nlAfter = cleanAfter + + var dollar = '' + if (nlAfter === '' && isSub !== SUBPARSE) { + dollar = '$' + } + var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast + re = newRe + } + + // if the re is not "" at this point, then we need to make sure + // it doesn't match against an empty path part. + // Otherwise a/* will match a/, which it should not. + if (re !== '' && hasMagic) { + re = '(?=.)' + re + } + + if (addPatternStart) { + re = patternStart + re + } + + // parsing just a piece of a larger pattern. + if (isSub === SUBPARSE) { + return [re, hasMagic] + } + + // skip the regexp for non-magical patterns + // unescape anything in it, though, so that it'll be + // an exact match against a file etc. + if (!hasMagic) { + return globUnescape(pattern) + } + + var flags = options.nocase ? 'i' : '' + try { + var regExp = new RegExp('^' + re + '$', flags) + } catch (er) /* istanbul ignore next - should be impossible */ { + // If it was an invalid regular expression, then it can't match + // anything. This trick looks for a character after the end of + // the string, which is of course impossible, except in multi-line + // mode, but it's not a /m regex. + return new RegExp('$.') + } + + regExp._glob = pattern + regExp._src = re + + return regExp +} + +minimatch.makeRe = function (pattern, options) { + return new Minimatch(pattern, options || {}).makeRe() +} + +Minimatch.prototype.makeRe = makeRe +function makeRe () { + if (this.regexp || this.regexp === false) return this.regexp + + // at this point, this.set is a 2d array of partial + // pattern strings, or "**". + // + // It's better to use .match(). This function shouldn't + // be used, really, but it's pretty convenient sometimes, + // when you just want to work with a regex. + var set = this.set + + if (!set.length) { + this.regexp = false + return this.regexp + } + var options = this.options + + var twoStar = options.noglobstar ? star + : options.dot ? twoStarDot + : twoStarNoDot + var flags = options.nocase ? 'i' : '' + + var re = set.map(function (pattern) { + return pattern.map(function (p) { + return (p === GLOBSTAR) ? twoStar + : (typeof p === 'string') ? regExpEscape(p) + : p._src + }).join('\\\/') + }).join('|') + + // must match entire pattern + // ending in a * or ** will make it less strict. + re = '^(?:' + re + ')$' + + // can match anything, as long as it's not this. + if (this.negate) re = '^(?!' + re + ').*$' + + try { + this.regexp = new RegExp(re, flags) + } catch (ex) /* istanbul ignore next - should be impossible */ { + this.regexp = false + } + return this.regexp +} + +minimatch.match = function (list, pattern, options) { + options = options || {} + var mm = new Minimatch(pattern, options) + list = list.filter(function (f) { + return mm.match(f) + }) + if (mm.options.nonull && !list.length) { + list.push(pattern) + } + return list +} + +Minimatch.prototype.match = function match (f, partial) { + if (typeof partial === 'undefined') partial = this.partial + this.debug('match', f, this.pattern) + // short-circuit in the case of busted things. + // comments, etc. + if (this.comment) return false + if (this.empty) return f === '' + + if (f === '/' && partial) return true + + var options = this.options + + // windows: need to use /, not \ + if (path.sep !== '/') { + f = f.split(path.sep).join('/') + } + + // treat the test path as a set of pathparts. + f = f.split(slashSplit) + this.debug(this.pattern, 'split', f) + + // just ONE of the pattern sets in this.set needs to match + // in order for it to be valid. If negating, then just one + // match means that we have failed. + // Either way, return on the first hit. + + var set = this.set + this.debug(this.pattern, 'set', set) + + // Find the basename of the path by looking for the last non-empty segment + var filename + var i + for (i = f.length - 1; i >= 0; i--) { + filename = f[i] + if (filename) break + } + + for (i = 0; i < set.length; i++) { + var pattern = set[i] + var file = f + if (options.matchBase && pattern.length === 1) { + file = [filename] + } + var hit = this.matchOne(file, pattern, partial) + if (hit) { + if (options.flipNegate) return true + return !this.negate + } + } + + // didn't get any hits. this is success if it's a negative + // pattern, failure otherwise. + if (options.flipNegate) return false + return this.negate +} + +// set partial to true to test if, for example, +// "/a/b" matches the start of "/*/b/*/d" +// Partial means, if you run out of file before you run +// out of pattern, then that's fine, as long as all +// the parts match. +Minimatch.prototype.matchOne = function (file, pattern, partial) { + var options = this.options + + this.debug('matchOne', + { 'this': this, file: file, pattern: pattern }) + + this.debug('matchOne', file.length, pattern.length) + + for (var fi = 0, + pi = 0, + fl = file.length, + pl = pattern.length + ; (fi < fl) && (pi < pl) + ; fi++, pi++) { + this.debug('matchOne loop') + var p = pattern[pi] + var f = file[fi] + + this.debug(pattern, p, f) + + // should be impossible. + // some invalid regexp stuff in the set. + /* istanbul ignore if */ + if (p === false) return false + + if (p === GLOBSTAR) { + this.debug('GLOBSTAR', [pattern, p, f]) + + // "**" + // a/**/b/**/c would match the following: + // a/b/x/y/z/c + // a/x/y/z/b/c + // a/b/x/b/x/c + // a/b/c + // To do this, take the rest of the pattern after + // the **, and see if it would match the file remainder. + // If so, return success. + // If not, the ** "swallows" a segment, and try again. + // This is recursively awful. + // + // a/**/b/**/c matching a/b/x/y/z/c + // - a matches a + // - doublestar + // - matchOne(b/x/y/z/c, b/**/c) + // - b matches b + // - doublestar + // - matchOne(x/y/z/c, c) -> no + // - matchOne(y/z/c, c) -> no + // - matchOne(z/c, c) -> no + // - matchOne(c, c) yes, hit + var fr = fi + var pr = pi + 1 + if (pr === pl) { + this.debug('** at the end') + // a ** at the end will just swallow the rest. + // We have found a match. + // however, it will not swallow /.x, unless + // options.dot is set. + // . and .. are *never* matched by **, for explosively + // exponential reasons. + for (; fi < fl; fi++) { + if (file[fi] === '.' || file[fi] === '..' || + (!options.dot && file[fi].charAt(0) === '.')) return false + } + return true + } + + // ok, let's see if we can swallow whatever we can. + while (fr < fl) { + var swallowee = file[fr] + + this.debug('\nglobstar while', file, fr, pattern, pr, swallowee) + + // XXX remove this slice. Just pass the start index. + if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) { + this.debug('globstar found match!', fr, fl, swallowee) + // found a match. + return true + } else { + // can't swallow "." or ".." ever. + // can only swallow ".foo" when explicitly asked. + if (swallowee === '.' || swallowee === '..' || + (!options.dot && swallowee.charAt(0) === '.')) { + this.debug('dot detected!', file, fr, pattern, pr) + break + } + + // ** swallows a segment, and continue. + this.debug('globstar swallow a segment, and continue') + fr++ + } + } + + // no match was found. + // However, in partial mode, we can't say this is necessarily over. + // If there's more *pattern* left, then + /* istanbul ignore if */ + if (partial) { + // ran out of file + this.debug('\n>>> no match, partial?', file, fr, pattern, pr) + if (fr === fl) return true + } + return false + } + + // something other than ** + // non-magic patterns just have to match exactly + // patterns with magic have been turned into regexps. + var hit + if (typeof p === 'string') { + hit = f === p + this.debug('string match', p, f, hit) + } else { + hit = f.match(p) + this.debug('pattern match', p, f, hit) + } + + if (!hit) return false + } + + // Note: ending in / means that we'll get a final "" + // at the end of the pattern. This can only match a + // corresponding "" at the end of the file. + // If the file ends in /, then it can only match a + // a pattern that ends in /, unless the pattern just + // doesn't have any more for it. But, a/b/ should *not* + // match "a/b/*", even though "" matches against the + // [^/]*? pattern, except in partial mode, where it might + // simply not be reached yet. + // However, a/b/ should still satisfy a/* + + // now either we fell off the end of the pattern, or we're done. + if (fi === fl && pi === pl) { + // ran out of pattern and filename at the same time. + // an exact hit! + return true + } else if (fi === fl) { + // ran out of file, but still had pattern left. + // this is ok if we're doing the match as part of + // a glob fs traversal. + return partial + } else /* istanbul ignore else */ if (pi === pl) { + // ran out of pattern, still have file left. + // this is only acceptable if we're on the very last + // empty segment of a file with a trailing slash. + // a/* should match a/b/ + return (fi === fl - 1) && (file[fi] === '') + } + + // should be unreachable. + /* istanbul ignore next */ + throw new Error('wtf?') +} + +// replace stuff like \* with * +function globUnescape (s) { + return s.replace(/\\(.)/g, '$1') +} + +function regExpEscape (s) { + return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&') +} + + +/***/ }), + +/***/ "./src/executor/builder.ts": +/*!*********************************!*\ + !*** ./src/executor/builder.ts ***! + \*********************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.executeBuildTask = void 0; +const path = __webpack_require__(/*! path */ "path"); +const vscode = __webpack_require__(/*! vscode */ "vscode"); +const settingsProvider_1 = __webpack_require__(/*! ../provider/settingsProvider */ "./src/provider/settingsProvider.ts"); +const fileUtils_1 = __webpack_require__(/*! ../utils/fileUtils */ "./src/utils/fileUtils.ts"); +const types_1 = __webpack_require__(/*! ../utils/types */ "./src/utils/types.ts"); +const vscodeUtils_1 = __webpack_require__(/*! ../utils/vscodeUtils */ "./src/utils/vscodeUtils.ts"); +const EXTENSION_NAME = 'C_Cpp_Runner'; +async function executeBuildTask(settingsProvider, activeFolder, buildMode, singleFileBuild) { + const appendSymbol = '&&'; + const language = (0, fileUtils_1.getLanguage)(activeFolder); + let files; + if (!singleFileBuild) { + files = (0, fileUtils_1.filesInDir)(activeFolder); + } + else { + const currentFile = vscode.window.activeTextEditor?.document.fileName; + if (!currentFile) + return; + const isSource = (0, fileUtils_1.isSourceFile)(path.extname(currentFile)); + if (!isSource) + return; + files = [path.basename(currentFile)]; + } + const buildDir = path.join(activeFolder, 'build'); + const modeDir = path.join(buildDir, `${buildMode}`); + if (!(0, fileUtils_1.pathExists)(modeDir)) { + (0, fileUtils_1.mkdirRecursive)(modeDir); + } + const operatingSystem = settingsProvider.operatingSystem; + let executableName; + if (operatingSystem === types_1.OperatingSystems.windows) { + executableName = `out${buildMode}.exe`; + } + else { + executableName = `out${buildMode}`; + } + const executablePath = path.join(modeDir, executableName); + let commandLine; + if (operatingSystem === types_1.OperatingSystems.windows && + settingsProvider.useMsvc) { + commandLine = executeBuildTaskMsvcBased(settingsProvider, activeFolder, buildMode, language, files, modeDir, appendSymbol, executablePath); + } + else { + commandLine = executeBuildTaskUnixBased(settingsProvider, activeFolder, buildMode, language, files, modeDir, appendSymbol, executablePath); + } + if (!commandLine) + return; + const task_name = 'Build'; + const definition = { + type: 'shell', + task: task_name, + }; + const execution = (0, vscodeUtils_1.getProcessExecution)(operatingSystem, settingsProvider.useMsvc, commandLine, activeFolder); + const problemMatcher = operatingSystem === types_1.OperatingSystems.windows && settingsProvider.useMsvc + ? ['$msCompile'] + : ['$gcc']; + const task = new vscode.Task(definition, vscode.TaskScope.Workspace, task_name, EXTENSION_NAME, execution, problemMatcher); + await vscode.tasks.executeTask(task); +} +exports.executeBuildTask = executeBuildTask; +function executeBuildTaskUnixBased(settingsProvider, activeFolder, buildMode, language, files, modeDir, appendSymbol, executablePath) { + let compiler; + let standard; + if (language === types_1.Languages.cpp) { + compiler = settingsProvider.cppCompilerPath; + standard = settingsProvider.cppStandard; + } + else { + compiler = settingsProvider.cCompilerPath; + standard = settingsProvider.cStandard; + } + const useWarnings = settingsProvider.enableWarnings; + const warningsAsErrors = settingsProvider.warningsAsError; + let warnings = ''; + if (useWarnings) { + warnings = settingsProvider.warnings.join(' '); + } + if (useWarnings && warningsAsErrors) { + warnings += ' -Werror'; + } + const includePaths = settingsProvider.includePaths; + const compilerArgs = settingsProvider.compilerArgs; + const linkerArgs = settingsProvider.linkerArgs; + let fullCompilerArgs = ''; + let fullLinkerArgs = ''; + if (warnings) { + fullCompilerArgs += warnings; + } + if (standard) { + fullCompilerArgs += ` --std=${standard}`; + } + if (buildMode === types_1.Builds.debug) { + fullCompilerArgs += ' -g3 -O0'; + } + else { + fullCompilerArgs += ' -O3 -DNDEBUG'; + } + if (compilerArgs && compilerArgs.length > 0) { + fullCompilerArgs += ' ' + compilerArgs.join(' '); + } + if (includePaths && includePaths.length > 0) { + for (const includePath of includePaths) { + if (includePath.includes('$(default)')) + continue; + const hasSpace = includePath.includes(' '); + if (hasSpace) { + fullCompilerArgs += ` -I"${includePath}"`; + } + else { + fullCompilerArgs += ` -I${includePath}`; + } + } + } + if (linkerArgs && linkerArgs.length > 0) { + fullLinkerArgs += ' ' + linkerArgs.join(' '); + } + let commandLine = ''; + const objectFiles = []; + let idx = -1; + for (const file of files) { + const fileExtension = path.parse(file).ext; + if (language === types_1.Languages.c && !(0, fileUtils_1.isCSourceFile)(fileExtension)) { + continue; + } + else if (language === types_1.Languages.cpp && !(0, fileUtils_1.isCppSourceFile)(fileExtension)) { + continue; + } + idx++; + const fileBaseName = path.parse(file).name; + modeDir = modeDir.replace(activeFolder, ''); + let objectFilePath = path.join(modeDir, fileBaseName + '.o'); + if (!objectFilePath.startsWith('.')) { + objectFilePath = '.' + objectFilePath; + } + objectFiles.push(objectFilePath); + const hasSpace = file.includes(' '); + let fullFileArgs; + if (hasSpace) { + fullFileArgs = `-c "${file}" -o "${objectFilePath}"`; + } + else { + fullFileArgs = `-c ${file} -o ${objectFilePath}`; + } + if (idx === 0) { + commandLine += `${compiler} ${fullCompilerArgs} ${fullFileArgs}`; + } + else { + commandLine += ` ${appendSymbol} ${compiler} ${fullCompilerArgs} ${fullFileArgs}`; + } + } + let objectFilesStr = ''; + for (const objectfile of objectFiles) { + objectFilesStr += ` ${objectfile}`; + } + if (objectFilesStr === '') + return; + executablePath = executablePath.replace(activeFolder, ''); + if (!executablePath.startsWith('.')) { + executablePath = '.' + executablePath; + } + const fullObjectFileArgs = `${objectFilesStr} -o ${executablePath}`; + commandLine += ` ${appendSymbol} ${compiler} ${fullCompilerArgs} ${fullObjectFileArgs}`; + if (fullLinkerArgs && fullLinkerArgs !== '') { + commandLine += fullLinkerArgs; + } + commandLine = commandLine.replace(' ', ' '); + return commandLine; +} +function executeBuildTaskMsvcBased(settingsProvider, activeFolder, buildMode, language, files, modeDir, appendSymbol, executablePath) { + let compiler; + let standard; + if (language === types_1.Languages.cpp) { + compiler = settingsProvider_1.SettingsProvider.MSVC_COMPILER_NAME; + standard = settingsProvider.cppStandard; + } + else { + compiler = settingsProvider_1.SettingsProvider.MSVC_COMPILER_NAME; + standard = settingsProvider.cStandard; + } + const useWarnings = settingsProvider.enableWarnings; + const warningsAsErrors = settingsProvider.warningsAsError; + let warnings = ''; + if (useWarnings) { + warnings = settingsProvider.warnings.join(' '); + } + if (useWarnings && warningsAsErrors) { + warnings += ' -WX'; + } + const includePaths = settingsProvider.includePaths; + const compilerArgs = settingsProvider.compilerArgs; + const linkerArgs = settingsProvider.linkerArgs; + let fullCompilerArgs = ''; + if (useWarnings && warnings !== '') { + fullCompilerArgs += warnings; + } + const old_standard = ['c89', 'c99', 'gnu89', 'gnu99'].some((ext) => settingsProvider.cStandard === ext); + if (standard && (language === types_1.Languages.cpp || !old_standard)) { + fullCompilerArgs += ` /std:${standard}`; + } + if (language === types_1.Languages.c) { + if (old_standard) { + fullCompilerArgs += ' /D_CRT_SECURE_NO_WARNINGS'; + } + } + if (buildMode === types_1.Builds.debug) { + fullCompilerArgs += ' /Od /Zi'; + } + else { + fullCompilerArgs += ' /Ox /GL /DNDEBUG'; + } + fullCompilerArgs += ' /EHsc'; + if (includePaths && includePaths.length > 0) { + for (const includePath of includePaths) { + if (includePath.includes('$(default)')) + continue; + const hasSpace = includePath.includes(' '); + if (hasSpace) { + fullCompilerArgs += ` /I"${includePath}"`; + } + else { + fullCompilerArgs += ` /I${includePath}`; + } + } + } + let fullLinkerArgs = ''; + if (linkerArgs && linkerArgs.length > 0) { + fullLinkerArgs += ' ' + linkerArgs.join(' '); + } + fullCompilerArgs += fullLinkerArgs; + if (compilerArgs && compilerArgs.length > 0) { + fullCompilerArgs += ' ' + compilerArgs.join(' '); + } + let commandLine = `"${settingsProvider.msvcBatchPath}" ${settingsProvider.architecure} ${appendSymbol} `; + modeDir = modeDir.replace(activeFolder, '.'); + executablePath = executablePath.replace(activeFolder, '.'); + const pathArgs = `/Fd${modeDir}\\ /Fo${modeDir}\\ /Fe${executablePath}`; + let fullFileArgs = ''; + for (const file of files) { + const fileExtension = path.parse(file).ext; + if (language === types_1.Languages.c && !(0, fileUtils_1.isCSourceFile)(fileExtension)) { + continue; + } + else if (language === types_1.Languages.cpp && !(0, fileUtils_1.isCppSourceFile)(fileExtension)) { + continue; + } + const hasSpace = file.includes(' '); + if (hasSpace) { + fullFileArgs += ` .\\"${file}"`; + } + else { + fullFileArgs += ` .\\${file}`; + } + } + if (fullFileArgs === '') + return; + commandLine += ` cd ${activeFolder} &&`; + commandLine += `${compiler} ${fullCompilerArgs} ${pathArgs} ${fullFileArgs}`; + return commandLine; +} + + +/***/ }), + +/***/ "./src/executor/cleaner.ts": +/*!*********************************!*\ + !*** ./src/executor/cleaner.ts ***! + \*********************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.executeCleanTask = void 0; +const path = __webpack_require__(/*! path */ "path"); +const vscode = __webpack_require__(/*! vscode */ "vscode"); +const fileUtils_1 = __webpack_require__(/*! ../utils/fileUtils */ "./src/utils/fileUtils.ts"); +const vscodeUtils_1 = __webpack_require__(/*! ../utils/vscodeUtils */ "./src/utils/vscodeUtils.ts"); +const EXTENSION_NAME = 'C_Cpp_Runner'; +async function executeCleanTask(activeFolder, buildMode, workspaceFolder, operatingSystem) { + const buildDir = path.join(activeFolder, 'build'); + const modeDir = path.join(buildDir, `${buildMode}`); + let relativeModeDir = modeDir.replace(workspaceFolder, ''); + relativeModeDir = (0, fileUtils_1.replaceBackslashes)(relativeModeDir); + const commandLine = `echo Cleaning ${relativeModeDir}...`; + if (!(0, fileUtils_1.pathExists)(modeDir)) + return; + (0, fileUtils_1.rmdirRecursive)(modeDir); + if (!commandLine) + return; + const task_name = 'Clean'; + const execution = (0, vscodeUtils_1.getProcessExecution)(operatingSystem, false, commandLine, activeFolder); + const definition = { + type: 'shell', + task: task_name, + }; + const task = new vscode.Task(definition, vscode.TaskScope.Workspace, task_name, EXTENSION_NAME, execution); + await vscode.tasks.executeTask(task); +} +exports.executeCleanTask = executeCleanTask; + + +/***/ }), + +/***/ "./src/executor/debugger.ts": +/*!**********************************!*\ + !*** ./src/executor/debugger.ts ***! + \**********************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.runDebugger = void 0; +const path = __webpack_require__(/*! path */ "path"); +const vscode = __webpack_require__(/*! vscode */ "vscode"); +const fileUtils_1 = __webpack_require__(/*! ../utils/fileUtils */ "./src/utils/fileUtils.ts"); +const vscodeUtils_1 = __webpack_require__(/*! ../utils/vscodeUtils */ "./src/utils/vscodeUtils.ts"); +const CONFIG_NAME = 'C/C++ Runner: Debug Session'; +async function runDebugger(activeFolder, workspaceFolder, buildMode) { + const uriWorkspaceFolder = vscode.Uri.file(workspaceFolder); + const folder = vscode.workspace.getWorkspaceFolder(uriWorkspaceFolder); + const launchPath = path.join(workspaceFolder, '.vscode', 'launch.json'); + const configJson = (0, fileUtils_1.readJsonFile)(launchPath); + if (!configJson) + return; + const configIdx = (0, vscodeUtils_1.getLaunchConfigIndex)(configJson, CONFIG_NAME); + if (configIdx === undefined) + return; + const buildDir = path.join(activeFolder, 'build'); + const modeDir = path.join(buildDir, `${buildMode}`); + if (!(0, fileUtils_1.pathExists)(modeDir)) + return; + if (!configJson.configurations === undefined || + !configJson.configurations[configIdx] === undefined) + return; + await vscode.debug.startDebugging(folder, configJson.configurations[configIdx]); +} +exports.runDebugger = runDebugger; + + +/***/ }), + +/***/ "./src/executor/runner.ts": +/*!********************************!*\ + !*** ./src/executor/runner.ts ***! + \********************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.executeRunTask = void 0; +const path = __webpack_require__(/*! path */ "path"); +const vscode = __webpack_require__(/*! vscode */ "vscode"); +const fileUtils_1 = __webpack_require__(/*! ../utils/fileUtils */ "./src/utils/fileUtils.ts"); +const types_1 = __webpack_require__(/*! ../utils/types */ "./src/utils/types.ts"); +const vscodeUtils_1 = __webpack_require__(/*! ../utils/vscodeUtils */ "./src/utils/vscodeUtils.ts"); +const EXTENSION_NAME = 'C_Cpp_Runner'; +async function executeRunTask(activeFolder, buildMode, argumentsString, operatingSystem) { + const modeDir = path.join('build', buildMode); + if (!(0, fileUtils_1.pathExists)(path.join(activeFolder, modeDir))) + return; + let executableName; + let executablePath; + if (operatingSystem === types_1.OperatingSystems.windows) { + executableName = `out${buildMode}.exe`; + executablePath = `.\\${path.join(modeDir, executableName)}`; + } + else { + executableName = `out${buildMode}`; + executablePath = `./${path.join(modeDir, executableName)}`; + } + let commandLine = ''; + const executablePathHasSpace = executablePath.includes(' '); + if (executablePathHasSpace) { + commandLine = `"${executablePath}"`; + } + else { + commandLine = executablePath; + } + if (argumentsString) { + commandLine += ` ${argumentsString.replace(/"/g, '')}`; + } + if (!commandLine) + return; + const task_name = 'Run'; + const execution = (0, vscodeUtils_1.getProcessExecution)(operatingSystem, false, commandLine, activeFolder); + const definition = { + type: 'shell', + task: task_name, + }; + const task = new vscode.Task(definition, vscode.TaskScope.Workspace, task_name, EXTENSION_NAME, execution); + await vscode.tasks.executeTask(task); +} +exports.executeRunTask = executeRunTask; + + +/***/ }), + +/***/ "./src/extension.ts": +/*!**************************!*\ + !*** ./src/extension.ts ***! + \**************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.deactivate = exports.activate = exports.extensionPath = exports.extensionState = exports.extensionContext = void 0; +const path = __webpack_require__(/*! path */ "path"); +const vscode = __webpack_require__(/*! vscode */ "vscode"); +const builder_1 = __webpack_require__(/*! ./executor/builder */ "./src/executor/builder.ts"); +const cleaner_1 = __webpack_require__(/*! ./executor/cleaner */ "./src/executor/cleaner.ts"); +const debugger_1 = __webpack_require__(/*! ./executor/debugger */ "./src/executor/debugger.ts"); +const runner_1 = __webpack_require__(/*! ./executor/runner */ "./src/executor/runner.ts"); +const folderHandler_1 = __webpack_require__(/*! ./handler/folderHandler */ "./src/handler/folderHandler.ts"); +const modeHandler_1 = __webpack_require__(/*! ./handler/modeHandler */ "./src/handler/modeHandler.ts"); +const statusBarItems_1 = __webpack_require__(/*! ./items/statusBarItems */ "./src/items/statusBarItems.ts"); +const launchProvider_1 = __webpack_require__(/*! ./provider/launchProvider */ "./src/provider/launchProvider.ts"); +const propertiesProvider_1 = __webpack_require__(/*! ./provider/propertiesProvider */ "./src/provider/propertiesProvider.ts"); +const settingsProvider_1 = __webpack_require__(/*! ./provider/settingsProvider */ "./src/provider/settingsProvider.ts"); +const fileUtils_1 = __webpack_require__(/*! ./utils/fileUtils */ "./src/utils/fileUtils.ts"); +const types_1 = __webpack_require__(/*! ./utils/types */ "./src/utils/types.ts"); +const vscodeUtils_1 = __webpack_require__(/*! ./utils/vscodeUtils */ "./src/utils/vscodeUtils.ts"); +let folderContextMenuDisposable; +let commandHandlerDisposable; +let commandToggleStateDisposable; +let commandFolderDisposable; +let commandModeDisposable; +let commandBuildDisposable; +let commandRunDisposable; +let commandBuildSingleFileDisposable; +let commandRunSingleFileDisposable; +let commandDebugSingleFileDisposable; +let commandDebugDisposable; +let commandCleanDisposable; +let commandArgumentDisposable; +let commandResetDisposable; +let eventConfigurationDisposable; +let eventRenameFilesDisposable; +let eventDeleteFilesDisposable; +let settingsProvider; +let launchProvider; +let propertiesProvider; +let folderStatusBar; +let modeStatusBar; +let buildStatusBar; +let runStatusBar; +let debugStatusBar; +let cleanStatusBar; +let argumentsString; +let workspaceFolder; +let activeFolder; +let buildMode = types_1.Builds.debug; +let showStatusBarItems = true; +let createExtensionFiles = true; +const EXTENSION_NAME = 'C_Cpp_Runner'; +function activate(context) { + if (!vscode.workspace.workspaceFolders || + vscode.workspace.workspaceFolders.length === 0) { + return; + } + if (!vscode.workspace.workspaceFolders[0] || + !vscode.workspace.workspaceFolders[0].uri) { + return; + } + if (vscode.workspace.workspaceFolders.length === 1) { + workspaceFolder = vscode.workspace.workspaceFolders[0].uri.fsPath; + } + const cmakeFileFound = (0, vscodeUtils_1.isCmakeProject)(); + if (cmakeFileFound) { + showStatusBarItems = false; + createExtensionFiles = false; + } + exports.extensionContext = context; + exports.extensionPath = context.extensionPath; + exports.extensionState = context.workspaceState; + (0, vscodeUtils_1.setContextValue)(`${EXTENSION_NAME}:activatedExtension`, true); + (0, vscodeUtils_1.updateActivationState)(true); + initFolderStatusBar(); + initModeStatusBar(); + initBuildStatusBar(); + initRunStatusBar(); + initDebugStatusBar(); + initCleanStatusBar(); + initBuildSingleFile(); + initRunSingleFile(); + initDebugSingleFile(); + initWorkspaceProvider(); + initWorkspaceDisposables(); + initEventListener(); +} +exports.activate = activate; +function deactivate() { + (0, vscodeUtils_1.setContextValue)(`${EXTENSION_NAME}:activatedExtension`, false); + (0, vscodeUtils_1.updateActivationState)(false); + (0, vscodeUtils_1.disposeItem)(folderStatusBar); + (0, vscodeUtils_1.disposeItem)(modeStatusBar); + (0, vscodeUtils_1.disposeItem)(buildStatusBar); + (0, vscodeUtils_1.disposeItem)(runStatusBar); + (0, vscodeUtils_1.disposeItem)(debugStatusBar); + (0, vscodeUtils_1.disposeItem)(cleanStatusBar); + (0, vscodeUtils_1.disposeItem)(folderContextMenuDisposable); + (0, vscodeUtils_1.disposeItem)(commandHandlerDisposable); + (0, vscodeUtils_1.disposeItem)(commandToggleStateDisposable); + (0, vscodeUtils_1.disposeItem)(commandFolderDisposable); + (0, vscodeUtils_1.disposeItem)(commandModeDisposable); + (0, vscodeUtils_1.disposeItem)(commandBuildDisposable); + (0, vscodeUtils_1.disposeItem)(commandRunDisposable); + (0, vscodeUtils_1.disposeItem)(commandBuildSingleFileDisposable); + (0, vscodeUtils_1.disposeItem)(commandRunSingleFileDisposable); + (0, vscodeUtils_1.disposeItem)(commandDebugSingleFileDisposable); + (0, vscodeUtils_1.disposeItem)(commandDebugDisposable); + (0, vscodeUtils_1.disposeItem)(commandCleanDisposable); + (0, vscodeUtils_1.disposeItem)(commandArgumentDisposable); + (0, vscodeUtils_1.disposeItem)(commandResetDisposable); + (0, vscodeUtils_1.disposeItem)(eventConfigurationDisposable); + (0, vscodeUtils_1.disposeItem)(eventDeleteFilesDisposable); + (0, vscodeUtils_1.disposeItem)(eventRenameFilesDisposable); +} +exports.deactivate = deactivate; +function initWorkspaceProvider() { + if (!workspaceFolder || !createExtensionFiles || !activeFolder) + return; + if (!settingsProvider) { + settingsProvider = new settingsProvider_1.SettingsProvider(workspaceFolder, activeFolder); + } + if (!propertiesProvider) { + propertiesProvider = new propertiesProvider_1.PropertiesProvider(settingsProvider, workspaceFolder, activeFolder); + } + if (!launchProvider) { + launchProvider = new launchProvider_1.LaunchProvider(settingsProvider, workspaceFolder, activeFolder); + } +} +function initWorkspaceDisposables() { + initArgumentParser(); + initContextMenuDisposable(); + initReset(); + initToggleDisposable(); +} +function initToggleDisposable() { + if (commandToggleStateDisposable) + return; + commandToggleStateDisposable = vscode.commands.registerCommand(`${EXTENSION_NAME}.toggleExtensionState`, () => { + showStatusBarItems = !showStatusBarItems; + toggleStatusBarItems(); + createExtensionFiles = !createExtensionFiles; + if (createExtensionFiles) { + initWorkspaceProvider(); + initWorkspaceDisposables(); + settingsProvider?.createFileData(); + propertiesProvider?.createFileData(); + } + const extensionIsDisabled = !showStatusBarItems && !createExtensionFiles; + if (extensionIsDisabled) { + (0, vscodeUtils_1.setContextValue)(`${EXTENSION_NAME}:activatedExtension`, !extensionIsDisabled); + (0, vscodeUtils_1.updateActivationState)(!extensionIsDisabled); + } + else { + (0, vscodeUtils_1.setContextValue)(`${EXTENSION_NAME}:activatedExtension`, !extensionIsDisabled); + (0, vscodeUtils_1.updateActivationState)(!extensionIsDisabled); + } + }); + exports.extensionContext?.subscriptions.push(commandToggleStateDisposable); +} +function initContextMenuDisposable() { + if (folderContextMenuDisposable) + return; + folderContextMenuDisposable = vscode.commands.registerCommand(`${EXTENSION_NAME}.folderContextMenu`, async (clickedUriItem, selectedUriItems) => { + if (selectedUriItems.length > 1) + return; + const workspaceItem = vscode.workspace.getWorkspaceFolder(clickedUriItem); + if (!workspaceItem) + return; + activeFolder = clickedUriItem.fsPath; + workspaceFolder = workspaceItem.uri.fsPath; + updateFolderData(); + }); + exports.extensionContext?.subscriptions.push(folderContextMenuDisposable); +} +function initEventListener() { + initConfigurationChangeDisposable(); + initFileRenameDisposable(); + initFileDeleteDisposable(); +} +function initConfigurationChangeDisposable() { + if (eventConfigurationDisposable) + return; + eventConfigurationDisposable = vscode.workspace.onDidChangeConfiguration((e) => { + const isChanged = e.affectsConfiguration(EXTENSION_NAME); + const extensionIsActive = (0, vscodeUtils_1.getActivationState)(); + if (isChanged && extensionIsActive) { + settingsProvider?.updateFileContent(); + propertiesProvider?.updateFileContent(); + launchProvider?.updateFileContent(); + } + }); + exports.extensionContext?.subscriptions.push(eventConfigurationDisposable); +} +function initFileRenameDisposable() { + if (eventRenameFilesDisposable) + return; + eventRenameFilesDisposable = vscode.workspace.onDidRenameFiles((e) => { + const extensionIsActive = (0, vscodeUtils_1.getActivationState)(); + if (!extensionIsActive) + return; + e.files.forEach((file) => { + const oldName = file.oldUri.fsPath; + const newName = file.newUri.fsPath; + if (workspaceFolder && oldName === workspaceFolder) { + workspaceFolder = newName; + updateFolderData(); + } + else if (activeFolder && oldName === activeFolder) { + activeFolder = newName; + updateFolderData(); + } + }); + }); + exports.extensionContext?.subscriptions.push(eventRenameFilesDisposable); +} +function initFileDeleteDisposable() { + if (!eventDeleteFilesDisposable) + return; + eventDeleteFilesDisposable = vscode.workspace.onDidDeleteFiles((e) => { + const extensionIsActive = (0, vscodeUtils_1.getActivationState)(); + if (!extensionIsActive) + return; + e.files.forEach((file) => { + const oldName = file.fsPath; + if (workspaceFolder && oldName === workspaceFolder) { + workspaceFolder = undefined; + updateFolderData(); + (0, statusBarItems_1.updateFolderStatus)(folderStatusBar, workspaceFolder, activeFolder, showStatusBarItems); + } + else if (activeFolder && oldName === activeFolder) { + activeFolder = undefined; + updateFolderData(); + (0, statusBarItems_1.updateFolderStatus)(folderStatusBar, workspaceFolder, activeFolder, showStatusBarItems); + } + }); + }); + exports.extensionContext?.subscriptions.push(eventDeleteFilesDisposable); +} +function toggleStatusBarItems() { + if (showStatusBarItems) { + folderStatusBar?.show(); + modeStatusBar?.show(); + buildStatusBar?.show(); + runStatusBar?.show(); + debugStatusBar?.show(); + cleanStatusBar?.show(); + } + else { + folderStatusBar?.hide(); + modeStatusBar?.hide(); + buildStatusBar?.hide(); + runStatusBar?.hide(); + debugStatusBar?.hide(); + cleanStatusBar?.hide(); + } +} +function updateFolderData() { + initWorkspaceProvider(); + initWorkspaceDisposables(); + argumentsString = ''; + if (workspaceFolder && activeFolder) { + if (settingsProvider) { + settingsProvider.updateFolderData(workspaceFolder); + settingsProvider.updateFileContent(); + if (propertiesProvider) { + propertiesProvider.updateFolderData(workspaceFolder); + } + if (launchProvider) { + launchProvider.updateFolderData(workspaceFolder, activeFolder); + launchProvider.updateModeData(buildMode); + launchProvider?.updateArgumentsData(argumentsString); + launchProvider.updateFileContent(); + } + } + } + if (folderStatusBar) { + (0, statusBarItems_1.updateFolderStatus)(folderStatusBar, workspaceFolder, activeFolder, showStatusBarItems); + } + if (modeStatusBar) { + (0, statusBarItems_1.updateModeStatus)(modeStatusBar, showStatusBarItems, activeFolder, buildMode); + } + if (buildStatusBar) { + (0, statusBarItems_1.updateBuildStatus)(buildStatusBar, showStatusBarItems, activeFolder); + } + if (runStatusBar) { + (0, statusBarItems_1.updateRunStatus)(runStatusBar, showStatusBarItems, activeFolder); + } + if (cleanStatusBar) { + (0, statusBarItems_1.updateCleanStatus)(cleanStatusBar, showStatusBarItems, activeFolder); + } + if (debugStatusBar) { + (0, statusBarItems_1.updateDebugStatus)(debugStatusBar, showStatusBarItems, activeFolder); + } +} +function initFolderStatusBar() { + if (folderStatusBar) + return; + folderStatusBar = (0, vscodeUtils_1.createStatusBarItem)(); + exports.extensionContext?.subscriptions.push(folderStatusBar); + const workspaceFolders = vscode.workspace.workspaceFolders; + if (workspaceFolders) { + if (workspaceFolders.length === 1) { + if (!workspaceFolders[0] || !workspaceFolders[0].uri.fsPath) + return; + const workspaceFolderFs = workspaceFolders[0].uri.fsPath; + const folders = (0, fileUtils_1.foldersInDir)(workspaceFolderFs); + if (folders.length === 0) { + workspaceFolder = workspaceFolderFs; + activeFolder = workspaceFolderFs; + updateFolderData(); + } + else { + (0, statusBarItems_1.updateFolderStatus)(folderStatusBar, workspaceFolder, activeFolder, showStatusBarItems); + } + } + else { + (0, statusBarItems_1.updateFolderStatus)(folderStatusBar, workspaceFolder, activeFolder, showStatusBarItems); + } + } + if (commandFolderDisposable) + return; + const commandName = `${EXTENSION_NAME}.folder`; + commandFolderDisposable = vscode.commands.registerCommand(commandName, async () => { + const ret = await (0, folderHandler_1.folderHandler)(settingsProvider); + if (ret && ret.activeFolder && ret.workspaceFolder) { + activeFolder = ret.activeFolder; + workspaceFolder = ret.workspaceFolder; + updateFolderData(); + } + }); + folderStatusBar.command = commandName; + exports.extensionContext?.subscriptions.push(commandFolderDisposable); +} +function initModeStatusBar() { + if (modeStatusBar) + return; + modeStatusBar = (0, vscodeUtils_1.createStatusBarItem)(); + exports.extensionContext?.subscriptions.push(modeStatusBar); + (0, statusBarItems_1.updateModeStatus)(modeStatusBar, showStatusBarItems, activeFolder, buildMode); + const commandName = `${EXTENSION_NAME}.mode`; + commandModeDisposable = vscode.commands.registerCommand(commandName, async () => { + const pickedMode = await (0, modeHandler_1.modeHandler)(); + if (pickedMode) { + buildMode = pickedMode; + (0, statusBarItems_1.updateModeStatus)(modeStatusBar, showStatusBarItems, activeFolder, buildMode); + if (!launchProvider) + return; + launchProvider.updateModeData(buildMode); + launchProvider.updateFileContent(); + } + }); + modeStatusBar.command = commandName; + exports.extensionContext?.subscriptions.push(commandModeDisposable); +} +function initArgumentParser() { + if (commandArgumentDisposable) + return; + const commandName = `${EXTENSION_NAME}.args`; + commandArgumentDisposable = vscode.commands.registerCommand(commandName, async () => { + argumentsString = await vscode.window.showInputBox(); + launchProvider?.updateArgumentsData(argumentsString); + launchProvider?.updateFileContent(); + }); + exports.extensionContext?.subscriptions.push(commandArgumentDisposable); +} +function initReset() { + if (commandResetDisposable) + return; + const commandName = `${EXTENSION_NAME}.resetLocalSettings`; + commandResetDisposable = vscode.commands.registerCommand(commandName, async () => { + settingsProvider?.reset(); + propertiesProvider?.updateFileContent(); + launchProvider?.updateFileContent(); + }); + exports.extensionContext?.subscriptions.push(commandResetDisposable); +} +function initBuildStatusBar() { + if (buildStatusBar) + return; + buildStatusBar = (0, vscodeUtils_1.createStatusBarItem)(); + exports.extensionContext?.subscriptions.push(buildStatusBar); + (0, statusBarItems_1.updateBuildStatus)(buildStatusBar, showStatusBarItems, activeFolder); + const commandName = `${EXTENSION_NAME}.build`; + commandBuildDisposable = vscode.commands.registerCommand(commandName, async () => buildTaskCallback(false)); + buildStatusBar.command = commandName; + exports.extensionContext?.subscriptions.push(commandBuildDisposable); +} +function initRunStatusBar() { + if (runStatusBar) + return; + runStatusBar = (0, vscodeUtils_1.createStatusBarItem)(); + exports.extensionContext?.subscriptions.push(runStatusBar); + (0, statusBarItems_1.updateRunStatus)(runStatusBar, showStatusBarItems, activeFolder); + const commandName = `${EXTENSION_NAME}.run`; + commandRunDisposable = vscode.commands.registerCommand(commandName, async () => runTaskCallback()); + runStatusBar.command = commandName; + exports.extensionContext?.subscriptions.push(commandRunDisposable); +} +function initDebugStatusBar() { + if (debugStatusBar) + return; + debugStatusBar = (0, vscodeUtils_1.createStatusBarItem)(); + exports.extensionContext?.subscriptions.push(debugStatusBar); + (0, statusBarItems_1.updateDebugStatus)(debugStatusBar, showStatusBarItems, activeFolder); + const commandName = `${EXTENSION_NAME}.debug`; + commandDebugDisposable = vscode.commands.registerCommand(commandName, () => debugTaskCallback()); + debugStatusBar.command = commandName; + exports.extensionContext?.subscriptions.push(commandDebugDisposable); +} +async function initCleanStatusBar() { + if (cleanStatusBar) + return; + cleanStatusBar = (0, vscodeUtils_1.createStatusBarItem)(); + exports.extensionContext?.subscriptions.push(cleanStatusBar); + (0, statusBarItems_1.updateCleanStatus)(cleanStatusBar, showStatusBarItems, activeFolder); + const commandName = `${EXTENSION_NAME}.clean`; + commandCleanDisposable = vscode.commands.registerCommand(commandName, async () => { + cleanTaskCallback(); + }); + cleanStatusBar.command = commandName; + exports.extensionContext?.subscriptions.push(commandCleanDisposable); +} +function initProviderBasedOnSingleFile() { + const currentFile = vscode.window.activeTextEditor?.document.fileName; + if (!currentFile) + return; + const currentFolder = path.dirname(currentFile); + if (activeFolder !== currentFolder) { + activeFolder = currentFolder; + initWorkspaceProvider(); + updateFolderData(); + } +} +function initBuildSingleFile() { + const commandName = `${EXTENSION_NAME}.buildSingleFile`; + commandBuildSingleFileDisposable = vscode.commands.registerCommand(commandName, async () => { + initProviderBasedOnSingleFile(); + buildTaskCallback(true); + }); + exports.extensionContext?.subscriptions.push(commandBuildSingleFileDisposable); +} +function initRunSingleFile() { + const commandName = `${EXTENSION_NAME}.runSingleFile`; + commandRunSingleFileDisposable = vscode.commands.registerCommand(commandName, async () => { + initProviderBasedOnSingleFile(); + runTaskCallback(); + }); + exports.extensionContext?.subscriptions.push(commandRunSingleFileDisposable); +} +function initDebugSingleFile() { + const commandName = `${EXTENSION_NAME}.debugSingleFile`; + commandDebugSingleFileDisposable = vscode.commands.registerCommand(commandName, () => { + initProviderBasedOnSingleFile(); + debugTaskCallback(); + }); + exports.extensionContext?.subscriptions.push(commandDebugSingleFileDisposable); +} +async function buildTaskCallback(singleFileBuild) { + if (!activeFolder) + return; + const buildDir = path.join(activeFolder, 'build'); + const modeDir = path.join(buildDir, `${buildMode}`); + if (!(0, fileUtils_1.pathExists)(modeDir)) + (0, fileUtils_1.mkdirRecursive)(modeDir); + if (!settingsProvider) + return; + await (0, builder_1.executeBuildTask)(settingsProvider, activeFolder, buildMode, singleFileBuild); +} +async function runTaskCallback() { + if (!activeFolder) + return; + const buildDir = path.join(activeFolder, 'build'); + const modeDir = path.join(buildDir, `${buildMode}`); + if (!(0, fileUtils_1.pathExists)(modeDir)) + return; + if (!settingsProvider) { + return; + } + await (0, runner_1.executeRunTask)(activeFolder, buildMode, argumentsString, settingsProvider.operatingSystem); +} +async function cleanTaskCallback() { + if (!settingsProvider || + !settingsProvider.operatingSystem || + !activeFolder || + !workspaceFolder) { + return; + } + await (0, cleaner_1.executeCleanTask)(activeFolder, buildMode, workspaceFolder, settingsProvider.operatingSystem); +} +function debugTaskCallback() { + if (!activeFolder) + return; + if (!workspaceFolder) + return; + (0, debugger_1.runDebugger)(activeFolder, workspaceFolder, buildMode); +} + + +/***/ }), + +/***/ "./src/handler/folderHandler.ts": +/*!**************************************!*\ + !*** ./src/handler/folderHandler.ts ***! + \**************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.folderHandler = void 0; +const path = __webpack_require__(/*! path */ "path"); +const vscode = __webpack_require__(/*! vscode */ "vscode"); +const settingsProvider_1 = __webpack_require__(/*! ../provider/settingsProvider */ "./src/provider/settingsProvider.ts"); +const fileUtils_1 = __webpack_require__(/*! ../utils/fileUtils */ "./src/utils/fileUtils.ts"); +async function folderHandler(settingsProvider) { + const workspacesFolders = vscode.workspace.workspaceFolders; + if (!workspacesFolders) + return; + let foldersList = []; + workspacesFolders.forEach((folder) => { + const directories = [folder.name]; + const recursiveDirectories = (0, fileUtils_1.getDirectoriesRecursive)(folder.uri.fsPath); + if (recursiveDirectories) { + directories.push(...recursiveDirectories); + } + directories.forEach((dir) => { + let text = dir.replace(folder.uri.fsPath, folder.name); + text = (0, fileUtils_1.replaceBackslashes)(text); + foldersList.push(text); + }); + if (settingsProvider) { + foldersList = (0, fileUtils_1.includePatternFromList)(settingsProvider.includeSearch, foldersList); + } + if (settingsProvider) { + foldersList = (0, fileUtils_1.excludePatternFromList)(settingsProvider.excludeSearch, foldersList); + } + else { + foldersList = (0, fileUtils_1.excludePatternFromList)(settingsProvider_1.SettingsProvider.DEFAULT_EXCLUDE_SEARCH, foldersList); + } + const foldersSet = new Set(foldersList); + foldersList = Array.from(foldersSet); + foldersList = (0, fileUtils_1.naturalSort)(foldersList); + }); + const activeFolderStr = await vscode.window.showQuickPick(foldersList, { + placeHolder: 'Select folder to init the C/C++ Runner extension.', + }); + let activeFolder; + let workspaceFolder; + if (activeFolderStr) { + const folderSplit = activeFolderStr.split('/'); + const workspaceName = folderSplit[0]; + workspacesFolders.forEach((folder) => { + if (folder.name === workspaceName) { + workspaceFolder = folder.uri.fsPath; + } + }); + if (workspaceFolder) { + activeFolder = path.join(workspaceFolder, ...folderSplit.slice(1)); + } + } + return { activeFolder, workspaceFolder }; +} +exports.folderHandler = folderHandler; + + +/***/ }), + +/***/ "./src/handler/modeHandler.ts": +/*!************************************!*\ + !*** ./src/handler/modeHandler.ts ***! + \************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.modeHandler = void 0; +const vscode = __webpack_require__(/*! vscode */ "vscode"); +const types_1 = __webpack_require__(/*! ../utils/types */ "./src/utils/types.ts"); +async function modeHandler() { + const combinations = [types_1.Builds.debug, types_1.Builds.release]; + const pickedCombination = await vscode.window.showQuickPick(combinations, { + placeHolder: 'Select a build mode', + }); + if (!pickedCombination) + return undefined; + const pickedMode = pickedCombination.includes(types_1.Builds.debug) + ? types_1.Builds.debug + : types_1.Builds.release; + return pickedMode; +} +exports.modeHandler = modeHandler; + + +/***/ }), + +/***/ "./src/items/statusBarItems.ts": +/*!*************************************!*\ + !*** ./src/items/statusBarItems.ts ***! + \*************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.updateCleanStatus = exports.updateDebugStatus = exports.updateRunStatus = exports.updateBuildStatus = exports.updateModeStatus = exports.updateFolderStatus = void 0; +const path = __webpack_require__(/*! path */ "path"); +const fileUtils_1 = __webpack_require__(/*! ../utils/fileUtils */ "./src/utils/fileUtils.ts"); +function updateFolderStatus(status, workspaceFolder, activeFolder, showStatusBarItems) { + if (!status) + return; + if (workspaceFolder && activeFolder) { + const workspaceName = path.basename(workspaceFolder); + let text = activeFolder.replace(workspaceFolder, workspaceName); + text = (0, fileUtils_1.replaceBackslashes)(text); + const dirs = text.split('/'); + if (dirs.length > 2) { + const lastElement = dirs.length - 1; + text = `${dirs[0]}/.../${dirs[lastElement]}`; + } + status.color = ''; + status.text = `$(folder-active) ${text}`; + } + else { + status.color = '#ffff00'; + status.text = '$(alert) Select folder.'; + } + if (showStatusBarItems) { + status.show(); + } + else { + status.hide(); + } +} +exports.updateFolderStatus = updateFolderStatus; +function updateModeStatus(status, showStatusBarItems, activeFolder, buildMode) { + if (!status) + return; + status.text = `$(tools) ${buildMode}`; + toggleShow(status, showStatusBarItems, activeFolder); +} +exports.updateModeStatus = updateModeStatus; +function updateBuildStatus(status, showStatusBarItems, activeFolder) { + if (!status) + return; + status.text = `$(gear)`; + toggleShow(status, showStatusBarItems, activeFolder); +} +exports.updateBuildStatus = updateBuildStatus; +function updateRunStatus(status, showStatusBarItems, activeFolder) { + if (!status) + return; + status.text = `$(play)`; + toggleShow(status, showStatusBarItems, activeFolder); +} +exports.updateRunStatus = updateRunStatus; +function updateDebugStatus(status, showStatusBarItems, activeFolder) { + if (!status) + return; + status.text = `$(bug)`; + toggleShow(status, showStatusBarItems, activeFolder); +} +exports.updateDebugStatus = updateDebugStatus; +function updateCleanStatus(status, showStatusBarItems, activeFolder) { + if (!status) + return; + status.text = `$(trash)`; + toggleShow(status, showStatusBarItems, activeFolder); +} +exports.updateCleanStatus = updateCleanStatus; +function toggleShow(status, showStatusBarItems, activeFolder) { + if (!status) + return; + if (showStatusBarItems && activeFolder) { + status.show(); + } + else { + status.hide(); + } +} + + +/***/ }), + +/***/ "./src/provider/callbackProvider.ts": +/*!******************************************!*\ + !*** ./src/provider/callbackProvider.ts ***! + \******************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CallbackProvider = void 0; +const path = __webpack_require__(/*! path */ "path"); +const vscode = __webpack_require__(/*! vscode */ "vscode"); +const vscodeUtils_1 = __webpack_require__(/*! ../utils/vscodeUtils */ "./src/utils/vscodeUtils.ts"); +class CallbackProvider { + constructor(_workspaceFolder, templateFileName, outputFileName) { + this._workspaceFolder = _workspaceFolder; + this.templateFileName = templateFileName; + this.outputFileName = outputFileName; + this._vscodeDirectory = path.join(this._workspaceFolder, '.vscode'); + this._outputPath = path.join(this._vscodeDirectory, outputFileName); + this.createFileWatcher(); + } + createFileWatcher() { + const filePattern = new vscode.RelativePattern(this._workspaceFolder, '.vscode/**'); + this._fileWatcherOnDelete = vscode.workspace.createFileSystemWatcher(filePattern, true, true, false); + this._fileWatcherOnChange = vscode.workspace.createFileSystemWatcher(filePattern, true, false, true); + this._fileWatcherOnDelete.onDidDelete((e) => { + const pathName = e.fsPath; + if (pathName === this._vscodeDirectory || pathName === this._outputPath) { + const extensionIsActive = (0, vscodeUtils_1.getActivationState)(); + if (extensionIsActive) + this.deleteCallback(); + } + }); + this._fileWatcherOnChange.onDidChange((e) => { + const pathName = e.fsPath; + if (pathName === this._outputPath) { + this.changeCallback(); + } + }); + return; + } +} +exports.CallbackProvider = CallbackProvider; + + +/***/ }), + +/***/ "./src/provider/fileProvider.ts": +/*!**************************************!*\ + !*** ./src/provider/fileProvider.ts ***! + \**************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.FileProvider = void 0; +const path = __webpack_require__(/*! path */ "path"); +const extension_1 = __webpack_require__(/*! ../extension */ "./src/extension.ts"); +const fileUtils_1 = __webpack_require__(/*! ../utils/fileUtils */ "./src/utils/fileUtils.ts"); +const vscodeUtils_1 = __webpack_require__(/*! ../utils/vscodeUtils */ "./src/utils/vscodeUtils.ts"); +const callbackProvider_1 = __webpack_require__(/*! ./callbackProvider */ "./src/provider/callbackProvider.ts"); +class FileProvider extends callbackProvider_1.CallbackProvider { + constructor(workspaceFolder, templateFileName, outputFileName) { + super(workspaceFolder, templateFileName, outputFileName); + const templateDirectory = path.join(extension_1.extensionPath ? extension_1.extensionPath : '', 'templates'); + if (templateFileName) { + this.templatePath = path.join(templateDirectory, templateFileName); + } + if (!(0, fileUtils_1.pathExists)(this._vscodeDirectory)) { + (0, fileUtils_1.mkdirRecursive)(this._vscodeDirectory); + } + } + createFileData() { + if (!(0, fileUtils_1.pathExists)(this._vscodeDirectory)) { + (0, fileUtils_1.mkdirRecursive)(this._vscodeDirectory); + } + this.writeFileData(); + } + updateFileContent() { + this.writeFileData(); + } + deleteCallback() { + const extensionIsActive = (0, vscodeUtils_1.getActivationState)(); + if (extensionIsActive) + this.createFileData(); + } + _updateFolderData(_workspaceFolder) { + this._workspaceFolder = _workspaceFolder; + this._vscodeDirectory = path.join(this._workspaceFolder, '.vscode'); + this._outputPath = path.join(this._vscodeDirectory, this.outputFileName); + this.createFileWatcher(); + } +} +exports.FileProvider = FileProvider; + + +/***/ }), + +/***/ "./src/provider/launchProvider.ts": +/*!****************************************!*\ + !*** ./src/provider/launchProvider.ts ***! + \****************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.LaunchProvider = void 0; +const path = __webpack_require__(/*! path */ "path"); +const fileUtils_1 = __webpack_require__(/*! ../utils/fileUtils */ "./src/utils/fileUtils.ts"); +const types_1 = __webpack_require__(/*! ../utils/types */ "./src/utils/types.ts"); +const vscodeUtils_1 = __webpack_require__(/*! ../utils/vscodeUtils */ "./src/utils/vscodeUtils.ts"); +const fileProvider_1 = __webpack_require__(/*! ./fileProvider */ "./src/provider/fileProvider.ts"); +const settingsProvider_1 = __webpack_require__(/*! ./settingsProvider */ "./src/provider/settingsProvider.ts"); +const TEMPLATE_FILENAME = 'launch_template.json'; +const OUTPUT_FILENAME = 'launch.json'; +const CONFIG_NAME = 'C/C++ Runner: Debug Session'; +class LaunchProvider extends fileProvider_1.FileProvider { + constructor(settings, workspaceFolder, activeFolder) { + super(workspaceFolder, TEMPLATE_FILENAME, OUTPUT_FILENAME); + this.settings = settings; + this.workspaceFolder = workspaceFolder; + this.activeFolder = activeFolder; + this.buildMode = types_1.Builds.debug; + if (!this.activeFolder) { + this.activeFolder = this.workspaceFolder; + } + const updateRequired = this.updateCheck(); + if (updateRequired && activeFolder) { + this.createFileData(); + } + } + updateCheck() { + if (!(0, fileUtils_1.pathExists)(this._outputPath)) { + return true; + } + else { + const configJson = (0, fileUtils_1.readJsonFile)(this._outputPath); + if (configJson) { + configJson.configurations.forEach((config) => { + const triplet = config.name; + if (triplet.includes(this.settings.operatingSystem)) { + return true; + } + }); + } + } + return false; + } + writeFileData() { + if (!this.workspaceFolder && !this.activeFolder) + return; + if (!this.activeFolder) { + this.activeFolder = this.workspaceFolder; + } + if (!this.templatePath) + return; + const launchTemplate = (0, fileUtils_1.readJsonFile)(this.templatePath); + if (!launchTemplate) + return; + if (this.settings.operatingSystem === types_1.OperatingSystems.windows && + (this.settings.useMsvc || this.settings.cCompilerPath.includes('clang'))) { + this.msvcBasedDebugger(launchTemplate); + delete launchTemplate.configurations[0]?.externalConsole; + } + else if (this.settings.operatingSystem === types_1.OperatingSystems.windows && + launchTemplate.configurations[0]) { + this.unixBasedDebugger(launchTemplate); + delete launchTemplate.configurations[0]?.console; + launchTemplate.configurations[0].externalConsole = true; + } + else { + this.unixBasedDebugger(launchTemplate); + delete launchTemplate.configurations[0]?.console; + } + const launchLocal = (0, fileUtils_1.readJsonFile)(this._outputPath); + if (!launchLocal) { + (0, fileUtils_1.writeJsonFile)(this._outputPath, launchTemplate); + return; + } + let configIdx = (0, vscodeUtils_1.getLaunchConfigIndex)(launchLocal, CONFIG_NAME); + if (configIdx === undefined) { + configIdx = launchLocal.configurations.length; + } + if (!launchTemplate.configurations[0]) + return; + if (launchLocal && launchLocal.configurations.length === configIdx) { + launchLocal.configurations.push(launchTemplate.configurations[0]); + } + else { + if (!launchLocal.configurations[configIdx]) + return; + launchLocal.configurations[configIdx] = launchTemplate.configurations[0]; + } + (0, fileUtils_1.writeJsonFile)(this._outputPath, launchLocal); + } + updateFolderData(workspaceFolder, activeFolder) { + this.activeFolder = activeFolder; + super._updateFolderData(workspaceFolder); + } + updateModeData(buildMode) { + this.buildMode = buildMode; + } + updateArgumentsData(argumentsString) { + if (argumentsString === undefined) + return; + if (argumentsString === '') { + this.argumentsString = []; + return; + } + if (!argumentsString.includes(' ')) { + this.argumentsString = [argumentsString]; + } + if (!argumentsString.includes('"')) { + this.argumentsString = argumentsString.split(' '); + return; + } + const indicies = (0, fileUtils_1.getOccurenceIndicies)(argumentsString, '"'); + this.argumentsString = []; + const strsToReplace = []; + if (!indicies || indicies.length < 2) + return; + for (let i = 0; i < indicies.length; i += 2) { + const sub = argumentsString.slice(indicies[i] + 1, indicies[i + 1]); + this.argumentsString.push(sub); + strsToReplace.push(sub); + } + for (const strReplace of strsToReplace) { + argumentsString = argumentsString.replace(strReplace, ''); + } + argumentsString = argumentsString.replace(/"/g, ''); + if (argumentsString.startsWith(' ')) { + argumentsString = argumentsString.slice(1); + } + if (argumentsString.endsWith(' ')) { + argumentsString = argumentsString.slice(0, argumentsString.length - 2); + } + this.argumentsString.push(...argumentsString.split(' ').filter((str) => Boolean(str))); + this.argumentsString.map((str) => str.replace(/"/g, '')); + } + changeCallback() { + const launchLocal = (0, fileUtils_1.readJsonFile)(this._outputPath); + if (!launchLocal) + return; + const configIdx = (0, vscodeUtils_1.getLaunchConfigIndex)(launchLocal, CONFIG_NAME); + if (configIdx !== undefined) { + const currentConfig = launchLocal.configurations[configIdx]; + if (currentConfig === undefined) + return; + if (currentConfig.miDebuggerPath !== this.settings.debuggerPath && + currentConfig.miDebuggerPath) { + this.settings.debuggerPath = currentConfig.miDebuggerPath; + if (currentConfig.miDebuggerPath.includes(types_1.Debuggers.gdb) || + currentConfig.miDebuggerPath.includes(types_1.Debuggers.lldb)) { + this.settings.debuggerPath = currentConfig.miDebuggerPath; + } + } + } + else { + this.writeFileData(); + } + } + msvcBasedDebugger(launchTemplate) { + if (launchTemplate.configurations[0] === undefined) + return; + launchTemplate.configurations[0].name = CONFIG_NAME; + delete launchTemplate.configurations[0].MIMode; + delete launchTemplate.configurations[0].miDebuggerPath; + delete launchTemplate.configurations[0].setupCommands; + launchTemplate.configurations[0].type = 'cppvsdbg'; + if (this.argumentsString) { + launchTemplate.configurations[0].args = this.argumentsString; + } + else { + launchTemplate.configurations[0].args = []; + } + launchTemplate.configurations[0].cwd = (0, fileUtils_1.replaceBackslashes)(this.activeFolder); + const debugPath = path.join(this.activeFolder, `build/${this.buildMode}/out${this.buildMode}`); + launchTemplate.configurations[0].program = (0, fileUtils_1.replaceBackslashes)(debugPath); + return launchTemplate; + } + unixBasedDebugger(launchTemplate) { + if (launchTemplate.configurations[0] === undefined) + return; + launchTemplate.configurations[0].name = CONFIG_NAME; + if (this.settings.debuggerPath) { + launchTemplate.configurations[0].MIMode = + this.settings.debuggerPath.includes(types_1.Debuggers.gdb) + ? types_1.Debuggers.gdb + : types_1.Debuggers.lldb; + launchTemplate.configurations[0].miDebuggerPath = + this.settings.debuggerPath; + } + else { + launchTemplate.configurations[0].MIMode = + settingsProvider_1.SettingsProvider.DEFAULT_DEBUGGER_PATH; + launchTemplate.configurations[0].miDebuggerPath = + settingsProvider_1.SettingsProvider.DEFAULT_DEBUGGER_PATH; + } + if (types_1.OperatingSystems.mac === this.settings.operatingSystem) { + launchTemplate.configurations[0].stopAtEntry = true; + if (launchTemplate.configurations[0].setupCommands) { + delete launchTemplate.configurations[0].setupCommands; + } + if (this.settings.architecure === types_1.Architectures.ARM64) { + launchTemplate.configurations[0].type = 'lldb'; + if (launchTemplate.configurations[0].miDebuggerPath) { + delete launchTemplate.configurations[0].miDebuggerPath; + } + } + } + if (this.argumentsString && this.argumentsString.length > 0) { + launchTemplate.configurations[0].args = this.argumentsString; + } + else { + launchTemplate.configurations[0].args = []; + } + if (this.settings.operatingSystem === types_1.OperatingSystems.windows) { + launchTemplate.configurations[0].cwd = (0, fileUtils_1.replaceBackslashes)(this.activeFolder); + } + else { + launchTemplate.configurations[0].cwd = this.activeFolder; + } + const debugPath = path.join(this.activeFolder, `build/${this.buildMode}/out${this.buildMode}`); + if (this.settings.operatingSystem === types_1.OperatingSystems.windows) { + launchTemplate.configurations[0].program = (0, fileUtils_1.replaceBackslashes)(debugPath); + } + else { + launchTemplate.configurations[0].program = debugPath; + } + return launchTemplate; + } +} +exports.LaunchProvider = LaunchProvider; + + +/***/ }), + +/***/ "./src/provider/propertiesProvider.ts": +/*!********************************************!*\ + !*** ./src/provider/propertiesProvider.ts ***! + \********************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.PropertiesProvider = void 0; +const path = __webpack_require__(/*! path */ "path"); +const fileUtils_1 = __webpack_require__(/*! ../utils/fileUtils */ "./src/utils/fileUtils.ts"); +const general_1 = __webpack_require__(/*! ../utils/general */ "./src/utils/general.ts"); +const systemUtils_1 = __webpack_require__(/*! ../utils/systemUtils */ "./src/utils/systemUtils.ts"); +const types_1 = __webpack_require__(/*! ../utils/types */ "./src/utils/types.ts"); +const fileProvider_1 = __webpack_require__(/*! ./fileProvider */ "./src/provider/fileProvider.ts"); +const settingsProvider_1 = __webpack_require__(/*! ./settingsProvider */ "./src/provider/settingsProvider.ts"); +const TEMPLATE_FILENAME = 'properties_template.json'; +const OUTPUT_FILENAME = 'c_cpp_properties.json'; +const INCLUDE_PATTERN = '${workspaceFolder}/**'; +class PropertiesProvider extends fileProvider_1.FileProvider { + constructor(settings, workspaceFolder, activeFolder) { + super(workspaceFolder, TEMPLATE_FILENAME, OUTPUT_FILENAME); + this.settings = settings; + this.workspaceFolder = workspaceFolder; + this.activeFolder = activeFolder; + const updateRequired = this.updateCheck(); + if (updateRequired && activeFolder) { + this.createFileData(); + } + if ((0, fileUtils_1.pathExists)(this._outputPath)) { + this.lastConfig = (0, fileUtils_1.readJsonFile)(this._outputPath); + } + } + updateCheck() { + if (!(0, fileUtils_1.pathExists)(this._outputPath)) + return true; + const currentConfig = (0, fileUtils_1.readJsonFile)(this._outputPath); + if (!currentConfig) + return true; + const currentConfigEntry = currentConfig.configurations[0]; + if (currentConfigEntry === undefined) + return true; + const triplet = currentConfigEntry.name; + if (!triplet.includes(this.settings.operatingSystem)) + return true; + if (this.settings.useMsvc && + !currentConfigEntry.intelliSenseMode.includes('msvc')) { + return true; + } + return false; + } + async writeFileData() { + let configLocal; + if (!this.templatePath) + return; + if (!(0, fileUtils_1.pathExists)(this._outputPath)) { + configLocal = (0, fileUtils_1.readJsonFile)(this.templatePath); + } + else { + configLocal = (0, fileUtils_1.readJsonFile)(this._outputPath); + } + if (!configLocal) + return; + if (!this.settings.cCompilerPath && !this.settings.useMsvc) + return; + const os = this.settings.operatingSystem.toLowerCase(); + let arch; + if (!this.settings.architecure) { + arch = types_1.Architectures.x64; + } + else { + arch = this.settings.architecure.toLowerCase(); + } + let compiler; + if (this.settings.useMsvc) { + compiler = types_1.CompilerSystems.msvc; + } + else if (this.settings.cCompilerPath) { + compiler = this.settings.cCompilerPath.toLowerCase().includes('gcc') + ? types_1.CompilerSystems.gcc + : types_1.CompilerSystems.clang; + } + else { + return; + } + const triplet = `${os}-${compiler}-${arch}`; + const configLocalEntry = configLocal.configurations[0]; + if (configLocalEntry === undefined) + return; + if (this.settings.includePaths.length > 0) { + configLocalEntry.includePath = [INCLUDE_PATTERN]; + for (const path of this.settings.includePaths) { + const includePathSet = new Set(configLocalEntry.includePath); + if (!includePathSet.has(path) && + path !== INCLUDE_PATTERN && + !path.includes('$(default)')) { + configLocalEntry.includePath.push(path); + } + } + } + else { + configLocalEntry.includePath = [INCLUDE_PATTERN]; + } + const old_standard = ['c89', 'c99', 'gnu89', 'gnu99'].some((ext) => this.settings.cStandard === ext); + configLocalEntry.cStandard = this.settings.cStandard + ? this.settings.cStandard + : this.settings.useMsvc + ? settingsProvider_1.SettingsProvider.DEFAULT_C_STANDARD_MSVC + : '${default}'; + if (this.settings.operatingSystem === types_1.OperatingSystems.windows && + this.settings.useMsvc && + old_standard) { + configLocalEntry.cStandard = 'c11'; + } + configLocalEntry.cppStandard = this.settings.cppStandard + ? this.settings.cppStandard + : '${default}'; + if (this.settings.useMsvc) { + configLocalEntry.compilerPath = path.join(this.settings.msvcToolsPath, settingsProvider_1.SettingsProvider.MSVC_COMPILER_NAME); + } + else { + if ((0, fileUtils_1.pathExists)(this.settings.cCompilerPath)) { + configLocalEntry.compilerPath = this.settings.cCompilerPath; + } + else { + const ret = await (0, systemUtils_1.commandExists)(this.settings.cCompilerPath); + if (!ret || + !ret.p || + ret.p.includes('perl') || + ret.p.includes('ruby')) { + configLocalEntry.compilerPath = this.settings.cCompilerPath; + } + else { + configLocalEntry.compilerPath = (0, fileUtils_1.replaceBackslashes)(ret.p); + } + } + } + if (this.settings.isCygwin && + !this.settings.useMsvc && + this.settings.operatingSystem === types_1.OperatingSystems.windows) { + configLocalEntry.name = triplet.replace('windows', 'windows-cygwin'); + configLocalEntry.intelliSenseMode = triplet.replace('windows', 'linux'); + } + else { + configLocalEntry.name = triplet; + configLocalEntry.intelliSenseMode = triplet; + } + (0, fileUtils_1.writeJsonFile)(this._outputPath, configLocal); + } + updateFolderData(workspaceFolder) { + super._updateFolderData(workspaceFolder); + } + changeCallback() { + const currentConfig = (0, fileUtils_1.readJsonFile)(this._outputPath); + if (!this.lastConfig) { + this.lastConfig = (0, fileUtils_1.readJsonFile)(this._outputPath); + if (!this.lastConfig) + return; + } + if (!currentConfig) + return; + const currentConfigEntry = currentConfig.configurations[0]; + if (currentConfigEntry === undefined) + return; + const lastConfigEntry = this.lastConfig.configurations[0]; + if (lastConfigEntry === undefined) + return; + let updated = false; + if (currentConfigEntry.cStandard !== lastConfigEntry.cStandard) { + this.settings.cStandard = + currentConfigEntry.cStandard !== '${default}' + ? currentConfigEntry.cStandard + : ''; + updated = true; + } + if (currentConfigEntry.cppStandard !== lastConfigEntry.cppStandard) { + this.settings.cppStandard = + currentConfigEntry.cppStandard !== '${default}' + ? currentConfigEntry.cppStandard + : ''; + updated = true; + } + if (currentConfigEntry.compilerPath !== lastConfigEntry.compilerPath && + !currentConfigEntry.compilerPath.includes('cl.exe')) { + this.settings.cCompilerPath = currentConfigEntry.compilerPath; + updated = true; + } + if (!(0, general_1.arraysEqual)(currentConfigEntry.includePath, lastConfigEntry.includePath)) { + this.settings.includePaths = currentConfigEntry.includePath.filter((path) => path !== INCLUDE_PATTERN && !path.includes('$(default)')); + updated = true; + } + if (updated) { + this.settings.writeFileData(); + this.lastConfig = currentConfig; + } + } +} +exports.PropertiesProvider = PropertiesProvider; + + +/***/ }), + +/***/ "./src/provider/settingsProvider.ts": +/*!******************************************!*\ + !*** ./src/provider/settingsProvider.ts ***! + \******************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.SettingsProvider = void 0; +const path = __webpack_require__(/*! path */ "path"); +const vscode = __webpack_require__(/*! vscode */ "vscode"); +const fileUtils_1 = __webpack_require__(/*! ../utils/fileUtils */ "./src/utils/fileUtils.ts"); +const systemUtils_1 = __webpack_require__(/*! ../utils/systemUtils */ "./src/utils/systemUtils.ts"); +const types_1 = __webpack_require__(/*! ../utils/types */ "./src/utils/types.ts"); +const fileProvider_1 = __webpack_require__(/*! ./fileProvider */ "./src/provider/fileProvider.ts"); +const OUTPUT_FILENAME = 'settings.json'; +const EXTENSION_NAME = 'C_Cpp_Runner'; +class SettingsProvider extends fileProvider_1.FileProvider { + constructor(workspaceFolder, activeFolder) { + super(workspaceFolder, undefined, OUTPUT_FILENAME); + this.workspaceFolder = workspaceFolder; + this.activeFolder = activeFolder; + this._configGlobal = vscode.workspace.getConfiguration(EXTENSION_NAME); + this.operatingSystem = (0, systemUtils_1.getOperatingSystem)(); + this.isCygwin = false; + this.cCompilerPath = SettingsProvider.DEFAULT_C_COMPILER_PATH; + this.cppCompilerPath = SettingsProvider.DEFAULT_CPP_COMPILER_PATH; + this.debuggerPath = SettingsProvider.DEFAULT_DEBUGGER_PATH; + this.msvcBatchPath = SettingsProvider.DEFAULT_MSVC_BATCH_PATH; + this.msvcToolsPath = SettingsProvider.DEFAULT_MSVC_TOOLS_PATH; + this.useMsvc = SettingsProvider.DEFAULT_USE_MSVC; + this.cStandard = SettingsProvider.DEFAULT_C_STANDARD_UNIX; + this.cppStandard = SettingsProvider.DEFAULT_CPP_STANDARD; + this.compilerArgs = SettingsProvider.DEFAULT_COMPILER_ARGS; + this.linkerArgs = SettingsProvider.DEFAULT_LINKER_ARGS; + this.includePaths = SettingsProvider.DEFAULT_INCLUDE_PATHS; + this.includeSearch = SettingsProvider.DEFAULT_INCLUDE_SEARCH; + this.excludeSearch = SettingsProvider.DEFAULT_EXCLUDE_SEARCH; + this.enableWarnings = SettingsProvider.DEFAULT_ENABLE_WARNINGS; + this.warningsAsError = SettingsProvider.DEFAULT_WARNINGS_AS_ERRORS; + this.warnings = SettingsProvider.DEFAULT_WARNINGS_UNIX; + const settingsFileMissing = this.localFileExist('settings.json'); + const settingsMissing = this.updateCheck(); + const propertiesFileMissing = this.localFileExist('c_cpp_properties.json'); + const allInfoMissing = settingsMissing && propertiesFileMissing && activeFolder; + const onlySettingsMissing = settingsFileMissing && !propertiesFileMissing && activeFolder; + if (allInfoMissing) { + this.loadGlobalSettings(); + this.createFileData(); + this.getArchitecture(); + return; + } + if (onlySettingsMissing) { + this.getSettingsFromProperties(); + this.createFileData(); + this.getArchitecture(); + return; + } + if (activeFolder) { + this.loadLocalSettings(); + this.getArchitecture(); + return; + } + } + updateCheck() { + if (!(0, fileUtils_1.pathExists)(this._outputPath)) { + return true; + } + else if (!this.commandsAlreadyStored()) { + return true; + } + return false; + } + localFileExist(name) { + let settingsFileMissing = false; + const settingsPath = path.join(this._vscodeDirectory, name); + if (!(0, fileUtils_1.pathExists)(settingsPath)) { + settingsFileMissing = true; + } + return settingsFileMissing; + } + commandsAlreadyStored() { + if ((0, fileUtils_1.pathExists)(this._outputPath)) { + const settingsJson = (0, fileUtils_1.readJsonFile)(this._outputPath); + if (!settingsJson) + return false; + if ((0, fileUtils_1.localSettingExist)(`${EXTENSION_NAME}.cCompilerPath`, settingsJson) && + (0, fileUtils_1.localSettingExist)(`${EXTENSION_NAME}.cppCompilerPath`, settingsJson) && + (0, fileUtils_1.localSettingExist)(`${EXTENSION_NAME}.debuggerPath`, settingsJson)) { + return true; + } + } + return false; + } + writeFileData() { + this.storeSettings(); + } + deleteCallback() { + this.storeSettings(); + } + changeCallback() { + this.loadLocalSettings(); + } + updateFolderData(workspaceFolder) { + super._updateFolderData(workspaceFolder); + } + loadLocalSettings() { + const settingsLocal = (0, fileUtils_1.readJsonFile)(this._outputPath); + this.cCompilerPath = this.getSettingsValue(settingsLocal, 'cCompilerPath', SettingsProvider.DEFAULT_C_COMPILER_PATH); + this.cppCompilerPath = this.getSettingsValue(settingsLocal, 'cppCompilerPath', SettingsProvider.DEFAULT_CPP_COMPILER_PATH); + this.debuggerPath = this.getSettingsValue(settingsLocal, 'debuggerPath', SettingsProvider.DEFAULT_DEBUGGER_PATH); + this.msvcBatchPath = this.getSettingsValue(settingsLocal, 'msvcBatchPath', SettingsProvider.DEFAULT_MSVC_BATCH_PATH); + if (this.msvcBatchPath === SettingsProvider.DEFAULT_MSVC_BATCH_PATH) { + if ((0, fileUtils_1.pathExists)(this.msvcBatchPath.replace('VR_NR', '2022'))) { + this.msvcBatchPath = this.msvcBatchPath.replace('VR_NR', '2022'); + this.update('msvcBatchPath', this.msvcBatchPath); + } + else if ((0, fileUtils_1.pathExists)(this.msvcBatchPath.replace('VR_NR', '2017'))) { + this.msvcBatchPath = this.msvcBatchPath.replace('VR_NR', '2017'); + this.update('msvcBatchPath', this.msvcBatchPath); + } + else if ((0, fileUtils_1.pathExists)(this.msvcBatchPath.replace('VR_NR', '2015'))) { + this.msvcBatchPath = this.msvcBatchPath.replace('VR_NR', '2015'); + this.update('msvcBatchPath', this.msvcBatchPath); + } + else { + this.msvcBatchPath = ''; + this.update('msvcBatchPath', this.msvcBatchPath); + } + } + this.useMsvc = this.getSettingsValue(settingsLocal, 'useMsvc', SettingsProvider.DEFAULT_USE_MSVC); + if (this.useMsvc) { + this.searchMsvcToolsPath(); + } + this.enableWarnings = this.getSettingsValue(settingsLocal, 'enableWarnings', SettingsProvider.DEFAULT_ENABLE_WARNINGS); + this.warnings = this.getSettingsValue(settingsLocal, 'warnings', SettingsProvider.DEFAULT_WARNINGS_UNIX); + const msvcWarnings = this.warnings.some((warning) => warning.includes('/')); + if (this.useMsvc && !msvcWarnings) { + this.warnings = SettingsProvider.DEFAULT_WARNINGS_MSVC; + } + else if (!this.useMsvc && msvcWarnings) { + this.warnings = SettingsProvider.DEFAULT_WARNINGS_UNIX; + } + this.warningsAsError = this.getSettingsValue(settingsLocal, 'warningsAsError', SettingsProvider.DEFAULT_WARNINGS_AS_ERRORS); + this.cStandard = this.getSettingsValue(settingsLocal, 'cStandard', SettingsProvider.DEFAULT_C_STANDARD_UNIX); + this.cppStandard = this.getSettingsValue(settingsLocal, 'cppStandard', SettingsProvider.DEFAULT_CPP_STANDARD); + this.compilerArgs = this.getSettingsValue(settingsLocal, 'compilerArgs', SettingsProvider.DEFAULT_COMPILER_ARGS); + this.linkerArgs = this.getSettingsValue(settingsLocal, 'linkerArgs', SettingsProvider.DEFAULT_LINKER_ARGS); + this.includePaths = this.getSettingsValue(settingsLocal, 'includePaths', SettingsProvider.DEFAULT_INCLUDE_PATHS); + this.includeSearch = this.getSettingsValue(settingsLocal, 'includeSearch', SettingsProvider.DEFAULT_INCLUDE_SEARCH); + this.excludeSearch = this.getSettingsValue(settingsLocal, 'excludeSearch', SettingsProvider.DEFAULT_EXCLUDE_SEARCH); + } + getSettingsFromProperties() { + const propertiesPath = path.join(this._vscodeDirectory, 'c_cpp_properties.json'); + const propertiesConfig = (0, fileUtils_1.readJsonFile)(propertiesPath); + if (!propertiesConfig) + return; + const currentConfigEntry = propertiesConfig.configurations[0]; + if (!currentConfigEntry) + return; + this.cCompilerPath = this.getPropertiesValue(currentConfigEntry, 'compilerPath', this.cCompilerPath); + const isGccBased = this.cCompilerPath.includes(types_1.CompilerSystems.gcc); + const isClangBased = this.cCompilerPath.includes(types_1.CompilerSystems.clang); + if (isGccBased) { + const cppPath = this.cCompilerPath.replace('gcc', 'g++'); + const dbgPath = this.cCompilerPath.replace('gcc', 'gdb'); + this.cppCompilerPath = cppPath; + this.debuggerPath = dbgPath; + } + else if (isClangBased) { + const cppPath = this.cCompilerPath.replace('clang', 'clang++'); + const dbgPath = this.cCompilerPath.replace('clang', 'lldb'); + this.cppCompilerPath = path.join(cppPath); + this.debuggerPath = dbgPath; + } + const _cStandard = this.getPropertiesValue(currentConfigEntry, 'cStandard', this.cStandard); + this.cStandard = + _cStandard !== '${default}' + ? _cStandard + : SettingsProvider.DEFAULT_C_STANDARD_UNIX; + const _cppStandard = this.getPropertiesValue(currentConfigEntry, 'cppStandard', this.cppStandard); + this.cppStandard = + _cppStandard !== '${default}' + ? _cppStandard + : SettingsProvider.DEFAULT_CPP_STANDARD; + const _includePaths = this.getPropertiesValue(currentConfigEntry, 'includePath', this.includePaths); + this.includePaths = + _includePaths.length !== 0 + ? _includePaths + : SettingsProvider.DEFAULT_INCLUDE_PATHS; + } + searchMsvcToolsPath() { + let msvcBasePath = this.msvcBatchPath.split('VC')[0]; + if (!msvcBasePath) + return; + msvcBasePath += 'VC/Tools/MSVC'; + const installed_versions = (0, fileUtils_1.foldersInDir)(msvcBasePath); + const newst_version_path = installed_versions[installed_versions.length - 1]; + if (installed_versions.length === 0 || !newst_version_path) + return; + const newst_version_path_splitted = newst_version_path.split('\\'); + if (newst_version_path_splitted.length === 0) + return; + const versionNumber = newst_version_path_splitted[newst_version_path_splitted.length - 1]; + if (!versionNumber) + return; + let architecturePath; + if (this.architecure === types_1.Architectures.x64 || + this.architecure === undefined) { + architecturePath = 'bin/Hostx64/x64'; + } + else { + architecturePath = 'bin/Hostx86/x86'; + } + if (!(0, fileUtils_1.pathExists)(architecturePath)) + return; + this.msvcToolsPath = path.join(msvcBasePath, versionNumber, architecturePath); + } + getArchitecture() { + if (this.useMsvc) { + this.architecure = types_1.Architectures.x64; + this.isCygwin = false; + return; + } + if (this.cCompilerPath) { + const ret = (0, systemUtils_1.getCompilerArchitecture)(this.cCompilerPath); + this.architecure = ret.architecure; + this.isCygwin = ret.isCygwin; + return; + } + if (this.cppCompilerPath) { + const ret = (0, systemUtils_1.getCompilerArchitecture)(this.cppCompilerPath); + this.architecure = ret.architecure; + this.isCygwin = ret.isCygwin; + return; + } + this.architecure = types_1.Architectures.x64; + this.isCygwin = false; + } + reset() { + this.loadGlobalSettings(); + this.storeSettings(); + } + loadGlobalSettings() { + this.cCompilerPath = this.getGlobalSettingsValue('cCompilerPath', SettingsProvider.DEFAULT_C_COMPILER_PATH); + this.cppCompilerPath = this.getGlobalSettingsValue('cppCompilerPath', SettingsProvider.DEFAULT_CPP_COMPILER_PATH); + this.debuggerPath = this.getGlobalSettingsValue('debuggerPath', SettingsProvider.DEFAULT_DEBUGGER_PATH); + this.msvcBatchPath = this.getGlobalSettingsValue('msvcBatchPath', SettingsProvider.DEFAULT_MSVC_BATCH_PATH); + this.msvcToolsPath = this.getGlobalSettingsValue('msvcToolsPath', SettingsProvider.DEFAULT_MSVC_TOOLS_PATH); + this.useMsvc = this.getGlobalSettingsValue('useMsvc', SettingsProvider.DEFAULT_USE_MSVC); + this.enableWarnings = this.getGlobalSettingsValue('enableWarnings', SettingsProvider.DEFAULT_ENABLE_WARNINGS); + this.warnings = this.getGlobalSettingsValue('warnings', SettingsProvider.DEFAULT_WARNINGS_UNIX); + this.enableWarnings = this.getGlobalSettingsValue('enableWarnings', SettingsProvider.DEFAULT_ENABLE_WARNINGS); + this.warningsAsError = this.getGlobalSettingsValue('warningsAsError', SettingsProvider.DEFAULT_WARNINGS_AS_ERRORS); + this.cStandard = this.getGlobalSettingsValue('cStandard', SettingsProvider.DEFAULT_C_STANDARD_UNIX); + this.cppStandard = this.getGlobalSettingsValue('cppStandard', SettingsProvider.DEFAULT_CPP_STANDARD); + this.compilerArgs = this.getGlobalSettingsValue('compilerArgs', SettingsProvider.DEFAULT_COMPILER_ARGS); + this.linkerArgs = this.getGlobalSettingsValue('linkerArgs', SettingsProvider.DEFAULT_LINKER_ARGS); + this.includePaths = this.getGlobalSettingsValue('includePaths', SettingsProvider.DEFAULT_INCLUDE_PATHS); + this.excludeSearch = this.getGlobalSettingsValue('excludeSearch', SettingsProvider.DEFAULT_EXCLUDE_SEARCH); + } + storeSettings() { + this.updateBasedOnEnv('cCompilerPath', this.cCompilerPath); + this.updateBasedOnEnv('cppCompilerPath', this.cppCompilerPath); + this.updateBasedOnEnv('debuggerPath', this.debuggerPath); + this.update('cStandard', this.cStandard); + this.update('cppStandard', this.cppStandard); + this.update('msvcBatchPath', this.msvcBatchPath); + this.update('useMsvc', this.useMsvc); + this.update('warnings', this.warnings); + this.update('enableWarnings', this.enableWarnings); + this.update('warningsAsError', this.warningsAsError); + this.update('compilerArgs', this.compilerArgs); + this.update('linkerArgs', this.linkerArgs); + this.update('includePaths', this.includePaths); + this.update('includeSearch', this.includeSearch); + this.update('excludeSearch', this.excludeSearch); + } + getGlobalSettingsValue(name, defaultValue) { + const fullSettingInfo = this._configGlobal.inspect(name); + return fullSettingInfo?.globalValue + ? fullSettingInfo.globalValue + : defaultValue; + } + getSettingsValue(settingsLocal, name, defaultValue) { + const settingName = `${EXTENSION_NAME}.${name}`; + if (settingsLocal && settingsLocal[settingName] !== undefined) { + return settingsLocal[settingName]; + } + return this.getGlobalSettingsValue(name, defaultValue); + } + getPropertiesValue(properties, name, defaultValue) { + if (properties && properties[name] !== undefined) { + return properties[name]; + } + return defaultValue; + } + update(key, value) { + let settingsJson = (0, fileUtils_1.readJsonFile)(this._outputPath); + if (!settingsJson) + settingsJson = {}; + const settingName = `${EXTENSION_NAME}.${key}`; + settingsJson[settingName] = value; + (0, fileUtils_1.writeJsonFile)(this._outputPath, settingsJson); + } + updateBasedOnEnv(settingsName, settingsValue) { + if (this.operatingSystem === types_1.OperatingSystems.windows) { + this.update(settingsName, (0, fileUtils_1.replaceBackslashes)(settingsValue)); + } + else { + this.update(settingsName, settingsValue); + } + } +} +exports.SettingsProvider = SettingsProvider; +SettingsProvider.DEFAULT_C_COMPILER_PATH = 'gcc'; +SettingsProvider.DEFAULT_CPP_COMPILER_PATH = 'g++'; +SettingsProvider.DEFAULT_DEBUGGER_PATH = 'gdb'; +SettingsProvider.DEFAULT_MSVC_BATCH_PATH = 'C:/Program Files/Microsoft Visual Studio/VR_NR/Community/VC/Auxiliary/Build/vcvarsall.bat'; +SettingsProvider.DEFAULT_MSVC_TOOLS_PATH = ''; +SettingsProvider.DEFAULT_C_STANDARD_UNIX = ''; +SettingsProvider.DEFAULT_C_STANDARD_MSVC = 'c11'; +SettingsProvider.DEFAULT_CPP_STANDARD = ''; +SettingsProvider.DEFAULT_INCLUDE_SEARCH = ['*', '**/*']; +SettingsProvider.DEFAULT_EXCLUDE_SEARCH = [ + '**/build', + '**/build/**', + '**/.*', + '**/.*/**', + '**/.vscode', + '**/.vscode/**', +]; +SettingsProvider.DEFAULT_ENABLE_WARNINGS = true; +SettingsProvider.DEFAULT_WARNINGS_AS_ERRORS = false; +SettingsProvider.DEFAULT_WARNINGS_UNIX = ['-Wall', '-Wextra', '-Wpedantic']; +SettingsProvider.DEFAULT_WARNINGS_MSVC = ['/W4']; +SettingsProvider.DEFAULT_COMPILER_ARGS = []; +SettingsProvider.DEFAULT_LINKER_ARGS = []; +SettingsProvider.DEFAULT_INCLUDE_PATHS = []; +SettingsProvider.DEFAULT_USE_MSVC = false; +SettingsProvider.MSVC_COMPILER_NAME = 'cl.exe'; + + +/***/ }), + +/***/ "./src/utils/fileUtils.ts": +/*!********************************!*\ + !*** ./src/utils/fileUtils.ts ***! + \********************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.getOccurenceIndicies = exports.getBasename = exports.removeExtension = exports.hasPathSeperators = exports.localSettingExist = exports.naturalSort = exports.writeJsonFile = exports.readJsonFile = exports.foldersInDir = exports.excludePatternFromList = exports.includePatternFromList = exports.filesInDir = exports.readDir = exports.getDirectoriesRecursive = exports.getLanguage = exports.isCSourceFile = exports.isCppSourceFile = exports.isHeaderFile = exports.addFileExtensionDot = exports.isSourceFile = exports.pathExists = exports.filterOnString = exports.rmdirRecursive = exports.mkdirRecursive = exports.replaceBackslashes = void 0; +const fs = __webpack_require__(/*! fs */ "fs"); +const JSON5 = __webpack_require__(/*! json5 */ "./node_modules/json5/lib/index.js"); +const minimatch = __webpack_require__(/*! minimatch */ "./node_modules/minimatch/minimatch.js"); +const path = __webpack_require__(/*! path */ "path"); +const types_1 = __webpack_require__(/*! ./types */ "./src/utils/types.ts"); +function replaceBackslashes(text) { + return text.replace(/\\/g, '/'); +} +exports.replaceBackslashes = replaceBackslashes; +function mkdirRecursive(dir) { + try { + fs.mkdirSync(dir, { recursive: true }); + } + catch (err) { } +} +exports.mkdirRecursive = mkdirRecursive; +function rmdirRecursive(dir) { + try { + fs.rmdirSync(dir, { recursive: true }); + } + catch (err) { } +} +exports.rmdirRecursive = rmdirRecursive; +function filterOnString(names, filterName) { + return names.filter((name) => !name.includes(filterName)); +} +exports.filterOnString = filterOnString; +function pathExists(filepath) { + try { + fs.accessSync(filepath); + } + catch (err) { + return false; + } + return true; +} +exports.pathExists = pathExists; +function isSourceFile(fileExt) { + const fileExtLower = fileExt.toLowerCase(); + if (isHeaderFile(fileExtLower)) { + return false; + } + if (!(isCSourceFile(fileExtLower) || isCppSourceFile(fileExtLower))) { + return false; + } + return true; +} +exports.isSourceFile = isSourceFile; +function addFileExtensionDot(fileExt) { + if (!fileExt.includes('.')) { + fileExt = `.${fileExt}`; + } + return fileExt; +} +exports.addFileExtensionDot = addFileExtensionDot; +function isHeaderFile(fileExtLower) { + fileExtLower = addFileExtensionDot(fileExtLower); + return ['.hpp', '.hh', '.hxx', '.h'].some((ext) => fileExtLower === ext); +} +exports.isHeaderFile = isHeaderFile; +function isCppSourceFile(fileExtLower) { + fileExtLower = addFileExtensionDot(fileExtLower); + return ['.cpp', '.cc', '.cxx'].some((ext) => fileExtLower === ext); +} +exports.isCppSourceFile = isCppSourceFile; +function isCSourceFile(fileExtLower) { + fileExtLower = addFileExtensionDot(fileExtLower); + return fileExtLower === '.c'; +} +exports.isCSourceFile = isCSourceFile; +function getLanguage(dir) { + const files = filesInDir(dir); + const anyCppFile = files.some((file) => isCppSourceFile(path.extname(file))); + if (anyCppFile) { + return types_1.Languages.cpp; + } + else { + return types_1.Languages.c; + } +} +exports.getLanguage = getLanguage; +function getDirectoriesRecursive(dir) { + const directories = foldersInDir(dir); + if (directories.length === 0) + return; + directories.forEach((dir) => getDirectoriesRecursive(dir)?.forEach((newDir) => directories.push(newDir))); + return directories; +} +exports.getDirectoriesRecursive = getDirectoriesRecursive; +function readDir(dir) { + try { + return fs.readdirSync(dir, { withFileTypes: true }); + } + catch (err) { } +} +exports.readDir = readDir; +function filesInDir(dir) { + const fileDirents = readDir(dir); + if (!fileDirents) + return []; + const files = fileDirents + .filter((file) => file.isFile()) + .map((file) => file.name); + return files; +} +exports.filesInDir = filesInDir; +function includePatternFromList(includeSearch, foldersList) { + const result = []; + for (const pattern of includeSearch) { + result.push(...foldersList.filter((folder) => minimatch(folder, pattern))); + } + return result; +} +exports.includePatternFromList = includePatternFromList; +function excludePatternFromList(excludeSearch, foldersList) { + for (const pattern of excludeSearch) { + foldersList = foldersList.filter((folder) => !minimatch(folder, pattern)); + } + return foldersList; +} +exports.excludePatternFromList = excludePatternFromList; +function foldersInDir(dir) { + const fileDirents = readDir(dir); + if (!fileDirents) + return []; + const folders = fileDirents.filter((folder) => folder.isDirectory()); + const folderNames = folders.map((folder) => path.join(dir.toString(), folder.name)); + return folderNames; +} +exports.foldersInDir = foldersInDir; +function readJsonFile(filepath) { + let configJson; + try { + const fileContent = fs.readFileSync(filepath, 'utf-8'); + configJson = JSON5.parse(fileContent); + } + catch (err) { } + return configJson; +} +exports.readJsonFile = readJsonFile; +function writeJsonFile(outputFilePath, jsonContent) { + if (jsonContent === undefined) + return; + const dirname = path.dirname(outputFilePath); + if (!pathExists(dirname)) { + mkdirRecursive(dirname); + } + const jsonString = JSON.stringify(jsonContent, null, 2); + try { + fs.writeFileSync(outputFilePath, jsonString); + } + catch (err) { } +} +exports.writeJsonFile = writeJsonFile; +function naturalSort(names) { + return names.sort((a, b) => a.localeCompare(b, undefined, { + numeric: true, + sensitivity: 'base', + })); +} +exports.naturalSort = naturalSort; +function localSettingExist(key, jsonData) { + const commandPath = jsonData[key]; + if (!commandPath) + return false; + if (!pathExists(commandPath)) + return false; + return true; +} +exports.localSettingExist = localSettingExist; +function hasPathSeperators(pathStr) { + return pathStr.includes('/') || pathStr.includes('\\'); +} +exports.hasPathSeperators = hasPathSeperators; +function removeExtension(pathStr, ext) { + const extStr = addFileExtensionDot(ext); + if (pathStr.includes(extStr)) { + return pathStr.replace(extStr, ''); + } + return pathStr; +} +exports.removeExtension = removeExtension; +function getBasename(pathStr) { + if (hasPathSeperators(pathStr)) { + return path.basename(pathStr); + } + return pathStr; +} +exports.getBasename = getBasename; +function getOccurenceIndicies(text, char) { + const indices = []; + for (let i = 0; i < text.length; i++) { + if (text[i] === char) + indices.push(i); + } + return indices; +} +exports.getOccurenceIndicies = getOccurenceIndicies; + + +/***/ }), + +/***/ "./src/utils/general.ts": +/*!******************************!*\ + !*** ./src/utils/general.ts ***! + \******************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.arraysEqual = void 0; +function arraysEqual(a, b) { + if (a === b) + return true; + if (a.length !== b.length) + return false; + for (let i = 0; i < a.length; ++i) { + if (a[i] !== b[i]) + return false; + } + return true; +} +exports.arraysEqual = arraysEqual; + + +/***/ }), + +/***/ "./src/utils/systemUtils.ts": +/*!**********************************!*\ + !*** ./src/utils/systemUtils.ts ***! + \**********************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.getCompilerArchitecture = exports.getOperatingSystem = exports.commandExists = void 0; +const child_process_1 = __webpack_require__(/*! child_process */ "child_process"); +const lookpath_1 = __webpack_require__(/*! lookpath */ "./node_modules/lookpath/lib/index.js"); +const os_1 = __webpack_require__(/*! os */ "os"); +const types_1 = __webpack_require__(/*! ./types */ "./src/utils/types.ts"); +async function commandExists(command) { + let commandPath = await (0, lookpath_1.lookpath)(command); + if (!commandPath) { + return { f: false, p: commandPath }; + } + if (commandPath.includes('.EXE')) { + commandPath = commandPath.replace('.EXE', '.exe'); + } + return { f: true, p: commandPath }; +} +exports.commandExists = commandExists; +function getOperatingSystem() { + const platformName = (0, os_1.platform)(); + let operatingSystem; + if (platformName === 'win32') { + operatingSystem = types_1.OperatingSystems.windows; + } + else if (platformName === 'darwin') { + operatingSystem = types_1.OperatingSystems.mac; + } + else { + operatingSystem = types_1.OperatingSystems.linux; + } + return operatingSystem; +} +exports.getOperatingSystem = getOperatingSystem; +function getCompilerArchitecture(compiler) { + const command = `${compiler} -dumpmachine`; + let byteArray; + try { + byteArray = (0, child_process_1.execSync)(command); + } + catch (err) { + byteArray = Buffer.from('x64', 'utf-8'); + } + const str = String.fromCharCode(...byteArray); + let architecure = types_1.Architectures.x64; + let isCygwin = false; + if (str.toLowerCase().includes('arm')) { + architecure = types_1.Architectures.ARM64; + } + else if (str.includes('64')) { + architecure = types_1.Architectures.x64; + } + else { + architecure = types_1.Architectures.x86; + } + if (str.includes('cygwin')) { + isCygwin = true; + } + return { architecure: architecure, isCygwin: isCygwin }; +} +exports.getCompilerArchitecture = getCompilerArchitecture; + + +/***/ }), + +/***/ "./src/utils/types.ts": +/*!****************************!*\ + !*** ./src/utils/types.ts ***! + \****************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.Builds = exports.Architectures = exports.OperatingSystems = exports.Debuggers = exports.CompilerSystems = exports.Languages = exports.Task = void 0; +const vscode = __webpack_require__(/*! vscode */ "vscode"); +class Task extends vscode.Task { +} +exports.Task = Task; +var Languages; +(function (Languages) { + Languages["c"] = "C"; + Languages["cpp"] = "Cpp"; +})(Languages = exports.Languages || (exports.Languages = {})); +var CompilerSystems; +(function (CompilerSystems) { + CompilerSystems["gcc"] = "gcc"; + CompilerSystems["clang"] = "clang"; + CompilerSystems["msvc"] = "msvc"; +})(CompilerSystems = exports.CompilerSystems || (exports.CompilerSystems = {})); +var Debuggers; +(function (Debuggers) { + Debuggers["lldb"] = "lldb"; + Debuggers["gdb"] = "gdb"; +})(Debuggers = exports.Debuggers || (exports.Debuggers = {})); +var OperatingSystems; +(function (OperatingSystems) { + OperatingSystems["windows"] = "windows"; + OperatingSystems["linux"] = "linux"; + OperatingSystems["mac"] = "macos"; +})(OperatingSystems = exports.OperatingSystems || (exports.OperatingSystems = {})); +var Architectures; +(function (Architectures) { + Architectures["x86"] = "x86"; + Architectures["x64"] = "x64"; + Architectures["ARM64"] = "ARM64"; +})(Architectures = exports.Architectures || (exports.Architectures = {})); +var Builds; +(function (Builds) { + Builds["debug"] = "Debug"; + Builds["release"] = "Release"; +})(Builds = exports.Builds || (exports.Builds = {})); + + +/***/ }), + +/***/ "./src/utils/vscodeUtils.ts": +/*!**********************************!*\ + !*** ./src/utils/vscodeUtils.ts ***! + \**********************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.getProcessExecution = exports.isCmakeProject = exports.getActivationState = exports.updateActivationState = exports.getLaunchConfigIndex = exports.setContextValue = exports.createStatusBarItem = exports.disposeItem = void 0; +const path = __webpack_require__(/*! path */ "path"); +const vscode = __webpack_require__(/*! vscode */ "vscode"); +const extension_1 = __webpack_require__(/*! ../extension */ "./src/extension.ts"); +const fileUtils_1 = __webpack_require__(/*! ./fileUtils */ "./src/utils/fileUtils.ts"); +const types_1 = __webpack_require__(/*! ./types */ "./src/utils/types.ts"); +const STATUS_BAR_ALIGN = vscode.StatusBarAlignment.Left; +const STATUS_BAR_PRIORITY = 50; +function disposeItem(disposableItem) { + disposableItem?.dispose(); +} +exports.disposeItem = disposeItem; +function createStatusBarItem() { + return vscode.window.createStatusBarItem(STATUS_BAR_ALIGN, STATUS_BAR_PRIORITY); +} +exports.createStatusBarItem = createStatusBarItem; +function setContextValue(key, value) { + return vscode.commands.executeCommand('setContext', key, value); +} +exports.setContextValue = setContextValue; +function getLaunchConfigIndex(configJson, configName) { + let configIdx = 0; + if (configJson) { + for (const config of configJson.configurations) { + if (config.name !== configName) { + configIdx++; + } + else { + return configIdx; + } + } + } + return undefined; +} +exports.getLaunchConfigIndex = getLaunchConfigIndex; +function updateActivationState(newState) { + extension_1.extensionState?.update('activatedExtension', newState); +} +exports.updateActivationState = updateActivationState; +function getActivationState() { + if (extension_1.extensionState) { + return extension_1.extensionState.get('activatedExtension'); + } + return false; +} +exports.getActivationState = getActivationState; +function isCmakeProject() { + let cmakeFileFound = false; + const workspaceFodlers = vscode.workspace.workspaceFolders; + const cmakeExtensionName = 'cmake'; + const cmakeSettingName = 'sourceDirectory'; + if (workspaceFodlers) { + workspaceFodlers.forEach((folder) => { + if (!cmakeFileFound) { + const files = (0, fileUtils_1.filesInDir)(folder.uri.fsPath); + files.forEach((file) => { + if (file.toLowerCase() === 'CMakeLists.txt'.toLowerCase()) { + cmakeFileFound = true; + } + }); + const settingsPath = path.join(folder.uri.fsPath, '.vscode', 'settings.json'); + if ((0, fileUtils_1.pathExists)(settingsPath)) { + const configLocal = (0, fileUtils_1.readJsonFile)(settingsPath); + if (configLocal && + configLocal[`${cmakeExtensionName}.${cmakeSettingName}`]) { + cmakeFileFound = true; + } + } + } + }); + } + if (!cmakeFileFound) { + const config = vscode.workspace.getConfiguration(cmakeExtensionName); + const cmakeSetting = config.get(cmakeSettingName); + if (cmakeSetting && cmakeSetting !== '${workspaceFolder}') { + cmakeFileFound = true; + } + } + return cmakeFileFound; +} +exports.isCmakeProject = isCmakeProject; +function getProcessExecution(operatingSystem, isMsvcBuildTask, commandLine, activeFolder) { + const options = { + cwd: activeFolder, + }; + if (operatingSystem === types_1.OperatingSystems.windows) { + return winProcessExecution(isMsvcBuildTask, commandLine, options); + } + else { + return unixProcessExecution(commandLine, options); + } +} +exports.getProcessExecution = getProcessExecution; +function winProcessExecution(isMsvcBuildTask, commandLine, options) { + const drive = process.env['SystemDrive'] ? process.env['SystemDrive'] : 'C:'; + if (isMsvcBuildTask) { + const shellOptions = { + executable: drive + '/Windows/System32/cmd.exe', + shellArgs: ['/d', '/c'], + }; + return new vscode.ShellExecution(commandLine, shellOptions); + } + else { + return new vscode.ProcessExecution(drive + '/Windows/System32/cmd.exe', ['/d', '/c', commandLine], options); + } +} +function unixProcessExecution(commandLine, options) { + const standard_shell = process.env['SHELL'] + ? process.env['SHELL'] + : '/bin/bash'; + return new vscode.ProcessExecution(standard_shell, ['-c', commandLine], options); +} + + +/***/ }), + +/***/ "vscode": +/*!*************************!*\ + !*** external "vscode" ***! + \*************************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("vscode"); + +/***/ }), + +/***/ "child_process": +/*!********************************!*\ + !*** external "child_process" ***! + \********************************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("child_process"); + +/***/ }), + +/***/ "fs": +/*!*********************!*\ + !*** external "fs" ***! + \*********************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("fs"); + +/***/ }), + +/***/ "os": +/*!*********************!*\ + !*** external "os" ***! + \*********************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("os"); + +/***/ }), + +/***/ "path": +/*!***********************!*\ + !*** external "path" ***! + \***********************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("path"); + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ +/******/ // startup +/******/ // Load entry module and return exports +/******/ // This entry module is referenced by other modules so it can't be inlined +/******/ var __webpack_exports__ = __webpack_require__("./src/extension.ts"); +/******/ module.exports = __webpack_exports__; +/******/ +/******/ })() +; +//# sourceMappingURL=main.js.map \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/main.js.map b/src/franneck94.c-cpp-runner-4.1.2/dist/main.js.map new file mode 100644 index 0000000..fe188a5 --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/main.js.map @@ -0,0 +1 @@ +{"version":3,"file":"main.js","mappings":";;;;;;;;;;AAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;AC7DA,gBAAgB,mBAAO,CAAC,sDAAY;AACpC,eAAe,mBAAO,CAAC,8DAAgB;;AAEvC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB;AACvB,uBAAuB;AACvB;AACA;AACA;;AAEA;AACA;AACA,mCAAmC;AACnC,oCAAoC;AACpC;AACA;AACA;;;AAGA;AACA;AACA,wCAAwC,GAAG,IAAI;AAC/C;AACA;AACA;;AAEA;AACA,qBAAqB,KAAK;;AAE1B;AACA;;AAEA;AACA;AACA;AACA;;AAEA,qBAAqB,aAAa;AAClC;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,+BAA+B;AAC/B,uCAAuC,GAAG;AAC1C,YAAY,GAAG,yBAAyB;AACxC;AACA;AACA,8BAA8B;AAC9B,cAAc,GAAG;AACjB;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,qBAAqB,KAAK;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ,EAAE;AACV,2BAA2B;AAC3B,sBAAsB;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,YAAY,KAAK,QAAQ,EAAE,IAAI,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,oBAAoB,YAAY;AAChC;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,oCAAoC,0BAA0B;AAC9D;;AAEA,kBAAkB,cAAc;AAChC,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;ACvMA;AACA;AACA,oBAAoB,eAAe;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;ACZA,cAAc,mBAAO,CAAC,kDAAS;AAC/B,kBAAkB,mBAAO,CAAC,0DAAa;;AAEvC;AACA;AACA;AACA;;AAEA;;;;;;;;;;;ACRA,aAAa,mBAAO,CAAC,gDAAQ;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,MAAM;;AAEN;AACA,4BAA4B,SAAS;AACrC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,WAAW;AACX;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,eAAe;AACf;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,eAAe;AACf;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,eAAe;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,eAAe;AACf;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qCAAqC;AACrC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,eAAe;AACf;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe;AACf;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA,uDAAuD,WAAW;AAClE;;AAEA;AACA;AACA,qDAAqD,MAAM;AAC3D;;AAEA;AACA;AACA,6DAA6D,KAAK,GAAG,OAAO;AAC5E;;AAEA,oDAAoD,cAAc,OAAO,KAAK,GAAG,OAAO;AACxF;;AAEA;AACA,yDAAyD,KAAK,GAAG,OAAO;AACxE;;AAEA;AACA;AACA;AACA,gEAAgE,KAAK,GAAG,OAAO;AAC/E;;AAEA;AACA,uDAAuD,cAAc,OAAO,KAAK,GAAG,OAAO;AAC3F;;AAEA;AACA;AACA,iEAAiE,KAAK,GAAG,OAAO;AAChF;;AAEA;AACA,4BAA4B,cAAc,sCAAsC;AAChF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC9jCA,aAAa,mBAAO,CAAC,gDAAQ;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA,kCAAkC,UAAU;;AAE5C;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,wBAAwB,kBAAkB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB;AACvB,UAAU;AACV;AACA;AACA;AACA,0BAA0B,mBAAmB;AAC7C,cAAc;AACd;AACA;AACA,0BAA0B,iDAAiD;AAC3E;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,uCAAuC,gBAAgB;AACvD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,wBAAwB,kBAAkB;AAC1C;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACpQA;AACA,8BAA8B;AAC9B,uBAAuB;AACvB,0BAA0B;;;;;;;;;;;ACH1B,gBAAgB,mBAAO,CAAC,2DAAgB;;AAExC;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;;;;;;;;;;;;AClCa;AACb;AACA;AACA,mCAAmC,oCAAoC,gBAAgB;AACvF,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA,0CAA0C,4BAA4B;AACtE,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA;AACA,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,iBAAiB,oDAAoD,qEAAqE,cAAc;AACxJ,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,gBAAgB;AAChB,sBAAsB,mBAAO,CAAC,cAAI;AAClC,wBAAwB,mBAAO,CAAC,kBAAM;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,iBAAiB;AAC7B;AACA;AACA,4CAA4C,4DAA4D,0CAA0C,IAAI;AACtJ;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,iBAAiB;AAC7B;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA+E,+BAA+B;AAC9G;AACA;AACA,qEAAqE,eAAe;AACpF;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,YAAY,UAAU;AACtB;AACA;AACA;AACA;AACA,0GAA0G,0CAA0C;AACpJ;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,gBAAgB;AAC3B,YAAY,2BAA2B;AACvC;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA+E,oDAAoD;AACnI;AACA;AACA,qEAAqE,eAAe;AACpF;AACA,SAAS;AACT,KAAK;AACL;AACA,gBAAgB;;;;;;;;;;;AC7IhB;AACA;;AAEA,0BAA0B,MAAM,OAAO,mBAAO,CAAC,kBAAM,IAAI,aAAa;AACtE;AACA;AACA;;AAEA;AACA,aAAa,mBAAO,CAAC,gEAAiB;;AAEtC;AACA,SAAS,sCAAsC;AAC/C,SAAS,0BAA0B;AACnC,SAAS,0BAA0B;AACnC,SAAS,0BAA0B;AACnC,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,yCAAyC,IAAI;;AAE7C;AACA;AACA;;AAEA;AACA,gCAAgC;;AAEhC,cAAc;AACd;AACA;AACA;AACA;AACA,GAAG,IAAI;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,qDAAqD;;AAErD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,MAAM;AACN,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK,IAAI;AACT,KAAK,GAAG;AACR,KAAK,KAAK;AACV,KAAK,IAAI,IAAI,EAAE;AACf,KAAK,IAAI,EAAE,IAAI;AACf;AACA;AACA,KAAK,IAAI,OAAO,IAAI;AACpB,KAAK,EAAE,OAAO,EAAE;AAChB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,6BAA6B,QAAQ,MAAM;AAC3C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,IAAI;AACxC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM;AACN,MAAM;AACN;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;;AAEA,MAAM;AACN,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,IAAI;AACxC;AACA;AACA;AACA,gCAAgC,EAAE,EAAE,KAAK;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yCAAyC,QAAQ;AACjD;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,sBAAsB;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,6CAA6C;AAC7C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB,QAAQ;AACjC;AACA;AACA;;AAEA,cAAc,gBAAgB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,4CAA4C;;AAElD;;AAEA;AACA;AACA;AACA;AACA,QAAQ;AACR,QAAQ;AACR;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AAC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","sources":["webpack://c-cpp-runner/./node_modules/balanced-match/index.js","webpack://c-cpp-runner/./node_modules/brace-expansion/index.js","webpack://c-cpp-runner/./node_modules/concat-map/index.js","webpack://c-cpp-runner/./node_modules/json5/lib/index.js","webpack://c-cpp-runner/./node_modules/json5/lib/parse.js","webpack://c-cpp-runner/./node_modules/json5/lib/stringify.js","webpack://c-cpp-runner/./node_modules/json5/lib/unicode.js","webpack://c-cpp-runner/./node_modules/json5/lib/util.js","webpack://c-cpp-runner/./node_modules/lookpath/lib/index.js","webpack://c-cpp-runner/./node_modules/minimatch/minimatch.js","webpack://c-cpp-runner/./src/executor/builder.ts","webpack://c-cpp-runner/./src/executor/cleaner.ts","webpack://c-cpp-runner/./src/executor/debugger.ts","webpack://c-cpp-runner/./src/executor/runner.ts","webpack://c-cpp-runner/./src/extension.ts","webpack://c-cpp-runner/./src/handler/folderHandler.ts","webpack://c-cpp-runner/./src/handler/modeHandler.ts","webpack://c-cpp-runner/./src/items/statusBarItems.ts","webpack://c-cpp-runner/./src/provider/callbackProvider.ts","webpack://c-cpp-runner/./src/provider/fileProvider.ts","webpack://c-cpp-runner/./src/provider/launchProvider.ts","webpack://c-cpp-runner/./src/provider/propertiesProvider.ts","webpack://c-cpp-runner/./src/provider/settingsProvider.ts","webpack://c-cpp-runner/./src/utils/fileUtils.ts","webpack://c-cpp-runner/./src/utils/general.ts","webpack://c-cpp-runner/./src/utils/systemUtils.ts","webpack://c-cpp-runner/./src/utils/types.ts","webpack://c-cpp-runner/./src/utils/vscodeUtils.ts","webpack://c-cpp-runner/external commonjs \"vscode\"","webpack://c-cpp-runner/external node-commonjs \"child_process\"","webpack://c-cpp-runner/external node-commonjs \"fs\"","webpack://c-cpp-runner/external node-commonjs \"os\"","webpack://c-cpp-runner/external node-commonjs \"path\"","webpack://c-cpp-runner/webpack/bootstrap","webpack://c-cpp-runner/webpack/before-startup","webpack://c-cpp-runner/webpack/startup","webpack://c-cpp-runner/webpack/after-startup"],"sourcesContent":["'use strict';\nmodule.exports = balanced;\nfunction balanced(a, b, str) {\n if (a instanceof RegExp) a = maybeMatch(a, str);\n if (b instanceof RegExp) b = maybeMatch(b, str);\n\n var r = range(a, b, str);\n\n return r && {\n start: r[0],\n end: r[1],\n pre: str.slice(0, r[0]),\n body: str.slice(r[0] + a.length, r[1]),\n post: str.slice(r[1] + b.length)\n };\n}\n\nfunction maybeMatch(reg, str) {\n var m = str.match(reg);\n return m ? m[0] : null;\n}\n\nbalanced.range = range;\nfunction range(a, b, str) {\n var begs, beg, left, right, result;\n var ai = str.indexOf(a);\n var bi = str.indexOf(b, ai + 1);\n var i = ai;\n\n if (ai >= 0 && bi > 0) {\n if(a===b) {\n return [ai, bi];\n }\n begs = [];\n left = str.length;\n\n while (i >= 0 && !result) {\n if (i == ai) {\n begs.push(i);\n ai = str.indexOf(a, i + 1);\n } else if (begs.length == 1) {\n result = [ begs.pop(), bi ];\n } else {\n beg = begs.pop();\n if (beg < left) {\n left = beg;\n right = bi;\n }\n\n bi = str.indexOf(b, i + 1);\n }\n\n i = ai < bi && ai >= 0 ? ai : bi;\n }\n\n if (begs.length) {\n result = [ left, right ];\n }\n }\n\n return result;\n}\n","var concatMap = require('concat-map');\nvar balanced = require('balanced-match');\n\nmodule.exports = expandTop;\n\nvar escSlash = '\\0SLASH'+Math.random()+'\\0';\nvar escOpen = '\\0OPEN'+Math.random()+'\\0';\nvar escClose = '\\0CLOSE'+Math.random()+'\\0';\nvar escComma = '\\0COMMA'+Math.random()+'\\0';\nvar escPeriod = '\\0PERIOD'+Math.random()+'\\0';\n\nfunction numeric(str) {\n return parseInt(str, 10) == str\n ? parseInt(str, 10)\n : str.charCodeAt(0);\n}\n\nfunction escapeBraces(str) {\n return str.split('\\\\\\\\').join(escSlash)\n .split('\\\\{').join(escOpen)\n .split('\\\\}').join(escClose)\n .split('\\\\,').join(escComma)\n .split('\\\\.').join(escPeriod);\n}\n\nfunction unescapeBraces(str) {\n return str.split(escSlash).join('\\\\')\n .split(escOpen).join('{')\n .split(escClose).join('}')\n .split(escComma).join(',')\n .split(escPeriod).join('.');\n}\n\n\n// Basically just str.split(\",\"), but handling cases\n// where we have nested braced sections, which should be\n// treated as individual members, like {a,{b,c},d}\nfunction parseCommaParts(str) {\n if (!str)\n return [''];\n\n var parts = [];\n var m = balanced('{', '}', str);\n\n if (!m)\n return str.split(',');\n\n var pre = m.pre;\n var body = m.body;\n var post = m.post;\n var p = pre.split(',');\n\n p[p.length-1] += '{' + body + '}';\n var postParts = parseCommaParts(post);\n if (post.length) {\n p[p.length-1] += postParts.shift();\n p.push.apply(p, postParts);\n }\n\n parts.push.apply(parts, p);\n\n return parts;\n}\n\nfunction expandTop(str) {\n if (!str)\n return [];\n\n // I don't know why Bash 4.3 does this, but it does.\n // Anything starting with {} will have the first two bytes preserved\n // but *only* at the top level, so {},a}b will not expand to anything,\n // but a{},b}c will be expanded to [a}c,abc].\n // One could argue that this is a bug in Bash, but since the goal of\n // this module is to match Bash's rules, we escape a leading {}\n if (str.substr(0, 2) === '{}') {\n str = '\\\\{\\\\}' + str.substr(2);\n }\n\n return expand(escapeBraces(str), true).map(unescapeBraces);\n}\n\nfunction identity(e) {\n return e;\n}\n\nfunction embrace(str) {\n return '{' + str + '}';\n}\nfunction isPadded(el) {\n return /^-?0\\d/.test(el);\n}\n\nfunction lte(i, y) {\n return i <= y;\n}\nfunction gte(i, y) {\n return i >= y;\n}\n\nfunction expand(str, isTop) {\n var expansions = [];\n\n var m = balanced('{', '}', str);\n if (!m || /\\$$/.test(m.pre)) return [str];\n\n var isNumericSequence = /^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(m.body);\n var isAlphaSequence = /^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(m.body);\n var isSequence = isNumericSequence || isAlphaSequence;\n var isOptions = m.body.indexOf(',') >= 0;\n if (!isSequence && !isOptions) {\n // {a},b}\n if (m.post.match(/,.*\\}/)) {\n str = m.pre + '{' + m.body + escClose + m.post;\n return expand(str);\n }\n return [str];\n }\n\n var n;\n if (isSequence) {\n n = m.body.split(/\\.\\./);\n } else {\n n = parseCommaParts(m.body);\n if (n.length === 1) {\n // x{{a,b}}y ==> x{a}y x{b}y\n n = expand(n[0], false).map(embrace);\n if (n.length === 1) {\n var post = m.post.length\n ? expand(m.post, false)\n : [''];\n return post.map(function(p) {\n return m.pre + n[0] + p;\n });\n }\n }\n }\n\n // at this point, n is the parts, and we know it's not a comma set\n // with a single entry.\n\n // no need to expand pre, since it is guaranteed to be free of brace-sets\n var pre = m.pre;\n var post = m.post.length\n ? expand(m.post, false)\n : [''];\n\n var N;\n\n if (isSequence) {\n var x = numeric(n[0]);\n var y = numeric(n[1]);\n var width = Math.max(n[0].length, n[1].length)\n var incr = n.length == 3\n ? Math.abs(numeric(n[2]))\n : 1;\n var test = lte;\n var reverse = y < x;\n if (reverse) {\n incr *= -1;\n test = gte;\n }\n var pad = n.some(isPadded);\n\n N = [];\n\n for (var i = x; test(i, y); i += incr) {\n var c;\n if (isAlphaSequence) {\n c = String.fromCharCode(i);\n if (c === '\\\\')\n c = '';\n } else {\n c = String(i);\n if (pad) {\n var need = width - c.length;\n if (need > 0) {\n var z = new Array(need + 1).join('0');\n if (i < 0)\n c = '-' + z + c.slice(1);\n else\n c = z + c;\n }\n }\n }\n N.push(c);\n }\n } else {\n N = concatMap(n, function(el) { return expand(el, false) });\n }\n\n for (var j = 0; j < N.length; j++) {\n for (var k = 0; k < post.length; k++) {\n var expansion = pre + N[j] + post[k];\n if (!isTop || isSequence || expansion)\n expansions.push(expansion);\n }\n }\n\n return expansions;\n}\n\n","module.exports = function (xs, fn) {\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n var x = fn(xs[i], i);\n if (isArray(x)) res.push.apply(res, x);\n else res.push(x);\n }\n return res;\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n","const parse = require('./parse')\nconst stringify = require('./stringify')\n\nconst JSON5 = {\n parse,\n stringify,\n}\n\nmodule.exports = JSON5\n","const util = require('./util')\n\nlet source\nlet parseState\nlet stack\nlet pos\nlet line\nlet column\nlet token\nlet key\nlet root\n\nmodule.exports = function parse (text, reviver) {\n source = String(text)\n parseState = 'start'\n stack = []\n pos = 0\n line = 1\n column = 0\n token = undefined\n key = undefined\n root = undefined\n\n do {\n token = lex()\n\n // This code is unreachable.\n // if (!parseStates[parseState]) {\n // throw invalidParseState()\n // }\n\n parseStates[parseState]()\n } while (token.type !== 'eof')\n\n if (typeof reviver === 'function') {\n return internalize({'': root}, '', reviver)\n }\n\n return root\n}\n\nfunction internalize (holder, name, reviver) {\n const value = holder[name]\n if (value != null && typeof value === 'object') {\n for (const key in value) {\n const replacement = internalize(value, key, reviver)\n if (replacement === undefined) {\n delete value[key]\n } else {\n value[key] = replacement\n }\n }\n }\n\n return reviver.call(holder, name, value)\n}\n\nlet lexState\nlet buffer\nlet doubleQuote\nlet sign\nlet c\n\nfunction lex () {\n lexState = 'default'\n buffer = ''\n doubleQuote = false\n sign = 1\n\n for (;;) {\n c = peek()\n\n // This code is unreachable.\n // if (!lexStates[lexState]) {\n // throw invalidLexState(lexState)\n // }\n\n const token = lexStates[lexState]()\n if (token) {\n return token\n }\n }\n}\n\nfunction peek () {\n if (source[pos]) {\n return String.fromCodePoint(source.codePointAt(pos))\n }\n}\n\nfunction read () {\n const c = peek()\n\n if (c === '\\n') {\n line++\n column = 0\n } else if (c) {\n column += c.length\n } else {\n column++\n }\n\n if (c) {\n pos += c.length\n }\n\n return c\n}\n\nconst lexStates = {\n default () {\n switch (c) {\n case '\\t':\n case '\\v':\n case '\\f':\n case ' ':\n case '\\u00A0':\n case '\\uFEFF':\n case '\\n':\n case '\\r':\n case '\\u2028':\n case '\\u2029':\n read()\n return\n\n case '/':\n read()\n lexState = 'comment'\n return\n\n case undefined:\n read()\n return newToken('eof')\n }\n\n if (util.isSpaceSeparator(c)) {\n read()\n return\n }\n\n // This code is unreachable.\n // if (!lexStates[parseState]) {\n // throw invalidLexState(parseState)\n // }\n\n return lexStates[parseState]()\n },\n\n comment () {\n switch (c) {\n case '*':\n read()\n lexState = 'multiLineComment'\n return\n\n case '/':\n read()\n lexState = 'singleLineComment'\n return\n }\n\n throw invalidChar(read())\n },\n\n multiLineComment () {\n switch (c) {\n case '*':\n read()\n lexState = 'multiLineCommentAsterisk'\n return\n\n case undefined:\n throw invalidChar(read())\n }\n\n read()\n },\n\n multiLineCommentAsterisk () {\n switch (c) {\n case '*':\n read()\n return\n\n case '/':\n read()\n lexState = 'default'\n return\n\n case undefined:\n throw invalidChar(read())\n }\n\n read()\n lexState = 'multiLineComment'\n },\n\n singleLineComment () {\n switch (c) {\n case '\\n':\n case '\\r':\n case '\\u2028':\n case '\\u2029':\n read()\n lexState = 'default'\n return\n\n case undefined:\n read()\n return newToken('eof')\n }\n\n read()\n },\n\n value () {\n switch (c) {\n case '{':\n case '[':\n return newToken('punctuator', read())\n\n case 'n':\n read()\n literal('ull')\n return newToken('null', null)\n\n case 't':\n read()\n literal('rue')\n return newToken('boolean', true)\n\n case 'f':\n read()\n literal('alse')\n return newToken('boolean', false)\n\n case '-':\n case '+':\n if (read() === '-') {\n sign = -1\n }\n\n lexState = 'sign'\n return\n\n case '.':\n buffer = read()\n lexState = 'decimalPointLeading'\n return\n\n case '0':\n buffer = read()\n lexState = 'zero'\n return\n\n case '1':\n case '2':\n case '3':\n case '4':\n case '5':\n case '6':\n case '7':\n case '8':\n case '9':\n buffer = read()\n lexState = 'decimalInteger'\n return\n\n case 'I':\n read()\n literal('nfinity')\n return newToken('numeric', Infinity)\n\n case 'N':\n read()\n literal('aN')\n return newToken('numeric', NaN)\n\n case '\"':\n case \"'\":\n doubleQuote = (read() === '\"')\n buffer = ''\n lexState = 'string'\n return\n }\n\n throw invalidChar(read())\n },\n\n identifierNameStartEscape () {\n if (c !== 'u') {\n throw invalidChar(read())\n }\n\n read()\n const u = unicodeEscape()\n switch (u) {\n case '$':\n case '_':\n break\n\n default:\n if (!util.isIdStartChar(u)) {\n throw invalidIdentifier()\n }\n\n break\n }\n\n buffer += u\n lexState = 'identifierName'\n },\n\n identifierName () {\n switch (c) {\n case '$':\n case '_':\n case '\\u200C':\n case '\\u200D':\n buffer += read()\n return\n\n case '\\\\':\n read()\n lexState = 'identifierNameEscape'\n return\n }\n\n if (util.isIdContinueChar(c)) {\n buffer += read()\n return\n }\n\n return newToken('identifier', buffer)\n },\n\n identifierNameEscape () {\n if (c !== 'u') {\n throw invalidChar(read())\n }\n\n read()\n const u = unicodeEscape()\n switch (u) {\n case '$':\n case '_':\n case '\\u200C':\n case '\\u200D':\n break\n\n default:\n if (!util.isIdContinueChar(u)) {\n throw invalidIdentifier()\n }\n\n break\n }\n\n buffer += u\n lexState = 'identifierName'\n },\n\n sign () {\n switch (c) {\n case '.':\n buffer = read()\n lexState = 'decimalPointLeading'\n return\n\n case '0':\n buffer = read()\n lexState = 'zero'\n return\n\n case '1':\n case '2':\n case '3':\n case '4':\n case '5':\n case '6':\n case '7':\n case '8':\n case '9':\n buffer = read()\n lexState = 'decimalInteger'\n return\n\n case 'I':\n read()\n literal('nfinity')\n return newToken('numeric', sign * Infinity)\n\n case 'N':\n read()\n literal('aN')\n return newToken('numeric', NaN)\n }\n\n throw invalidChar(read())\n },\n\n zero () {\n switch (c) {\n case '.':\n buffer += read()\n lexState = 'decimalPoint'\n return\n\n case 'e':\n case 'E':\n buffer += read()\n lexState = 'decimalExponent'\n return\n\n case 'x':\n case 'X':\n buffer += read()\n lexState = 'hexadecimal'\n return\n }\n\n return newToken('numeric', sign * 0)\n },\n\n decimalInteger () {\n switch (c) {\n case '.':\n buffer += read()\n lexState = 'decimalPoint'\n return\n\n case 'e':\n case 'E':\n buffer += read()\n lexState = 'decimalExponent'\n return\n }\n\n if (util.isDigit(c)) {\n buffer += read()\n return\n }\n\n return newToken('numeric', sign * Number(buffer))\n },\n\n decimalPointLeading () {\n if (util.isDigit(c)) {\n buffer += read()\n lexState = 'decimalFraction'\n return\n }\n\n throw invalidChar(read())\n },\n\n decimalPoint () {\n switch (c) {\n case 'e':\n case 'E':\n buffer += read()\n lexState = 'decimalExponent'\n return\n }\n\n if (util.isDigit(c)) {\n buffer += read()\n lexState = 'decimalFraction'\n return\n }\n\n return newToken('numeric', sign * Number(buffer))\n },\n\n decimalFraction () {\n switch (c) {\n case 'e':\n case 'E':\n buffer += read()\n lexState = 'decimalExponent'\n return\n }\n\n if (util.isDigit(c)) {\n buffer += read()\n return\n }\n\n return newToken('numeric', sign * Number(buffer))\n },\n\n decimalExponent () {\n switch (c) {\n case '+':\n case '-':\n buffer += read()\n lexState = 'decimalExponentSign'\n return\n }\n\n if (util.isDigit(c)) {\n buffer += read()\n lexState = 'decimalExponentInteger'\n return\n }\n\n throw invalidChar(read())\n },\n\n decimalExponentSign () {\n if (util.isDigit(c)) {\n buffer += read()\n lexState = 'decimalExponentInteger'\n return\n }\n\n throw invalidChar(read())\n },\n\n decimalExponentInteger () {\n if (util.isDigit(c)) {\n buffer += read()\n return\n }\n\n return newToken('numeric', sign * Number(buffer))\n },\n\n hexadecimal () {\n if (util.isHexDigit(c)) {\n buffer += read()\n lexState = 'hexadecimalInteger'\n return\n }\n\n throw invalidChar(read())\n },\n\n hexadecimalInteger () {\n if (util.isHexDigit(c)) {\n buffer += read()\n return\n }\n\n return newToken('numeric', sign * Number(buffer))\n },\n\n string () {\n switch (c) {\n case '\\\\':\n read()\n buffer += escape()\n return\n\n case '\"':\n if (doubleQuote) {\n read()\n return newToken('string', buffer)\n }\n\n buffer += read()\n return\n\n case \"'\":\n if (!doubleQuote) {\n read()\n return newToken('string', buffer)\n }\n\n buffer += read()\n return\n\n case '\\n':\n case '\\r':\n throw invalidChar(read())\n\n case '\\u2028':\n case '\\u2029':\n separatorChar(c)\n break\n\n case undefined:\n throw invalidChar(read())\n }\n\n buffer += read()\n },\n\n start () {\n switch (c) {\n case '{':\n case '[':\n return newToken('punctuator', read())\n\n // This code is unreachable since the default lexState handles eof.\n // case undefined:\n // return newToken('eof')\n }\n\n lexState = 'value'\n },\n\n beforePropertyName () {\n switch (c) {\n case '$':\n case '_':\n buffer = read()\n lexState = 'identifierName'\n return\n\n case '\\\\':\n read()\n lexState = 'identifierNameStartEscape'\n return\n\n case '}':\n return newToken('punctuator', read())\n\n case '\"':\n case \"'\":\n doubleQuote = (read() === '\"')\n lexState = 'string'\n return\n }\n\n if (util.isIdStartChar(c)) {\n buffer += read()\n lexState = 'identifierName'\n return\n }\n\n throw invalidChar(read())\n },\n\n afterPropertyName () {\n if (c === ':') {\n return newToken('punctuator', read())\n }\n\n throw invalidChar(read())\n },\n\n beforePropertyValue () {\n lexState = 'value'\n },\n\n afterPropertyValue () {\n switch (c) {\n case ',':\n case '}':\n return newToken('punctuator', read())\n }\n\n throw invalidChar(read())\n },\n\n beforeArrayValue () {\n if (c === ']') {\n return newToken('punctuator', read())\n }\n\n lexState = 'value'\n },\n\n afterArrayValue () {\n switch (c) {\n case ',':\n case ']':\n return newToken('punctuator', read())\n }\n\n throw invalidChar(read())\n },\n\n end () {\n // This code is unreachable since it's handled by the default lexState.\n // if (c === undefined) {\n // read()\n // return newToken('eof')\n // }\n\n throw invalidChar(read())\n },\n}\n\nfunction newToken (type, value) {\n return {\n type,\n value,\n line,\n column,\n }\n}\n\nfunction literal (s) {\n for (const c of s) {\n const p = peek()\n\n if (p !== c) {\n throw invalidChar(read())\n }\n\n read()\n }\n}\n\nfunction escape () {\n const c = peek()\n switch (c) {\n case 'b':\n read()\n return '\\b'\n\n case 'f':\n read()\n return '\\f'\n\n case 'n':\n read()\n return '\\n'\n\n case 'r':\n read()\n return '\\r'\n\n case 't':\n read()\n return '\\t'\n\n case 'v':\n read()\n return '\\v'\n\n case '0':\n read()\n if (util.isDigit(peek())) {\n throw invalidChar(read())\n }\n\n return '\\0'\n\n case 'x':\n read()\n return hexEscape()\n\n case 'u':\n read()\n return unicodeEscape()\n\n case '\\n':\n case '\\u2028':\n case '\\u2029':\n read()\n return ''\n\n case '\\r':\n read()\n if (peek() === '\\n') {\n read()\n }\n\n return ''\n\n case '1':\n case '2':\n case '3':\n case '4':\n case '5':\n case '6':\n case '7':\n case '8':\n case '9':\n throw invalidChar(read())\n\n case undefined:\n throw invalidChar(read())\n }\n\n return read()\n}\n\nfunction hexEscape () {\n let buffer = ''\n let c = peek()\n\n if (!util.isHexDigit(c)) {\n throw invalidChar(read())\n }\n\n buffer += read()\n\n c = peek()\n if (!util.isHexDigit(c)) {\n throw invalidChar(read())\n }\n\n buffer += read()\n\n return String.fromCodePoint(parseInt(buffer, 16))\n}\n\nfunction unicodeEscape () {\n let buffer = ''\n let count = 4\n\n while (count-- > 0) {\n const c = peek()\n if (!util.isHexDigit(c)) {\n throw invalidChar(read())\n }\n\n buffer += read()\n }\n\n return String.fromCodePoint(parseInt(buffer, 16))\n}\n\nconst parseStates = {\n start () {\n if (token.type === 'eof') {\n throw invalidEOF()\n }\n\n push()\n },\n\n beforePropertyName () {\n switch (token.type) {\n case 'identifier':\n case 'string':\n key = token.value\n parseState = 'afterPropertyName'\n return\n\n case 'punctuator':\n // This code is unreachable since it's handled by the lexState.\n // if (token.value !== '}') {\n // throw invalidToken()\n // }\n\n pop()\n return\n\n case 'eof':\n throw invalidEOF()\n }\n\n // This code is unreachable since it's handled by the lexState.\n // throw invalidToken()\n },\n\n afterPropertyName () {\n // This code is unreachable since it's handled by the lexState.\n // if (token.type !== 'punctuator' || token.value !== ':') {\n // throw invalidToken()\n // }\n\n if (token.type === 'eof') {\n throw invalidEOF()\n }\n\n parseState = 'beforePropertyValue'\n },\n\n beforePropertyValue () {\n if (token.type === 'eof') {\n throw invalidEOF()\n }\n\n push()\n },\n\n beforeArrayValue () {\n if (token.type === 'eof') {\n throw invalidEOF()\n }\n\n if (token.type === 'punctuator' && token.value === ']') {\n pop()\n return\n }\n\n push()\n },\n\n afterPropertyValue () {\n // This code is unreachable since it's handled by the lexState.\n // if (token.type !== 'punctuator') {\n // throw invalidToken()\n // }\n\n if (token.type === 'eof') {\n throw invalidEOF()\n }\n\n switch (token.value) {\n case ',':\n parseState = 'beforePropertyName'\n return\n\n case '}':\n pop()\n }\n\n // This code is unreachable since it's handled by the lexState.\n // throw invalidToken()\n },\n\n afterArrayValue () {\n // This code is unreachable since it's handled by the lexState.\n // if (token.type !== 'punctuator') {\n // throw invalidToken()\n // }\n\n if (token.type === 'eof') {\n throw invalidEOF()\n }\n\n switch (token.value) {\n case ',':\n parseState = 'beforeArrayValue'\n return\n\n case ']':\n pop()\n }\n\n // This code is unreachable since it's handled by the lexState.\n // throw invalidToken()\n },\n\n end () {\n // This code is unreachable since it's handled by the lexState.\n // if (token.type !== 'eof') {\n // throw invalidToken()\n // }\n },\n}\n\nfunction push () {\n let value\n\n switch (token.type) {\n case 'punctuator':\n switch (token.value) {\n case '{':\n value = {}\n break\n\n case '[':\n value = []\n break\n }\n\n break\n\n case 'null':\n case 'boolean':\n case 'numeric':\n case 'string':\n value = token.value\n break\n\n // This code is unreachable.\n // default:\n // throw invalidToken()\n }\n\n if (root === undefined) {\n root = value\n } else {\n const parent = stack[stack.length - 1]\n if (Array.isArray(parent)) {\n parent.push(value)\n } else {\n parent[key] = value\n }\n }\n\n if (value !== null && typeof value === 'object') {\n stack.push(value)\n\n if (Array.isArray(value)) {\n parseState = 'beforeArrayValue'\n } else {\n parseState = 'beforePropertyName'\n }\n } else {\n const current = stack[stack.length - 1]\n if (current == null) {\n parseState = 'end'\n } else if (Array.isArray(current)) {\n parseState = 'afterArrayValue'\n } else {\n parseState = 'afterPropertyValue'\n }\n }\n}\n\nfunction pop () {\n stack.pop()\n\n const current = stack[stack.length - 1]\n if (current == null) {\n parseState = 'end'\n } else if (Array.isArray(current)) {\n parseState = 'afterArrayValue'\n } else {\n parseState = 'afterPropertyValue'\n }\n}\n\n// This code is unreachable.\n// function invalidParseState () {\n// return new Error(`JSON5: invalid parse state '${parseState}'`)\n// }\n\n// This code is unreachable.\n// function invalidLexState (state) {\n// return new Error(`JSON5: invalid lex state '${state}'`)\n// }\n\nfunction invalidChar (c) {\n if (c === undefined) {\n return syntaxError(`JSON5: invalid end of input at ${line}:${column}`)\n }\n\n return syntaxError(`JSON5: invalid character '${formatChar(c)}' at ${line}:${column}`)\n}\n\nfunction invalidEOF () {\n return syntaxError(`JSON5: invalid end of input at ${line}:${column}`)\n}\n\n// This code is unreachable.\n// function invalidToken () {\n// if (token.type === 'eof') {\n// return syntaxError(`JSON5: invalid end of input at ${line}:${column}`)\n// }\n\n// const c = String.fromCodePoint(token.value.codePointAt(0))\n// return syntaxError(`JSON5: invalid character '${formatChar(c)}' at ${line}:${column}`)\n// }\n\nfunction invalidIdentifier () {\n column -= 5\n return syntaxError(`JSON5: invalid identifier character at ${line}:${column}`)\n}\n\nfunction separatorChar (c) {\n console.warn(`JSON5: '${formatChar(c)}' in strings is not valid ECMAScript; consider escaping`)\n}\n\nfunction formatChar (c) {\n const replacements = {\n \"'\": \"\\\\'\",\n '\"': '\\\\\"',\n '\\\\': '\\\\\\\\',\n '\\b': '\\\\b',\n '\\f': '\\\\f',\n '\\n': '\\\\n',\n '\\r': '\\\\r',\n '\\t': '\\\\t',\n '\\v': '\\\\v',\n '\\0': '\\\\0',\n '\\u2028': '\\\\u2028',\n '\\u2029': '\\\\u2029',\n }\n\n if (replacements[c]) {\n return replacements[c]\n }\n\n if (c < ' ') {\n const hexString = c.charCodeAt(0).toString(16)\n return '\\\\x' + ('00' + hexString).substring(hexString.length)\n }\n\n return c\n}\n\nfunction syntaxError (message) {\n const err = new SyntaxError(message)\n err.lineNumber = line\n err.columnNumber = column\n return err\n}\n","const util = require('./util')\n\nmodule.exports = function stringify (value, replacer, space) {\n const stack = []\n let indent = ''\n let propertyList\n let replacerFunc\n let gap = ''\n let quote\n\n if (\n replacer != null &&\n typeof replacer === 'object' &&\n !Array.isArray(replacer)\n ) {\n space = replacer.space\n quote = replacer.quote\n replacer = replacer.replacer\n }\n\n if (typeof replacer === 'function') {\n replacerFunc = replacer\n } else if (Array.isArray(replacer)) {\n propertyList = []\n for (const v of replacer) {\n let item\n\n if (typeof v === 'string') {\n item = v\n } else if (\n typeof v === 'number' ||\n v instanceof String ||\n v instanceof Number\n ) {\n item = String(v)\n }\n\n if (item !== undefined && propertyList.indexOf(item) < 0) {\n propertyList.push(item)\n }\n }\n }\n\n if (space instanceof Number) {\n space = Number(space)\n } else if (space instanceof String) {\n space = String(space)\n }\n\n if (typeof space === 'number') {\n if (space > 0) {\n space = Math.min(10, Math.floor(space))\n gap = ' '.substr(0, space)\n }\n } else if (typeof space === 'string') {\n gap = space.substr(0, 10)\n }\n\n return serializeProperty('', {'': value})\n\n function serializeProperty (key, holder) {\n let value = holder[key]\n if (value != null) {\n if (typeof value.toJSON5 === 'function') {\n value = value.toJSON5(key)\n } else if (typeof value.toJSON === 'function') {\n value = value.toJSON(key)\n }\n }\n\n if (replacerFunc) {\n value = replacerFunc.call(holder, key, value)\n }\n\n if (value instanceof Number) {\n value = Number(value)\n } else if (value instanceof String) {\n value = String(value)\n } else if (value instanceof Boolean) {\n value = value.valueOf()\n }\n\n switch (value) {\n case null: return 'null'\n case true: return 'true'\n case false: return 'false'\n }\n\n if (typeof value === 'string') {\n return quoteString(value, false)\n }\n\n if (typeof value === 'number') {\n return String(value)\n }\n\n if (typeof value === 'object') {\n return Array.isArray(value) ? serializeArray(value) : serializeObject(value)\n }\n\n return undefined\n }\n\n function quoteString (value) {\n const quotes = {\n \"'\": 0.1,\n '\"': 0.2,\n }\n\n const replacements = {\n \"'\": \"\\\\'\",\n '\"': '\\\\\"',\n '\\\\': '\\\\\\\\',\n '\\b': '\\\\b',\n '\\f': '\\\\f',\n '\\n': '\\\\n',\n '\\r': '\\\\r',\n '\\t': '\\\\t',\n '\\v': '\\\\v',\n '\\0': '\\\\0',\n '\\u2028': '\\\\u2028',\n '\\u2029': '\\\\u2029',\n }\n\n let product = ''\n\n for (let i = 0; i < value.length; i++) {\n const c = value[i]\n switch (c) {\n case \"'\":\n case '\"':\n quotes[c]++\n product += c\n continue\n\n case '\\0':\n if (util.isDigit(value[i + 1])) {\n product += '\\\\x00'\n continue\n }\n }\n\n if (replacements[c]) {\n product += replacements[c]\n continue\n }\n\n if (c < ' ') {\n let hexString = c.charCodeAt(0).toString(16)\n product += '\\\\x' + ('00' + hexString).substring(hexString.length)\n continue\n }\n\n product += c\n }\n\n const quoteChar = quote || Object.keys(quotes).reduce((a, b) => (quotes[a] < quotes[b]) ? a : b)\n\n product = product.replace(new RegExp(quoteChar, 'g'), replacements[quoteChar])\n\n return quoteChar + product + quoteChar\n }\n\n function serializeObject (value) {\n if (stack.indexOf(value) >= 0) {\n throw TypeError('Converting circular structure to JSON5')\n }\n\n stack.push(value)\n\n let stepback = indent\n indent = indent + gap\n\n let keys = propertyList || Object.keys(value)\n let partial = []\n for (const key of keys) {\n const propertyString = serializeProperty(key, value)\n if (propertyString !== undefined) {\n let member = serializeKey(key) + ':'\n if (gap !== '') {\n member += ' '\n }\n member += propertyString\n partial.push(member)\n }\n }\n\n let final\n if (partial.length === 0) {\n final = '{}'\n } else {\n let properties\n if (gap === '') {\n properties = partial.join(',')\n final = '{' + properties + '}'\n } else {\n let separator = ',\\n' + indent\n properties = partial.join(separator)\n final = '{\\n' + indent + properties + ',\\n' + stepback + '}'\n }\n }\n\n stack.pop()\n indent = stepback\n return final\n }\n\n function serializeKey (key) {\n if (key.length === 0) {\n return quoteString(key, true)\n }\n\n const firstChar = String.fromCodePoint(key.codePointAt(0))\n if (!util.isIdStartChar(firstChar)) {\n return quoteString(key, true)\n }\n\n for (let i = firstChar.length; i < key.length; i++) {\n if (!util.isIdContinueChar(String.fromCodePoint(key.codePointAt(i)))) {\n return quoteString(key, true)\n }\n }\n\n return key\n }\n\n function serializeArray (value) {\n if (stack.indexOf(value) >= 0) {\n throw TypeError('Converting circular structure to JSON5')\n }\n\n stack.push(value)\n\n let stepback = indent\n indent = indent + gap\n\n let partial = []\n for (let i = 0; i < value.length; i++) {\n const propertyString = serializeProperty(String(i), value)\n partial.push((propertyString !== undefined) ? propertyString : 'null')\n }\n\n let final\n if (partial.length === 0) {\n final = '[]'\n } else {\n if (gap === '') {\n let properties = partial.join(',')\n final = '[' + properties + ']'\n } else {\n let separator = ',\\n' + indent\n let properties = partial.join(separator)\n final = '[\\n' + indent + properties + ',\\n' + stepback + ']'\n }\n }\n\n stack.pop()\n indent = stepback\n return final\n }\n}\n","// This is a generated file. Do not edit.\nmodule.exports.Space_Separator = /[\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000]/\nmodule.exports.ID_Start = /[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312E\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FEA\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE83\\uDE86-\\uDE89\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00-\\uDD1E\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]/\nmodule.exports.ID_Continue = /[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u09FC\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9-\\u0AFF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D00-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF9\\u1D00-\\u1DF9\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312E\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FEA\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF2D-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDCA-\\uDDCC\\uDDD0-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDE00-\\uDE3E\\uDE47\\uDE50-\\uDE83\\uDE86-\\uDE99\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD36\\uDD3A\\uDD3C\\uDD3D\\uDD3F-\\uDD47\\uDD50-\\uDD59]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F\\uDFE0\\uDFE1]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00-\\uDD1E\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4A\\uDD50-\\uDD59]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/\n","const unicode = require('../lib/unicode')\n\nmodule.exports = {\n isSpaceSeparator (c) {\n return typeof c === 'string' && unicode.Space_Separator.test(c)\n },\n\n isIdStartChar (c) {\n return typeof c === 'string' && (\n (c >= 'a' && c <= 'z') ||\n (c >= 'A' && c <= 'Z') ||\n (c === '$') || (c === '_') ||\n unicode.ID_Start.test(c)\n )\n },\n\n isIdContinueChar (c) {\n return typeof c === 'string' && (\n (c >= 'a' && c <= 'z') ||\n (c >= 'A' && c <= 'Z') ||\n (c >= '0' && c <= '9') ||\n (c === '$') || (c === '_') ||\n (c === '\\u200C') || (c === '\\u200D') ||\n unicode.ID_Continue.test(c)\n )\n },\n\n isDigit (c) {\n return typeof c === 'string' && /[0-9]/.test(c)\n },\n\n isHexDigit (c) {\n return typeof c === 'string' && /[0-9A-Fa-f]/.test(c)\n },\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.lookpath = void 0;\nvar fs = __importStar(require(\"fs\"));\nvar path = __importStar(require(\"path\"));\nvar isWindows = /^win/i.test(process.platform);\n/**\n * Sometimes, people want to look for local executable files\n * which are specified with either relative or absolute file path.\n * @private\n * @param cmd\n * @return {string} An absolute path of given command, or undefined.\n */\nvar isFilepath = function (cmd) {\n return cmd.includes(path.sep) ? path.resolve(cmd) : undefined;\n};\n/**\n * Just promisifies \"fs.access\"\n * @private\n * @param {string} fpath An absolute file path with an applicable extension appended.\n * @return {Promise} Resolves absolute path or empty string.\n */\nvar access = function (fpath) {\n return new Promise(function (resolve) { return fs.access(fpath, fs.constants.X_OK, function (err) { return resolve(err ? undefined : fpath); }); });\n};\n/**\n * Resolves if the given file is executable or not, regarding \"PATHEXT\" to be applied.\n * @private\n * @param {string} abspath A file path to be checked.\n * @return {Promise} Resolves the absolute file path just checked, or undefined.\n */\nvar isExecutable = function (abspath, opt) {\n if (opt === void 0) { opt = {}; }\n return __awaiter(void 0, void 0, void 0, function () {\n var envvars, exts, bins;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n envvars = opt.env || process.env;\n exts = (envvars.PATHEXT || '').split(path.delimiter).concat('');\n return [4 /*yield*/, Promise.all(exts.map(function (ext) { return access(abspath + ext); }))];\n case 1:\n bins = _a.sent();\n return [2 /*return*/, bins.find(function (bin) { return !!bin; })];\n }\n });\n });\n};\n/**\n * Returns a list of directories on which the target command should be looked for.\n * @private\n * @param {string[]} opt.include Will be added to \"PATH\" env.\n * @param {string[]} opt.exclude Will be filtered from \"PATH\" env.\n * @return {string[]} Directories to dig into.\n */\nvar getDirsToWalkThrough = function (opt) {\n var envvars = opt.env || process.env;\n var envname = isWindows ? 'Path' : 'PATH';\n return (envvars[envname] || '').split(path.delimiter).concat(opt.include || []).filter(function (p) { return !(opt.exclude || []).includes(p); });\n};\n/**\n * Returns async promise with absolute file path of given command,\n * and resolves with undefined if the command not found.\n * @param {string} command Command name to look for.\n * @param {LookPathOption} opt Options for lookpath.\n * @return {Promise} Resolves absolute file path, or undefined if not found.\n */\nfunction lookpath(command, opt) {\n if (opt === void 0) { opt = {}; }\n return __awaiter(this, void 0, void 0, function () {\n var directpath, dirs, bins;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n directpath = isFilepath(command);\n if (directpath)\n return [2 /*return*/, isExecutable(directpath, opt)];\n dirs = getDirsToWalkThrough(opt);\n return [4 /*yield*/, Promise.all(dirs.map(function (dir) { return isExecutable(path.join(dir, command), opt); }))];\n case 1:\n bins = _a.sent();\n return [2 /*return*/, bins.find(function (bin) { return !!bin; })];\n }\n });\n });\n}\nexports.lookpath = lookpath;\n","module.exports = minimatch\nminimatch.Minimatch = Minimatch\n\nvar path = (function () { try { return require('path') } catch (e) {}}()) || {\n sep: '/'\n}\nminimatch.sep = path.sep\n\nvar GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}\nvar expand = require('brace-expansion')\n\nvar plTypes = {\n '!': { open: '(?:(?!(?:', close: '))[^/]*?)'},\n '?': { open: '(?:', close: ')?' },\n '+': { open: '(?:', close: ')+' },\n '*': { open: '(?:', close: ')*' },\n '@': { open: '(?:', close: ')' }\n}\n\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nvar qmark = '[^/]'\n\n// * => any number of characters\nvar star = qmark + '*?'\n\n// ** when dots are allowed. Anything goes, except .. and .\n// not (^ or / followed by one or two dots followed by $ or /),\n// followed by anything, any number of times.\nvar twoStarDot = '(?:(?!(?:\\\\\\/|^)(?:\\\\.{1,2})($|\\\\\\/)).)*?'\n\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nvar twoStarNoDot = '(?:(?!(?:\\\\\\/|^)\\\\.).)*?'\n\n// characters that need to be escaped in RegExp.\nvar reSpecials = charSet('().*{}+?[]^$\\\\!')\n\n// \"abc\" -> { a:true, b:true, c:true }\nfunction charSet (s) {\n return s.split('').reduce(function (set, c) {\n set[c] = true\n return set\n }, {})\n}\n\n// normalizes slashes.\nvar slashSplit = /\\/+/\n\nminimatch.filter = filter\nfunction filter (pattern, options) {\n options = options || {}\n return function (p, i, list) {\n return minimatch(p, pattern, options)\n }\n}\n\nfunction ext (a, b) {\n b = b || {}\n var t = {}\n Object.keys(a).forEach(function (k) {\n t[k] = a[k]\n })\n Object.keys(b).forEach(function (k) {\n t[k] = b[k]\n })\n return t\n}\n\nminimatch.defaults = function (def) {\n if (!def || typeof def !== 'object' || !Object.keys(def).length) {\n return minimatch\n }\n\n var orig = minimatch\n\n var m = function minimatch (p, pattern, options) {\n return orig(p, pattern, ext(def, options))\n }\n\n m.Minimatch = function Minimatch (pattern, options) {\n return new orig.Minimatch(pattern, ext(def, options))\n }\n m.Minimatch.defaults = function defaults (options) {\n return orig.defaults(ext(def, options)).Minimatch\n }\n\n m.filter = function filter (pattern, options) {\n return orig.filter(pattern, ext(def, options))\n }\n\n m.defaults = function defaults (options) {\n return orig.defaults(ext(def, options))\n }\n\n m.makeRe = function makeRe (pattern, options) {\n return orig.makeRe(pattern, ext(def, options))\n }\n\n m.braceExpand = function braceExpand (pattern, options) {\n return orig.braceExpand(pattern, ext(def, options))\n }\n\n m.match = function (list, pattern, options) {\n return orig.match(list, pattern, ext(def, options))\n }\n\n return m\n}\n\nMinimatch.defaults = function (def) {\n return minimatch.defaults(def).Minimatch\n}\n\nfunction minimatch (p, pattern, options) {\n assertValidPattern(pattern)\n\n if (!options) options = {}\n\n // shortcut: comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n return false\n }\n\n return new Minimatch(pattern, options).match(p)\n}\n\nfunction Minimatch (pattern, options) {\n if (!(this instanceof Minimatch)) {\n return new Minimatch(pattern, options)\n }\n\n assertValidPattern(pattern)\n\n if (!options) options = {}\n\n pattern = pattern.trim()\n\n // windows support: need to use /, not \\\n if (!options.allowWindowsEscape && path.sep !== '/') {\n pattern = pattern.split(path.sep).join('/')\n }\n\n this.options = options\n this.set = []\n this.pattern = pattern\n this.regexp = null\n this.negate = false\n this.comment = false\n this.empty = false\n this.partial = !!options.partial\n\n // make the set of regexps etc.\n this.make()\n}\n\nMinimatch.prototype.debug = function () {}\n\nMinimatch.prototype.make = make\nfunction make () {\n var pattern = this.pattern\n var options = this.options\n\n // empty patterns and comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n this.comment = true\n return\n }\n if (!pattern) {\n this.empty = true\n return\n }\n\n // step 1: figure out negation, etc.\n this.parseNegate()\n\n // step 2: expand braces\n var set = this.globSet = this.braceExpand()\n\n if (options.debug) this.debug = function debug() { console.error.apply(console, arguments) }\n\n this.debug(this.pattern, set)\n\n // step 3: now we have a set, so turn each one into a series of path-portion\n // matching patterns.\n // These will be regexps, except in the case of \"**\", which is\n // set to the GLOBSTAR object for globstar behavior,\n // and will not contain any / characters\n set = this.globParts = set.map(function (s) {\n return s.split(slashSplit)\n })\n\n this.debug(this.pattern, set)\n\n // glob --> regexps\n set = set.map(function (s, si, set) {\n return s.map(this.parse, this)\n }, this)\n\n this.debug(this.pattern, set)\n\n // filter out everything that didn't compile properly.\n set = set.filter(function (s) {\n return s.indexOf(false) === -1\n })\n\n this.debug(this.pattern, set)\n\n this.set = set\n}\n\nMinimatch.prototype.parseNegate = parseNegate\nfunction parseNegate () {\n var pattern = this.pattern\n var negate = false\n var options = this.options\n var negateOffset = 0\n\n if (options.nonegate) return\n\n for (var i = 0, l = pattern.length\n ; i < l && pattern.charAt(i) === '!'\n ; i++) {\n negate = !negate\n negateOffset++\n }\n\n if (negateOffset) this.pattern = pattern.substr(negateOffset)\n this.negate = negate\n}\n\n// Brace expansion:\n// a{b,c}d -> abd acd\n// a{b,}c -> abc ac\n// a{0..3}d -> a0d a1d a2d a3d\n// a{b,c{d,e}f}g -> abg acdfg acefg\n// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg\n//\n// Invalid sets are not expanded.\n// a{2..}b -> a{2..}b\n// a{b}c -> a{b}c\nminimatch.braceExpand = function (pattern, options) {\n return braceExpand(pattern, options)\n}\n\nMinimatch.prototype.braceExpand = braceExpand\n\nfunction braceExpand (pattern, options) {\n if (!options) {\n if (this instanceof Minimatch) {\n options = this.options\n } else {\n options = {}\n }\n }\n\n pattern = typeof pattern === 'undefined'\n ? this.pattern : pattern\n\n assertValidPattern(pattern)\n\n // Thanks to Yeting Li for\n // improving this regexp to avoid a ReDOS vulnerability.\n if (options.nobrace || !/\\{(?:(?!\\{).)*\\}/.test(pattern)) {\n // shortcut. no need to expand.\n return [pattern]\n }\n\n return expand(pattern)\n}\n\nvar MAX_PATTERN_LENGTH = 1024 * 64\nvar assertValidPattern = function (pattern) {\n if (typeof pattern !== 'string') {\n throw new TypeError('invalid pattern')\n }\n\n if (pattern.length > MAX_PATTERN_LENGTH) {\n throw new TypeError('pattern is too long')\n }\n}\n\n// parse a component of the expanded set.\n// At this point, no pattern may contain \"/\" in it\n// so we're going to return a 2d array, where each entry is the full\n// pattern, split on '/', and then turned into a regular expression.\n// A regexp is made at the end which joins each array with an\n// escaped /, and another full one which joins each regexp with |.\n//\n// Following the lead of Bash 4.1, note that \"**\" only has special meaning\n// when it is the *only* thing in a path portion. Otherwise, any series\n// of * is equivalent to a single *. Globstar behavior is enabled by\n// default, and can be disabled by setting options.noglobstar.\nMinimatch.prototype.parse = parse\nvar SUBPARSE = {}\nfunction parse (pattern, isSub) {\n assertValidPattern(pattern)\n\n var options = this.options\n\n // shortcuts\n if (pattern === '**') {\n if (!options.noglobstar)\n return GLOBSTAR\n else\n pattern = '*'\n }\n if (pattern === '') return ''\n\n var re = ''\n var hasMagic = !!options.nocase\n var escaping = false\n // ? => one single character\n var patternListStack = []\n var negativeLists = []\n var stateChar\n var inClass = false\n var reClassStart = -1\n var classStart = -1\n // . and .. never match anything that doesn't start with .,\n // even when options.dot is set.\n var patternStart = pattern.charAt(0) === '.' ? '' // anything\n // not (start or / followed by . or .. followed by / or end)\n : options.dot ? '(?!(?:^|\\\\\\/)\\\\.{1,2}(?:$|\\\\\\/))'\n : '(?!\\\\.)'\n var self = this\n\n function clearStateChar () {\n if (stateChar) {\n // we had some state-tracking character\n // that wasn't consumed by this pass.\n switch (stateChar) {\n case '*':\n re += star\n hasMagic = true\n break\n case '?':\n re += qmark\n hasMagic = true\n break\n default:\n re += '\\\\' + stateChar\n break\n }\n self.debug('clearStateChar %j %j', stateChar, re)\n stateChar = false\n }\n }\n\n for (var i = 0, len = pattern.length, c\n ; (i < len) && (c = pattern.charAt(i))\n ; i++) {\n this.debug('%s\\t%s %s %j', pattern, i, re, c)\n\n // skip over any that are escaped.\n if (escaping && reSpecials[c]) {\n re += '\\\\' + c\n escaping = false\n continue\n }\n\n switch (c) {\n /* istanbul ignore next */\n case '/': {\n // completely not allowed, even escaped.\n // Should already be path-split by now.\n return false\n }\n\n case '\\\\':\n clearStateChar()\n escaping = true\n continue\n\n // the various stateChar values\n // for the \"extglob\" stuff.\n case '?':\n case '*':\n case '+':\n case '@':\n case '!':\n this.debug('%s\\t%s %s %j <-- stateChar', pattern, i, re, c)\n\n // all of those are literals inside a class, except that\n // the glob [!a] means [^a] in regexp\n if (inClass) {\n this.debug(' in class')\n if (c === '!' && i === classStart + 1) c = '^'\n re += c\n continue\n }\n\n // if we already have a stateChar, then it means\n // that there was something like ** or +? in there.\n // Handle the stateChar, then proceed with this one.\n self.debug('call clearStateChar %j', stateChar)\n clearStateChar()\n stateChar = c\n // if extglob is disabled, then +(asdf|foo) isn't a thing.\n // just clear the statechar *now*, rather than even diving into\n // the patternList stuff.\n if (options.noext) clearStateChar()\n continue\n\n case '(':\n if (inClass) {\n re += '('\n continue\n }\n\n if (!stateChar) {\n re += '\\\\('\n continue\n }\n\n patternListStack.push({\n type: stateChar,\n start: i - 1,\n reStart: re.length,\n open: plTypes[stateChar].open,\n close: plTypes[stateChar].close\n })\n // negation is (?:(?!js)[^/]*)\n re += stateChar === '!' ? '(?:(?!(?:' : '(?:'\n this.debug('plType %j %j', stateChar, re)\n stateChar = false\n continue\n\n case ')':\n if (inClass || !patternListStack.length) {\n re += '\\\\)'\n continue\n }\n\n clearStateChar()\n hasMagic = true\n var pl = patternListStack.pop()\n // negation is (?:(?!js)[^/]*)\n // The others are (?:)\n re += pl.close\n if (pl.type === '!') {\n negativeLists.push(pl)\n }\n pl.reEnd = re.length\n continue\n\n case '|':\n if (inClass || !patternListStack.length || escaping) {\n re += '\\\\|'\n escaping = false\n continue\n }\n\n clearStateChar()\n re += '|'\n continue\n\n // these are mostly the same in regexp and glob\n case '[':\n // swallow any state-tracking char before the [\n clearStateChar()\n\n if (inClass) {\n re += '\\\\' + c\n continue\n }\n\n inClass = true\n classStart = i\n reClassStart = re.length\n re += c\n continue\n\n case ']':\n // a right bracket shall lose its special\n // meaning and represent itself in\n // a bracket expression if it occurs\n // first in the list. -- POSIX.2 2.8.3.2\n if (i === classStart + 1 || !inClass) {\n re += '\\\\' + c\n escaping = false\n continue\n }\n\n // handle the case where we left a class open.\n // \"[z-a]\" is valid, equivalent to \"\\[z-a\\]\"\n // split where the last [ was, make sure we don't have\n // an invalid re. if so, re-walk the contents of the\n // would-be class to re-translate any characters that\n // were passed through as-is\n // TODO: It would probably be faster to determine this\n // without a try/catch and a new RegExp, but it's tricky\n // to do safely. For now, this is safe and works.\n var cs = pattern.substring(classStart + 1, i)\n try {\n RegExp('[' + cs + ']')\n } catch (er) {\n // not a valid class!\n var sp = this.parse(cs, SUBPARSE)\n re = re.substr(0, reClassStart) + '\\\\[' + sp[0] + '\\\\]'\n hasMagic = hasMagic || sp[1]\n inClass = false\n continue\n }\n\n // finish up the class.\n hasMagic = true\n inClass = false\n re += c\n continue\n\n default:\n // swallow any state char that wasn't consumed\n clearStateChar()\n\n if (escaping) {\n // no need\n escaping = false\n } else if (reSpecials[c]\n && !(c === '^' && inClass)) {\n re += '\\\\'\n }\n\n re += c\n\n } // switch\n } // for\n\n // handle the case where we left a class open.\n // \"[abc\" is valid, equivalent to \"\\[abc\"\n if (inClass) {\n // split where the last [ was, and escape it\n // this is a huge pita. We now have to re-walk\n // the contents of the would-be class to re-translate\n // any characters that were passed through as-is\n cs = pattern.substr(classStart + 1)\n sp = this.parse(cs, SUBPARSE)\n re = re.substr(0, reClassStart) + '\\\\[' + sp[0]\n hasMagic = hasMagic || sp[1]\n }\n\n // handle the case where we had a +( thing at the *end*\n // of the pattern.\n // each pattern list stack adds 3 chars, and we need to go through\n // and escape any | chars that were passed through as-is for the regexp.\n // Go through and escape them, taking care not to double-escape any\n // | chars that were already escaped.\n for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {\n var tail = re.slice(pl.reStart + pl.open.length)\n this.debug('setting tail', re, pl)\n // maybe some even number of \\, then maybe 1 \\, followed by a |\n tail = tail.replace(/((?:\\\\{2}){0,64})(\\\\?)\\|/g, function (_, $1, $2) {\n if (!$2) {\n // the | isn't already escaped, so escape it.\n $2 = '\\\\'\n }\n\n // need to escape all those slashes *again*, without escaping the\n // one that we need for escaping the | character. As it works out,\n // escaping an even number of slashes can be done by simply repeating\n // it exactly after itself. That's why this trick works.\n //\n // I am sorry that you have to see this.\n return $1 + $1 + $2 + '|'\n })\n\n this.debug('tail=%j\\n %s', tail, tail, pl, re)\n var t = pl.type === '*' ? star\n : pl.type === '?' ? qmark\n : '\\\\' + pl.type\n\n hasMagic = true\n re = re.slice(0, pl.reStart) + t + '\\\\(' + tail\n }\n\n // handle trailing things that only matter at the very end.\n clearStateChar()\n if (escaping) {\n // trailing \\\\\n re += '\\\\\\\\'\n }\n\n // only need to apply the nodot start if the re starts with\n // something that could conceivably capture a dot\n var addPatternStart = false\n switch (re.charAt(0)) {\n case '[': case '.': case '(': addPatternStart = true\n }\n\n // Hack to work around lack of negative lookbehind in JS\n // A pattern like: *.!(x).!(y|z) needs to ensure that a name\n // like 'a.xyz.yz' doesn't match. So, the first negative\n // lookahead, has to look ALL the way ahead, to the end of\n // the pattern.\n for (var n = negativeLists.length - 1; n > -1; n--) {\n var nl = negativeLists[n]\n\n var nlBefore = re.slice(0, nl.reStart)\n var nlFirst = re.slice(nl.reStart, nl.reEnd - 8)\n var nlLast = re.slice(nl.reEnd - 8, nl.reEnd)\n var nlAfter = re.slice(nl.reEnd)\n\n nlLast += nlAfter\n\n // Handle nested stuff like *(*.js|!(*.json)), where open parens\n // mean that we should *not* include the ) in the bit that is considered\n // \"after\" the negated section.\n var openParensBefore = nlBefore.split('(').length - 1\n var cleanAfter = nlAfter\n for (i = 0; i < openParensBefore; i++) {\n cleanAfter = cleanAfter.replace(/\\)[+*?]?/, '')\n }\n nlAfter = cleanAfter\n\n var dollar = ''\n if (nlAfter === '' && isSub !== SUBPARSE) {\n dollar = '$'\n }\n var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast\n re = newRe\n }\n\n // if the re is not \"\" at this point, then we need to make sure\n // it doesn't match against an empty path part.\n // Otherwise a/* will match a/, which it should not.\n if (re !== '' && hasMagic) {\n re = '(?=.)' + re\n }\n\n if (addPatternStart) {\n re = patternStart + re\n }\n\n // parsing just a piece of a larger pattern.\n if (isSub === SUBPARSE) {\n return [re, hasMagic]\n }\n\n // skip the regexp for non-magical patterns\n // unescape anything in it, though, so that it'll be\n // an exact match against a file etc.\n if (!hasMagic) {\n return globUnescape(pattern)\n }\n\n var flags = options.nocase ? 'i' : ''\n try {\n var regExp = new RegExp('^' + re + '$', flags)\n } catch (er) /* istanbul ignore next - should be impossible */ {\n // If it was an invalid regular expression, then it can't match\n // anything. This trick looks for a character after the end of\n // the string, which is of course impossible, except in multi-line\n // mode, but it's not a /m regex.\n return new RegExp('$.')\n }\n\n regExp._glob = pattern\n regExp._src = re\n\n return regExp\n}\n\nminimatch.makeRe = function (pattern, options) {\n return new Minimatch(pattern, options || {}).makeRe()\n}\n\nMinimatch.prototype.makeRe = makeRe\nfunction makeRe () {\n if (this.regexp || this.regexp === false) return this.regexp\n\n // at this point, this.set is a 2d array of partial\n // pattern strings, or \"**\".\n //\n // It's better to use .match(). This function shouldn't\n // be used, really, but it's pretty convenient sometimes,\n // when you just want to work with a regex.\n var set = this.set\n\n if (!set.length) {\n this.regexp = false\n return this.regexp\n }\n var options = this.options\n\n var twoStar = options.noglobstar ? star\n : options.dot ? twoStarDot\n : twoStarNoDot\n var flags = options.nocase ? 'i' : ''\n\n var re = set.map(function (pattern) {\n return pattern.map(function (p) {\n return (p === GLOBSTAR) ? twoStar\n : (typeof p === 'string') ? regExpEscape(p)\n : p._src\n }).join('\\\\\\/')\n }).join('|')\n\n // must match entire pattern\n // ending in a * or ** will make it less strict.\n re = '^(?:' + re + ')$'\n\n // can match anything, as long as it's not this.\n if (this.negate) re = '^(?!' + re + ').*$'\n\n try {\n this.regexp = new RegExp(re, flags)\n } catch (ex) /* istanbul ignore next - should be impossible */ {\n this.regexp = false\n }\n return this.regexp\n}\n\nminimatch.match = function (list, pattern, options) {\n options = options || {}\n var mm = new Minimatch(pattern, options)\n list = list.filter(function (f) {\n return mm.match(f)\n })\n if (mm.options.nonull && !list.length) {\n list.push(pattern)\n }\n return list\n}\n\nMinimatch.prototype.match = function match (f, partial) {\n if (typeof partial === 'undefined') partial = this.partial\n this.debug('match', f, this.pattern)\n // short-circuit in the case of busted things.\n // comments, etc.\n if (this.comment) return false\n if (this.empty) return f === ''\n\n if (f === '/' && partial) return true\n\n var options = this.options\n\n // windows: need to use /, not \\\n if (path.sep !== '/') {\n f = f.split(path.sep).join('/')\n }\n\n // treat the test path as a set of pathparts.\n f = f.split(slashSplit)\n this.debug(this.pattern, 'split', f)\n\n // just ONE of the pattern sets in this.set needs to match\n // in order for it to be valid. If negating, then just one\n // match means that we have failed.\n // Either way, return on the first hit.\n\n var set = this.set\n this.debug(this.pattern, 'set', set)\n\n // Find the basename of the path by looking for the last non-empty segment\n var filename\n var i\n for (i = f.length - 1; i >= 0; i--) {\n filename = f[i]\n if (filename) break\n }\n\n for (i = 0; i < set.length; i++) {\n var pattern = set[i]\n var file = f\n if (options.matchBase && pattern.length === 1) {\n file = [filename]\n }\n var hit = this.matchOne(file, pattern, partial)\n if (hit) {\n if (options.flipNegate) return true\n return !this.negate\n }\n }\n\n // didn't get any hits. this is success if it's a negative\n // pattern, failure otherwise.\n if (options.flipNegate) return false\n return this.negate\n}\n\n// set partial to true to test if, for example,\n// \"/a/b\" matches the start of \"/*/b/*/d\"\n// Partial means, if you run out of file before you run\n// out of pattern, then that's fine, as long as all\n// the parts match.\nMinimatch.prototype.matchOne = function (file, pattern, partial) {\n var options = this.options\n\n this.debug('matchOne',\n { 'this': this, file: file, pattern: pattern })\n\n this.debug('matchOne', file.length, pattern.length)\n\n for (var fi = 0,\n pi = 0,\n fl = file.length,\n pl = pattern.length\n ; (fi < fl) && (pi < pl)\n ; fi++, pi++) {\n this.debug('matchOne loop')\n var p = pattern[pi]\n var f = file[fi]\n\n this.debug(pattern, p, f)\n\n // should be impossible.\n // some invalid regexp stuff in the set.\n /* istanbul ignore if */\n if (p === false) return false\n\n if (p === GLOBSTAR) {\n this.debug('GLOBSTAR', [pattern, p, f])\n\n // \"**\"\n // a/**/b/**/c would match the following:\n // a/b/x/y/z/c\n // a/x/y/z/b/c\n // a/b/x/b/x/c\n // a/b/c\n // To do this, take the rest of the pattern after\n // the **, and see if it would match the file remainder.\n // If so, return success.\n // If not, the ** \"swallows\" a segment, and try again.\n // This is recursively awful.\n //\n // a/**/b/**/c matching a/b/x/y/z/c\n // - a matches a\n // - doublestar\n // - matchOne(b/x/y/z/c, b/**/c)\n // - b matches b\n // - doublestar\n // - matchOne(x/y/z/c, c) -> no\n // - matchOne(y/z/c, c) -> no\n // - matchOne(z/c, c) -> no\n // - matchOne(c, c) yes, hit\n var fr = fi\n var pr = pi + 1\n if (pr === pl) {\n this.debug('** at the end')\n // a ** at the end will just swallow the rest.\n // We have found a match.\n // however, it will not swallow /.x, unless\n // options.dot is set.\n // . and .. are *never* matched by **, for explosively\n // exponential reasons.\n for (; fi < fl; fi++) {\n if (file[fi] === '.' || file[fi] === '..' ||\n (!options.dot && file[fi].charAt(0) === '.')) return false\n }\n return true\n }\n\n // ok, let's see if we can swallow whatever we can.\n while (fr < fl) {\n var swallowee = file[fr]\n\n this.debug('\\nglobstar while', file, fr, pattern, pr, swallowee)\n\n // XXX remove this slice. Just pass the start index.\n if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {\n this.debug('globstar found match!', fr, fl, swallowee)\n // found a match.\n return true\n } else {\n // can't swallow \".\" or \"..\" ever.\n // can only swallow \".foo\" when explicitly asked.\n if (swallowee === '.' || swallowee === '..' ||\n (!options.dot && swallowee.charAt(0) === '.')) {\n this.debug('dot detected!', file, fr, pattern, pr)\n break\n }\n\n // ** swallows a segment, and continue.\n this.debug('globstar swallow a segment, and continue')\n fr++\n }\n }\n\n // no match was found.\n // However, in partial mode, we can't say this is necessarily over.\n // If there's more *pattern* left, then\n /* istanbul ignore if */\n if (partial) {\n // ran out of file\n this.debug('\\n>>> no match, partial?', file, fr, pattern, pr)\n if (fr === fl) return true\n }\n return false\n }\n\n // something other than **\n // non-magic patterns just have to match exactly\n // patterns with magic have been turned into regexps.\n var hit\n if (typeof p === 'string') {\n hit = f === p\n this.debug('string match', p, f, hit)\n } else {\n hit = f.match(p)\n this.debug('pattern match', p, f, hit)\n }\n\n if (!hit) return false\n }\n\n // Note: ending in / means that we'll get a final \"\"\n // at the end of the pattern. This can only match a\n // corresponding \"\" at the end of the file.\n // If the file ends in /, then it can only match a\n // a pattern that ends in /, unless the pattern just\n // doesn't have any more for it. But, a/b/ should *not*\n // match \"a/b/*\", even though \"\" matches against the\n // [^/]*? pattern, except in partial mode, where it might\n // simply not be reached yet.\n // However, a/b/ should still satisfy a/*\n\n // now either we fell off the end of the pattern, or we're done.\n if (fi === fl && pi === pl) {\n // ran out of pattern and filename at the same time.\n // an exact hit!\n return true\n } else if (fi === fl) {\n // ran out of file, but still had pattern left.\n // this is ok if we're doing the match as part of\n // a glob fs traversal.\n return partial\n } else /* istanbul ignore else */ if (pi === pl) {\n // ran out of pattern, still have file left.\n // this is only acceptable if we're on the very last\n // empty segment of a file with a trailing slash.\n // a/* should match a/b/\n return (fi === fl - 1) && (file[fi] === '')\n }\n\n // should be unreachable.\n /* istanbul ignore next */\n throw new Error('wtf?')\n}\n\n// replace stuff like \\* with *\nfunction globUnescape (s) {\n return s.replace(/\\\\(.)/g, '$1')\n}\n\nfunction regExpEscape (s) {\n return s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n}\n","import * as path from 'path';\nimport * as vscode from 'vscode';\n\nimport { SettingsProvider } from '../provider/settingsProvider';\nimport {\n\tfilesInDir,\n\tgetLanguage,\n\tisCppSourceFile,\n\tisCSourceFile,\n\tisSourceFile,\n\tmkdirRecursive,\n\tpathExists,\n} from '../utils/fileUtils';\nimport { Builds, Languages, OperatingSystems } from '../utils/types';\nimport { getProcessExecution } from '../utils/vscodeUtils';\n\nconst EXTENSION_NAME = 'C_Cpp_Runner';\n\nexport async function executeBuildTask(\n settingsProvider: SettingsProvider,\n activeFolder: string,\n buildMode: Builds,\n singleFileBuild: boolean,\n) {\n const appendSymbol = '&&';\n\n const language = getLanguage(activeFolder);\n\n let files: string[];\n if (!singleFileBuild) {\n files = filesInDir(activeFolder);\n } else {\n const currentFile = vscode.window.activeTextEditor?.document.fileName;\n if (!currentFile) return;\n\n const isSource = isSourceFile(path.extname(currentFile));\n if (!isSource) return;\n\n files = [path.basename(currentFile)];\n }\n\n const buildDir = path.join(activeFolder, 'build');\n const modeDir = path.join(buildDir, `${buildMode}`);\n\n if (!pathExists(modeDir)) {\n mkdirRecursive(modeDir);\n }\n\n const operatingSystem = settingsProvider.operatingSystem;\n\n let executableName: string;\n if (operatingSystem === OperatingSystems.windows) {\n executableName = `out${buildMode}.exe`;\n } else {\n executableName = `out${buildMode}`;\n }\n\n const executablePath = path.join(modeDir, executableName);\n\n let commandLine: string | undefined;\n if (\n operatingSystem === OperatingSystems.windows &&\n settingsProvider.useMsvc\n ) {\n commandLine = executeBuildTaskMsvcBased(\n settingsProvider,\n activeFolder,\n buildMode,\n language,\n files,\n modeDir,\n appendSymbol,\n executablePath,\n );\n } else {\n commandLine = executeBuildTaskUnixBased(\n settingsProvider,\n activeFolder,\n buildMode,\n language,\n files,\n modeDir,\n appendSymbol,\n executablePath,\n );\n }\n\n if (!commandLine) return;\n\n const task_name = 'Build';\n\n const definition = {\n type: 'shell',\n task: task_name,\n };\n\n const execution = getProcessExecution(\n operatingSystem,\n settingsProvider.useMsvc,\n commandLine,\n activeFolder,\n );\n\n const problemMatcher =\n operatingSystem === OperatingSystems.windows && settingsProvider.useMsvc\n ? ['$msCompile']\n : ['$gcc'];\n\n const task = new vscode.Task(\n definition,\n vscode.TaskScope.Workspace,\n task_name,\n EXTENSION_NAME,\n execution,\n problemMatcher,\n );\n\n await vscode.tasks.executeTask(task);\n}\n\nfunction executeBuildTaskUnixBased(\n settingsProvider: SettingsProvider,\n activeFolder: string,\n buildMode: Builds,\n language: Languages,\n files: string[],\n modeDir: string,\n appendSymbol: string,\n executablePath: string,\n) {\n let compiler: string | undefined;\n let standard: string | undefined;\n\n if (language === Languages.cpp) {\n compiler = settingsProvider.cppCompilerPath;\n standard = settingsProvider.cppStandard;\n } else {\n compiler = settingsProvider.cCompilerPath;\n standard = settingsProvider.cStandard;\n }\n\n const useWarnings = settingsProvider.enableWarnings;\n const warningsAsErrors = settingsProvider.warningsAsError;\n let warnings: string = '';\n if (useWarnings) {\n warnings = settingsProvider.warnings.join(' ');\n }\n if (useWarnings && warningsAsErrors) {\n warnings += ' -Werror';\n }\n const includePaths = settingsProvider.includePaths;\n const compilerArgs = settingsProvider.compilerArgs;\n const linkerArgs = settingsProvider.linkerArgs;\n\n let fullCompilerArgs = '';\n let fullLinkerArgs = '';\n\n if (warnings) {\n fullCompilerArgs += warnings;\n }\n if (standard) {\n fullCompilerArgs += ` --std=${standard}`;\n }\n if (buildMode === Builds.debug) {\n fullCompilerArgs += ' -g3 -O0';\n } else {\n fullCompilerArgs += ' -O3 -DNDEBUG';\n }\n if (compilerArgs && compilerArgs.length > 0) {\n fullCompilerArgs += ' ' + compilerArgs.join(' ');\n }\n if (includePaths && includePaths.length > 0) {\n for (const includePath of includePaths) {\n if (includePath.includes('$(default)')) continue;\n\n const hasSpace = includePath.includes(' ');\n\n if (hasSpace) {\n fullCompilerArgs += ` -I\"${includePath}\"`;\n } else {\n fullCompilerArgs += ` -I${includePath}`;\n }\n }\n }\n\n if (linkerArgs && linkerArgs.length > 0) {\n fullLinkerArgs += ' ' + linkerArgs.join(' ');\n }\n\n let commandLine: string = '';\n\n const objectFiles: string[] = [];\n\n let idx = -1;\n\n for (const file of files) {\n const fileExtension = path.parse(file).ext;\n\n if (language === Languages.c && !isCSourceFile(fileExtension)) {\n continue;\n } else if (language === Languages.cpp && !isCppSourceFile(fileExtension)) {\n continue;\n }\n\n idx++;\n\n const fileBaseName = path.parse(file).name;\n modeDir = modeDir.replace(activeFolder, '');\n\n let objectFilePath = path.join(modeDir, fileBaseName + '.o');\n if (!objectFilePath.startsWith('.')) {\n objectFilePath = '.' + objectFilePath;\n }\n\n objectFiles.push(objectFilePath);\n\n const hasSpace = file.includes(' ');\n let fullFileArgs;\n if (hasSpace) {\n fullFileArgs = `-c \"${file}\" -o \"${objectFilePath}\"`;\n } else {\n fullFileArgs = `-c ${file} -o ${objectFilePath}`;\n }\n\n if (idx === 0) {\n commandLine += `${compiler} ${fullCompilerArgs} ${fullFileArgs}`;\n } else {\n commandLine += ` ${appendSymbol} ${compiler} ${fullCompilerArgs} ${fullFileArgs}`;\n }\n }\n\n // Exe task\n let objectFilesStr: string = '';\n for (const objectfile of objectFiles) {\n objectFilesStr += ` ${objectfile}`;\n }\n\n if (objectFilesStr === '') return;\n\n executablePath = executablePath.replace(activeFolder, '');\n if (!executablePath.startsWith('.')) {\n executablePath = '.' + executablePath;\n }\n\n const fullObjectFileArgs = `${objectFilesStr} -o ${executablePath}`;\n\n commandLine += ` ${appendSymbol} ${compiler} ${fullCompilerArgs} ${fullObjectFileArgs}`;\n\n if (fullLinkerArgs && fullLinkerArgs !== '') {\n commandLine += fullLinkerArgs;\n }\n\n commandLine = commandLine.replace(' ', ' ');\n\n return commandLine;\n}\n\nfunction executeBuildTaskMsvcBased(\n settingsProvider: SettingsProvider,\n activeFolder: string,\n buildMode: Builds,\n language: Languages,\n files: string[],\n modeDir: string,\n appendSymbol: string,\n executablePath: string,\n) {\n let compiler: string | undefined;\n let standard: string | undefined;\n\n if (language === Languages.cpp) {\n compiler = SettingsProvider.MSVC_COMPILER_NAME;\n standard = settingsProvider.cppStandard;\n } else {\n compiler = SettingsProvider.MSVC_COMPILER_NAME;\n standard = settingsProvider.cStandard;\n }\n\n const useWarnings = settingsProvider.enableWarnings;\n const warningsAsErrors = settingsProvider.warningsAsError;\n let warnings: string = '';\n if (useWarnings) {\n warnings = settingsProvider.warnings.join(' ');\n }\n if (useWarnings && warningsAsErrors) {\n warnings += ' -WX';\n }\n const includePaths = settingsProvider.includePaths;\n const compilerArgs = settingsProvider.compilerArgs;\n const linkerArgs = settingsProvider.linkerArgs;\n\n let fullCompilerArgs = '';\n\n if (useWarnings && warnings !== '') {\n fullCompilerArgs += warnings;\n }\n\n // Note: The c standard in msvc is either c11 or c17\n const old_standard = ['c89', 'c99', 'gnu89', 'gnu99'].some(\n (ext) => settingsProvider.cStandard === ext,\n );\n\n if (standard && (language === Languages.cpp || !old_standard)) {\n fullCompilerArgs += ` /std:${standard}`;\n }\n if (language === Languages.c) {\n if (old_standard) {\n fullCompilerArgs += ' /D_CRT_SECURE_NO_WARNINGS';\n }\n }\n\n if (buildMode === Builds.debug) {\n fullCompilerArgs += ' /Od /Zi';\n } else {\n fullCompilerArgs += ' /Ox /GL /DNDEBUG';\n }\n fullCompilerArgs += ' /EHsc';\n\n if (includePaths && includePaths.length > 0) {\n for (const includePath of includePaths) {\n if (includePath.includes('$(default)')) continue;\n\n const hasSpace = includePath.includes(' ');\n\n if (hasSpace) {\n fullCompilerArgs += ` /I\"${includePath}\"`;\n } else {\n fullCompilerArgs += ` /I${includePath}`;\n }\n }\n }\n\n let fullLinkerArgs: string = '';\n if (linkerArgs && linkerArgs.length > 0) {\n fullLinkerArgs += ' ' + linkerArgs.join(' ');\n }\n fullCompilerArgs += fullLinkerArgs;\n\n if (compilerArgs && compilerArgs.length > 0) {\n fullCompilerArgs += ' ' + compilerArgs.join(' ');\n }\n\n let commandLine: string = `\"${settingsProvider.msvcBatchPath}\" ${settingsProvider.architecure} ${appendSymbol} `;\n\n modeDir = modeDir.replace(activeFolder, '.');\n executablePath = executablePath.replace(activeFolder, '.');\n const pathArgs = `/Fd${modeDir}\\\\ /Fo${modeDir}\\\\ /Fe${executablePath}`;\n\n let fullFileArgs: string = '';\n for (const file of files) {\n const fileExtension = path.parse(file).ext;\n\n if (language === Languages.c && !isCSourceFile(fileExtension)) {\n continue;\n } else if (language === Languages.cpp && !isCppSourceFile(fileExtension)) {\n continue;\n }\n\n const hasSpace = file.includes(' ');\n\n if (hasSpace) {\n fullFileArgs += ` .\\\\\"${file}\"`;\n } else {\n fullFileArgs += ` .\\\\${file}`;\n }\n }\n\n if (fullFileArgs === '') return;\n\n commandLine += ` cd ${activeFolder} &&`;\n commandLine += `${compiler} ${fullCompilerArgs} ${pathArgs} ${fullFileArgs}`;\n\n return commandLine;\n}\n","import * as path from 'path';\nimport * as vscode from 'vscode';\n\nimport {\n\tpathExists,\n\treplaceBackslashes,\n\trmdirRecursive,\n} from '../utils/fileUtils';\nimport { Builds, OperatingSystems } from '../utils/types';\nimport { getProcessExecution } from '../utils/vscodeUtils';\n\nconst EXTENSION_NAME = 'C_Cpp_Runner';\n\nexport async function executeCleanTask(\n activeFolder: string,\n buildMode: Builds,\n workspaceFolder: string,\n operatingSystem: OperatingSystems,\n) {\n const buildDir = path.join(activeFolder, 'build');\n const modeDir = path.join(buildDir, `${buildMode}`);\n\n let relativeModeDir = modeDir.replace(workspaceFolder, '');\n relativeModeDir = replaceBackslashes(relativeModeDir);\n\n const commandLine = `echo Cleaning ${relativeModeDir}...`;\n\n if (!pathExists(modeDir)) return;\n\n rmdirRecursive(modeDir);\n if (!commandLine) return;\n\n const task_name = 'Clean';\n\n const execution = getProcessExecution(\n operatingSystem,\n false,\n commandLine,\n activeFolder,\n );\n\n const definition = {\n type: 'shell',\n task: task_name,\n };\n\n const task = new vscode.Task(\n definition,\n vscode.TaskScope.Workspace,\n task_name,\n EXTENSION_NAME,\n execution,\n );\n\n await vscode.tasks.executeTask(task);\n}\n","import * as path from 'path';\nimport * as vscode from 'vscode';\n\nimport { pathExists, readJsonFile } from '../utils/fileUtils';\nimport { Builds, JsonLaunchConfig } from '../utils/types';\nimport { getLaunchConfigIndex } from '../utils/vscodeUtils';\n\nconst CONFIG_NAME = 'C/C++ Runner: Debug Session';\n\nexport async function runDebugger(\n activeFolder: string,\n workspaceFolder: string,\n buildMode: Builds,\n) {\n const uriWorkspaceFolder = vscode.Uri.file(workspaceFolder);\n const folder = vscode.workspace.getWorkspaceFolder(uriWorkspaceFolder);\n const launchPath = path.join(workspaceFolder, '.vscode', 'launch.json');\n\n const configJson: JsonLaunchConfig | undefined = readJsonFile(launchPath);\n\n if (!configJson) return;\n\n const configIdx = getLaunchConfigIndex(configJson, CONFIG_NAME);\n\n if (configIdx === undefined) return;\n\n const buildDir = path.join(activeFolder, 'build');\n const modeDir = path.join(buildDir, `${buildMode}`);\n\n if (!pathExists(modeDir)) return;\n\n if (\n !configJson.configurations === undefined ||\n !configJson.configurations[configIdx] === undefined\n )\n return;\n\n await vscode.debug.startDebugging(\n folder,\n configJson.configurations[configIdx] as vscode.DebugConfiguration,\n );\n}\n","import * as path from 'path';\r\nimport * as vscode from 'vscode';\r\n\r\nimport { pathExists } from '../utils/fileUtils';\r\nimport { Builds, OperatingSystems } from '../utils/types';\r\nimport { getProcessExecution } from '../utils/vscodeUtils';\r\n\r\nconst EXTENSION_NAME = 'C_Cpp_Runner';\r\n\r\nexport async function executeRunTask(\r\n activeFolder: string,\r\n buildMode: Builds,\r\n argumentsString: string | undefined,\r\n operatingSystem: OperatingSystems,\r\n) {\r\n const modeDir = path.join('build', buildMode);\r\n\r\n if (!pathExists(path.join(activeFolder, modeDir))) return;\r\n\r\n let executableName: string;\r\n let executablePath: string;\r\n\r\n if (operatingSystem === OperatingSystems.windows) {\r\n executableName = `out${buildMode}.exe`;\r\n executablePath = `.\\\\${path.join(modeDir, executableName)}`;\r\n } else {\r\n executableName = `out${buildMode}`;\r\n executablePath = `./${path.join(modeDir, executableName)}`;\r\n }\r\n\r\n let commandLine: string = '';\r\n const executablePathHasSpace = executablePath.includes(' ');\r\n\r\n if (executablePathHasSpace) {\r\n commandLine = `\"${executablePath}\"`;\r\n } else {\r\n commandLine = executablePath;\r\n }\r\n\r\n if (argumentsString) {\r\n commandLine += ` ${argumentsString.replace(/\"/g, '')}`;\r\n }\r\n\r\n if (!commandLine) return;\r\n\r\n const task_name = 'Run';\r\n\r\n const execution = getProcessExecution(\r\n operatingSystem,\r\n false,\r\n commandLine,\r\n activeFolder,\r\n );\r\n\r\n const definition = {\r\n type: 'shell',\r\n task: task_name,\r\n };\r\n\r\n const task = new vscode.Task(\r\n definition,\r\n vscode.TaskScope.Workspace,\r\n task_name,\r\n EXTENSION_NAME,\r\n execution,\r\n );\r\n\r\n await vscode.tasks.executeTask(task);\r\n}\r\n","import * as path from 'path';\nimport * as vscode from 'vscode';\n\nimport { executeBuildTask } from './executor/builder';\nimport { executeCleanTask } from './executor/cleaner';\nimport { runDebugger } from './executor/debugger';\nimport { executeRunTask } from './executor/runner';\nimport { folderHandler } from './handler/folderHandler';\nimport { modeHandler } from './handler/modeHandler';\nimport {\n\tupdateBuildStatus,\n\tupdateCleanStatus,\n\tupdateDebugStatus,\n\tupdateFolderStatus,\n\tupdateModeStatus,\n\tupdateRunStatus,\n} from './items/statusBarItems';\nimport { LaunchProvider } from './provider/launchProvider';\nimport { PropertiesProvider } from './provider/propertiesProvider';\nimport { SettingsProvider } from './provider/settingsProvider';\nimport { foldersInDir, mkdirRecursive, pathExists } from './utils/fileUtils';\nimport { Builds } from './utils/types';\nimport {\n\tcreateStatusBarItem,\n\tdisposeItem,\n\tgetActivationState,\n\tisCmakeProject,\n\tsetContextValue,\n\tupdateActivationState,\n} from './utils/vscodeUtils';\n\nlet folderContextMenuDisposable: vscode.Disposable | undefined;\nlet commandHandlerDisposable: vscode.Disposable | undefined;\nlet commandToggleStateDisposable: vscode.Disposable | undefined;\nlet commandFolderDisposable: vscode.Disposable | undefined;\nlet commandModeDisposable: vscode.Disposable | undefined;\nlet commandBuildDisposable: vscode.Disposable | undefined;\nlet commandRunDisposable: vscode.Disposable | undefined;\nlet commandBuildSingleFileDisposable: vscode.Disposable | undefined;\nlet commandRunSingleFileDisposable: vscode.Disposable | undefined;\nlet commandDebugSingleFileDisposable: vscode.Disposable | undefined;\nlet commandDebugDisposable: vscode.Disposable | undefined;\nlet commandCleanDisposable: vscode.Disposable | undefined;\nlet commandArgumentDisposable: vscode.Disposable | undefined;\nlet commandResetDisposable: vscode.Disposable | undefined;\nlet eventConfigurationDisposable: vscode.Disposable | undefined;\nlet eventRenameFilesDisposable: vscode.Disposable | undefined;\nlet eventDeleteFilesDisposable: vscode.Disposable | undefined;\n\nlet settingsProvider: SettingsProvider | undefined;\nlet launchProvider: LaunchProvider | undefined;\nlet propertiesProvider: PropertiesProvider | undefined;\n\nlet folderStatusBar: vscode.StatusBarItem | undefined;\nlet modeStatusBar: vscode.StatusBarItem | undefined;\nlet buildStatusBar: vscode.StatusBarItem | undefined;\nlet runStatusBar: vscode.StatusBarItem | undefined;\nlet debugStatusBar: vscode.StatusBarItem | undefined;\nlet cleanStatusBar: vscode.StatusBarItem | undefined;\nlet argumentsString: string | undefined;\n\nlet workspaceFolder: string | undefined;\nlet activeFolder: string | undefined;\nlet buildMode: Builds = Builds.debug;\nlet showStatusBarItems: boolean = true;\nlet createExtensionFiles: boolean = true;\n\nconst EXTENSION_NAME = 'C_Cpp_Runner';\n\nexport let extensionContext: vscode.ExtensionContext | undefined;\nexport let extensionState: vscode.Memento | undefined;\nexport let extensionPath: string | undefined;\n\nexport function activate(context: vscode.ExtensionContext) {\n if (\n !vscode.workspace.workspaceFolders ||\n vscode.workspace.workspaceFolders.length === 0\n ) {\n return;\n }\n\n if (\n !vscode.workspace.workspaceFolders[0] ||\n !vscode.workspace.workspaceFolders[0].uri\n ) {\n return;\n }\n\n if (vscode.workspace.workspaceFolders.length === 1) {\n workspaceFolder = vscode.workspace.workspaceFolders[0].uri.fsPath;\n }\n\n const cmakeFileFound = isCmakeProject();\n\n if (cmakeFileFound) {\n showStatusBarItems = false;\n createExtensionFiles = false;\n }\n\n extensionContext = context;\n extensionPath = context.extensionPath;\n extensionState = context.workspaceState;\n\n setContextValue(`${EXTENSION_NAME}:activatedExtension`, true);\n updateActivationState(true);\n\n initFolderStatusBar();\n initModeStatusBar();\n initBuildStatusBar();\n initRunStatusBar();\n initDebugStatusBar();\n initCleanStatusBar();\n\n initBuildSingleFile();\n initRunSingleFile();\n initDebugSingleFile();\n\n initWorkspaceProvider();\n initWorkspaceDisposables();\n initEventListener();\n}\n\nexport function deactivate() {\n setContextValue(`${EXTENSION_NAME}:activatedExtension`, false);\n updateActivationState(false);\n\n disposeItem(folderStatusBar);\n disposeItem(modeStatusBar);\n disposeItem(buildStatusBar);\n disposeItem(runStatusBar);\n disposeItem(debugStatusBar);\n disposeItem(cleanStatusBar);\n disposeItem(folderContextMenuDisposable);\n disposeItem(commandHandlerDisposable);\n disposeItem(commandToggleStateDisposable);\n disposeItem(commandFolderDisposable);\n disposeItem(commandModeDisposable);\n disposeItem(commandBuildDisposable);\n disposeItem(commandRunDisposable);\n disposeItem(commandBuildSingleFileDisposable);\n disposeItem(commandRunSingleFileDisposable);\n disposeItem(commandDebugSingleFileDisposable);\n disposeItem(commandDebugDisposable);\n disposeItem(commandCleanDisposable);\n disposeItem(commandArgumentDisposable);\n disposeItem(commandResetDisposable);\n disposeItem(eventConfigurationDisposable);\n disposeItem(eventDeleteFilesDisposable);\n disposeItem(eventRenameFilesDisposable);\n}\n\nfunction initWorkspaceProvider() {\n if (!workspaceFolder || !createExtensionFiles || !activeFolder) return;\n\n if (!settingsProvider) {\n settingsProvider = new SettingsProvider(workspaceFolder, activeFolder);\n }\n\n if (!propertiesProvider) {\n propertiesProvider = new PropertiesProvider(\n settingsProvider,\n workspaceFolder,\n activeFolder,\n );\n }\n\n if (!launchProvider) {\n launchProvider = new LaunchProvider(\n settingsProvider,\n workspaceFolder,\n activeFolder,\n );\n }\n}\n\nfunction initWorkspaceDisposables() {\n initArgumentParser();\n initContextMenuDisposable();\n initReset();\n initToggleDisposable();\n}\n\nfunction initToggleDisposable() {\n if (commandToggleStateDisposable) return;\n\n commandToggleStateDisposable = vscode.commands.registerCommand(\n `${EXTENSION_NAME}.toggleExtensionState`,\n () => {\n showStatusBarItems = !showStatusBarItems;\n toggleStatusBarItems();\n createExtensionFiles = !createExtensionFiles;\n if (createExtensionFiles) {\n initWorkspaceProvider();\n initWorkspaceDisposables();\n\n settingsProvider?.createFileData();\n propertiesProvider?.createFileData();\n }\n\n const extensionIsDisabled = !showStatusBarItems && !createExtensionFiles;\n\n if (extensionIsDisabled) {\n setContextValue(\n `${EXTENSION_NAME}:activatedExtension`,\n !extensionIsDisabled,\n );\n updateActivationState(!extensionIsDisabled);\n } else {\n setContextValue(\n `${EXTENSION_NAME}:activatedExtension`,\n !extensionIsDisabled,\n );\n updateActivationState(!extensionIsDisabled);\n }\n },\n );\n\n extensionContext?.subscriptions.push(commandToggleStateDisposable);\n}\n\nfunction initContextMenuDisposable() {\n if (folderContextMenuDisposable) return;\n\n folderContextMenuDisposable = vscode.commands.registerCommand(\n `${EXTENSION_NAME}.folderContextMenu`,\n async (clickedUriItem: vscode.Uri, selectedUriItems: vscode.Uri[]) => {\n if (selectedUriItems.length > 1) return;\n\n const workspaceItem = vscode.workspace.getWorkspaceFolder(clickedUriItem);\n\n if (!workspaceItem) return;\n\n activeFolder = clickedUriItem.fsPath;\n workspaceFolder = workspaceItem.uri.fsPath;\n updateFolderData();\n },\n );\n\n extensionContext?.subscriptions.push(folderContextMenuDisposable);\n}\n\nfunction initEventListener() {\n initConfigurationChangeDisposable();\n initFileRenameDisposable();\n initFileDeleteDisposable();\n}\n\nfunction initConfigurationChangeDisposable() {\n if (eventConfigurationDisposable) return;\n\n eventConfigurationDisposable = vscode.workspace.onDidChangeConfiguration(\n (e: vscode.ConfigurationChangeEvent) => {\n const isChanged = e.affectsConfiguration(EXTENSION_NAME);\n const extensionIsActive = getActivationState();\n\n if (isChanged && extensionIsActive) {\n settingsProvider?.updateFileContent();\n propertiesProvider?.updateFileContent();\n launchProvider?.updateFileContent();\n }\n },\n );\n\n extensionContext?.subscriptions.push(eventConfigurationDisposable);\n}\n\nfunction initFileRenameDisposable() {\n if (eventRenameFilesDisposable) return;\n\n eventRenameFilesDisposable = vscode.workspace.onDidRenameFiles(\n (e: vscode.FileRenameEvent) => {\n const extensionIsActive = getActivationState();\n if (!extensionIsActive) return;\n\n e.files.forEach((file) => {\n const oldName = file.oldUri.fsPath;\n const newName = file.newUri.fsPath;\n\n if (workspaceFolder && oldName === workspaceFolder) {\n workspaceFolder = newName;\n updateFolderData();\n } else if (activeFolder && oldName === activeFolder) {\n activeFolder = newName;\n updateFolderData();\n }\n });\n },\n );\n\n extensionContext?.subscriptions.push(eventRenameFilesDisposable);\n}\n\nfunction initFileDeleteDisposable() {\n if (!eventDeleteFilesDisposable) return;\n\n eventDeleteFilesDisposable = vscode.workspace.onDidDeleteFiles(\n (e: vscode.FileDeleteEvent) => {\n const extensionIsActive = getActivationState();\n if (!extensionIsActive) return;\n\n e.files.forEach((file) => {\n const oldName = file.fsPath;\n\n if (workspaceFolder && oldName === workspaceFolder) {\n workspaceFolder = undefined;\n updateFolderData();\n updateFolderStatus(\n folderStatusBar,\n workspaceFolder,\n activeFolder,\n showStatusBarItems,\n );\n } else if (activeFolder && oldName === activeFolder) {\n activeFolder = undefined;\n updateFolderData();\n updateFolderStatus(\n folderStatusBar,\n workspaceFolder,\n activeFolder,\n showStatusBarItems,\n );\n }\n });\n },\n );\n\n extensionContext?.subscriptions.push(eventDeleteFilesDisposable);\n}\n\nfunction toggleStatusBarItems() {\n if (showStatusBarItems) {\n folderStatusBar?.show();\n modeStatusBar?.show();\n buildStatusBar?.show();\n runStatusBar?.show();\n debugStatusBar?.show();\n cleanStatusBar?.show();\n } else {\n folderStatusBar?.hide();\n modeStatusBar?.hide();\n buildStatusBar?.hide();\n runStatusBar?.hide();\n debugStatusBar?.hide();\n cleanStatusBar?.hide();\n }\n}\n\nfunction updateFolderData() {\n initWorkspaceProvider();\n initWorkspaceDisposables();\n argumentsString = '';\n\n if (workspaceFolder && activeFolder) {\n if (settingsProvider) {\n settingsProvider.updateFolderData(workspaceFolder);\n settingsProvider.updateFileContent();\n\n if (propertiesProvider) {\n propertiesProvider.updateFolderData(workspaceFolder);\n }\n\n if (launchProvider) {\n launchProvider.updateFolderData(workspaceFolder, activeFolder);\n launchProvider.updateModeData(buildMode);\n launchProvider?.updateArgumentsData(argumentsString);\n launchProvider.updateFileContent();\n }\n }\n }\n\n if (folderStatusBar) {\n updateFolderStatus(\n folderStatusBar,\n workspaceFolder,\n activeFolder,\n showStatusBarItems,\n );\n }\n if (modeStatusBar) {\n updateModeStatus(\n modeStatusBar,\n showStatusBarItems,\n activeFolder,\n buildMode,\n );\n }\n if (buildStatusBar) {\n updateBuildStatus(buildStatusBar, showStatusBarItems, activeFolder);\n }\n if (runStatusBar) {\n updateRunStatus(runStatusBar, showStatusBarItems, activeFolder);\n }\n if (cleanStatusBar) {\n updateCleanStatus(cleanStatusBar, showStatusBarItems, activeFolder);\n }\n if (debugStatusBar) {\n updateDebugStatus(debugStatusBar, showStatusBarItems, activeFolder);\n }\n}\n\nfunction initFolderStatusBar() {\n if (folderStatusBar) return;\n\n folderStatusBar = createStatusBarItem();\n extensionContext?.subscriptions.push(folderStatusBar);\n\n const workspaceFolders = vscode.workspace.workspaceFolders;\n if (workspaceFolders) {\n if (workspaceFolders.length === 1) {\n if (!workspaceFolders[0] || !workspaceFolders[0].uri.fsPath) return;\n\n const workspaceFolderFs = workspaceFolders[0].uri.fsPath;\n const folders = foldersInDir(workspaceFolderFs);\n if (folders.length === 0) {\n workspaceFolder = workspaceFolderFs;\n activeFolder = workspaceFolderFs;\n updateFolderData();\n } else {\n updateFolderStatus(\n folderStatusBar,\n workspaceFolder,\n activeFolder,\n showStatusBarItems,\n );\n }\n } else {\n updateFolderStatus(\n folderStatusBar,\n workspaceFolder,\n activeFolder,\n showStatusBarItems,\n );\n }\n }\n\n if (commandFolderDisposable) return;\n\n const commandName = `${EXTENSION_NAME}.folder`;\n commandFolderDisposable = vscode.commands.registerCommand(\n commandName,\n async () => {\n const ret = await folderHandler(settingsProvider);\n if (ret && ret.activeFolder && ret.workspaceFolder) {\n activeFolder = ret.activeFolder;\n workspaceFolder = ret.workspaceFolder;\n updateFolderData();\n }\n },\n );\n\n folderStatusBar.command = commandName;\n extensionContext?.subscriptions.push(commandFolderDisposable);\n}\n\nfunction initModeStatusBar() {\n if (modeStatusBar) return;\n\n modeStatusBar = createStatusBarItem();\n extensionContext?.subscriptions.push(modeStatusBar);\n updateModeStatus(modeStatusBar, showStatusBarItems, activeFolder, buildMode);\n\n const commandName = `${EXTENSION_NAME}.mode`;\n commandModeDisposable = vscode.commands.registerCommand(\n commandName,\n async () => {\n const pickedMode = await modeHandler();\n if (pickedMode) {\n buildMode = pickedMode;\n\n updateModeStatus(\n modeStatusBar,\n showStatusBarItems,\n activeFolder,\n buildMode,\n );\n\n if (!launchProvider) return;\n launchProvider.updateModeData(buildMode);\n launchProvider.updateFileContent();\n }\n },\n );\n\n modeStatusBar.command = commandName;\n extensionContext?.subscriptions.push(commandModeDisposable);\n}\n\nfunction initArgumentParser() {\n if (commandArgumentDisposable) return;\n\n const commandName = `${EXTENSION_NAME}.args`;\n\n commandArgumentDisposable = vscode.commands.registerCommand(\n commandName,\n async () => {\n argumentsString = await vscode.window.showInputBox();\n launchProvider?.updateArgumentsData(argumentsString);\n launchProvider?.updateFileContent();\n },\n );\n\n extensionContext?.subscriptions.push(commandArgumentDisposable);\n}\n\nfunction initReset() {\n if (commandResetDisposable) return;\n\n const commandName = `${EXTENSION_NAME}.resetLocalSettings`;\n\n commandResetDisposable = vscode.commands.registerCommand(\n commandName,\n async () => {\n settingsProvider?.reset();\n propertiesProvider?.updateFileContent();\n launchProvider?.updateFileContent();\n },\n );\n\n extensionContext?.subscriptions.push(commandResetDisposable);\n}\n\nfunction initBuildStatusBar() {\n if (buildStatusBar) return;\n\n buildStatusBar = createStatusBarItem();\n extensionContext?.subscriptions.push(buildStatusBar);\n updateBuildStatus(buildStatusBar, showStatusBarItems, activeFolder);\n\n const commandName = `${EXTENSION_NAME}.build`;\n commandBuildDisposable = vscode.commands.registerCommand(\n commandName,\n async () => buildTaskCallback(false),\n );\n buildStatusBar.command = commandName;\n extensionContext?.subscriptions.push(commandBuildDisposable);\n}\n\nfunction initRunStatusBar() {\n if (runStatusBar) return;\n\n runStatusBar = createStatusBarItem();\n extensionContext?.subscriptions.push(runStatusBar);\n updateRunStatus(runStatusBar, showStatusBarItems, activeFolder);\n\n const commandName = `${EXTENSION_NAME}.run`;\n commandRunDisposable = vscode.commands.registerCommand(\n commandName,\n async () => runTaskCallback(),\n );\n\n runStatusBar.command = commandName;\n extensionContext?.subscriptions.push(commandRunDisposable);\n}\n\nfunction initDebugStatusBar() {\n if (debugStatusBar) return;\n\n debugStatusBar = createStatusBarItem();\n extensionContext?.subscriptions.push(debugStatusBar);\n updateDebugStatus(debugStatusBar, showStatusBarItems, activeFolder);\n\n const commandName = `${EXTENSION_NAME}.debug`;\n commandDebugDisposable = vscode.commands.registerCommand(commandName, () =>\n debugTaskCallback(),\n );\n\n debugStatusBar.command = commandName;\n extensionContext?.subscriptions.push(commandDebugDisposable);\n}\n\nasync function initCleanStatusBar() {\n if (cleanStatusBar) return;\n\n cleanStatusBar = createStatusBarItem();\n extensionContext?.subscriptions.push(cleanStatusBar);\n updateCleanStatus(cleanStatusBar, showStatusBarItems, activeFolder);\n\n const commandName = `${EXTENSION_NAME}.clean`;\n commandCleanDisposable = vscode.commands.registerCommand(\n commandName,\n async () => {\n cleanTaskCallback();\n },\n );\n\n cleanStatusBar.command = commandName;\n extensionContext?.subscriptions.push(commandCleanDisposable);\n}\n\nfunction initProviderBasedOnSingleFile() {\n const currentFile = vscode.window.activeTextEditor?.document.fileName;\n if (!currentFile) return;\n const currentFolder = path.dirname(currentFile);\n if (activeFolder !== currentFolder) {\n activeFolder = currentFolder;\n initWorkspaceProvider();\n updateFolderData();\n }\n}\n\nfunction initBuildSingleFile() {\n const commandName = `${EXTENSION_NAME}.buildSingleFile`;\n commandBuildSingleFileDisposable = vscode.commands.registerCommand(\n commandName,\n async () => {\n initProviderBasedOnSingleFile();\n buildTaskCallback(true);\n },\n );\n extensionContext?.subscriptions.push(commandBuildSingleFileDisposable);\n}\n\nfunction initRunSingleFile() {\n const commandName = `${EXTENSION_NAME}.runSingleFile`;\n commandRunSingleFileDisposable = vscode.commands.registerCommand(\n commandName,\n async () => {\n initProviderBasedOnSingleFile();\n runTaskCallback();\n },\n );\n extensionContext?.subscriptions.push(commandRunSingleFileDisposable);\n}\n\nfunction initDebugSingleFile() {\n const commandName = `${EXTENSION_NAME}.debugSingleFile`;\n commandDebugSingleFileDisposable = vscode.commands.registerCommand(\n commandName,\n () => {\n initProviderBasedOnSingleFile();\n debugTaskCallback();\n },\n );\n extensionContext?.subscriptions.push(commandDebugSingleFileDisposable);\n}\n\nasync function buildTaskCallback(singleFileBuild: boolean) {\n if (!activeFolder) return;\n\n const buildDir = path.join(activeFolder, 'build');\n const modeDir = path.join(buildDir, `${buildMode}`);\n\n if (!pathExists(modeDir)) mkdirRecursive(modeDir);\n\n if (!settingsProvider) return;\n\n await executeBuildTask(\n settingsProvider,\n activeFolder,\n buildMode,\n singleFileBuild,\n );\n}\n\nasync function runTaskCallback() {\n if (!activeFolder) return;\n\n const buildDir = path.join(activeFolder, 'build');\n const modeDir = path.join(buildDir, `${buildMode}`);\n\n if (!pathExists(modeDir)) return;\n\n if (!settingsProvider) {\n return;\n }\n\n await executeRunTask(\n activeFolder,\n buildMode,\n argumentsString,\n settingsProvider.operatingSystem,\n );\n}\n\nasync function cleanTaskCallback() {\n if (\n !settingsProvider ||\n !settingsProvider.operatingSystem ||\n !activeFolder ||\n !workspaceFolder\n ) {\n return;\n }\n\n await executeCleanTask(\n activeFolder,\n buildMode,\n workspaceFolder,\n settingsProvider.operatingSystem,\n );\n}\n\nfunction debugTaskCallback() {\n if (!activeFolder) return;\n if (!workspaceFolder) return;\n\n runDebugger(activeFolder, workspaceFolder, buildMode);\n}\n","import * as path from 'path';\r\nimport * as vscode from 'vscode';\r\n\r\nimport { SettingsProvider } from '../provider/settingsProvider';\r\nimport {\r\n\texcludePatternFromList,\r\n\tgetDirectoriesRecursive,\r\n\tincludePatternFromList,\r\n\tnaturalSort,\r\n\treplaceBackslashes,\r\n} from '../utils/fileUtils';\r\n\r\nexport async function folderHandler(\r\n settingsProvider: SettingsProvider | undefined,\r\n) {\r\n const workspacesFolders = vscode.workspace.workspaceFolders;\r\n\r\n if (!workspacesFolders) return;\r\n\r\n let foldersList: string[] = [];\r\n workspacesFolders.forEach((folder) => {\r\n const directories = [folder.name];\r\n const recursiveDirectories = getDirectoriesRecursive(folder.uri.fsPath);\r\n if (recursiveDirectories) {\r\n directories.push(...recursiveDirectories);\r\n }\r\n\r\n directories.forEach((dir) => {\r\n let text = dir.replace(folder.uri.fsPath, folder.name);\r\n text = replaceBackslashes(text);\r\n foldersList.push(text);\r\n });\r\n\r\n if (settingsProvider) {\r\n foldersList = includePatternFromList(\r\n settingsProvider.includeSearch,\r\n foldersList,\r\n );\r\n }\r\n\r\n if (settingsProvider) {\r\n foldersList = excludePatternFromList(\r\n settingsProvider.excludeSearch,\r\n foldersList,\r\n );\r\n } else {\r\n foldersList = excludePatternFromList(\r\n SettingsProvider.DEFAULT_EXCLUDE_SEARCH,\r\n foldersList,\r\n );\r\n }\r\n\r\n // XXX: Quick fix for double folder names due to include pattern\r\n const foldersSet = new Set(foldersList);\r\n foldersList = Array.from(foldersSet);\r\n foldersList = naturalSort(foldersList);\r\n });\r\n\r\n const activeFolderStr = await vscode.window.showQuickPick(foldersList, {\r\n placeHolder: 'Select folder to init the C/C++ Runner extension.',\r\n });\r\n let activeFolder: string | undefined;\r\n let workspaceFolder: string | undefined;\r\n\r\n if (activeFolderStr) {\r\n const folderSplit = activeFolderStr.split('/');\r\n const workspaceName = folderSplit[0];\r\n workspacesFolders.forEach((folder) => {\r\n if (folder.name === workspaceName) {\r\n workspaceFolder = folder.uri.fsPath;\r\n }\r\n });\r\n\r\n if (workspaceFolder) {\r\n activeFolder = path.join(workspaceFolder, ...folderSplit.slice(1));\r\n }\r\n }\r\n\r\n return { activeFolder, workspaceFolder };\r\n}\r\n","import * as vscode from 'vscode';\n\nimport { Builds } from '../utils/types';\n\nexport async function modeHandler() {\n const combinations = [Builds.debug, Builds.release];\n\n const pickedCombination = await vscode.window.showQuickPick(combinations, {\n placeHolder: 'Select a build mode',\n });\n\n if (!pickedCombination) return undefined;\n\n const pickedMode = pickedCombination.includes(Builds.debug)\n ? Builds.debug\n : Builds.release;\n\n return pickedMode;\n}\n","import * as path from 'path';\r\nimport * as vscode from 'vscode';\r\n\r\nimport { replaceBackslashes } from '../utils/fileUtils';\r\nimport { Builds } from '../utils/types';\r\n\r\nexport function updateFolderStatus(\r\n status: vscode.StatusBarItem | undefined,\r\n workspaceFolder: string | undefined,\r\n activeFolder: string | undefined,\r\n showStatusBarItems: boolean,\r\n) {\r\n if (!status) return;\r\n\r\n if (workspaceFolder && activeFolder) {\r\n const workspaceName = path.basename(workspaceFolder);\r\n let text = activeFolder.replace(workspaceFolder, workspaceName);\r\n\r\n text = replaceBackslashes(text);\r\n const dirs = text.split('/');\r\n\r\n if (dirs.length > 2) {\r\n const lastElement = dirs.length - 1;\r\n text = `${dirs[0]}/.../${dirs[lastElement]}`;\r\n }\r\n\r\n status.color = '';\r\n status.text = `$(folder-active) ${text}`;\r\n } else {\r\n status.color = '#ffff00';\r\n status.text = '$(alert) Select folder.';\r\n }\r\n\r\n if (showStatusBarItems) {\r\n status.show();\r\n } else {\r\n status.hide();\r\n }\r\n}\r\n\r\nexport function updateModeStatus(\r\n status: vscode.StatusBarItem | undefined,\r\n showStatusBarItems: boolean,\r\n activeFolder: string | undefined,\r\n buildMode: Builds,\r\n) {\r\n if (!status) return;\r\n\r\n status.text = `$(tools) ${buildMode}`;\r\n toggleShow(status, showStatusBarItems, activeFolder);\r\n}\r\n\r\nexport function updateBuildStatus(\r\n status: vscode.StatusBarItem | undefined,\r\n showStatusBarItems: boolean,\r\n activeFolder: string | undefined,\r\n) {\r\n if (!status) return;\r\n\r\n status.text = `$(gear)`;\r\n toggleShow(status, showStatusBarItems, activeFolder);\r\n}\r\n\r\nexport function updateRunStatus(\r\n status: vscode.StatusBarItem | undefined,\r\n showStatusBarItems: boolean,\r\n activeFolder: string | undefined,\r\n) {\r\n if (!status) return;\r\n\r\n status.text = `$(play)`;\r\n toggleShow(status, showStatusBarItems, activeFolder);\r\n}\r\n\r\nexport function updateDebugStatus(\r\n status: vscode.StatusBarItem | undefined,\r\n showStatusBarItems: boolean,\r\n activeFolder: string | undefined,\r\n) {\r\n if (!status) return;\r\n\r\n status.text = `$(bug)`;\r\n toggleShow(status, showStatusBarItems, activeFolder);\r\n}\r\n\r\nexport function updateCleanStatus(\r\n status: vscode.StatusBarItem | undefined,\r\n showStatusBarItems: boolean,\r\n activeFolder: string | undefined,\r\n) {\r\n if (!status) return;\r\n\r\n status.text = `$(trash)`;\r\n toggleShow(status, showStatusBarItems, activeFolder);\r\n}\r\n\r\nfunction toggleShow(\r\n status: vscode.StatusBarItem | undefined,\r\n showStatusBarItems: boolean,\r\n activeFolder: string | undefined,\r\n) {\r\n if (!status) return;\r\n\r\n if (showStatusBarItems && activeFolder) {\r\n status.show();\r\n } else {\r\n status.hide();\r\n }\r\n}\r\n","import * as path from 'path';\nimport * as vscode from 'vscode';\n\nimport { getActivationState } from '../utils/vscodeUtils';\n\nexport abstract class CallbackProvider {\n protected _outputPath: string;\n protected _vscodeDirectory: string;\n protected _fileWatcherOnDelete: vscode.FileSystemWatcher | undefined;\n protected _fileWatcherOnChange: vscode.FileSystemWatcher | undefined;\n\n constructor(\n protected _workspaceFolder: string,\n protected templateFileName: string | undefined,\n protected outputFileName: string,\n ) {\n this._vscodeDirectory = path.join(this._workspaceFolder, '.vscode');\n this._outputPath = path.join(this._vscodeDirectory, outputFileName);\n\n this.createFileWatcher();\n }\n\n protected createFileWatcher() {\n const filePattern = new vscode.RelativePattern(\n this._workspaceFolder,\n '.vscode/**',\n );\n\n this._fileWatcherOnDelete = vscode.workspace.createFileSystemWatcher(\n filePattern,\n true,\n true,\n false,\n );\n\n this._fileWatcherOnChange = vscode.workspace.createFileSystemWatcher(\n filePattern,\n true,\n false,\n true,\n );\n\n this._fileWatcherOnDelete.onDidDelete((e: vscode.Uri) => {\n const pathName = e.fsPath;\n if (pathName === this._vscodeDirectory || pathName === this._outputPath) {\n const extensionIsActive = getActivationState();\n if (extensionIsActive) this.deleteCallback();\n }\n });\n\n this._fileWatcherOnChange.onDidChange((e: vscode.Uri) => {\n const pathName = e.fsPath;\n if (pathName === this._outputPath) {\n this.changeCallback();\n }\n });\n\n return;\n }\n\n public abstract deleteCallback(): void;\n\n public abstract changeCallback(): void;\n}\n","import * as path from 'path';\n\nimport { extensionPath } from '../extension';\nimport { mkdirRecursive, pathExists } from '../utils/fileUtils';\nimport { getActivationState } from '../utils/vscodeUtils';\nimport { CallbackProvider } from './callbackProvider';\n\nexport abstract class FileProvider extends CallbackProvider {\n protected readonly templatePath: string | undefined;\n\n constructor(\n workspaceFolder: string,\n templateFileName: string | undefined,\n outputFileName: string,\n ) {\n super(workspaceFolder, templateFileName, outputFileName);\n\n const templateDirectory = path.join(\n extensionPath ? extensionPath : '',\n 'templates',\n );\n\n if (templateFileName) {\n this.templatePath = path.join(templateDirectory, templateFileName);\n }\n\n if (!pathExists(this._vscodeDirectory)) {\n mkdirRecursive(this._vscodeDirectory);\n }\n }\n\n protected abstract updateCheck(): boolean;\n\n public abstract writeFileData(): void;\n\n public createFileData() {\n if (!pathExists(this._vscodeDirectory)) {\n mkdirRecursive(this._vscodeDirectory);\n }\n\n this.writeFileData();\n }\n\n public updateFileContent() {\n this.writeFileData();\n }\n\n public deleteCallback() {\n const extensionIsActive = getActivationState();\n if (extensionIsActive) this.createFileData();\n }\n\n protected _updateFolderData(_workspaceFolder: string) {\n this._workspaceFolder = _workspaceFolder;\n this._vscodeDirectory = path.join(this._workspaceFolder, '.vscode');\n this._outputPath = path.join(this._vscodeDirectory, this.outputFileName);\n this.createFileWatcher();\n }\n}\n","import * as path from 'path';\n\nimport {\n\tgetOccurenceIndicies,\n\tpathExists,\n\treadJsonFile,\n\treplaceBackslashes,\n\twriteJsonFile,\n} from '../utils/fileUtils';\nimport {\n\tArchitectures,\n\tBuilds,\n\tDebuggers,\n\tJsonLaunchConfig,\n\tOperatingSystems,\n} from '../utils/types';\nimport { getLaunchConfigIndex } from '../utils/vscodeUtils';\nimport { FileProvider } from './fileProvider';\nimport { SettingsProvider } from './settingsProvider';\n\nconst TEMPLATE_FILENAME = 'launch_template.json';\nconst OUTPUT_FILENAME = 'launch.json';\nconst CONFIG_NAME = 'C/C++ Runner: Debug Session';\n\nexport class LaunchProvider extends FileProvider {\n public buildMode: Builds = Builds.debug;\n public argumentsString: string[] | undefined;\n\n constructor(\n protected settings: SettingsProvider,\n public workspaceFolder: string,\n public activeFolder: string,\n ) {\n super(workspaceFolder, TEMPLATE_FILENAME, OUTPUT_FILENAME);\n\n if (!this.activeFolder) {\n this.activeFolder = this.workspaceFolder;\n }\n\n const updateRequired = this.updateCheck();\n\n if (updateRequired && activeFolder) {\n this.createFileData();\n }\n }\n\n protected updateCheck() {\n if (!pathExists(this._outputPath)) {\n return true;\n } else {\n const configJson: JsonLaunchConfig = readJsonFile(this._outputPath);\n\n if (configJson) {\n configJson.configurations.forEach((config) => {\n const triplet: string = config.name;\n if (triplet.includes(this.settings.operatingSystem)) {\n return true;\n }\n });\n }\n }\n\n return false;\n }\n\n public writeFileData() {\n if (!this.workspaceFolder && !this.activeFolder) return;\n\n if (!this.activeFolder) {\n this.activeFolder = this.workspaceFolder;\n }\n\n if (!this.templatePath) return;\n\n const launchTemplate: JsonLaunchConfig | undefined = readJsonFile(\n this.templatePath,\n );\n\n if (!launchTemplate) return;\n\n if (\n this.settings.operatingSystem === OperatingSystems.windows &&\n (this.settings.useMsvc || this.settings.cCompilerPath.includes('clang'))\n ) {\n this.msvcBasedDebugger(launchTemplate);\n delete launchTemplate.configurations[0]?.externalConsole;\n } else if (\n this.settings.operatingSystem === OperatingSystems.windows &&\n launchTemplate.configurations[0]\n ) {\n this.unixBasedDebugger(launchTemplate);\n delete launchTemplate.configurations[0]?.console;\n launchTemplate.configurations[0].externalConsole = true;\n } else {\n this.unixBasedDebugger(launchTemplate);\n delete launchTemplate.configurations[0]?.console;\n }\n\n const launchLocal: JsonLaunchConfig | undefined = readJsonFile(\n this._outputPath,\n );\n\n if (!launchLocal) {\n writeJsonFile(this._outputPath, launchTemplate);\n return;\n }\n\n let configIdx = getLaunchConfigIndex(launchLocal, CONFIG_NAME);\n\n if (configIdx === undefined) {\n configIdx = launchLocal.configurations.length;\n }\n\n if (!launchTemplate.configurations[0]) return;\n\n if (launchLocal && launchLocal.configurations.length === configIdx) {\n launchLocal.configurations.push(launchTemplate.configurations[0]);\n } else {\n if (!launchLocal.configurations[configIdx]) return;\n\n launchLocal.configurations[configIdx] = launchTemplate.configurations[0];\n }\n\n writeJsonFile(this._outputPath, launchLocal);\n }\n\n public updateFolderData(workspaceFolder: string, activeFolder: string) {\n this.activeFolder = activeFolder;\n super._updateFolderData(workspaceFolder);\n }\n\n public updateModeData(buildMode: Builds) {\n this.buildMode = buildMode;\n }\n\n public updateArgumentsData(argumentsString: string | undefined) {\n if (argumentsString === undefined) return;\n\n if (argumentsString === '') {\n this.argumentsString = [];\n return;\n }\n\n if (!argumentsString.includes(' ')) {\n this.argumentsString = [argumentsString];\n }\n\n if (!argumentsString.includes('\"')) {\n this.argumentsString = argumentsString.split(' ');\n return;\n }\n\n const indicies = getOccurenceIndicies(argumentsString, '\"');\n this.argumentsString = [];\n\n const strsToReplace: string[] = [];\n if (!indicies || indicies.length < 2) return;\n\n for (let i = 0; i < indicies.length; i += 2) {\n const sub = argumentsString.slice(\n (indicies[i] as number) + 1,\n indicies[i + 1],\n );\n this.argumentsString.push(sub);\n strsToReplace.push(sub);\n }\n\n for (const strReplace of strsToReplace) {\n argumentsString = argumentsString.replace(strReplace, '');\n }\n\n argumentsString = argumentsString.replace(/\"/g, '');\n if (argumentsString.startsWith(' ')) {\n argumentsString = argumentsString.slice(1);\n }\n if (argumentsString.endsWith(' ')) {\n argumentsString = argumentsString.slice(0, argumentsString.length - 2);\n }\n\n this.argumentsString.push(\n ...argumentsString.split(' ').filter((str: string) => Boolean(str)),\n );\n\n this.argumentsString.map((str: string) => str.replace(/\"/g, ''));\n }\n\n public changeCallback() {\n const launchLocal: JsonLaunchConfig | undefined = readJsonFile(\n this._outputPath,\n );\n\n if (!launchLocal) return;\n\n const configIdx = getLaunchConfigIndex(launchLocal, CONFIG_NAME);\n\n if (configIdx !== undefined) {\n const currentConfig = launchLocal.configurations[configIdx];\n\n if (currentConfig === undefined) return;\n\n if (\n currentConfig.miDebuggerPath !== this.settings.debuggerPath &&\n currentConfig.miDebuggerPath\n ) {\n this.settings.debuggerPath = currentConfig.miDebuggerPath;\n\n if (\n currentConfig.miDebuggerPath.includes(Debuggers.gdb) ||\n currentConfig.miDebuggerPath.includes(Debuggers.lldb)\n ) {\n this.settings.debuggerPath = currentConfig.miDebuggerPath;\n }\n }\n } else {\n this.writeFileData();\n }\n }\n\n private msvcBasedDebugger(launchTemplate: JsonLaunchConfig) {\n if (launchTemplate.configurations[0] === undefined) return;\n\n launchTemplate.configurations[0].name = CONFIG_NAME;\n\n delete launchTemplate.configurations[0].MIMode;\n delete launchTemplate.configurations[0].miDebuggerPath;\n delete launchTemplate.configurations[0].setupCommands;\n\n launchTemplate.configurations[0].type = 'cppvsdbg';\n\n if (this.argumentsString) {\n launchTemplate.configurations[0].args = this.argumentsString;\n } else {\n launchTemplate.configurations[0].args = [];\n }\n\n launchTemplate.configurations[0].cwd = replaceBackslashes(\n this.activeFolder,\n );\n\n const debugPath = path.join(\n this.activeFolder,\n `build/${this.buildMode}/out${this.buildMode}`,\n );\n launchTemplate.configurations[0].program = replaceBackslashes(debugPath);\n\n return launchTemplate;\n }\n\n private unixBasedDebugger(launchTemplate: JsonLaunchConfig) {\n if (launchTemplate.configurations[0] === undefined) return;\n\n launchTemplate.configurations[0].name = CONFIG_NAME;\n if (this.settings.debuggerPath) {\n launchTemplate.configurations[0].MIMode =\n this.settings.debuggerPath.includes(Debuggers.gdb)\n ? Debuggers.gdb\n : Debuggers.lldb;\n launchTemplate.configurations[0].miDebuggerPath =\n this.settings.debuggerPath;\n } else {\n launchTemplate.configurations[0].MIMode =\n SettingsProvider.DEFAULT_DEBUGGER_PATH;\n launchTemplate.configurations[0].miDebuggerPath =\n SettingsProvider.DEFAULT_DEBUGGER_PATH;\n }\n\n if (OperatingSystems.mac === this.settings.operatingSystem) {\n launchTemplate.configurations[0].stopAtEntry = true;\n if (launchTemplate.configurations[0].setupCommands) {\n delete launchTemplate.configurations[0].setupCommands;\n }\n\n if (this.settings.architecure === Architectures.ARM64) {\n launchTemplate.configurations[0].type = 'lldb';\n\n if (launchTemplate.configurations[0].miDebuggerPath) {\n delete launchTemplate.configurations[0].miDebuggerPath;\n }\n }\n }\n\n if (this.argumentsString && this.argumentsString.length > 0) {\n launchTemplate.configurations[0].args = this.argumentsString;\n } else {\n launchTemplate.configurations[0].args = [];\n }\n\n if (this.settings.operatingSystem === OperatingSystems.windows) {\n launchTemplate.configurations[0].cwd = replaceBackslashes(\n this.activeFolder,\n );\n } else {\n launchTemplate.configurations[0].cwd = this.activeFolder;\n }\n\n const debugPath = path.join(\n this.activeFolder,\n `build/${this.buildMode}/out${this.buildMode}`,\n );\n if (this.settings.operatingSystem === OperatingSystems.windows) {\n launchTemplate.configurations[0].program = replaceBackslashes(debugPath);\n } else {\n launchTemplate.configurations[0].program = debugPath;\n }\n\n return launchTemplate;\n }\n}\n","import * as path from 'path';\n\nimport {\n\tpathExists,\n\treadJsonFile,\n\treplaceBackslashes,\n\twriteJsonFile,\n} from '../utils/fileUtils';\nimport { arraysEqual } from '../utils/general';\nimport { commandExists } from '../utils/systemUtils';\nimport {\n\tArchitectures,\n\tCompilerSystems,\n\tJsonPropertiesConfig,\n\tJsonPropertiesConfigEntry,\n\tOperatingSystems,\n} from '../utils/types';\nimport { FileProvider } from './fileProvider';\nimport { SettingsProvider } from './settingsProvider';\n\nconst TEMPLATE_FILENAME = 'properties_template.json';\nconst OUTPUT_FILENAME = 'c_cpp_properties.json';\nconst INCLUDE_PATTERN = '${workspaceFolder}/**';\n\nexport class PropertiesProvider extends FileProvider {\n protected lastConfig: JsonPropertiesConfig | undefined;\n constructor(\n protected settings: SettingsProvider,\n public workspaceFolder: string,\n public activeFolder: string | undefined,\n ) {\n super(workspaceFolder, TEMPLATE_FILENAME, OUTPUT_FILENAME);\n\n const updateRequired = this.updateCheck();\n\n if (updateRequired && activeFolder) {\n this.createFileData();\n }\n\n if (pathExists(this._outputPath)) {\n this.lastConfig = readJsonFile(this._outputPath);\n }\n }\n\n protected updateCheck() {\n if (!pathExists(this._outputPath)) return true;\n\n const currentConfig: JsonPropertiesConfig = readJsonFile(this._outputPath);\n\n if (!currentConfig) return true;\n\n const currentConfigEntry = currentConfig.configurations[0];\n\n if (currentConfigEntry === undefined) return true;\n\n const triplet: string = currentConfigEntry.name;\n if (!triplet.includes(this.settings.operatingSystem)) return true;\n\n if (\n this.settings.useMsvc &&\n !currentConfigEntry.intelliSenseMode.includes('msvc')\n ) {\n return true;\n }\n\n return false;\n }\n\n public async writeFileData() {\n let configLocal: JsonPropertiesConfig | undefined;\n\n if (!this.templatePath) return;\n\n if (!pathExists(this._outputPath)) {\n configLocal = readJsonFile(this.templatePath);\n } else {\n configLocal = readJsonFile(this._outputPath);\n }\n\n if (!configLocal) return;\n\n if (!this.settings.cCompilerPath && !this.settings.useMsvc) return;\n\n const os = this.settings.operatingSystem.toLowerCase();\n\n let arch: string;\n if (!this.settings.architecure) {\n arch = Architectures.x64;\n } else {\n arch = this.settings.architecure.toLowerCase();\n }\n\n let compiler: CompilerSystems;\n if (this.settings.useMsvc) {\n compiler = CompilerSystems.msvc;\n } else if (this.settings.cCompilerPath) {\n compiler = this.settings.cCompilerPath.toLowerCase().includes('gcc')\n ? CompilerSystems.gcc\n : CompilerSystems.clang;\n } else {\n return;\n }\n\n const triplet = `${os}-${compiler}-${arch}`;\n\n const configLocalEntry = configLocal.configurations[0];\n\n if (configLocalEntry === undefined) return;\n\n if (this.settings.includePaths.length > 0) {\n configLocalEntry.includePath = [INCLUDE_PATTERN];\n for (const path of this.settings.includePaths) {\n const includePathSet = new Set(configLocalEntry.includePath);\n if (\n !includePathSet.has(path) &&\n path !== INCLUDE_PATTERN &&\n !path.includes('$(default)')\n ) {\n configLocalEntry.includePath.push(path);\n }\n }\n } else {\n configLocalEntry.includePath = [INCLUDE_PATTERN];\n }\n const old_standard = ['c89', 'c99', 'gnu89', 'gnu99'].some(\n (ext) => this.settings.cStandard === ext,\n );\n\n configLocalEntry.cStandard = this.settings.cStandard\n ? this.settings.cStandard\n : this.settings.useMsvc\n ? SettingsProvider.DEFAULT_C_STANDARD_MSVC\n : '${default}';\n\n if (\n this.settings.operatingSystem === OperatingSystems.windows &&\n this.settings.useMsvc &&\n old_standard\n ) {\n configLocalEntry.cStandard = 'c11';\n }\n\n configLocalEntry.cppStandard = this.settings.cppStandard\n ? this.settings.cppStandard\n : '${default}';\n\n if (this.settings.useMsvc) {\n configLocalEntry.compilerPath = path.join(\n this.settings.msvcToolsPath,\n SettingsProvider.MSVC_COMPILER_NAME,\n );\n } else {\n if (pathExists(this.settings.cCompilerPath)) {\n configLocalEntry.compilerPath = this.settings.cCompilerPath;\n } else {\n // non-absolute compiler path\n const ret = await commandExists(this.settings.cCompilerPath);\n\n if (\n !ret ||\n !ret.p ||\n ret.p.includes('perl') ||\n ret.p.includes('ruby')\n ) {\n configLocalEntry.compilerPath = this.settings.cCompilerPath;\n } else {\n configLocalEntry.compilerPath = replaceBackslashes(ret.p);\n }\n }\n }\n\n // Since C/C++ Extension Version 1.4.0 cygwin is a linux triplet\n if (\n this.settings.isCygwin &&\n !this.settings.useMsvc &&\n this.settings.operatingSystem === OperatingSystems.windows\n ) {\n configLocalEntry.name = triplet.replace('windows', 'windows-cygwin');\n configLocalEntry.intelliSenseMode = triplet.replace('windows', 'linux');\n } else {\n configLocalEntry.name = triplet;\n configLocalEntry.intelliSenseMode = triplet;\n }\n\n writeJsonFile(this._outputPath, configLocal);\n }\n\n public updateFolderData(workspaceFolder: string) {\n super._updateFolderData(workspaceFolder);\n }\n\n public changeCallback() {\n const currentConfig: JsonPropertiesConfig | undefined = readJsonFile(\n this._outputPath,\n );\n\n if (!this.lastConfig) {\n this.lastConfig = readJsonFile(this._outputPath);\n\n if (!this.lastConfig) return;\n }\n\n if (!currentConfig) return;\n\n const currentConfigEntry: JsonPropertiesConfigEntry | undefined =\n currentConfig.configurations[0];\n\n if (currentConfigEntry === undefined) return;\n\n const lastConfigEntry: JsonPropertiesConfigEntry | undefined =\n this.lastConfig.configurations[0];\n\n if (lastConfigEntry === undefined) return;\n\n let updated = false;\n\n if (currentConfigEntry.cStandard !== lastConfigEntry.cStandard) {\n this.settings.cStandard =\n currentConfigEntry.cStandard !== '${default}'\n ? currentConfigEntry.cStandard\n : '';\n updated = true;\n }\n\n if (currentConfigEntry.cppStandard !== lastConfigEntry.cppStandard) {\n this.settings.cppStandard =\n currentConfigEntry.cppStandard !== '${default}'\n ? currentConfigEntry.cppStandard\n : '';\n updated = true;\n }\n\n if (\n currentConfigEntry.compilerPath !== lastConfigEntry.compilerPath &&\n !currentConfigEntry.compilerPath.includes('cl.exe')\n ) {\n this.settings.cCompilerPath = currentConfigEntry.compilerPath;\n updated = true;\n }\n\n if (\n !arraysEqual(currentConfigEntry.includePath, lastConfigEntry.includePath)\n ) {\n this.settings.includePaths = currentConfigEntry.includePath.filter(\n (path: string) =>\n path !== INCLUDE_PATTERN && !path.includes('$(default)'),\n );\n updated = true;\n }\n\n if (updated) {\n this.settings.writeFileData();\n\n this.lastConfig = currentConfig;\n }\n }\n}\n","import * as path from 'path';\nimport * as vscode from 'vscode';\n\nimport {\n\tfoldersInDir,\n\tlocalSettingExist,\n\tpathExists,\n\treadJsonFile,\n\treplaceBackslashes,\n\twriteJsonFile,\n} from '../utils/fileUtils';\nimport {\n\tgetCompilerArchitecture,\n\tgetOperatingSystem,\n} from '../utils/systemUtils';\nimport {\n\tArchitectures,\n\tCompilerSystems,\n\tJsonPropertiesConfig,\n\tJsonPropertiesConfigEntry,\n\tJsonSettings,\n\tOperatingSystems,\n} from '../utils/types';\nimport { FileProvider } from './fileProvider';\n\nconst OUTPUT_FILENAME = 'settings.json';\nconst EXTENSION_NAME = 'C_Cpp_Runner';\n\nexport class SettingsProvider extends FileProvider {\n static DEFAULT_C_COMPILER_PATH = 'gcc';\n static DEFAULT_CPP_COMPILER_PATH = 'g++';\n static DEFAULT_DEBUGGER_PATH = 'gdb';\n static DEFAULT_MSVC_BATCH_PATH =\n 'C:/Program Files/Microsoft Visual Studio/VR_NR/Community/VC/Auxiliary/Build/vcvarsall.bat';\n static DEFAULT_MSVC_TOOLS_PATH = '';\n static DEFAULT_C_STANDARD_UNIX = '';\n static DEFAULT_C_STANDARD_MSVC = 'c11';\n static DEFAULT_CPP_STANDARD = '';\n static DEFAULT_INCLUDE_SEARCH = ['*', '**/*'];\n static DEFAULT_EXCLUDE_SEARCH = [\n '**/build',\n '**/build/**',\n '**/.*',\n '**/.*/**',\n '**/.vscode',\n '**/.vscode/**',\n ];\n\n static DEFAULT_ENABLE_WARNINGS = true;\n static DEFAULT_WARNINGS_AS_ERRORS = false;\n\n static DEFAULT_WARNINGS_UNIX = ['-Wall', '-Wextra', '-Wpedantic'];\n static DEFAULT_WARNINGS_MSVC = ['/W4'];\n static DEFAULT_COMPILER_ARGS = [];\n static DEFAULT_LINKER_ARGS = [];\n static DEFAULT_INCLUDE_PATHS = [];\n\n static DEFAULT_USE_MSVC = false;\n static MSVC_COMPILER_NAME = 'cl.exe';\n\n // Workspace data\n private _configGlobal = vscode.workspace.getConfiguration(EXTENSION_NAME);\n\n // Machine information\n public operatingSystem = getOperatingSystem();\n public architecure: Architectures | undefined;\n public isCygwin: boolean = false;\n\n // Settings\n public cCompilerPath: string = SettingsProvider.DEFAULT_C_COMPILER_PATH;\n public cppCompilerPath: string = SettingsProvider.DEFAULT_CPP_COMPILER_PATH;\n public debuggerPath: string = SettingsProvider.DEFAULT_DEBUGGER_PATH;\n public msvcBatchPath: string = SettingsProvider.DEFAULT_MSVC_BATCH_PATH;\n public msvcToolsPath: string = SettingsProvider.DEFAULT_MSVC_TOOLS_PATH;\n public useMsvc: boolean = SettingsProvider.DEFAULT_USE_MSVC;\n public cStandard: string = SettingsProvider.DEFAULT_C_STANDARD_UNIX;\n public cppStandard: string = SettingsProvider.DEFAULT_CPP_STANDARD;\n public compilerArgs: string[] = SettingsProvider.DEFAULT_COMPILER_ARGS;\n public linkerArgs: string[] = SettingsProvider.DEFAULT_LINKER_ARGS;\n public includePaths: string[] = SettingsProvider.DEFAULT_INCLUDE_PATHS;\n public includeSearch: string[] = SettingsProvider.DEFAULT_INCLUDE_SEARCH;\n public excludeSearch: string[] = SettingsProvider.DEFAULT_EXCLUDE_SEARCH;\n public enableWarnings: boolean = SettingsProvider.DEFAULT_ENABLE_WARNINGS;\n public warningsAsError: boolean = SettingsProvider.DEFAULT_WARNINGS_AS_ERRORS;\n public warnings: string[] = SettingsProvider.DEFAULT_WARNINGS_UNIX;\n\n constructor(public workspaceFolder: string, public activeFolder: string) {\n super(workspaceFolder, undefined, OUTPUT_FILENAME);\n\n const settingsFileMissing = this.localFileExist('settings.json');\n const settingsMissing = this.updateCheck();\n const propertiesFileMissing = this.localFileExist('c_cpp_properties.json');\n\n const allInfoMissing =\n settingsMissing && propertiesFileMissing && activeFolder;\n const onlySettingsMissing =\n settingsFileMissing && !propertiesFileMissing && activeFolder;\n\n if (allInfoMissing) {\n this.loadGlobalSettings();\n this.createFileData();\n this.getArchitecture();\n return;\n }\n\n if (onlySettingsMissing) {\n this.getSettingsFromProperties();\n this.createFileData();\n this.getArchitecture();\n return;\n }\n\n if (activeFolder) {\n this.loadLocalSettings();\n this.getArchitecture();\n return;\n }\n }\n\n protected updateCheck() {\n if (!pathExists(this._outputPath)) {\n return true;\n } else if (!this.commandsAlreadyStored()) {\n return true;\n }\n\n return false;\n }\n\n private localFileExist(name: string) {\n let settingsFileMissing = false;\n\n const settingsPath = path.join(this._vscodeDirectory, name);\n if (!pathExists(settingsPath)) {\n settingsFileMissing = true;\n }\n\n return settingsFileMissing;\n }\n\n private commandsAlreadyStored() {\n if (pathExists(this._outputPath)) {\n const settingsJson: JsonSettings | undefined = readJsonFile(\n this._outputPath,\n );\n\n if (!settingsJson) return false;\n\n if (\n localSettingExist(`${EXTENSION_NAME}.cCompilerPath`, settingsJson) &&\n localSettingExist(`${EXTENSION_NAME}.cppCompilerPath`, settingsJson) &&\n localSettingExist(`${EXTENSION_NAME}.debuggerPath`, settingsJson)\n ) {\n return true;\n }\n }\n\n return false;\n }\n\n /********************/\n /* MAIN FUNCTIONS */\n /********************/\n\n public writeFileData() {\n this.storeSettings();\n }\n\n public deleteCallback() {\n this.storeSettings();\n }\n\n public changeCallback() {\n this.loadLocalSettings();\n }\n\n public updateFolderData(workspaceFolder: string) {\n super._updateFolderData(workspaceFolder);\n }\n\n private loadLocalSettings() {\n const settingsLocal: JsonSettings | undefined = readJsonFile(\n this._outputPath,\n );\n\n // mandatory\n this.cCompilerPath = this.getSettingsValue(\n settingsLocal,\n 'cCompilerPath',\n SettingsProvider.DEFAULT_C_COMPILER_PATH,\n );\n this.cppCompilerPath = this.getSettingsValue(\n settingsLocal,\n 'cppCompilerPath',\n SettingsProvider.DEFAULT_CPP_COMPILER_PATH,\n );\n this.debuggerPath = this.getSettingsValue(\n settingsLocal,\n 'debuggerPath',\n SettingsProvider.DEFAULT_DEBUGGER_PATH,\n );\n\n // optional\n this.msvcBatchPath = this.getSettingsValue(\n settingsLocal,\n 'msvcBatchPath',\n SettingsProvider.DEFAULT_MSVC_BATCH_PATH,\n );\n if (this.msvcBatchPath === SettingsProvider.DEFAULT_MSVC_BATCH_PATH) {\n if (pathExists(this.msvcBatchPath.replace('VR_NR', '2022'))) {\n this.msvcBatchPath = this.msvcBatchPath.replace('VR_NR', '2022');\n this.update('msvcBatchPath', this.msvcBatchPath);\n } else if (pathExists(this.msvcBatchPath.replace('VR_NR', '2017'))) {\n this.msvcBatchPath = this.msvcBatchPath.replace('VR_NR', '2017');\n this.update('msvcBatchPath', this.msvcBatchPath);\n } else if (pathExists(this.msvcBatchPath.replace('VR_NR', '2015'))) {\n this.msvcBatchPath = this.msvcBatchPath.replace('VR_NR', '2015');\n this.update('msvcBatchPath', this.msvcBatchPath);\n } else {\n this.msvcBatchPath = '';\n this.update('msvcBatchPath', this.msvcBatchPath);\n }\n }\n this.useMsvc = this.getSettingsValue(\n settingsLocal,\n 'useMsvc',\n SettingsProvider.DEFAULT_USE_MSVC,\n );\n\n if (this.useMsvc) {\n this.searchMsvcToolsPath();\n }\n\n this.enableWarnings = this.getSettingsValue(\n settingsLocal,\n 'enableWarnings',\n SettingsProvider.DEFAULT_ENABLE_WARNINGS,\n );\n\n this.warnings = this.getSettingsValue(\n settingsLocal,\n 'warnings',\n SettingsProvider.DEFAULT_WARNINGS_UNIX,\n );\n\n const msvcWarnings = this.warnings.some((warning: string) =>\n warning.includes('/'),\n );\n\n if (this.useMsvc && !msvcWarnings) {\n this.warnings = SettingsProvider.DEFAULT_WARNINGS_MSVC;\n } else if (!this.useMsvc && msvcWarnings) {\n this.warnings = SettingsProvider.DEFAULT_WARNINGS_UNIX;\n }\n\n this.warningsAsError = this.getSettingsValue(\n settingsLocal,\n 'warningsAsError',\n SettingsProvider.DEFAULT_WARNINGS_AS_ERRORS,\n );\n\n this.cStandard = this.getSettingsValue(\n settingsLocal,\n 'cStandard',\n SettingsProvider.DEFAULT_C_STANDARD_UNIX,\n );\n\n this.cppStandard = this.getSettingsValue(\n settingsLocal,\n 'cppStandard',\n SettingsProvider.DEFAULT_CPP_STANDARD,\n );\n\n this.compilerArgs = this.getSettingsValue(\n settingsLocal,\n 'compilerArgs',\n SettingsProvider.DEFAULT_COMPILER_ARGS,\n );\n this.linkerArgs = this.getSettingsValue(\n settingsLocal,\n 'linkerArgs',\n SettingsProvider.DEFAULT_LINKER_ARGS,\n );\n this.includePaths = this.getSettingsValue(\n settingsLocal,\n 'includePaths',\n SettingsProvider.DEFAULT_INCLUDE_PATHS,\n );\n\n this.includeSearch = this.getSettingsValue(\n settingsLocal,\n 'includeSearch',\n SettingsProvider.DEFAULT_INCLUDE_SEARCH,\n );\n this.excludeSearch = this.getSettingsValue(\n settingsLocal,\n 'excludeSearch',\n SettingsProvider.DEFAULT_EXCLUDE_SEARCH,\n );\n }\n\n private getSettingsFromProperties() {\n const propertiesPath = path.join(\n this._vscodeDirectory,\n 'c_cpp_properties.json',\n );\n const propertiesConfig: JsonPropertiesConfig | undefined =\n readJsonFile(propertiesPath);\n\n if (!propertiesConfig) return;\n\n const currentConfigEntry: JsonPropertiesConfigEntry | undefined =\n propertiesConfig.configurations[0];\n\n if (!currentConfigEntry) return;\n\n /* Mandatory in settings.json */\n this.cCompilerPath = this.getPropertiesValue(\n currentConfigEntry,\n 'compilerPath',\n this.cCompilerPath,\n );\n\n const isGccBased = this.cCompilerPath.includes(CompilerSystems.gcc);\n const isClangBased = this.cCompilerPath.includes(CompilerSystems.clang);\n\n if (isGccBased) {\n const cppPath = this.cCompilerPath.replace('gcc', 'g++');\n const dbgPath = this.cCompilerPath.replace('gcc', 'gdb');\n this.cppCompilerPath = cppPath;\n this.debuggerPath = dbgPath;\n } else if (isClangBased) {\n const cppPath = this.cCompilerPath.replace('clang', 'clang++');\n const dbgPath = this.cCompilerPath.replace('clang', 'lldb');\n this.cppCompilerPath = path.join(cppPath);\n this.debuggerPath = dbgPath;\n }\n\n /* Optional in settings.json */\n const _cStandard: string = this.getPropertiesValue(\n currentConfigEntry,\n 'cStandard',\n this.cStandard,\n );\n this.cStandard =\n _cStandard !== '${default}'\n ? _cStandard\n : SettingsProvider.DEFAULT_C_STANDARD_UNIX;\n\n const _cppStandard: string = this.getPropertiesValue(\n currentConfigEntry,\n 'cppStandard',\n this.cppStandard,\n );\n this.cppStandard =\n _cppStandard !== '${default}'\n ? _cppStandard\n : SettingsProvider.DEFAULT_CPP_STANDARD;\n\n const _includePaths: string[] = this.getPropertiesValue(\n currentConfigEntry,\n 'includePath',\n this.includePaths,\n );\n this.includePaths =\n _includePaths.length !== 0\n ? _includePaths\n : SettingsProvider.DEFAULT_INCLUDE_PATHS;\n }\n\n private searchMsvcToolsPath() {\n let msvcBasePath = this.msvcBatchPath.split('VC')[0];\n\n if (!msvcBasePath) return;\n\n msvcBasePath += 'VC/Tools/MSVC';\n\n const installed_versions = foldersInDir(msvcBasePath);\n const newst_version_path =\n installed_versions[installed_versions.length - 1];\n if (installed_versions.length === 0 || !newst_version_path) return;\n\n const newst_version_path_splitted = newst_version_path.split('\\\\');\n if (newst_version_path_splitted.length === 0) return;\n\n const versionNumber =\n newst_version_path_splitted[newst_version_path_splitted.length - 1];\n\n if (!versionNumber) return;\n\n let architecturePath: string;\n if (\n this.architecure === Architectures.x64 ||\n this.architecure === undefined\n ) {\n architecturePath = 'bin/Hostx64/x64';\n } else {\n architecturePath = 'bin/Hostx86/x86';\n }\n\n if (!pathExists(architecturePath)) return;\n\n this.msvcToolsPath = path.join(\n msvcBasePath,\n versionNumber,\n architecturePath,\n );\n }\n\n private getArchitecture() {\n if (this.useMsvc) {\n this.architecure = Architectures.x64;\n this.isCygwin = false;\n return;\n }\n\n if (this.cCompilerPath) {\n const ret = getCompilerArchitecture(this.cCompilerPath);\n this.architecure = ret.architecure;\n this.isCygwin = ret.isCygwin;\n return;\n }\n\n if (this.cppCompilerPath) {\n const ret = getCompilerArchitecture(this.cppCompilerPath);\n this.architecure = ret.architecure;\n this.isCygwin = ret.isCygwin;\n return;\n }\n\n this.architecure = Architectures.x64;\n this.isCygwin = false;\n }\n\n public reset() {\n this.loadGlobalSettings();\n this.storeSettings();\n }\n\n private loadGlobalSettings() {\n /* Mandatory in settings.json */\n this.cCompilerPath = this.getGlobalSettingsValue(\n 'cCompilerPath',\n SettingsProvider.DEFAULT_C_COMPILER_PATH,\n );\n this.cppCompilerPath = this.getGlobalSettingsValue(\n 'cppCompilerPath',\n SettingsProvider.DEFAULT_CPP_COMPILER_PATH,\n );\n this.debuggerPath = this.getGlobalSettingsValue(\n 'debuggerPath',\n SettingsProvider.DEFAULT_DEBUGGER_PATH,\n );\n this.msvcBatchPath = this.getGlobalSettingsValue(\n 'msvcBatchPath',\n SettingsProvider.DEFAULT_MSVC_BATCH_PATH,\n );\n this.msvcToolsPath = this.getGlobalSettingsValue(\n 'msvcToolsPath',\n SettingsProvider.DEFAULT_MSVC_TOOLS_PATH,\n );\n this.useMsvc = this.getGlobalSettingsValue(\n 'useMsvc',\n SettingsProvider.DEFAULT_USE_MSVC,\n );\n\n /* Optional in settings.json */\n this.enableWarnings = this.getGlobalSettingsValue(\n 'enableWarnings',\n SettingsProvider.DEFAULT_ENABLE_WARNINGS,\n );\n this.warnings = this.getGlobalSettingsValue(\n 'warnings',\n SettingsProvider.DEFAULT_WARNINGS_UNIX,\n );\n this.enableWarnings = this.getGlobalSettingsValue(\n 'enableWarnings',\n SettingsProvider.DEFAULT_ENABLE_WARNINGS,\n );\n this.warningsAsError = this.getGlobalSettingsValue(\n 'warningsAsError',\n SettingsProvider.DEFAULT_WARNINGS_AS_ERRORS,\n );\n this.cStandard = this.getGlobalSettingsValue(\n 'cStandard',\n SettingsProvider.DEFAULT_C_STANDARD_UNIX,\n );\n this.cppStandard = this.getGlobalSettingsValue(\n 'cppStandard',\n SettingsProvider.DEFAULT_CPP_STANDARD,\n );\n this.compilerArgs = this.getGlobalSettingsValue(\n 'compilerArgs',\n SettingsProvider.DEFAULT_COMPILER_ARGS,\n );\n this.linkerArgs = this.getGlobalSettingsValue(\n 'linkerArgs',\n SettingsProvider.DEFAULT_LINKER_ARGS,\n );\n this.includePaths = this.getGlobalSettingsValue(\n 'includePaths',\n SettingsProvider.DEFAULT_INCLUDE_PATHS,\n );\n this.excludeSearch = this.getGlobalSettingsValue(\n 'excludeSearch',\n SettingsProvider.DEFAULT_EXCLUDE_SEARCH,\n );\n }\n\n private storeSettings() {\n this.updateBasedOnEnv('cCompilerPath', this.cCompilerPath);\n this.updateBasedOnEnv('cppCompilerPath', this.cppCompilerPath);\n this.updateBasedOnEnv('debuggerPath', this.debuggerPath);\n\n this.update('cStandard', this.cStandard);\n this.update('cppStandard', this.cppStandard);\n\n this.update('msvcBatchPath', this.msvcBatchPath);\n this.update('useMsvc', this.useMsvc);\n\n this.update('warnings', this.warnings);\n this.update('enableWarnings', this.enableWarnings);\n this.update('warningsAsError', this.warningsAsError);\n\n this.update('compilerArgs', this.compilerArgs);\n this.update('linkerArgs', this.linkerArgs);\n this.update('includePaths', this.includePaths);\n\n this.update('includeSearch', this.includeSearch);\n this.update('excludeSearch', this.excludeSearch);\n }\n\n /********************/\n /* HELPER FUNCTIONS */\n /********************/\n\n private getGlobalSettingsValue(name: string, defaultValue: any) {\n const fullSettingInfo = this._configGlobal.inspect(name);\n return fullSettingInfo?.globalValue\n ? fullSettingInfo.globalValue\n : defaultValue;\n }\n\n private getSettingsValue(\n settingsLocal: JsonSettings | undefined,\n name: string,\n defaultValue: any,\n ) {\n const settingName = `${EXTENSION_NAME}.${name}`;\n\n if (settingsLocal && settingsLocal[settingName] !== undefined) {\n return settingsLocal[settingName];\n }\n\n return this.getGlobalSettingsValue(name, defaultValue);\n }\n\n private getPropertiesValue(\n properties: JsonPropertiesConfigEntry | undefined,\n name: keyof JsonPropertiesConfigEntry,\n defaultValue: any,\n ) {\n if (properties && properties[name] !== undefined) {\n return properties[name];\n }\n\n return defaultValue;\n }\n\n public update(key: string, value: any) {\n let settingsJson: JsonSettings | undefined = readJsonFile(this._outputPath);\n\n if (!settingsJson) settingsJson = {};\n\n const settingName = `${EXTENSION_NAME}.${key}`;\n\n settingsJson[settingName] = value;\n\n writeJsonFile(this._outputPath, settingsJson);\n }\n\n private updateBasedOnEnv(settingsName: string, settingsValue: string) {\n if (this.operatingSystem === OperatingSystems.windows) {\n this.update(settingsName, replaceBackslashes(settingsValue));\n } else {\n this.update(settingsName, settingsValue);\n }\n }\n}\n","import * as fs from 'fs';\nimport * as JSON5 from 'json5';\nimport * as minimatch from 'minimatch';\nimport * as path from 'path';\n\nimport { JsonSettings, Languages } from './types';\n\nexport function replaceBackslashes(text: string) {\n return text.replace(/\\\\/g, '/');\n}\n\nexport function mkdirRecursive(dir: string) {\n try {\n fs.mkdirSync(dir, { recursive: true });\n } catch (err) {}\n}\n\nexport function rmdirRecursive(dir: string) {\n try {\n fs.rmdirSync(dir, { recursive: true });\n } catch (err) {}\n}\n\nexport function filterOnString(names: string[], filterName: string) {\n return names.filter((name) => !name.includes(filterName));\n}\n\nexport function pathExists(filepath: string) {\n try {\n fs.accessSync(filepath);\n } catch (err) {\n return false;\n }\n\n return true;\n}\n\nexport function isSourceFile(fileExt: string) {\n const fileExtLower = fileExt.toLowerCase();\n\n if (isHeaderFile(fileExtLower)) {\n return false;\n }\n\n if (!(isCSourceFile(fileExtLower) || isCppSourceFile(fileExtLower))) {\n return false;\n }\n\n return true;\n}\n\nexport function addFileExtensionDot(fileExt: string) {\n if (!fileExt.includes('.')) {\n fileExt = `.${fileExt}`;\n }\n\n return fileExt;\n}\n\nexport function isHeaderFile(fileExtLower: string) {\n fileExtLower = addFileExtensionDot(fileExtLower);\n return ['.hpp', '.hh', '.hxx', '.h'].some((ext) => fileExtLower === ext);\n}\n\nexport function isCppSourceFile(fileExtLower: string) {\n fileExtLower = addFileExtensionDot(fileExtLower);\n return ['.cpp', '.cc', '.cxx'].some((ext) => fileExtLower === ext);\n}\n\nexport function isCSourceFile(fileExtLower: string) {\n fileExtLower = addFileExtensionDot(fileExtLower);\n return fileExtLower === '.c';\n}\n\nexport function getLanguage(dir: string) {\n const files = filesInDir(dir);\n const anyCppFile = files.some((file) => isCppSourceFile(path.extname(file)));\n\n if (anyCppFile) {\n return Languages.cpp;\n } else {\n return Languages.c;\n }\n}\n\nexport function getDirectoriesRecursive(dir: fs.PathLike) {\n const directories = foldersInDir(dir);\n\n if (directories.length === 0) return;\n\n directories.forEach((dir) =>\n getDirectoriesRecursive(dir)?.forEach((newDir) => directories.push(newDir)),\n );\n\n return directories;\n}\n\nexport function readDir(dir: string | fs.PathLike) {\n try {\n return fs.readdirSync(dir, { withFileTypes: true });\n } catch (err) {}\n}\n\nexport function filesInDir(dir: string) {\n const fileDirents = readDir(dir);\n\n if (!fileDirents) return [];\n\n const files = fileDirents\n .filter((file) => file.isFile())\n .map((file) => file.name);\n\n return files;\n}\n\nexport function includePatternFromList(\n includeSearch: string[],\n foldersList: string[],\n) {\n const result: string[] = [];\n\n for (const pattern of includeSearch) {\n result.push(...foldersList.filter((folder) => minimatch(folder, pattern)));\n }\n\n return result;\n}\n\nexport function excludePatternFromList(\n excludeSearch: string[],\n foldersList: string[],\n) {\n for (const pattern of excludeSearch) {\n foldersList = foldersList.filter((folder) => !minimatch(folder, pattern));\n }\n\n return foldersList;\n}\n\nexport function foldersInDir(dir: fs.PathLike) {\n const fileDirents = readDir(dir);\n\n if (!fileDirents) return [];\n\n const folders = fileDirents.filter((folder: fs.Dirent) =>\n folder.isDirectory(),\n );\n const folderNames = folders.map((folder: fs.Dirent) =>\n path.join(dir.toString(), folder.name),\n );\n\n return folderNames;\n}\n\nexport function readJsonFile(filepath: string) {\n let configJson: any | undefined;\n\n try {\n const fileContent = fs.readFileSync(filepath, 'utf-8');\n configJson = JSON5.parse(fileContent);\n } catch (err) {}\n\n return configJson;\n}\n\nexport function writeJsonFile(outputFilePath: string, jsonContent: any) {\n if (jsonContent === undefined) return;\n\n const dirname = path.dirname(outputFilePath);\n\n if (!pathExists(dirname)) {\n mkdirRecursive(dirname);\n }\n\n const jsonString = JSON.stringify(jsonContent, null, 2);\n\n try {\n fs.writeFileSync(outputFilePath, jsonString);\n } catch (err) {}\n}\n\nexport function naturalSort(names: string[]) {\n return names.sort((a, b) =>\n a.localeCompare(b, undefined, {\n numeric: true,\n sensitivity: 'base',\n }),\n );\n}\n\nexport function localSettingExist(key: string, jsonData: JsonSettings) {\n const commandPath = jsonData[key];\n\n if (!commandPath) return false;\n\n if (!pathExists(commandPath)) return false;\n\n return true;\n}\n\nexport function hasPathSeperators(pathStr: string) {\n return pathStr.includes('/') || pathStr.includes('\\\\');\n}\n\nexport function removeExtension(pathStr: string, ext: string) {\n const extStr = addFileExtensionDot(ext);\n\n if (pathStr.includes(extStr)) {\n return pathStr.replace(extStr, '');\n }\n\n return pathStr;\n}\n\nexport function getBasename(pathStr: string) {\n if (hasPathSeperators(pathStr)) {\n return path.basename(pathStr);\n }\n\n return pathStr;\n}\n\nexport function getOccurenceIndicies(text: string, char: string) {\n const indices = [];\n for (let i = 0; i < text.length; i++) {\n if (text[i] === char) indices.push(i);\n }\n\n return indices;\n}\n","export function arraysEqual(a: any[], b: any[]) {\n if (a === b) return true;\n if (a.length !== b.length) return false;\n\n for (let i = 0; i < a.length; ++i) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n}\n","import { execSync } from 'child_process';\nimport { lookpath } from 'lookpath';\nimport { platform } from 'os';\n\nimport { Architectures, OperatingSystems } from './types';\n\nexport async function commandExists(command: string) {\n let commandPath = await lookpath(command);\n\n if (!commandPath) {\n return { f: false, p: commandPath };\n }\n\n if (commandPath.includes('.EXE')) {\n commandPath = commandPath.replace('.EXE', '.exe');\n }\n\n return { f: true, p: commandPath };\n}\n\nexport function getOperatingSystem() {\n const platformName = platform();\n let operatingSystem: OperatingSystems;\n\n if (platformName === 'win32') {\n operatingSystem = OperatingSystems.windows;\n } else if (platformName === 'darwin') {\n operatingSystem = OperatingSystems.mac;\n } else {\n operatingSystem = OperatingSystems.linux;\n }\n\n return operatingSystem;\n}\n\nexport function getCompilerArchitecture(compiler: string) {\n const command = `${compiler} -dumpmachine`;\n let byteArray: Buffer | undefined;\n\n try {\n byteArray = execSync(command);\n } catch (err) {\n byteArray = Buffer.from('x64', 'utf-8');\n }\n\n const str = String.fromCharCode(...byteArray);\n let architecure = Architectures.x64;\n let isCygwin = false;\n\n if (str.toLowerCase().includes('arm')) {\n architecure = Architectures.ARM64;\n } else if (str.includes('64')) {\n architecure = Architectures.x64;\n } else {\n architecure = Architectures.x86;\n }\n\n if (str.includes('cygwin')) {\n isCygwin = true;\n }\n\n return { architecure: architecure, isCygwin: isCygwin };\n}\n","import * as vscode from 'vscode';\n\nexport interface JsonSettings {\n [name: string]: string;\n}\n\nexport interface JsonPropertiesConfigEntry {\n name: string;\n includePath: string[];\n compilerPath: string;\n cStandard: string;\n cppStandard: string;\n intelliSenseMode: string;\n compilerArgs: string[];\n}\n\nexport interface JsonPropertiesConfig {\n configurations: JsonPropertiesConfigEntry[];\n}\n\nexport interface JsonLaunchConfigEntry extends vscode.DebugConfiguration {\n type: string;\n request: string;\n args: string[];\n stopAtEntry: boolean;\n console?: string;\n externalConsole?: boolean;\n cwd: string;\n environment: string[];\n program: string;\n MIMode?: string;\n miDebuggerPath?: string;\n setupCommands?: any[];\n}\n\nexport interface JsonLaunchConfig {\n configurations: JsonLaunchConfigEntry[];\n}\n\nexport class Task extends vscode.Task {\n override execution?: vscode.ProcessExecution;\n}\n\nexport enum Languages {\n c = 'C',\n cpp = 'Cpp',\n}\n\nexport enum CompilerSystems {\n gcc = 'gcc',\n clang = 'clang',\n msvc = 'msvc'\n}\n\nexport enum Debuggers {\n lldb = 'lldb',\n gdb = 'gdb',\n}\n\nexport enum OperatingSystems {\n windows = 'windows',\n linux = 'linux',\n mac = 'macos',\n}\n\nexport enum Architectures {\n x86 = 'x86',\n x64 = 'x64',\n ARM64 = 'ARM64'\n}\n\nexport enum Builds {\n debug = 'Debug',\n release = 'Release',\n}\n","import * as path from 'path';\nimport * as vscode from 'vscode';\n\nimport { extensionState } from '../extension';\nimport { filesInDir, pathExists, readJsonFile } from './fileUtils';\nimport { JsonLaunchConfig, JsonSettings, OperatingSystems } from './types';\n\nconst STATUS_BAR_ALIGN = vscode.StatusBarAlignment.Left;\nconst STATUS_BAR_PRIORITY = 50;\n\nexport function disposeItem(disposableItem: vscode.Disposable | undefined) {\n disposableItem?.dispose();\n}\n\nexport function createStatusBarItem() {\n return vscode.window.createStatusBarItem(\n STATUS_BAR_ALIGN,\n STATUS_BAR_PRIORITY,\n );\n}\n\nexport function setContextValue(key: string, value: any) {\n return vscode.commands.executeCommand('setContext', key, value);\n}\n\nexport function getLaunchConfigIndex(\n configJson: JsonLaunchConfig,\n configName: string,\n) {\n let configIdx = 0;\n\n if (configJson) {\n for (const config of configJson.configurations) {\n if (config.name !== configName) {\n configIdx++;\n } else {\n return configIdx;\n }\n }\n }\n\n return undefined;\n}\n\nexport function updateActivationState(newState: boolean) {\n extensionState?.update('activatedExtension', newState);\n}\n\nexport function getActivationState() {\n if (extensionState) {\n return extensionState.get('activatedExtension');\n }\n\n return false;\n}\n\nexport function isCmakeProject() {\n let cmakeFileFound = false;\n\n const workspaceFodlers = vscode.workspace.workspaceFolders;\n const cmakeExtensionName = 'cmake';\n const cmakeSettingName = 'sourceDirectory';\n\n if (workspaceFodlers) {\n workspaceFodlers.forEach((folder) => {\n if (!cmakeFileFound) {\n const files = filesInDir(folder.uri.fsPath);\n files.forEach((file) => {\n if (file.toLowerCase() === 'CMakeLists.txt'.toLowerCase()) {\n cmakeFileFound = true;\n }\n });\n\n const settingsPath = path.join(\n folder.uri.fsPath,\n '.vscode',\n 'settings.json',\n );\n\n if (pathExists(settingsPath)) {\n const configLocal: JsonSettings | undefined =\n readJsonFile(settingsPath);\n\n if (\n configLocal &&\n configLocal[`${cmakeExtensionName}.${cmakeSettingName}`]\n ) {\n cmakeFileFound = true;\n }\n }\n }\n });\n }\n\n if (!cmakeFileFound) {\n const config = vscode.workspace.getConfiguration(cmakeExtensionName);\n const cmakeSetting = config.get(cmakeSettingName);\n\n if (cmakeSetting && cmakeSetting !== '${workspaceFolder}') {\n cmakeFileFound = true;\n }\n }\n\n return cmakeFileFound;\n}\n\nexport function getProcessExecution(\n operatingSystem: OperatingSystems,\n isMsvcBuildTask: boolean,\n commandLine: string,\n activeFolder: string,\n) {\n const options = {\n cwd: activeFolder,\n };\n\n if (operatingSystem === OperatingSystems.windows) {\n return winProcessExecution(isMsvcBuildTask, commandLine, options);\n } else {\n return unixProcessExecution(commandLine, options);\n }\n}\n\nfunction winProcessExecution(\n isMsvcBuildTask: boolean,\n commandLine: string,\n options: { cwd: string },\n) {\n const drive = process.env['SystemDrive'] ? process.env['SystemDrive'] : 'C:';\n if (isMsvcBuildTask) {\n const shellOptions: vscode.ShellExecutionOptions = {\n executable: drive + '/Windows/System32/cmd.exe',\n shellArgs: ['/d', '/c'],\n };\n return new vscode.ShellExecution(commandLine, shellOptions);\n } else {\n return new vscode.ProcessExecution(\n drive + '/Windows/System32/cmd.exe',\n ['/d', '/c', commandLine],\n options,\n );\n }\n}\n\nfunction unixProcessExecution(commandLine: string, options: { cwd: string }) {\n const standard_shell = process.env['SHELL']\n ? process.env['SHELL']\n : '/bin/bash';\n return new vscode.ProcessExecution(\n standard_shell,\n ['-c', commandLine],\n options,\n );\n}\n","module.exports = require(\"vscode\");","module.exports = require(\"child_process\");","module.exports = require(\"fs\");","module.exports = require(\"os\");","module.exports = require(\"path\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(\"./src/extension.ts\");\n",""],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/executor/builder.js b/src/franneck94.c-cpp-runner-4.1.2/dist/src/executor/builder.js new file mode 100644 index 0000000..6e45f12 --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/executor/builder.js @@ -0,0 +1,100 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.executeBuildTask = void 0; +const path = require("path"); +const vscode = require("vscode"); +const fileUtils_1 = require("../utils/fileUtils"); +const types_1 = require("../utils/types"); +async function executeBuildTask(task, settingsProvider, activeFolder, buildMode) { + const language = fileUtils_1.getLanguage(activeFolder); + const files = fileUtils_1.filesInDir(activeFolder); + const buildDir = path.join(activeFolder, 'build'); + const modeDir = path.join(buildDir, `${buildMode}`); + if (!fileUtils_1.pathExists(modeDir)) { + fileUtils_1.mkdirRecursive(modeDir); + } + let executableName; + if (settingsProvider.operatingSystem === types_1.OperatingSystems.windows) { + executableName = `out${buildMode}.exe`; + } + else { + executableName = `out${buildMode}`; + } + const executablePath = path.join(modeDir, executableName); + let compiler; + let standard; + if (language === types_1.Languages.cpp) { + compiler = settingsProvider.cppCompilerPath; + standard = settingsProvider.cppStandard; + } + else { + compiler = settingsProvider.cCompilerPath; + standard = settingsProvider.cStandard; + } + const useWarnings = settingsProvider.enableWarnings; + const warningsAsErrors = settingsProvider.warningsAsError; + let warnings = ''; + if (useWarnings) { + warnings = settingsProvider.warnings.join(' '); + } + if (useWarnings && warningsAsErrors) { + warnings += ' -Werror'; + } + const includePaths = settingsProvider.includePaths; + const includes = includePaths.join(' -I '); + const compilerArgs = settingsProvider.compilerArgs; + const linkerArgs = settingsProvider.linkerArgs; + let fullCompilerArgs = ''; + if (warnings) { + fullCompilerArgs += `${warnings}`; + } + if (standard) { + fullCompilerArgs += ` --std=${standard}`; + } + if (buildMode === types_1.Builds.debug) { + fullCompilerArgs += ' -g3 -O0'; + } + else { + fullCompilerArgs += ' -O3 -DNDEBUG'; + } + if (compilerArgs) { + fullCompilerArgs += compilerArgs; + } + if (linkerArgs) { + fullCompilerArgs += linkerArgs; + } + if (includes) { + fullCompilerArgs += includes; + } + let commandLine = ''; + const objectFiles = []; + for (const file of files) { + const fileExtension = path.parse(file).ext; + if (language === types_1.Languages.c && !fileUtils_1.isCSourceFile(fileExtension)) { + continue; + } + else if (language === types_1.Languages.cpp && !fileUtils_1.isCppSourceFile(fileExtension)) { + continue; + } + const fileBaseName = path.parse(file).name; + const filePath = path.join(activeFolder, file); + const objectFilePath = path.join(modeDir, fileBaseName + '.o'); + objectFiles.push(objectFilePath); + const fullFileArgs = `-c ${filePath} -o ${objectFilePath}`; + if (commandLine.length === 0) { + commandLine += `${compiler} ${fullCompilerArgs} ${fullFileArgs}`; + } + else { + commandLine += ` && ${compiler} ${fullCompilerArgs} ${fullFileArgs}`; + } + } + const objectFilesStr = objectFiles.join(' '); + const fullObjectFileArgs = `${objectFilesStr} -o ${executablePath}`; + if (task && task.execution) { + commandLine += ` && ${compiler} ${fullCompilerArgs} ${fullObjectFileArgs}`; + task.execution.commandLine = commandLine; + await vscode.tasks.executeTask(task); + } +} +exports.executeBuildTask = executeBuildTask; +//# sourceMappingURL=builder.js.map \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/executor/builder.js.map b/src/franneck94.c-cpp-runner-4.1.2/dist/src/executor/builder.js.map new file mode 100644 index 0000000..5c3ec83 --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/executor/builder.js.map @@ -0,0 +1 @@ +{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/executor/builder.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/executor/debugger.js b/src/franneck94.c-cpp-runner-4.1.2/dist/src/executor/debugger.js new file mode 100644 index 0000000..63a8979 --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/executor/debugger.js @@ -0,0 +1,30 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.runDebugger = void 0; +const path = require("path"); +const vscode = require("vscode"); +const fileUtils_1 = require("../utils/fileUtils"); +const vscodeUtils_1 = require("../utils/vscodeUtils"); +const CONFIG_NAME = 'C/C++ Runner: Debug Session'; +async function runDebugger(activeFolder, workspaceFolder, buildMode) { + if (!activeFolder) + return; + if (!workspaceFolder) + return; + const uriWorkspaceFolder = vscode.Uri.file(workspaceFolder); + const folder = vscode.workspace.getWorkspaceFolder(uriWorkspaceFolder); + const launchPath = path.join(workspaceFolder, '.vscode', 'launch.json'); + const configJson = fileUtils_1.readJsonFile(launchPath); + if (!configJson) + return; + const configIdx = vscodeUtils_1.getLaunchConfigIndex(configJson, CONFIG_NAME); + if (configIdx === undefined) + return; + const buildDir = path.join(activeFolder, 'build'); + const modeDir = path.join(buildDir, `${buildMode}`); + if (!fileUtils_1.pathExists(modeDir)) + return; + await vscode.debug.startDebugging(folder, configJson.configurations[configIdx]); +} +exports.runDebugger = runDebugger; +//# sourceMappingURL=debugger.js.map \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/executor/debugger.js.map b/src/franneck94.c-cpp-runner-4.1.2/dist/src/executor/debugger.js.map new file mode 100644 index 0000000..7cc3d95 --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/executor/debugger.js.map @@ -0,0 +1 @@ +{"version":3,"file":"debugger.js","sourceRoot":"","sources":["../../../src/executor/debugger.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAC7B,iCAAiC;AAEjC,kDAA8D;AAE9D,sDAA4D;AAE5D,MAAM,WAAW,GAAG,6BAA6B,CAAC;AAE3C,KAAK,UAAU,WAAW,CAC/B,YAAgC,EAChC,eAAmC,EACnC,SAAiB;IAEjB,IAAI,CAAC,YAAY;QAAE,OAAO;IAC1B,IAAI,CAAC,eAAe;QAAE,OAAO;IAE7B,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;IACvE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAExE,MAAM,UAAU,GAAkC,wBAAY,CAAC,UAAU,CAAC,CAAC;IAE3E,IAAI,CAAC,UAAU;QAAE,OAAO;IAExB,MAAM,SAAS,GAAG,kCAAoB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAEhE,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO;IAEpC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;IACpD,IAAI,CAAC,sBAAU,CAAC,OAAO,CAAC;QAAE,OAAO;IAEjC,MAAM,MAAM,CAAC,KAAK,CAAC,cAAc,CAC/B,MAAM,EACN,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CACrC,CAAC;AACJ,CAAC;AA5BD,kCA4BC"} \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/executor/runner.js b/src/franneck94.c-cpp-runner-4.1.2/dist/src/executor/runner.js new file mode 100644 index 0000000..73a2d47 --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/executor/runner.js @@ -0,0 +1,33 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.executeRunTask = void 0; +const path = require("path"); +const vscode = require("vscode"); +const fileUtils_1 = require("../utils/fileUtils"); +const types_1 = require("../utils/types"); +async function executeRunTask(task, activeFolder, buildMode, argumentsString, operatingSystem) { + const buildDir = path.join(activeFolder, 'build'); + const modeDir = path.join(buildDir, `${buildMode}`); + if (!fileUtils_1.pathExists(modeDir)) + return; + let executableName; + if (operatingSystem === types_1.OperatingSystems.windows) { + executableName = `out${buildMode}.exe`; + } + else { + executableName = `./out${buildMode}`; + } + if (argumentsString) { + executableName += argumentsString; + } + const executablePath = path.join(modeDir, executableName); + if (!fileUtils_1.pathExists(executablePath)) + return; + if (task && task.execution) { + const commandLine = `${executablePath}`; + task.execution.commandLine = commandLine; + await vscode.tasks.executeTask(task); + } +} +exports.executeRunTask = executeRunTask; +//# sourceMappingURL=runner.js.map \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/executor/runner.js.map b/src/franneck94.c-cpp-runner-4.1.2/dist/src/executor/runner.js.map new file mode 100644 index 0000000..0c8a0c7 --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/executor/runner.js.map @@ -0,0 +1 @@ +{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/executor/runner.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAC7B,iCAAiC;AAEjC,kDAAgD;AAChD,0CAAgE;AAEzD,KAAK,UAAU,cAAc,CAClC,IAAU,EACV,YAAoB,EACpB,SAAiB,EACjB,eAAmC,EACnC,eAAiC;IAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;IACpD,IAAI,CAAC,sBAAU,CAAC,OAAO,CAAC;QAAE,OAAO;IAEjC,IAAI,cAAsB,CAAC;IAC3B,IAAI,eAAe,KAAK,wBAAgB,CAAC,OAAO,EAAE;QAChD,cAAc,GAAG,MAAM,SAAS,MAAM,CAAC;KACxC;SAAM;QACL,cAAc,GAAG,QAAQ,SAAS,EAAE,CAAC;KACtC;IAED,IAAI,eAAe,EAAE;QACnB,cAAc,IAAI,eAAe,CAAC;KACnC;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAE1D,IAAI,CAAC,sBAAU,CAAC,cAAc,CAAC;QAAE,OAAO;IAExC,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE;QAC1B,MAAM,WAAW,GAAG,GAAG,cAAc,EAAE,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;QACzC,MAAM,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;KACtC;AACH,CAAC;AA/BD,wCA+BC"} \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/extension.js b/src/franneck94.c-cpp-runner-4.1.2/dist/src/extension.js new file mode 100644 index 0000000..f4051ea --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/extension.js @@ -0,0 +1,581 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.deactivate = exports.activate = exports.experimentalExecutionEnabled = exports.loggingActive = exports.extensionPath = exports.extensionState = exports.extensionContext = void 0; +const path = require("path"); +const vscode = require("vscode"); +const builder_1 = require("./executor/builder"); +const debugger_1 = require("./executor/debugger"); +const runner_1 = require("./executor/runner"); +const folderHandler_1 = require("./handler/folderHandler"); +const modeHandler_1 = require("./handler/modeHandler"); +const statusBarItems_1 = require("./items/statusBarItems"); +const launchProvider_1 = require("./provider/launchProvider"); +const propertiesProvider_1 = require("./provider/propertiesProvider"); +const settingsProvider_1 = require("./provider/settingsProvider"); +const taskProvider_1 = require("./provider/taskProvider"); +const fileUtils_1 = require("./utils/fileUtils"); +const logger = require("./utils/logger"); +const types_1 = require("./utils/types"); +const vscodeUtils_1 = require("./utils/vscodeUtils"); +let folderContextMenuDisposable; +let taskProviderDisposable; +let commandHandlerDisposable; +let commandToggleStateDisposable; +let commandFolderDisposable; +let commandModeDisposable; +let commandBuildDisposable; +let commandRunDisposable; +let commandDebugDisposable; +let commandCleanDisposable; +let commandArgumentDisposable; +let commandResetDisposable; +let eventConfigurationDisposable; +let eventRenameFilesDisposable; +let eventDeleteFilesDisposable; +let settingsProvider; +let launchProvider; +let propertiesProvider; +let taskProvider; +let folderStatusBar; +let modeStatusBar; +let buildStatusBar; +let runStatusBar; +let debugStatusBar; +let cleanStatusBar; +let argumentsString; +let workspaceFolder; +let activeFolder; +let buildMode = types_1.Builds.debug; +let showStatusBarItems = true; +let createExtensionFiles = true; +const EXTENSION_NAME = 'C_Cpp_Runner'; +exports.loggingActive = false; +exports.experimentalExecutionEnabled = false; +function activate(context) { + if (!vscode.workspace.workspaceFolders || + vscode.workspace.workspaceFolders.length === 0) { + return; + } + if (!vscode.workspace.workspaceFolders[0] || + !vscode.workspace.workspaceFolders[0].uri) { + return; + } + if (vscode.workspace.workspaceFolders.length === 1) { + workspaceFolder = vscode.workspace.workspaceFolders[0].uri.fsPath; + } + vscodeUtils_1.setContextValue(`${EXTENSION_NAME}:activatedExtension`, true); + vscodeUtils_1.updateActivationState(true); + const courseMakefileFound = vscodeUtils_1.isCourseProject(); + if (courseMakefileFound) { + const infoMessage = `Course Makefile found. Exiting extension.`; + logger.log(exports.loggingActive, infoMessage); + deactivate(); + return; + } + const cmakeFileFound = vscodeUtils_1.isCmakeProject(); + if (cmakeFileFound) { + showStatusBarItems = false; + createExtensionFiles = false; + const infoMessage = `CMake Project found. UI disabled.`; + logger.log(exports.loggingActive, infoMessage); + } + exports.extensionContext = context; + exports.extensionPath = context.extensionPath; + exports.extensionState = context.workspaceState; + vscodeUtils_1.updateLoggingState(); + exports.loggingActive = vscodeUtils_1.getLoggingState(); + exports.experimentalExecutionEnabled = vscodeUtils_1.getExperimentalExecutionState(); + initFolderStatusBar(); + initModeStatusBar(); + initBuildStatusBar(); + initRunStatusBar(); + initDebugStatusBar(); + initCleanStatusBar(); + initWorkspaceProvider(); + initWorkspaceDisposables(); + initEventListener(); +} +exports.activate = activate; +function deactivate() { + vscodeUtils_1.setContextValue(`${EXTENSION_NAME}:activatedExtension`, false); + vscodeUtils_1.updateActivationState(false); + vscodeUtils_1.disposeItem(folderStatusBar); + vscodeUtils_1.disposeItem(modeStatusBar); + vscodeUtils_1.disposeItem(buildStatusBar); + vscodeUtils_1.disposeItem(runStatusBar); + vscodeUtils_1.disposeItem(debugStatusBar); + vscodeUtils_1.disposeItem(cleanStatusBar); + vscodeUtils_1.disposeItem(taskProviderDisposable); + vscodeUtils_1.disposeItem(folderContextMenuDisposable); + vscodeUtils_1.disposeItem(commandHandlerDisposable); + vscodeUtils_1.disposeItem(commandToggleStateDisposable); + vscodeUtils_1.disposeItem(commandFolderDisposable); + vscodeUtils_1.disposeItem(commandModeDisposable); + vscodeUtils_1.disposeItem(commandBuildDisposable); + vscodeUtils_1.disposeItem(commandRunDisposable); + vscodeUtils_1.disposeItem(commandDebugDisposable); + vscodeUtils_1.disposeItem(commandCleanDisposable); + vscodeUtils_1.disposeItem(commandArgumentDisposable); + vscodeUtils_1.disposeItem(commandResetDisposable); + vscodeUtils_1.disposeItem(eventConfigurationDisposable); + vscodeUtils_1.disposeItem(eventDeleteFilesDisposable); + vscodeUtils_1.disposeItem(eventRenameFilesDisposable); +} +exports.deactivate = deactivate; +function initWorkspaceProvider() { + if (!workspaceFolder || !createExtensionFiles || !activeFolder) + return; + if (!settingsProvider) { + settingsProvider = new settingsProvider_1.SettingsProvider(workspaceFolder, activeFolder); + } + if (!propertiesProvider) { + propertiesProvider = new propertiesProvider_1.PropertiesProvider(settingsProvider, workspaceFolder, activeFolder); + } + if (!launchProvider) { + launchProvider = new launchProvider_1.LaunchProvider(settingsProvider, workspaceFolder, activeFolder); + } + if (!taskProvider) { + taskProvider = new taskProvider_1.TaskProvider(settingsProvider, workspaceFolder, activeFolder, buildMode, argumentsString); + } +} +function initWorkspaceDisposables() { + initTaskProviderDisposable(); + initArgumentParser(); + initContextMenuDisposable(); + initReset(); + initToggleDisposable(); +} +function initTaskProviderDisposable() { + if (!taskProvider || taskProviderDisposable) + return; + taskProviderDisposable = vscode.tasks.registerTaskProvider(EXTENSION_NAME, taskProvider); + exports.extensionContext?.subscriptions.push(taskProviderDisposable); +} +function initToggleDisposable() { + if (commandToggleStateDisposable) + return; + commandToggleStateDisposable = vscode.commands.registerCommand(`${EXTENSION_NAME}.toggleExtensionState`, () => { + showStatusBarItems = !showStatusBarItems; + toggleStatusBarItems(); + createExtensionFiles = !createExtensionFiles; + if (createExtensionFiles) { + initWorkspaceProvider(); + initWorkspaceDisposables(); + settingsProvider?.createFileData(); + propertiesProvider?.createFileData(); + } + const extensionIsDisabled = !showStatusBarItems && !createExtensionFiles; + if (extensionIsDisabled) { + vscodeUtils_1.setContextValue(`${EXTENSION_NAME}:activatedExtension`, !extensionIsDisabled); + vscodeUtils_1.updateActivationState(!extensionIsDisabled); + } + else { + vscodeUtils_1.setContextValue(`${EXTENSION_NAME}:activatedExtension`, !extensionIsDisabled); + vscodeUtils_1.updateActivationState(!extensionIsDisabled); + } + const infoMessage = `Called toggleExtensionState.`; + logger.log(exports.loggingActive, infoMessage); + }); + exports.extensionContext?.subscriptions.push(commandToggleStateDisposable); +} +function initContextMenuDisposable() { + if (folderContextMenuDisposable) + return; + folderContextMenuDisposable = vscode.commands.registerCommand(`${EXTENSION_NAME}.folderContextMenu`, async (clickedUriItem, selectedUriItems) => { + if (selectedUriItems.length > 1) + return; + const workspaceItem = vscode.workspace.getWorkspaceFolder(clickedUriItem); + if (!workspaceItem) + return; + activeFolder = clickedUriItem.fsPath; + workspaceFolder = workspaceItem.uri.fsPath; + updateFolderData(); + const infoMessage = `Called folderContextMenu.`; + logger.log(exports.loggingActive, infoMessage); + }); + exports.extensionContext?.subscriptions.push(folderContextMenuDisposable); +} +function initEventListener() { + initConfigurationChangeDisposable(); + initFileRenameDisposable(); + initFileDeleteDisposable(); +} +function initConfigurationChangeDisposable() { + if (eventConfigurationDisposable) + return; + eventConfigurationDisposable = vscode.workspace.onDidChangeConfiguration((e) => { + const isChanged = e.affectsConfiguration(EXTENSION_NAME); + const extensionIsActive = vscodeUtils_1.getActivationState(); + if (isChanged && extensionIsActive) { + settingsProvider?.updateFileContent(); + propertiesProvider?.updateFileContent(); + launchProvider?.updateFileContent(); + taskProvider?.getTasks(); + } + }); + exports.extensionContext?.subscriptions.push(eventConfigurationDisposable); +} +function initFileRenameDisposable() { + if (eventRenameFilesDisposable) + return; + eventRenameFilesDisposable = vscode.workspace.onDidRenameFiles((e) => { + const extensionIsActive = vscodeUtils_1.getActivationState(); + if (!extensionIsActive) + return; + e.files.forEach((file) => { + const oldName = file.oldUri.fsPath; + const newName = file.newUri.fsPath; + const infoMessage = `Renaming: ${oldName} -> ${newName}.`; + logger.log(exports.loggingActive, infoMessage); + if (workspaceFolder && oldName === workspaceFolder) { + workspaceFolder = newName; + updateFolderData(); + } + else if (activeFolder && oldName === activeFolder) { + activeFolder = newName; + updateFolderData(); + } + }); + }); + exports.extensionContext?.subscriptions.push(eventRenameFilesDisposable); +} +function initFileDeleteDisposable() { + if (!eventDeleteFilesDisposable) + return; + eventDeleteFilesDisposable = vscode.workspace.onDidDeleteFiles((e) => { + const extensionIsActive = vscodeUtils_1.getActivationState(); + if (!extensionIsActive) + return; + e.files.forEach((file) => { + const oldName = file.fsPath; + const infoMessage = `Deleting: ${oldName}.`; + logger.log(exports.loggingActive, infoMessage); + if (workspaceFolder && oldName === workspaceFolder) { + workspaceFolder = undefined; + updateFolderData(); + statusBarItems_1.updateFolderStatus(folderStatusBar, taskProvider, showStatusBarItems); + } + else if (activeFolder && oldName === activeFolder) { + activeFolder = undefined; + updateFolderData(); + statusBarItems_1.updateFolderStatus(folderStatusBar, taskProvider, showStatusBarItems); + } + }); + }); + exports.extensionContext?.subscriptions.push(eventDeleteFilesDisposable); +} +function toggleStatusBarItems() { + if (showStatusBarItems) { + folderStatusBar?.show(); + modeStatusBar?.show(); + buildStatusBar?.show(); + runStatusBar?.show(); + debugStatusBar?.show(); + cleanStatusBar?.show(); + } + else { + folderStatusBar?.hide(); + modeStatusBar?.hide(); + buildStatusBar?.hide(); + runStatusBar?.hide(); + debugStatusBar?.hide(); + cleanStatusBar?.hide(); + } +} +function updateFolderData() { + initWorkspaceProvider(); + initWorkspaceDisposables(); + argumentsString = ''; + if (taskProvider) { + taskProvider.updateFolderData(workspaceFolder, activeFolder); + taskProvider.updateArguments(argumentsString); + taskProvider.updateModeData(buildMode); + } + if (workspaceFolder && activeFolder) { + if (settingsProvider) { + settingsProvider.updateFolderData(workspaceFolder); + settingsProvider.updateFileContent(); + if (propertiesProvider) { + propertiesProvider.updateFolderData(workspaceFolder); + } + if (launchProvider) { + launchProvider.updateFolderData(workspaceFolder, activeFolder); + launchProvider.updateModeData(buildMode); + launchProvider.updateFileContent(); + } + } + } + if (folderStatusBar) { + statusBarItems_1.updateFolderStatus(folderStatusBar, taskProvider, showStatusBarItems); + } + if (modeStatusBar) { + statusBarItems_1.updateModeStatus(modeStatusBar, showStatusBarItems, activeFolder, buildMode); + } + if (buildStatusBar) { + statusBarItems_1.updateBuildStatus(buildStatusBar, showStatusBarItems, activeFolder); + } + if (runStatusBar) { + statusBarItems_1.updateRunStatus(runStatusBar, showStatusBarItems, activeFolder); + } + if (cleanStatusBar) { + statusBarItems_1.updateCleanStatus(cleanStatusBar, showStatusBarItems, activeFolder); + } + if (debugStatusBar) { + statusBarItems_1.updateDebugStatus(debugStatusBar, showStatusBarItems, activeFolder); + } +} +function initFolderStatusBar() { + if (folderStatusBar) + return; + folderStatusBar = vscodeUtils_1.createStatusBarItem(); + exports.extensionContext?.subscriptions.push(folderStatusBar); + const workspaceFolders = vscode.workspace.workspaceFolders; + if (workspaceFolders) { + if (workspaceFolders.length === 1) { + if (!workspaceFolders[0] || !workspaceFolders[0].uri.fsPath) + return; + const workspaceFolderFs = workspaceFolders[0].uri.fsPath; + const folders = fileUtils_1.foldersInDir(workspaceFolderFs); + if (folders.length === 0) { + workspaceFolder = workspaceFolderFs; + activeFolder = workspaceFolderFs; + updateFolderData(); + } + else { + statusBarItems_1.updateFolderStatus(folderStatusBar, taskProvider, showStatusBarItems); + } + } + else { + statusBarItems_1.updateFolderStatus(folderStatusBar, taskProvider, showStatusBarItems); + } + } + if (commandFolderDisposable) + return; + const commandName = `${EXTENSION_NAME}.folder`; + commandFolderDisposable = vscode.commands.registerCommand(commandName, async () => { + const ret = await folderHandler_1.folderHandler(settingsProvider); + if (ret && ret.activeFolder && ret.workspaceFolder) { + activeFolder = ret.activeFolder; + workspaceFolder = ret.workspaceFolder; + updateFolderData(); + } + else { + const infoMessage = `Folder callback aborted.`; + logger.log(exports.loggingActive, infoMessage); + } + }); + folderStatusBar.command = commandName; + exports.extensionContext?.subscriptions.push(commandFolderDisposable); +} +function initModeStatusBar() { + if (modeStatusBar) + return; + modeStatusBar = vscodeUtils_1.createStatusBarItem(); + exports.extensionContext?.subscriptions.push(modeStatusBar); + statusBarItems_1.updateModeStatus(modeStatusBar, showStatusBarItems, activeFolder, buildMode); + const commandName = `${EXTENSION_NAME}.mode`; + commandModeDisposable = vscode.commands.registerCommand(commandName, async () => { + const pickedMode = await modeHandler_1.modeHandler(); + if (pickedMode) { + buildMode = pickedMode; + if (taskProvider) { + taskProvider.updateModeData(buildMode); + } + statusBarItems_1.updateModeStatus(modeStatusBar, showStatusBarItems, activeFolder, buildMode); + if (!taskProvider) + return; + taskProvider.updateModeData(buildMode); + if (!launchProvider) + return; + launchProvider.updateModeData(buildMode); + launchProvider.updateFileContent(); + } + else { + const infoMessage = `Mode callback aborted.`; + logger.log(exports.loggingActive, infoMessage); + } + }); + modeStatusBar.command = commandName; + exports.extensionContext?.subscriptions.push(commandModeDisposable); +} +function initArgumentParser() { + if (commandResetDisposable) + return; + const commandName = `${EXTENSION_NAME}.args`; + commandResetDisposable = vscode.commands.registerCommand(commandName, async () => { + argumentsString = await vscode.window.showInputBox(); + if (taskProvider) { + taskProvider.updateArguments(argumentsString); + } + }); + exports.extensionContext?.subscriptions.push(commandResetDisposable); +} +function initReset() { + if (commandArgumentDisposable) + return; + const commandName = `${EXTENSION_NAME}.resetLocalSettings`; + commandArgumentDisposable = vscode.commands.registerCommand(commandName, async () => { + if (!settingsProvider) + return; + settingsProvider.reset(); + propertiesProvider?.updateFileContent(); + taskProvider?.getTasks(); + launchProvider?.updateFileContent(); + }); + exports.extensionContext?.subscriptions.push(commandArgumentDisposable); +} +function initBuildStatusBar() { + if (buildStatusBar) + return; + buildStatusBar = vscodeUtils_1.createStatusBarItem(); + exports.extensionContext?.subscriptions.push(buildStatusBar); + statusBarItems_1.updateBuildStatus(buildStatusBar, showStatusBarItems, activeFolder); + const commandName = `${EXTENSION_NAME}.build`; + commandBuildDisposable = vscode.commands.registerCommand(commandName, async () => { + if (!taskProvider || !taskProvider.tasks) { + const infoMessage = `buildCallback failed`; + logger.log(exports.loggingActive, infoMessage); + return; + } + taskProvider.getTasks(); + const projectFolder = taskProvider.getProjectFolder(); + if (!projectFolder) + return; + const buildTaskIndex = 0; + const buildTask = taskProvider.tasks[buildTaskIndex]; + if (!buildTask) + return; + if (!buildTask.execution || + !(buildTask.execution instanceof vscode.ShellExecution) || + !buildTask.execution.commandLine) { + return; + } + buildTask.execution.commandLine = buildTask.execution.commandLine.replace('FILE_DIR', projectFolder); + if (!activeFolder) + return; + const buildDir = path.join(activeFolder, 'build'); + const modeDir = path.join(buildDir, `${buildMode}`); + if (!fileUtils_1.pathExists(modeDir)) + fileUtils_1.mkdirRecursive(modeDir); + if (!settingsProvider) + return; + const hasNoneExtendedAsciiChars = [...buildDir].some((char) => char.charCodeAt(0) > 255); + if (exports.experimentalExecutionEnabled || + buildDir.includes(' ') || + hasNoneExtendedAsciiChars) { + await builder_1.executeBuildTask(buildTask, settingsProvider, activeFolder, buildMode); + } + else { + await vscode.tasks.executeTask(buildTask); + } + }); + buildStatusBar.command = commandName; + exports.extensionContext?.subscriptions.push(commandBuildDisposable); +} +function initRunStatusBar() { + if (runStatusBar) + return; + runStatusBar = vscodeUtils_1.createStatusBarItem(); + exports.extensionContext?.subscriptions.push(runStatusBar); + statusBarItems_1.updateRunStatus(runStatusBar, showStatusBarItems, activeFolder); + const commandName = `${EXTENSION_NAME}.run`; + commandRunDisposable = vscode.commands.registerCommand(commandName, async () => { + if (!taskProvider || !taskProvider.tasks) { + const infoMessage = `runCallback failed`; + logger.log(exports.loggingActive, infoMessage); + return; + } + taskProvider.getTasks(); + const projectFolder = taskProvider.getProjectFolder(); + if (!projectFolder) + return; + const runTaskIndex = 1; + const runTask = taskProvider.tasks[runTaskIndex]; + if (!runTask) + return; + if (!runTask.execution || + !(runTask.execution instanceof vscode.ShellExecution) || + !runTask.execution.commandLine) { + return; + } + runTask.execution.commandLine = runTask.execution.commandLine.replace('FILE_DIR', projectFolder); + if (!activeFolder) + return; + const buildDir = path.join(activeFolder, 'build'); + const modeDir = path.join(buildDir, `${buildMode}`); + if (!fileUtils_1.pathExists(modeDir)) + return; + if (!settingsProvider) { + return; + } + const hasNoneExtendedAsciiChars = [...buildDir].some((char) => char.charCodeAt(0) > 255); + if (exports.experimentalExecutionEnabled || + buildDir.includes(' ') || + hasNoneExtendedAsciiChars) { + await runner_1.executeRunTask(runTask, activeFolder, buildMode, argumentsString, settingsProvider.operatingSystem); + } + else { + await vscode.tasks.executeTask(runTask); + } + }); + runStatusBar.command = commandName; + exports.extensionContext?.subscriptions.push(commandRunDisposable); +} +function initDebugStatusBar() { + if (debugStatusBar) + return; + debugStatusBar = vscodeUtils_1.createStatusBarItem(); + exports.extensionContext?.subscriptions.push(debugStatusBar); + statusBarItems_1.updateDebugStatus(debugStatusBar, showStatusBarItems, activeFolder); + const commandName = `${EXTENSION_NAME}.debug`; + commandDebugDisposable = vscode.commands.registerCommand(commandName, () => { + if (!activeFolder || !workspaceFolder) { + const infoMessage = `debugCallback failed`; + logger.log(exports.loggingActive, infoMessage); + return; + } + if (taskProvider) + debugger_1.runDebugger(activeFolder, workspaceFolder, buildMode); + }); + debugStatusBar.command = commandName; + exports.extensionContext?.subscriptions.push(commandDebugDisposable); +} +function initCleanStatusBar() { + if (cleanStatusBar) + return; + cleanStatusBar = vscodeUtils_1.createStatusBarItem(); + exports.extensionContext?.subscriptions.push(cleanStatusBar); + statusBarItems_1.updateCleanStatus(cleanStatusBar, showStatusBarItems, activeFolder); + const commandName = `${EXTENSION_NAME}.clean`; + commandCleanDisposable = vscode.commands.registerCommand(commandName, async () => { + if (!taskProvider || + !taskProvider.tasks || + !activeFolder || + !workspaceFolder) { + const infoMessage = `cleanCallback failed`; + logger.log(exports.loggingActive, infoMessage); + return; + } + const cleanTaskIndex = 2; + const cleanTask = taskProvider.tasks[cleanTaskIndex]; + if (!cleanTask) + return; + const buildDir = path.join(activeFolder, 'build'); + const modeDir = path.join(buildDir, `${buildMode}`); + if (!cleanTask.execution || + !(cleanTask.execution instanceof vscode.ShellExecution) || + !cleanTask.execution.commandLine) { + return; + } + let relativeModeDir = modeDir.replace(workspaceFolder, ''); + relativeModeDir = fileUtils_1.replaceBackslashes(relativeModeDir); + cleanTask.execution.commandLine = `echo Cleaning ${relativeModeDir}...`; + if (!fileUtils_1.pathExists(modeDir)) + return; + fileUtils_1.rmdirRecursive(modeDir); + await vscode.tasks.executeTask(cleanTask); + }); + cleanStatusBar.command = commandName; + exports.extensionContext?.subscriptions.push(commandCleanDisposable); +} +//# sourceMappingURL=extension.js.map \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/extension.js.map b/src/franneck94.c-cpp-runner-4.1.2/dist/src/extension.js.map new file mode 100644 index 0000000..478ac87 --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/extension.js.map @@ -0,0 +1 @@ +{"version":3,"file":"extension.js","sourceRoot":"","sources":["../../src/extension.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/handler/folderHandler.js b/src/franneck94.c-cpp-runner-4.1.2/dist/src/handler/folderHandler.js new file mode 100644 index 0000000..af88006 --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/handler/folderHandler.js @@ -0,0 +1,48 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.folderHandler = void 0; +const path = require("path"); +const vscode = require("vscode"); +const fileUtils_1 = require("../utils/fileUtils"); +async function folderHandler(settingsProvider) { + const workspacesFolders = vscode.workspace.workspaceFolders; + if (!workspacesFolders) + return; + let foldersList = []; + workspacesFolders.forEach((folder) => { + const directories = [folder.name]; + const recursiveDirectories = fileUtils_1.getDirectoriesRecursive(folder.uri.fsPath); + if (recursiveDirectories) { + directories.push(...recursiveDirectories); + } + directories.forEach((dir) => { + let text = dir.replace(folder.uri.fsPath, folder.name); + text = fileUtils_1.replaceBackslashes(text); + foldersList.push(text); + }); + if (settingsProvider) { + foldersList = fileUtils_1.excludePatternFromList(settingsProvider.excludeSearch, foldersList); + } + foldersList = fileUtils_1.naturalSort(foldersList); + }); + const activeFolderStr = await vscode.window.showQuickPick(foldersList, { + placeHolder: 'Select folder to init the C/C++ Runner extension.', + }); + let activeFolder; + let workspaceFolder; + if (activeFolderStr) { + const folderSplit = activeFolderStr.split('/'); + const workspaceName = folderSplit[0]; + workspacesFolders.forEach((folder) => { + if (folder.name === workspaceName) { + workspaceFolder = folder.uri.fsPath; + } + }); + if (workspaceFolder) { + activeFolder = path.join(workspaceFolder, ...folderSplit.slice(1)); + } + } + return { activeFolder, workspaceFolder }; +} +exports.folderHandler = folderHandler; +//# sourceMappingURL=folderHandler.js.map \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/handler/folderHandler.js.map b/src/franneck94.c-cpp-runner-4.1.2/dist/src/handler/folderHandler.js.map new file mode 100644 index 0000000..b914a93 --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/handler/folderHandler.js.map @@ -0,0 +1 @@ +{"version":3,"file":"folderHandler.js","sourceRoot":"","sources":["../../../src/handler/folderHandler.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAC7B,iCAAiC;AAGjC,kDAK4B;AAErB,KAAK,UAAU,aAAa,CACjC,gBAA8C;IAE9C,MAAM,iBAAiB,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC;IAE5D,IAAI,CAAC,iBAAiB;QAAE,OAAO;IAE/B,IAAI,WAAW,GAAa,EAAE,CAAC;IAC/B,iBAAiB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACnC,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,oBAAoB,GAAG,mCAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxE,IAAI,oBAAoB,EAAE;YACxB,WAAW,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,CAAC;SAC3C;QAED,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC1B,IAAI,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,GAAG,8BAAkB,CAAC,IAAI,CAAC,CAAC;YAChC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,IAAI,gBAAgB,EAAE;YACpB,WAAW,GAAG,kCAAsB,CAClC,gBAAgB,CAAC,aAAa,EAC9B,WAAW,CACZ,CAAC;SACH;QAED,WAAW,GAAG,uBAAW,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE;QACrE,WAAW,EAAE,mDAAmD;KACjE,CAAC,CAAC;IACH,IAAI,YAAgC,CAAC;IACrC,IAAI,eAAmC,CAAC;IAExC,IAAI,eAAe,EAAE;QACnB,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QACrC,iBAAiB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACnC,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,EAAE;gBACjC,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;aACrC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,eAAe,EAAE;YACnB,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SACpE;KACF;IAED,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC;AAC3C,CAAC;AApDD,sCAoDC"} \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/handler/modeHandler.js b/src/franneck94.c-cpp-runner-4.1.2/dist/src/handler/modeHandler.js new file mode 100644 index 0000000..6738055 --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/handler/modeHandler.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.modeHandler = void 0; +const vscode = require("vscode"); +const types_1 = require("../utils/types"); +async function modeHandler() { + const combinations = [types_1.Builds.debug, types_1.Builds.release]; + const pickedCombination = await vscode.window.showQuickPick(combinations, { + placeHolder: 'Select a build mode', + }); + if (!pickedCombination) + return undefined; + const pickedMode = pickedCombination.includes(types_1.Builds.debug) + ? types_1.Builds.debug + : types_1.Builds.release; + return pickedMode; +} +exports.modeHandler = modeHandler; +//# sourceMappingURL=modeHandler.js.map \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/handler/modeHandler.js.map b/src/franneck94.c-cpp-runner-4.1.2/dist/src/handler/modeHandler.js.map new file mode 100644 index 0000000..f8f7571 --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/handler/modeHandler.js.map @@ -0,0 +1 @@ +{"version":3,"file":"modeHandler.js","sourceRoot":"","sources":["../../../src/handler/modeHandler.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AAEjC,0CAAwC;AAEjC,KAAK,UAAU,WAAW;IAC/B,MAAM,YAAY,GAAG,CAAC,cAAM,CAAC,KAAK,EAAE,cAAM,CAAC,OAAO,CAAC,CAAC;IAEpD,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE;QACxE,WAAW,EAAE,qBAAqB;KACnC,CAAC,CAAC;IAEH,IAAI,CAAC,iBAAiB;QAAE,OAAO,SAAS,CAAC;IAEzC,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,CAAC,cAAM,CAAC,KAAK,CAAC;QACzD,CAAC,CAAC,cAAM,CAAC,KAAK;QACd,CAAC,CAAC,cAAM,CAAC,OAAO,CAAC;IAEnB,OAAO,UAAU,CAAC;AACpB,CAAC;AAdD,kCAcC"} \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/items/statusBarItems.js b/src/franneck94.c-cpp-runner-4.1.2/dist/src/items/statusBarItems.js new file mode 100644 index 0000000..39df360 --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/items/statusBarItems.js @@ -0,0 +1,81 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.updateCleanStatus = exports.updateDebugStatus = exports.updateRunStatus = exports.updateBuildStatus = exports.updateModeStatus = exports.updateFolderStatus = void 0; +const path = require("path"); +const fileUtils_1 = require("../utils/fileUtils"); +function updateFolderStatus(status, taskProvider, showStatusBarItems) { + if (!status) + return; + if (taskProvider && + taskProvider.workspaceFolder && + taskProvider.activeFolder) { + const workspaceFolder = taskProvider.workspaceFolder; + const workspaceName = path.basename(workspaceFolder); + let text = taskProvider.activeFolder.replace(workspaceFolder, workspaceName); + text = fileUtils_1.replaceBackslashes(text); + const dirs = text.split('/'); + if (dirs.length > 2) { + const lastElement = dirs.length - 1; + text = `${dirs[0]}/.../${dirs[lastElement]}`; + } + status.color = ''; + status.text = `$(folder-active) ${text}`; + } + else { + status.color = '#ffff00'; + status.text = '$(alert) Select folder.'; + } + if (showStatusBarItems) { + status.show(); + } + else { + status.hide(); + } +} +exports.updateFolderStatus = updateFolderStatus; +function updateModeStatus(status, showStatusBarItems, activeFolder, buildMode) { + if (!status) + return; + status.text = `$(tools) ${buildMode}`; + toggleShow(status, showStatusBarItems, activeFolder); +} +exports.updateModeStatus = updateModeStatus; +function updateBuildStatus(status, showStatusBarItems, activeFolder) { + if (!status) + return; + status.text = `$(gear)`; + toggleShow(status, showStatusBarItems, activeFolder); +} +exports.updateBuildStatus = updateBuildStatus; +function updateRunStatus(status, showStatusBarItems, activeFolder) { + if (!status) + return; + status.text = `$(play)`; + toggleShow(status, showStatusBarItems, activeFolder); +} +exports.updateRunStatus = updateRunStatus; +function updateDebugStatus(status, showStatusBarItems, activeFolder) { + if (!status) + return; + status.text = `$(bug)`; + toggleShow(status, showStatusBarItems, activeFolder); +} +exports.updateDebugStatus = updateDebugStatus; +function updateCleanStatus(status, showStatusBarItems, activeFolder) { + if (!status) + return; + status.text = `$(trash)`; + toggleShow(status, showStatusBarItems, activeFolder); +} +exports.updateCleanStatus = updateCleanStatus; +function toggleShow(status, showStatusBarItems, activeFolder) { + if (!status) + return; + if (showStatusBarItems && activeFolder) { + status.show(); + } + else { + status.hide(); + } +} +//# sourceMappingURL=statusBarItems.js.map \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/items/statusBarItems.js.map b/src/franneck94.c-cpp-runner-4.1.2/dist/src/items/statusBarItems.js.map new file mode 100644 index 0000000..c9550fb --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/items/statusBarItems.js.map @@ -0,0 +1 @@ +{"version":3,"file":"statusBarItems.js","sourceRoot":"","sources":["../../../src/items/statusBarItems.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/callbackProvider.js b/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/callbackProvider.js new file mode 100644 index 0000000..a0d7759 --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/callbackProvider.js @@ -0,0 +1,38 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CallbackProvider = void 0; +const path = require("path"); +const vscode = require("vscode"); +const vscodeUtils_1 = require("../utils/vscodeUtils"); +class CallbackProvider { + constructor(_workspaceFolder, templateFileName, outputFileName) { + this._workspaceFolder = _workspaceFolder; + this.templateFileName = templateFileName; + this.outputFileName = outputFileName; + this._vscodeDirectory = path.join(this._workspaceFolder, '.vscode'); + this._outputPath = path.join(this._vscodeDirectory, outputFileName); + this.createFileWatcher(); + } + createFileWatcher() { + const filePattern = new vscode.RelativePattern(this._workspaceFolder, '.vscode/**'); + this._fileWatcherOnDelete = vscode.workspace.createFileSystemWatcher(filePattern, true, true, false); + this._fileWatcherOnChange = vscode.workspace.createFileSystemWatcher(filePattern, true, false, true); + this._fileWatcherOnDelete.onDidDelete((e) => { + const pathName = e.fsPath; + if (pathName === this._vscodeDirectory || pathName === this._outputPath) { + const extensionIsActive = vscodeUtils_1.getActivationState(); + if (extensionIsActive) + this.deleteCallback(); + } + }); + this._fileWatcherOnChange.onDidChange((e) => { + const pathName = e.fsPath; + if (pathName === this._outputPath) { + this.changeCallback(); + } + }); + return; + } +} +exports.CallbackProvider = CallbackProvider; +//# sourceMappingURL=callbackProvider.js.map \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/callbackProvider.js.map b/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/callbackProvider.js.map new file mode 100644 index 0000000..7848bc5 --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/callbackProvider.js.map @@ -0,0 +1 @@ +{"version":3,"file":"callbackProvider.js","sourceRoot":"","sources":["../../../src/provider/callbackProvider.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAC7B,iCAAiC;AAEjC,sDAA0D;AAE1D,MAAsB,gBAAgB;IAMpC,YACY,gBAAwB,EACxB,gBAAwB,EACxB,cAAsB;QAFtB,qBAAgB,GAAhB,gBAAgB,CAAQ;QACxB,qBAAgB,GAAhB,gBAAgB,CAAQ;QACxB,mBAAc,GAAd,cAAc,CAAQ;QAEhC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QACpE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;QAEpE,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAES,iBAAiB;QACzB,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,eAAe,CAC5C,IAAI,CAAC,gBAAgB,EACrB,YAAY,CACb,CAAC;QAEF,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAClE,WAAW,EACX,IAAI,EACJ,IAAI,EACJ,KAAK,CACN,CAAC;QAEF,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAClE,WAAW,EACX,IAAI,EACJ,KAAK,EACL,IAAI,CACL,CAAC;QAEF,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAa,EAAE,EAAE;YACtD,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;YAC1B,IAAI,QAAQ,KAAK,IAAI,CAAC,gBAAgB,IAAI,QAAQ,KAAK,IAAI,CAAC,WAAW,EAAE;gBACvE,MAAM,iBAAiB,GAAG,gCAAkB,EAAE,CAAC;gBAC/C,IAAI,iBAAiB;oBAAE,IAAI,CAAC,cAAc,EAAE,CAAC;aAC9C;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAa,EAAE,EAAE;YACtD,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;YAC1B,IAAI,QAAQ,KAAK,IAAI,CAAC,WAAW,EAAE;gBACjC,IAAI,CAAC,cAAc,EAAE,CAAC;aACvB;QACH,CAAC,CAAC,CAAC;QAEH,OAAO;IACT,CAAC;CAKF;AA1DD,4CA0DC"} \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/fileProvider.js b/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/fileProvider.js new file mode 100644 index 0000000..5439f2c --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/fileProvider.js @@ -0,0 +1,40 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.FileProvider = void 0; +const path = require("path"); +const extension_1 = require("../extension"); +const fileUtils_1 = require("../utils/fileUtils"); +const vscodeUtils_1 = require("../utils/vscodeUtils"); +const callbackProvider_1 = require("./callbackProvider"); +class FileProvider extends callbackProvider_1.CallbackProvider { + constructor(workspaceFolder, templateFileName, outputFileName) { + super(workspaceFolder, templateFileName, outputFileName); + const templateDirectory = path.join(extension_1.extensionPath ? extension_1.extensionPath : '', 'templates'); + this.templatePath = path.join(templateDirectory, templateFileName); + if (!fileUtils_1.pathExists(this._vscodeDirectory)) { + fileUtils_1.mkdirRecursive(this._vscodeDirectory); + } + } + createFileData() { + if (!fileUtils_1.pathExists(this._vscodeDirectory)) { + fileUtils_1.mkdirRecursive(this._vscodeDirectory); + } + this.writeFileData(); + } + updateFileContent() { + this.writeFileData(); + } + deleteCallback() { + const extensionIsActive = vscodeUtils_1.getActivationState(); + if (extensionIsActive) + this.createFileData(); + } + _updateFolderData(_workspaceFolder) { + this._workspaceFolder = _workspaceFolder; + this._vscodeDirectory = path.join(this._workspaceFolder, '.vscode'); + this._outputPath = path.join(this._vscodeDirectory, this.outputFileName); + this.createFileWatcher(); + } +} +exports.FileProvider = FileProvider; +//# sourceMappingURL=fileProvider.js.map \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/fileProvider.js.map b/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/fileProvider.js.map new file mode 100644 index 0000000..f81ee1e --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/fileProvider.js.map @@ -0,0 +1 @@ +{"version":3,"file":"fileProvider.js","sourceRoot":"","sources":["../../../src/provider/fileProvider.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAE7B,4CAA6C;AAC7C,kDAAgE;AAChE,sDAA0D;AAC1D,yDAAsD;AAEtD,MAAsB,YAAa,SAAQ,mCAAgB;IAGzD,YACE,eAAuB,EACvB,gBAAwB,EACxB,cAAsB;QAEtB,KAAK,CAAC,eAAe,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAC;QAEzD,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CACjC,yBAAa,CAAC,CAAC,CAAC,yBAAa,CAAC,CAAC,CAAC,EAAE,EAClC,WAAW,CACZ,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;QAEnE,IAAI,CAAC,sBAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;YACtC,0BAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;SACvC;IACH,CAAC;IAMM,cAAc;QACnB,IAAI,CAAC,sBAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;YACtC,0BAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;SACvC;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEM,iBAAiB;QACtB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEe,cAAc;QAC5B,MAAM,iBAAiB,GAAG,gCAAkB,EAAE,CAAC;QAC/C,IAAI,iBAAiB;YAAE,IAAI,CAAC,cAAc,EAAE,CAAC;IAC/C,CAAC;IAES,iBAAiB,CAAC,gBAAwB;QAClD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QACpE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACzE,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;CACF;AAhDD,oCAgDC"} \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/launchProvider.js b/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/launchProvider.js new file mode 100644 index 0000000..eefb444 --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/launchProvider.js @@ -0,0 +1,124 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.LaunchProvider = void 0; +const path = require("path"); +const fileUtils_1 = require("../utils/fileUtils"); +const types_1 = require("../utils/types"); +const vscodeUtils_1 = require("../utils/vscodeUtils"); +const fileProvider_1 = require("./fileProvider"); +const settingsProvider_1 = require("./settingsProvider"); +const TEMPLATE_FILENAME = 'launch_template.json'; +const OUTPUT_FILENAME = 'launch.json'; +const CONFIG_NAME = 'C/C++ Runner: Debug Session'; +class LaunchProvider extends fileProvider_1.FileProvider { + constructor(settings, workspaceFolder, activeFolder) { + super(workspaceFolder, TEMPLATE_FILENAME, OUTPUT_FILENAME); + this.settings = settings; + this.workspaceFolder = workspaceFolder; + this.activeFolder = activeFolder; + this.buildMode = types_1.Builds.debug; + if (!this.activeFolder) { + this.activeFolder = this.workspaceFolder; + } + const updateRequired = this.updateCheck(); + if (updateRequired) { + this.createFileData(); + } + } + updateCheck() { + let doUpdate = false; + if (!fileUtils_1.pathExists(this._outputPath)) { + doUpdate = true; + } + else { + const configJson = fileUtils_1.readJsonFile(this._outputPath); + if (configJson) { + let foundConfig = false; + configJson.configurations.forEach((config) => { + const triplet = config.name; + if (triplet.includes(this.settings.operatingSystem)) { + foundConfig = true; + } + }); + if (!foundConfig) { + doUpdate = true; + } + } + } + return doUpdate; + } + writeFileData() { + if (!this.workspaceFolder && !this.activeFolder) + return; + if (!this.activeFolder) { + this.activeFolder = this.workspaceFolder; + } + const launchTemplate = fileUtils_1.readJsonFile(this.templatePath); + if (!launchTemplate) + return; + launchTemplate.configurations[0].name = CONFIG_NAME; + if (this.settings.debugger) { + launchTemplate.configurations[0].MIMode = this.settings.debugger; + launchTemplate.configurations[0].miDebuggerPath = this.settings.debuggerPath; + if (types_1.OperatingSystems.windows === this.settings.operatingSystem && + this.settings.isCygwin) { + launchTemplate.configurations[0].externalConsole = true; + } + } + else { + launchTemplate.configurations[0].MIMode = + settingsProvider_1.SettingsProvider.DEFAULT_DEBUGGER_PATH; + launchTemplate.configurations[0].miDebuggerPath = + settingsProvider_1.SettingsProvider.DEFAULT_DEBUGGER_PATH; + } + launchTemplate.configurations[0].cwd = this.activeFolder; + const debugPath = path.join(this.activeFolder, `build/${this.buildMode}/out${this.buildMode}`); + launchTemplate.configurations[0].program = debugPath; + const launchLocal = fileUtils_1.readJsonFile(this._outputPath); + if (!launchLocal) { + fileUtils_1.writeJsonFile(this._outputPath, launchTemplate); + return; + } + let configIdx = vscodeUtils_1.getLaunchConfigIndex(launchLocal, CONFIG_NAME); + if (configIdx === undefined) { + configIdx = launchLocal.configurations.length; + } + if (launchLocal && launchLocal.configurations.length === configIdx) { + launchLocal.configurations.push(launchTemplate.configurations[0]); + } + else { + launchLocal.configurations[configIdx] = launchTemplate.configurations[0]; + } + fileUtils_1.writeJsonFile(this._outputPath, launchLocal); + } + updateFolderData(workspaceFolder, activeFolder) { + this.activeFolder = activeFolder; + super._updateFolderData(workspaceFolder); + } + updateModeData(buildMode) { + this.buildMode = buildMode; + } + changeCallback() { + const launchLocal = fileUtils_1.readJsonFile(this._outputPath); + if (!launchLocal) + return; + const configIdx = vscodeUtils_1.getLaunchConfigIndex(launchLocal, CONFIG_NAME); + if (configIdx !== undefined) { + const currentConfig = launchLocal.configurations[configIdx]; + if (currentConfig.miDebuggerPath !== this.settings.debuggerPath) { + this.settings.debuggerPath = currentConfig.miDebuggerPath; + if (currentConfig.miDebuggerPath.includes(types_1.Debuggers.gdb)) { + this.settings.setGDB(currentConfig.miDebuggerPath); + } + else if (currentConfig.miDebuggerPath.includes(types_1.Debuggers.lldb)) { + this.settings.setLLDB(currentConfig.miDebuggerPath); + } + } + } + else { + this.writeFileData(); + } + } +} +exports.LaunchProvider = LaunchProvider; +//# sourceMappingURL=launchProvider.js.map \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/launchProvider.js.map b/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/launchProvider.js.map new file mode 100644 index 0000000..8cd8494 --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/launchProvider.js.map @@ -0,0 +1 @@ +{"version":3,"file":"launchProvider.js","sourceRoot":"","sources":["../../../src/provider/launchProvider.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/propertiesProvider.js b/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/propertiesProvider.js new file mode 100644 index 0000000..5e114d1 --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/propertiesProvider.js @@ -0,0 +1,153 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.PropertiesProvider = void 0; +const fileUtils_1 = require("../utils/fileUtils"); +const types_1 = require("../utils/types"); +const fileProvider_1 = require("./fileProvider"); +const TEMPLATE_FILENAME = 'properties_template.json'; +const OUTPUT_FILENAME = 'c_cpp_properties.json'; +const INCLUDE_PATTERN = '${workspaceFolder}/**'; +class PropertiesProvider extends fileProvider_1.FileProvider { + constructor(settings, workspaceFolder, activeFolder) { + super(workspaceFolder, TEMPLATE_FILENAME, OUTPUT_FILENAME); + this.settings = settings; + this.workspaceFolder = workspaceFolder; + this.activeFolder = activeFolder; + const updateRequired = this.updateCheck(); + if (updateRequired && activeFolder) { + this.createFileData(); + } + } + updateCheck() { + let doUpdate = false; + if (!fileUtils_1.pathExists(this._outputPath)) { + doUpdate = true; + } + else { + const configLocal = fileUtils_1.readJsonFile(this._outputPath); + if (configLocal) { + const triplet = configLocal.configurations[0].name; + if (!triplet.includes(this.settings.operatingSystem)) { + doUpdate = true; + } + } + } + return doUpdate; + } + writeFileData() { + let configLocal; + if (!fileUtils_1.pathExists(this._outputPath)) { + configLocal = fileUtils_1.readJsonFile(this.templatePath); + } + else { + configLocal = fileUtils_1.readJsonFile(this._outputPath); + } + if (!configLocal) + return; + const triplet = `${this.settings.operatingSystem}-` + + `${this.settings.cCompiler}-` + + `${this.settings.architecure}`; + const currentConfig = configLocal.configurations[0]; + currentConfig.compilerArgs = []; + if (this.settings.warnings) { + for (const warning of this.settings.warnings) { + const compilerArgsSet = new Set(currentConfig.compilerArgs); + if (!compilerArgsSet.has(warning)) { + currentConfig.compilerArgs.push(warning); + } + } + } + if (this.settings.compilerArgs) { + for (const arg of this.settings.compilerArgs) { + const compilerArgsSet = new Set(currentConfig.compilerArgs); + if (!compilerArgsSet.has(arg)) { + currentConfig.compilerArgs.push(arg); + } + } + } + if (this.settings.includePaths) { + currentConfig.includePath = [INCLUDE_PATTERN]; + for (const path of this.settings.includePaths) { + const includePathSet = new Set(currentConfig.includePath); + if (path !== INCLUDE_PATTERN && !includePathSet.has(path)) { + currentConfig.includePath.push(path); + } + } + } + else { + currentConfig.includePath = [INCLUDE_PATTERN]; + } + if (this.settings.cStandard) { + currentConfig.cStandard = this.settings.cStandard; + } + else { + currentConfig.cStandard = '${default}'; + } + if (this.settings.cppStandard) { + currentConfig.cppStandard = this.settings.cppStandard; + } + else { + currentConfig.cppStandard = '${default}'; + } + currentConfig.compilerPath = this.settings.cCompilerPath; + if (this.settings.isCygwin && + this.settings.operatingSystem === types_1.OperatingSystems.windows) { + currentConfig.name = triplet.replace('windows', 'windows-cygwin'); + currentConfig.intelliSenseMode = triplet.replace('windows', 'linux'); + } + else { + currentConfig.name = triplet; + currentConfig.intelliSenseMode = triplet; + } + fileUtils_1.writeJsonFile(this._outputPath, configLocal); + } + updateFolderData(workspaceFolder) { + super._updateFolderData(workspaceFolder); + } + changeCallback() { + const configLocal = fileUtils_1.readJsonFile(this._outputPath); + if (!configLocal) + return; + const currentConfig = configLocal.configurations[0]; + if (currentConfig.compilerPath !== this.settings.cCompilerPath && + currentConfig.compilerPath !== this.settings.cppCompilerPath) { + let compilerName = currentConfig.compilerPath; + this.settings.cCompilerPath = currentConfig.compilerPath; + compilerName = fileUtils_1.getBasename(compilerName); + compilerName = fileUtils_1.removeExtension(compilerName, 'exe'); + if (compilerName.includes(types_1.Compilers.clang)) { + this.settings.setClang(currentConfig.compilerPath); + } + else if (compilerName.includes(types_1.Compilers.clangpp)) { + this.settings.setClangpp(currentConfig.compilerPath); + } + else if (compilerName.includes(types_1.Compilers.gcc)) { + this.settings.setGcc(currentConfig.compilerPath); + } + else if (compilerName.includes(types_1.Compilers.gpp)) { + this.settings.setGpp(currentConfig.compilerPath); + } + } + if (currentConfig.cStandard !== '${default}' && + currentConfig.cStandard !== this.settings.cStandard) { + this.settings.cStandard = currentConfig.cStandard; + this.settings.update('cStandard', currentConfig.cStandard); + } + if (currentConfig.cppStandard !== '${default}' && + currentConfig.cppStandard !== this.settings.cppStandard) { + this.settings.cppStandard = currentConfig.cppStandard; + this.settings.update('cppStandard', currentConfig.cppStandard); + } + const argsSet = new Set(currentConfig.compilerArgs); + const args = [...argsSet]; + const warningArgs = args.filter((arg) => arg.includes('-W')); + const compilerArgs = args.filter((arg) => !arg.includes('-W')); + const includeArgs = currentConfig.includePath.filter((path) => path !== INCLUDE_PATTERN); + this.settings.warnings = warningArgs; + this.settings.compilerArgs = compilerArgs; + this.settings.includePaths = includeArgs; + this.settings.setOtherSettings(); + } +} +exports.PropertiesProvider = PropertiesProvider; +//# sourceMappingURL=propertiesProvider.js.map \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/propertiesProvider.js.map b/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/propertiesProvider.js.map new file mode 100644 index 0000000..3341873 --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/propertiesProvider.js.map @@ -0,0 +1 @@ +{"version":3,"file":"propertiesProvider.js","sourceRoot":"","sources":["../../../src/provider/propertiesProvider.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/settingsProvider.js b/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/settingsProvider.js new file mode 100644 index 0000000..022397d --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/settingsProvider.js @@ -0,0 +1,481 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.SettingsProvider = void 0; +const path = require("path"); +const vscode = require("vscode"); +const fileUtils_1 = require("../utils/fileUtils"); +const systemUtils_1 = require("../utils/systemUtils"); +const types_1 = require("../utils/types"); +const vscodeUtils_1 = require("../utils/vscodeUtils"); +const fileProvider_1 = require("./fileProvider"); +const TEMPLATE_FILENAME = 'settings_template.json'; +const OUTPUT_FILENAME = 'settings.json'; +const EXTENSION_NAME = 'C_Cpp_Runner'; +class SettingsProvider extends fileProvider_1.FileProvider { + constructor(workspaceFolder, activeFolder) { + super(workspaceFolder, TEMPLATE_FILENAME, OUTPUT_FILENAME); + this.workspaceFolder = workspaceFolder; + this.activeFolder = activeFolder; + this._configGlobal = vscode.workspace.getConfiguration(EXTENSION_NAME); + this.operatingSystem = systemUtils_1.getOperatingSystem(); + this.isCygwin = false; + this._cCompilerFound = false; + this._cppCompilerFound = false; + this._makeFound = false; + this._debuggerFound = false; + this._commands = new types_1.Commands(); + this.cCompilerPath = SettingsProvider.DEFAULT_C_COMPILER_PATH; + this.cppCompilerPath = SettingsProvider.DEFAULT_CPP_COMPILER_PATH; + this.debuggerPath = SettingsProvider.DEFAULT_DEBUGGER_PATH; + this.makePath = SettingsProvider.DEFAULT_MAKE_PATH; + this.cStandard = SettingsProvider.DEFAULT_C_STANDARD; + this.cppStandard = SettingsProvider.DEFAULT_CPP_STANDARD; + this.compilerArgs = SettingsProvider.DEFAULT_COMPILER_ARGS; + this.linkerArgs = SettingsProvider.DEFAULT_LINKER_ARGS; + this.includePaths = SettingsProvider.DEFAULT_INCLUDE_PATHS; + this.excludeSearch = SettingsProvider.DEFAULT_EXCLUDE_SEARCH; + this.enableWarnings = SettingsProvider.DEFAULT_ENABLE_WARNINGS; + this.warningsAsError = SettingsProvider.DEFAULT_WARNINGS_AS_ERRORS; + this.warnings = SettingsProvider.DEFAULT_WARNINGS; + const updateRequired = this.updateCheck(); + if (updateRequired && activeFolder) { + this.createFileData(); + } + else if (activeFolder) { + this.getSettings(); + this.getCommandTypes(); + this.getArchitecture(); + } + } + updateCheck() { + let doUpdate = false; + if (!fileUtils_1.pathExists(this._outputPath)) { + doUpdate = true; + } + else if (!this.commandsStored()) { + doUpdate = true; + } + return doUpdate; + } + commandsStored() { + if (fileUtils_1.pathExists(this._outputPath)) { + const settingsJson = fileUtils_1.readJsonFile(this._outputPath); + if (!settingsJson) + return false; + if (fileUtils_1.commandCheck(`${EXTENSION_NAME}.cCompilerPath`, settingsJson) && + fileUtils_1.commandCheck(`${EXTENSION_NAME}.cppCompilerPath`, settingsJson) && + fileUtils_1.commandCheck(`${EXTENSION_NAME}.debuggerPath`, settingsJson) && + fileUtils_1.commandCheck(`${EXTENSION_NAME}.makePath`, settingsJson)) { + return true; + } + if (this._cCompilerFound && + this._cppCompilerFound && + this._makeFound && + this._debuggerFound) { + return true; + } + } + return false; + } + writeFileData() { + this.getSettings(); + if (!this.commandsStored()) { + this.getCommands(); + this.setCommands(); + this.getCommandTypes(); + this.getArchitecture(); + } + } + deleteCallback() { + const extensionIsActive = vscodeUtils_1.getActivationState(); + if (extensionIsActive) + this.writeFileData(); + } + changeCallback() { + this.getSettings(); + } + updateFolderData(workspaceFolder) { + super._updateFolderData(workspaceFolder); + } + getSettings() { + const settingsLocal = fileUtils_1.readJsonFile(this._outputPath); + this.cCompilerPath = this.getSettingsValue(settingsLocal, 'cCompilerPath', SettingsProvider.DEFAULT_C_COMPILER_PATH); + this.cppCompilerPath = this.getSettingsValue(settingsLocal, 'cppCompilerPath', SettingsProvider.DEFAULT_CPP_COMPILER_PATH); + this.debuggerPath = this.getSettingsValue(settingsLocal, 'debuggerPath', SettingsProvider.DEFAULT_DEBUGGER_PATH); + this.makePath = this.getSettingsValue(settingsLocal, 'makePath', SettingsProvider.DEFAULT_MAKE_PATH); + this.enableWarnings = this.getSettingsValue(settingsLocal, 'enableWarnings', SettingsProvider.DEFAULT_ENABLE_WARNINGS); + this.warnings = this.getSettingsValue(settingsLocal, 'warnings', SettingsProvider.DEFAULT_WARNINGS); + this.warningsAsError = this.getSettingsValue(settingsLocal, 'warningsAsError', SettingsProvider.DEFAULT_WARNINGS_AS_ERRORS); + this.cStandard = this.getSettingsValue(settingsLocal, 'cStandard', SettingsProvider.DEFAULT_C_STANDARD); + this.cppStandard = this.getSettingsValue(settingsLocal, 'cppStandard', SettingsProvider.DEFAULT_CPP_STANDARD); + this.compilerArgs = this.getSettingsValue(settingsLocal, 'compilerArgs', SettingsProvider.DEFAULT_COMPILER_ARGS); + this.linkerArgs = this.getSettingsValue(settingsLocal, 'linkerArgs', SettingsProvider.DEFAULT_LINKER_ARGS); + this.includePaths = this.getSettingsValue(settingsLocal, 'includePaths', SettingsProvider.DEFAULT_INCLUDE_PATHS); + this.excludeSearch = this.getSettingsValue(settingsLocal, 'excludeSearch', SettingsProvider.DEFAULT_EXCLUDE_SEARCH); + } + getCommands() { + this.searchPathVariables(); + this.searchCommands(); + } + async searchCommands() { + if (!this._commands.foundGcc) { + ({ + f: this._commands.foundGcc, + p: this._commands.pathGcc, + } = await systemUtils_1.commandExists(types_1.Compilers.gcc)); + if (!this._commands.foundGcc) { + ({ + f: this._commands.foundClang, + p: this._commands.pathClang, + } = await systemUtils_1.commandExists(types_1.Compilers.clang)); + } + } + if (!this._commands.foundGpp) { + ({ + f: this._commands.foundGpp, + p: this._commands.pathGpp, + } = await systemUtils_1.commandExists(types_1.Compilers.gpp)); + if (!this._commands.foundGpp) { + ({ + f: this._commands.foundClangpp, + p: this._commands.pathClangpp, + } = await systemUtils_1.commandExists(types_1.Compilers.clangpp)); + } + } + if (!this._commands.foundGDB) { + ({ + f: this._commands.foundGDB, + p: this._commands.pathGDB, + } = await systemUtils_1.commandExists(types_1.Debuggers.gdb)); + if (!this._commands.foundGDB) { + ({ + f: this._commands.foundLLDB, + p: this._commands.pathLLDB, + } = await systemUtils_1.commandExists(types_1.Debuggers.lldb)); + } + } + if (!this._commands.foundMake) { + ({ + f: this._commands.foundMake, + p: this._commands.pathMake, + } = await systemUtils_1.commandExists(types_1.Makefiles.make)); + if (!this._commands.foundMake && + this.operatingSystem === types_1.OperatingSystems.windows) { + ({ + f: this._commands.foundMake, + p: this._commands.pathMake, + } = await systemUtils_1.commandExists(types_1.Makefiles.make_mingw)); + } + } + } + searchPathVariables() { + this._commands = new types_1.Commands(); + const env = process.env; + if (env['PATH']) { + let paths = []; + if (this.operatingSystem === types_1.OperatingSystems.windows) { + paths = env['PATH'].split(';'); + } + else { + paths = env['PATH'].split(':'); + } + for (const envPath of paths) { + if ((this._commands.foundGcc && + this._commands.foundGpp && + this._commands.foundGDB) || + (this._commands.foundClang && + this._commands.foundClangpp && + this._commands.foundLLDB)) { + break; + } + if (this.operatingSystem === types_1.OperatingSystems.windows) { + if (this.skipCheckWindows(envPath)) + continue; + } + else if (this.operatingSystem === types_1.OperatingSystems.linux) { + if (this.skipCheckLinux(envPath)) + continue; + } + else if (this.operatingSystem === types_1.OperatingSystems.mac) { + if (this.skipCheckMac(envPath)) + continue; + } + if (this.operatingSystem === types_1.OperatingSystems.windows) { + this.searchPathVariablesWindows(envPath); + } + else if (this.operatingSystem === types_1.OperatingSystems.linux) { + this.searchPathVariablesLinux(envPath); + } + else if (this.operatingSystem === types_1.OperatingSystems.mac) { + this.searchPathVariablesMac(envPath); + } + } + } + } + skipCheckWindows(envPath) { + if (!envPath.toLowerCase().includes('bin') && + !envPath.toLowerCase().includes('mingw') && + !envPath.toLowerCase().includes('msys') && + !envPath.toLowerCase().includes('cygwin')) { + return true; + } + return false; + } + skipCheckLinux(envPath) { + if (!envPath.toLowerCase().startsWith('/bin') && + !envPath.toLowerCase().startsWith('/usr/bin')) { + return true; + } + return false; + } + skipCheckMac(envPath) { + if (!envPath.toLowerCase().includes('bin')) { + return true; + } + return false; + } + searchPathVariablesWindows(envPath) { + const lower_path = envPath.toLocaleLowerCase(); + if (lower_path.includes(types_1.CompilerSystems.cygwin) || + lower_path.includes(types_1.CompilerSystems.mingw) || + lower_path.includes(types_1.CompilerSystems.msys2)) { + this._commands.pathGcc = path.join(envPath, types_1.Compilers.gcc + '.exe'); + this._commands.pathGpp = path.join(envPath, types_1.Compilers.gpp + '.exe'); + this._commands.pathGDB = path.join(envPath, types_1.Debuggers.gdb + '.exe'); + this._commands.pathMake = path.join(envPath, types_1.Makefiles.make + '.exe'); + if (fileUtils_1.pathExists(this._commands.pathGcc)) { + this._commands.foundGcc = true; + } + if (fileUtils_1.pathExists(this._commands.pathGpp)) { + this._commands.foundGpp = true; + } + if (fileUtils_1.pathExists(this._commands.pathGDB)) { + this._commands.foundGDB = true; + } + if (fileUtils_1.pathExists(this._commands.pathMake)) { + this._commands.foundMake = true; + } + else { + const altPathMake = path.join(envPath, types_1.Makefiles.make_mingw + '.exe'); + if (fileUtils_1.pathExists(altPathMake)) { + this._commands.foundMake = true; + } + } + } + } + searchPathVariablesLinux(envPath) { + this._commands.pathGcc = path.join(envPath, types_1.Compilers.gcc); + this._commands.pathGpp = path.join(envPath, types_1.Compilers.gpp); + this._commands.pathGDB = path.join(envPath, types_1.Debuggers.gdb); + this._commands.pathMake = path.join(envPath, types_1.Makefiles.make); + if (fileUtils_1.pathExists(this._commands.pathGcc)) { + this._commands.foundGcc = true; + } + if (fileUtils_1.pathExists(this._commands.pathGpp)) { + this._commands.foundGpp = true; + } + if (fileUtils_1.pathExists(this._commands.pathGDB)) { + this._commands.foundGDB = true; + } + if (fileUtils_1.pathExists(this._commands.pathMake)) { + this._commands.foundMake = true; + } + } + searchPathVariablesMac(envPath) { + this._commands.pathClang = path.join(envPath, types_1.Compilers.clang); + this._commands.pathClangpp = path.join(envPath, types_1.Compilers.clangpp); + this._commands.pathLLDB = path.join(envPath, types_1.Debuggers.lldb); + this._commands.pathMake = path.join(envPath, types_1.Makefiles.make); + if (fileUtils_1.pathExists(this._commands.pathClang)) { + this._commands.foundClang = true; + } + if (fileUtils_1.pathExists(this._commands.pathClangpp)) { + this._commands.foundClangpp = true; + } + if (fileUtils_1.pathExists(this._commands.pathLLDB)) { + this._commands.foundLLDB = true; + } + if (fileUtils_1.pathExists(this._commands.pathMake)) { + this._commands.foundMake = true; + } + } + setCommands() { + if (this._commands.foundGcc && this._commands.pathGcc) { + this.setGcc(this._commands.pathGcc); + } + else if (this._commands.foundClang && this._commands.pathClang) { + this.setClang(this._commands.pathClang); + } + else { + this.cCompiler = undefined; + } + if (this._commands.foundGpp && this._commands.pathGpp) { + this.setGpp(this._commands.pathGpp); + } + else if (this._commands.foundClangpp && this._commands.pathClangpp) { + this.setClangpp(this._commands.pathClangpp); + } + else { + this.cppCompiler = undefined; + } + if (this._commands.foundGDB && this._commands.pathGDB) { + this.setGDB(this._commands.pathGDB); + } + else if (this._commands.foundLLDB && this._commands.pathLLDB) { + this.setLLDB(this._commands.pathLLDB); + } + else { + this.debugger = undefined; + } + if (this._commands.foundMake && this._commands.pathMake) { + this.setMake(this._commands.pathMake); + } + else { + this._makeFound = false; + } + this.setOtherSettings(); + } + getCommandTypes() { + let cBasename = this.cCompilerPath; + let cppBasename = this.cppCompilerPath; + cBasename = fileUtils_1.getBasename(cBasename); + cBasename = fileUtils_1.removeExtension(cBasename, 'exe'); + cppBasename = fileUtils_1.getBasename(cppBasename); + cppBasename = fileUtils_1.removeExtension(cppBasename, 'exe'); + if (cBasename) { + if (cBasename.includes(types_1.Compilers.clang)) { + this.cCompiler = types_1.Compilers.clang; + this.debugger = types_1.Debuggers.lldb; + } + else { + this.cCompiler = types_1.Compilers.gcc; + this.debugger = types_1.Debuggers.gdb; + } + } + if (cppBasename) { + if (cppBasename.includes(types_1.Compilers.clangpp)) { + this.cppCompiler = types_1.Compilers.clangpp; + this.debugger = types_1.Debuggers.lldb; + } + else { + this.cppCompiler = types_1.Compilers.gpp; + this.debugger = types_1.Debuggers.gdb; + } + } + } + getArchitecture() { + if (this.cCompiler) { + const ret = systemUtils_1.getCompilerArchitecture(this.cCompiler); + this.architecure = ret.architecure; + this.isCygwin = ret.isCygwin; + } + else if (this.cppCompiler) { + const ret = systemUtils_1.getCompilerArchitecture(this.cppCompiler); + this.architecure = ret.architecure; + this.isCygwin = ret.isCygwin; + } + else { + this.architecure = types_1.Architectures.x64; + this.isCygwin = false; + } + } + reset() { + this.cCompilerPath = SettingsProvider.DEFAULT_C_COMPILER_PATH; + this.cppCompilerPath = SettingsProvider.DEFAULT_CPP_COMPILER_PATH; + this.debuggerPath = SettingsProvider.DEFAULT_DEBUGGER_PATH; + this.makePath = SettingsProvider.DEFAULT_MAKE_PATH; + this.enableWarnings = SettingsProvider.DEFAULT_ENABLE_WARNINGS; + this.warnings = SettingsProvider.DEFAULT_WARNINGS; + this.warningsAsError = SettingsProvider.DEFAULT_WARNINGS_AS_ERRORS; + this.cStandard = SettingsProvider.DEFAULT_C_STANDARD; + this.cppStandard = SettingsProvider.DEFAULT_CPP_STANDARD; + this.compilerArgs = SettingsProvider.DEFAULT_COMPILER_ARGS; + this.linkerArgs = SettingsProvider.DEFAULT_LINKER_ARGS; + this.includePaths = SettingsProvider.DEFAULT_INCLUDE_PATHS; + this.excludeSearch = SettingsProvider.DEFAULT_EXCLUDE_SEARCH; + this.setGcc(this.cCompilerPath); + this.setGpp(this.cppCompilerPath); + this.setGDB(this.debuggerPath); + this.setMake(this.makePath); + this.setOtherSettings(); + } + getSettingsValue(settingsLocal, name, defaultValue) { + const settingName = `${EXTENSION_NAME}.${name}`; + if (settingsLocal && settingsLocal[settingName] !== undefined) { + return settingsLocal[settingName]; + } + if (this._configGlobal.has(name)) { + return this._configGlobal.get(name, defaultValue); + } + return defaultValue; + } + update(key, value) { + let settingsJson = fileUtils_1.readJsonFile(this._outputPath); + if (!settingsJson) { + settingsJson = {}; + } + const settingName = `${EXTENSION_NAME}.${key}`; + settingsJson[settingName] = value; + fileUtils_1.writeJsonFile(this._outputPath, settingsJson); + } + setGcc(pathGcc) { + this.update('cCompilerPath', pathGcc); + this.cCompiler = types_1.Compilers.gcc; + this._cCompilerFound = true; + } + setClang(pathClang) { + this.update('cCompilerPath', pathClang); + this.cCompiler = types_1.Compilers.clang; + this._cCompilerFound = true; + } + setGpp(pathGpp) { + this.update('cppCompilerPath', pathGpp); + this.cppCompiler = types_1.Compilers.gpp; + this._cppCompilerFound = true; + } + setClangpp(pathClangpp) { + this.update('cppCompilerPath', pathClangpp); + this.cppCompiler = types_1.Compilers.clangpp; + this._cppCompilerFound = true; + } + setLLDB(pathLLDB) { + this.update('debuggerPath', pathLLDB); + this.debugger = types_1.Debuggers.lldb; + this._debuggerFound = true; + } + setGDB(pathGDB) { + this.update('debuggerPath', pathGDB); + this.debugger = types_1.Debuggers.gdb; + this._debuggerFound = true; + } + setMake(pathMake) { + this.update('makePath', pathMake); + this._makeFound = true; + } + setOtherSettings() { + this.update('warnings', this.warnings); + this.update('compilerArgs', this.compilerArgs); + this.update('includePaths', this.includePaths); + this.update('linkerArgs', this.linkerArgs); + this.update('cStandard', this.cStandard); + this.update('cppStandard', this.cppStandard); + this.update('excludeSearch', this.excludeSearch); + this.update('enableWarnings', this.enableWarnings); + this.update('warningsAsError', this.warningsAsError); + } +} +exports.SettingsProvider = SettingsProvider; +SettingsProvider.DEFAULT_C_COMPILER_PATH = 'gcc'; +SettingsProvider.DEFAULT_CPP_COMPILER_PATH = 'g++'; +SettingsProvider.DEFAULT_DEBUGGER_PATH = 'gdb'; +SettingsProvider.DEFAULT_MAKE_PATH = 'make'; +SettingsProvider.DEFAULT_C_STANDARD = ''; +SettingsProvider.DEFAULT_CPP_STANDARD = ''; +SettingsProvider.DEFAULT_EXCLUDE_SEARCH = []; +SettingsProvider.DEFAULT_ENABLE_WARNINGS = true; +SettingsProvider.DEFAULT_WARNINGS_AS_ERRORS = false; +SettingsProvider.DEFAULT_WARNINGS = ['-Wall', '-Wextra', '-Wpedantic']; +SettingsProvider.DEFAULT_COMPILER_ARGS = []; +SettingsProvider.DEFAULT_LINKER_ARGS = []; +SettingsProvider.DEFAULT_INCLUDE_PATHS = []; +//# sourceMappingURL=settingsProvider.js.map \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/settingsProvider.js.map b/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/settingsProvider.js.map new file mode 100644 index 0000000..978055d --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/settingsProvider.js.map @@ -0,0 +1 @@ +{"version":3,"file":"settingsProvider.js","sourceRoot":"","sources":["../../../src/provider/settingsProvider.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/taskProvider.js b/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/taskProvider.js new file mode 100644 index 0000000..40284cf --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/taskProvider.js @@ -0,0 +1,228 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TaskProvider = void 0; +const path = require("path"); +const vscode = require("vscode"); +const extension_1 = require("../extension"); +const fileUtils_1 = require("../utils/fileUtils"); +const types_1 = require("../utils/types"); +const vscodeUtils_1 = require("../utils/vscodeUtils"); +const settingsProvider_1 = require("./settingsProvider"); +const EXTENSION_NAME = 'C_Cpp_Runner'; +const CONFIG_NAME = 'C/C++ Runner: Debug Session'; +class TaskProvider { + constructor(_settingsProvider, _workspaceFolder, _activeFolder, _buildMode, _argumentsString) { + this._settingsProvider = _settingsProvider; + this._workspaceFolder = _workspaceFolder; + this._activeFolder = _activeFolder; + this._buildMode = _buildMode; + this._argumentsString = _argumentsString; + const templateDirectory = path.join(extension_1.extensionPath ? extension_1.extensionPath : '', 'templates'); + this._tasksFile = path.join(templateDirectory, 'tasks_template.json'); + this._makefileFile = path.join(templateDirectory, 'Makefile'); + this.getTasks(); + } + async resolveTask(task) { + return task; + } + provideTasks() { + return this.getTasks(); + } + getTasks() { + if (!this.activeFolder) + return []; + const language = fileUtils_1.getLanguage(this.activeFolder); + this.setTasksDefinition(language); + if (!this.tasks) + return []; + return this.tasks; + } + setTasksDefinition(language) { + const taskType = 'shell'; + const configJson = fileUtils_1.readJsonFile(this._tasksFile); + if (!configJson) { + return []; + } + this.tasks = []; + for (const taskJson of configJson.tasks) { + if (taskJson.type !== taskType) { + continue; + } + if (taskJson.options) { + if (taskJson.options.hide) { + continue; + } + } + this.updateTaskBasedOnSettings(taskJson, language); + const shellCommand = `${taskJson.command} ${taskJson.args.join(' ')}`; + const definition = { + type: taskType, + task: taskJson.label, + }; + const problemMatcher = '$gcc'; + const scope = vscode.TaskScope.Workspace; + const execution = new vscode.ShellExecution(shellCommand); + const task = new types_1.Task(definition, scope, taskJson.label, EXTENSION_NAME, execution, problemMatcher); + this.tasks.push(task); + } + this.addDebugTask(); + return this.tasks; + } + updateTaskBasedOnSettings(taskJson, language) { + if (!this.workspaceFolder || !this.activeFolder) + return; + const settings = this._settingsProvider; + const activeFolder = this.activeFolder; + const workspaceFolder = this.workspaceFolder; + const folder = activeFolder.replace(workspaceFolder, path.basename(workspaceFolder)); + taskJson.label = taskJson.label.replace(taskJson.label.split(': ')[1], folder); + taskJson.label = fileUtils_1.replaceBackslashes(taskJson.label); + taskJson.command = settings.makePath; + taskJson.args[1] = `--file=${this._makefileFile}`; + const isRunTask = taskJson.label.includes(types_1.Tasks.run); + taskJson.args.push(`COMPILATION_MODE=${this.buildMode}`); + if (this._settingsProvider.operatingSystem === types_1.OperatingSystems.windows) { + taskJson.args.push(`EXECUTABLE_NAME=out${this.buildMode}.exe`); + } + else { + taskJson.args.push(`EXECUTABLE_NAME=out${this.buildMode}`); + } + taskJson.args.push(`LANGUAGE_MODE=${language}`); + if (!isRunTask) { + if (language === types_1.Languages.c) { + taskJson.args.push(`C_COMPILER=${settings.cCompilerPath}`); + if (settings.cStandard && + settings.cStandard !== settingsProvider_1.SettingsProvider.DEFAULT_C_STANDARD) { + taskJson.args.push(`C_STANDARD=${settings.cStandard}`); + } + } + else { + taskJson.args.push(`CPP_COMPILER=${settings.cppCompilerPath}`); + if (settings.cppStandard && + settings.cppStandard !== settingsProvider_1.SettingsProvider.DEFAULT_CPP_STANDARD) { + taskJson.args.push(`CPP_STANDARD=${settings.cppStandard}`); + } + } + taskJson.args.push(`ENABLE_WARNINGS=${+settings.enableWarnings}`); + taskJson.args.push(`WARNINGS_AS_ERRORS=${+settings.warningsAsError}`); + if (settings.warnings && settings.warnings.length > 0) { + const warningsStr = settings.warnings.join(' '); + taskJson.args.push(`WARNINGS="${warningsStr}"`); + } + if (settings.compilerArgs && settings.compilerArgs.length > 0) { + const compilerArgsStr = settings.compilerArgs.join(' '); + taskJson.args.push(`COMPILER_ARGS="${compilerArgsStr}"`); + } + if (settings.linkerArgs && settings.linkerArgs.length > 0) { + const linkerArgsStr = settings.linkerArgs.join(' '); + taskJson.args.push(`LINKER_ARGS="${linkerArgsStr}"`); + } + if (settings.includePaths && settings.includePaths.length > 0) { + const includePathsStr = settings.includePaths.join(' '); + taskJson.args.push(`INCLUDE_PATHS="${includePathsStr}"`); + } + } + if (isRunTask) { + if (this.argumentsString) { + taskJson.args.push(`ARGUMENTS=${this.argumentsString}`); + } + } + } + updateModeData(buildMode) { + this.buildMode = buildMode; + } + updateArguments(argumentsString) { + this.argumentsString = argumentsString; + if (this.workspaceFolder) { + const launchPath = path.join(this.workspaceFolder, '.vscode', 'launch.json'); + const configJson = fileUtils_1.readJsonFile(launchPath); + if (!configJson) + return; + const configIdx = vscodeUtils_1.getLaunchConfigIndex(configJson, CONFIG_NAME); + if (configIdx === undefined) + return; + if (this.argumentsString) { + configJson.configurations[configIdx].args.push(this.argumentsString); + } + else { + configJson.configurations[configIdx].args = []; + } + fileUtils_1.writeJsonFile(launchPath, configJson); + } + } + updateFolderData(workspaceFolder, activeFolder) { + this.resetArguments(); + this.workspaceFolder = workspaceFolder; + this.activeFolder = activeFolder; + } + resetArguments() { + if (this.workspaceFolder) { + const launchPath = path.join(this.workspaceFolder, '.vscode', 'launch.json'); + const configJson = fileUtils_1.readJsonFile(launchPath); + if (configJson) { + const configIdx = vscodeUtils_1.getLaunchConfigIndex(configJson, CONFIG_NAME); + if (configIdx === undefined) + return; + configJson.configurations[configIdx].args = []; + fileUtils_1.writeJsonFile(launchPath, configJson); + } + } + this.argumentsString = undefined; + } + getProjectFolder() { + if (this.activeFolder) { + return this.activeFolder; + } + if (this.workspaceFolder) { + return this.workspaceFolder; + } + return undefined; + } + addDebugTask() { + if (!this.tasks) + return; + if (!this.workspaceFolder || !this.activeFolder) + return; + const folder = this.activeFolder.replace(this.workspaceFolder, path.basename(this.workspaceFolder)); + let label = `Debug: ${this.activeFolder}`; + const splitted = label.split(': '); + if (!splitted[1]) + return; + label = label.replace(splitted[1], folder); + label = fileUtils_1.replaceBackslashes(label); + const definition = { + type: 'shell', + task: label, + }; + const problemMatcher = '$gcc'; + const scope = vscode.TaskScope.Workspace; + const task = new types_1.Task(definition, scope, label, EXTENSION_NAME, undefined, problemMatcher); + this.tasks.push(task); + } + get buildMode() { + return this._buildMode; + } + set buildMode(value) { + this._buildMode = value; + } + get activeFolder() { + return this._activeFolder; + } + set activeFolder(value) { + this._activeFolder = value; + } + get workspaceFolder() { + return this._workspaceFolder; + } + set workspaceFolder(value) { + this._workspaceFolder = value; + } + get argumentsString() { + return this._argumentsString; + } + set argumentsString(value) { + this._argumentsString = value; + } +} +exports.TaskProvider = TaskProvider; +//# sourceMappingURL=taskProvider.js.map \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/taskProvider.js.map b/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/taskProvider.js.map new file mode 100644 index 0000000..56dbc41 --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/provider/taskProvider.js.map @@ -0,0 +1 @@ +{"version":3,"file":"taskProvider.js","sourceRoot":"","sources":["../../../src/provider/taskProvider.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/fileUtils.js b/src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/fileUtils.js new file mode 100644 index 0000000..d676460 --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/fileUtils.js @@ -0,0 +1,209 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getBasename = exports.removeExtension = exports.hasPathSeperators = exports.commandCheck = exports.naturalSort = exports.writeJsonFile = exports.readJsonFile = exports.foldersInDir = exports.excludePatternFromList = exports.filesInDir = exports.readDir = exports.getDirectoriesRecursive = exports.getLanguage = exports.isCSourceFile = exports.isCppSourceFile = exports.isHeaderFile = exports.addFileExtensionDot = exports.isSourceFile = exports.pathExists = exports.filterOnString = exports.rmdirRecursive = exports.mkdirRecursive = exports.replaceBackslashes = void 0; +const fs = require("fs"); +const JSON5 = require("json5"); +const minimatch = require("minimatch"); +const path = require("path"); +const extension_1 = require("../extension"); +const logger = require("./logger"); +const types_1 = require("./types"); +function replaceBackslashes(text) { + return text.replace(/\\/g, '/'); +} +exports.replaceBackslashes = replaceBackslashes; +function mkdirRecursive(dir) { + try { + fs.mkdirSync(dir, { recursive: true }); + } + catch (err) { + const errorMessage = `mkdirRecursive: ${err}`; + logger.log(extension_1.loggingActive, errorMessage); + } +} +exports.mkdirRecursive = mkdirRecursive; +function rmdirRecursive(dir) { + try { + fs.rmdirSync(dir, { recursive: true }); + } + catch (err) { + const errorMessage = `rmdirSync: ${err}`; + logger.log(extension_1.loggingActive, errorMessage); + } +} +exports.rmdirRecursive = rmdirRecursive; +function filterOnString(names, filterName) { + return names.filter((name) => !name.includes(filterName)); +} +exports.filterOnString = filterOnString; +function pathExists(filepath) { + try { + fs.accessSync(filepath); + } + catch (err) { + return false; + } + return true; +} +exports.pathExists = pathExists; +function isSourceFile(fileExt) { + const fileExtLower = fileExt.toLowerCase(); + if (isHeaderFile(fileExtLower)) { + return false; + } + if (!(isCSourceFile(fileExtLower) || isCppSourceFile(fileExtLower))) { + return false; + } + return true; +} +exports.isSourceFile = isSourceFile; +function addFileExtensionDot(fileExt) { + if (!fileExt.includes('.')) { + fileExt = `.${fileExt}`; + } + return fileExt; +} +exports.addFileExtensionDot = addFileExtensionDot; +function isHeaderFile(fileExtLower) { + fileExtLower = addFileExtensionDot(fileExtLower); + return ['.hpp', '.hh', '.hxx', '.h'].some((ext) => fileExtLower === ext); +} +exports.isHeaderFile = isHeaderFile; +function isCppSourceFile(fileExtLower) { + fileExtLower = addFileExtensionDot(fileExtLower); + return ['.cpp', '.cc', '.cxx'].some((ext) => fileExtLower === ext); +} +exports.isCppSourceFile = isCppSourceFile; +function isCSourceFile(fileExtLower) { + fileExtLower = addFileExtensionDot(fileExtLower); + return fileExtLower === '.c'; +} +exports.isCSourceFile = isCSourceFile; +function getLanguage(dir) { + const files = filesInDir(dir); + const anyCppFile = files.some((file) => isCppSourceFile(path.extname(file))); + if (anyCppFile) { + return types_1.Languages.cpp; + } + else { + return types_1.Languages.c; + } +} +exports.getLanguage = getLanguage; +function getDirectoriesRecursive(dir) { + const directories = foldersInDir(dir); + if (directories.length === 0) + return; + directories.forEach((dir) => getDirectoriesRecursive(dir)?.forEach((newDir) => directories.push(newDir))); + return directories; +} +exports.getDirectoriesRecursive = getDirectoriesRecursive; +function readDir(dir) { + try { + return fs.readdirSync(dir, { withFileTypes: true }); + } + catch (err) { + const errorMessage = `readDir: ${err}`; + logger.log(extension_1.loggingActive, errorMessage); + return undefined; + } +} +exports.readDir = readDir; +function filesInDir(dir) { + const fileDirents = readDir(dir); + if (!fileDirents) + return []; + const files = fileDirents + .filter((file) => file.isFile()) + .map((file) => file.name); + return files; +} +exports.filesInDir = filesInDir; +function excludePatternFromList(excludeSearch, foldersList) { + for (const pattern of excludeSearch) { + foldersList = foldersList.filter((folder) => !minimatch(folder, pattern)); + } + return foldersList; +} +exports.excludePatternFromList = excludePatternFromList; +function foldersInDir(dir) { + const fileDirents = readDir(dir); + if (!fileDirents) + return []; + let folders = fileDirents.filter((folder) => folder.isDirectory()); + folders = folders.filter((folder) => !folder.name.includes('.')); + folders = folders.filter((folder) => !folder.name.includes('__')); + folders = folders.filter((folder) => !(folder.name === 'build')); + folders = folders.filter((folder) => !folder.name.includes('CMake'.toLowerCase())); + const folderNames = folders.map((folder) => path.join(dir.toString(), folder.name)); + return folderNames; +} +exports.foldersInDir = foldersInDir; +function readJsonFile(filepath) { + let configJson; + try { + const fileContent = fs.readFileSync(filepath, 'utf-8'); + configJson = JSON5.parse(fileContent); + } + catch (err) { + const errorMessage = `readJsonFile: ${err}`; + logger.log(extension_1.loggingActive, errorMessage); + return undefined; + } + return configJson; +} +exports.readJsonFile = readJsonFile; +function writeJsonFile(outputFilePath, jsonContent) { + if (jsonContent === undefined) + return; + const dirname = path.dirname(outputFilePath); + if (!pathExists(dirname)) { + mkdirRecursive(dirname); + } + const jsonString = JSON.stringify(jsonContent, null, 2); + try { + fs.writeFileSync(outputFilePath, jsonString); + } + catch (err) { + const errorMessage = `writeJsonFile: ${err}`; + logger.log(extension_1.loggingActive, errorMessage); + return; + } +} +exports.writeJsonFile = writeJsonFile; +function naturalSort(names) { + return names.sort((a, b) => a.localeCompare(b, undefined, { + numeric: true, + sensitivity: 'base', + })); +} +exports.naturalSort = naturalSort; +function commandCheck(key, jsonData) { + const commandPath = jsonData[key]; + if (!commandPath) + return false; + if (!pathExists(commandPath)) + return false; + return true; +} +exports.commandCheck = commandCheck; +function hasPathSeperators(pathStr) { + return pathStr.includes('/') || pathStr.includes('\\'); +} +exports.hasPathSeperators = hasPathSeperators; +function removeExtension(pathStr, ext) { + const extStr = addFileExtensionDot(ext); + if (pathStr.includes(extStr)) { + return pathStr.replace(extStr, ''); + } + return pathStr; +} +exports.removeExtension = removeExtension; +function getBasename(pathStr) { + if (hasPathSeperators(pathStr)) { + return path.basename(pathStr); + } + return pathStr; +} +exports.getBasename = getBasename; +//# sourceMappingURL=fileUtils.js.map \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/fileUtils.js.map b/src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/fileUtils.js.map new file mode 100644 index 0000000..84b16c6 --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/fileUtils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"fileUtils.js","sourceRoot":"","sources":["../../../src/utils/fileUtils.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/logger.js b/src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/logger.js new file mode 100644 index 0000000..2895545 --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/logger.js @@ -0,0 +1,66 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.log = exports.getOutputChannelLogger = exports.showOutputChannel = exports.getOutputChannel = exports.Logger = void 0; +const os = require("os"); +const vscode = require("vscode"); +let outputChannel; +let outputChannelLogger; +class Logger { + constructor(writer) { + this.writer = writer; + } + append(message) { + this.writer(message); + } + appendLine(message) { + this.writer(message + os.EOL); + } + showInformationMessage(message, items) { + this.appendLine(message); + if (!items) { + return vscode.window.showInformationMessage(message); + } + return vscode.window.showInformationMessage(message, ...items); + } + showWarningMessage(message, items) { + this.appendLine(message); + if (!items) { + return vscode.window.showWarningMessage(message); + } + return vscode.window.showWarningMessage(message, ...items); + } + showErrorMessage(message, items) { + this.appendLine(message); + if (!items) { + return vscode.window.showErrorMessage(message); + } + return vscode.window.showErrorMessage(message, ...items); + } +} +exports.Logger = Logger; +function getOutputChannel() { + if (!outputChannel) { + outputChannel = vscode.window.createOutputChannel('C/C++ Runner'); + } + return outputChannel; +} +exports.getOutputChannel = getOutputChannel; +function showOutputChannel() { + getOutputChannel().show(true); +} +exports.showOutputChannel = showOutputChannel; +function getOutputChannelLogger() { + if (!outputChannelLogger) { + outputChannelLogger = new Logger((message) => getOutputChannel().append(message)); + } + return outputChannelLogger; +} +exports.getOutputChannelLogger = getOutputChannelLogger; +function log(loggingActive, message) { + if (loggingActive) { + getOutputChannel().appendLine(message); + showOutputChannel(); + } +} +exports.log = log; +//# sourceMappingURL=logger.js.map \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/logger.js.map b/src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/logger.js.map new file mode 100644 index 0000000..14f37c5 --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/logger.js.map @@ -0,0 +1 @@ +{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/utils/logger.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,iCAAiC;AAEjC,IAAI,aAA+C,CAAC;AACpD,IAAI,mBAAuC,CAAC;AAE5C,MAAa,MAAM;IAGjB,YAAY,MAAiC;QAC3C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,MAAM,CAAC,OAAe;QAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IAEM,UAAU,CAAC,OAAe;QAC/B,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAEM,sBAAsB,CAC3B,OAAe,EACf,KAAgB;QAEhB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAEzB,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;SACtD;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC;IACjE,CAAC;IAEM,kBAAkB,CACvB,OAAe,EACf,KAAgB;QAEhB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAEzB,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;SAClD;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC;IAC7D,CAAC;IAEM,gBAAgB,CACrB,OAAe,EACf,KAAgB;QAEhB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAEzB,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;SAChD;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC;IAC3D,CAAC;CACF;AAlDD,wBAkDC;AAED,SAAgB,gBAAgB;IAC9B,IAAI,CAAC,aAAa,EAAE;QAClB,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;KACnE;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AALD,4CAKC;AAED,SAAgB,iBAAiB;IAC/B,gBAAgB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAFD,8CAEC;AAED,SAAgB,sBAAsB;IACpC,IAAI,CAAC,mBAAmB,EAAE;QACxB,mBAAmB,GAAG,IAAI,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAC3C,gBAAgB,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CACnC,CAAC;KACH;IACD,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAPD,wDAOC;AAED,SAAgB,GAAG,CAAC,aAAsB,EAAE,OAAe;IACzD,IAAI,aAAa,EAAE;QACjB,gBAAgB,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACvC,iBAAiB,EAAE,CAAC;KACrB;AACH,CAAC;AALD,kBAKC"} \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/systemUtils.js b/src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/systemUtils.js new file mode 100644 index 0000000..ff10c54 --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/systemUtils.js @@ -0,0 +1,55 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getCompilerArchitecture = exports.getOperatingSystem = exports.commandExists = void 0; +const child_process_1 = require("child_process"); +const lookpath_1 = require("lookpath"); +const os_1 = require("os"); +const types_1 = require("./types"); +async function commandExists(command) { + let commandPath = await lookpath_1.lookpath(command); + if (!commandPath) { + return { f: false, p: commandPath }; + } + if (commandPath.includes('.EXE')) { + commandPath = commandPath.replace('.EXE', '.exe'); + } + return { f: true, p: commandPath }; +} +exports.commandExists = commandExists; +function getOperatingSystem() { + const platformName = os_1.platform(); + let operatingSystem; + if (platformName === 'win32') { + operatingSystem = types_1.OperatingSystems.windows; + } + else if (platformName === 'darwin') { + operatingSystem = types_1.OperatingSystems.mac; + } + else { + operatingSystem = types_1.OperatingSystems.linux; + } + return operatingSystem; +} +exports.getOperatingSystem = getOperatingSystem; +function getCompilerArchitecture(compiler) { + const command = `${compiler} -dumpmachine`; + let byteArray; + try { + byteArray = child_process_1.execSync(command); + } + catch (err) { + byteArray = Buffer.from('x64', 'utf-8'); + } + const str = String.fromCharCode(...byteArray); + let architecure = types_1.Architectures.x86; + let isCygwin = false; + if (str.includes('64')) { + architecure = types_1.Architectures.x64; + } + if (str.includes('cygwin')) { + isCygwin = true; + } + return { architecure: architecure, isCygwin: isCygwin }; +} +exports.getCompilerArchitecture = getCompilerArchitecture; +//# sourceMappingURL=systemUtils.js.map \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/systemUtils.js.map b/src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/systemUtils.js.map new file mode 100644 index 0000000..059db0f --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/systemUtils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"systemUtils.js","sourceRoot":"","sources":["../../../src/utils/systemUtils.ts"],"names":[],"mappings":";;;AAAA,iDAAyC;AACzC,uCAAoC;AACpC,2BAA8B;AAE9B,mCAAqE;AAE9D,KAAK,UAAU,aAAa,CAAC,OAAe;IACjD,IAAI,WAAW,GAAG,MAAM,mBAAQ,CAAC,OAAO,CAAC,CAAC;IAE1C,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC;KACrC;IAED,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAChC,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACnD;IAED,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC;AACrC,CAAC;AAZD,sCAYC;AAED,SAAgB,kBAAkB;IAChC,MAAM,YAAY,GAAG,aAAQ,EAAE,CAAC;IAChC,IAAI,eAAiC,CAAC;IAEtC,IAAI,YAAY,KAAK,OAAO,EAAE;QAC5B,eAAe,GAAG,wBAAgB,CAAC,OAAO,CAAC;KAC5C;SAAM,IAAI,YAAY,KAAK,QAAQ,EAAE;QACpC,eAAe,GAAG,wBAAgB,CAAC,GAAG,CAAC;KACxC;SAAM;QACL,eAAe,GAAG,wBAAgB,CAAC,KAAK,CAAC;KAC1C;IAED,OAAO,eAAe,CAAC;AACzB,CAAC;AAbD,gDAaC;AAED,SAAgB,uBAAuB,CAAC,QAAmB;IACzD,MAAM,OAAO,GAAG,GAAG,QAAQ,eAAe,CAAC;IAC3C,IAAI,SAA6B,CAAC;IAElC,IAAI;QACF,SAAS,GAAG,wBAAQ,CAAC,OAAO,CAAC,CAAC;KAC/B;IAAC,OAAO,GAAG,EAAE;QACZ,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;KACzC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC;IAC9C,IAAI,WAAW,GAAG,qBAAa,CAAC,GAAG,CAAC;IACpC,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACtB,WAAW,GAAG,qBAAa,CAAC,GAAG,CAAC;KACjC;IAED,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAC1B,QAAQ,GAAG,IAAI,CAAC;KACjB;IAED,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAC1D,CAAC;AAvBD,0DAuBC"} \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/types.js b/src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/types.js new file mode 100644 index 0000000..d7b3ce5 --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/types.js @@ -0,0 +1,72 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Tasks = exports.Builds = exports.Architectures = exports.OperatingSystems = exports.CompilerSystems = exports.Makefiles = exports.Debuggers = exports.Compilers = exports.Languages = exports.Commands = exports.Task = void 0; +const vscode = require("vscode"); +class Task extends vscode.Task { +} +exports.Task = Task; +class Commands { + constructor() { + this.foundGcc = false; + this.foundGpp = false; + this.foundClang = false; + this.foundClangpp = false; + this.foundGDB = false; + this.foundLLDB = false; + this.foundMake = false; + } +} +exports.Commands = Commands; +var Languages; +(function (Languages) { + Languages["c"] = "C"; + Languages["cpp"] = "Cpp"; +})(Languages = exports.Languages || (exports.Languages = {})); +var Compilers; +(function (Compilers) { + Compilers["gcc"] = "gcc"; + Compilers["gpp"] = "g++"; + Compilers["clang"] = "clang"; + Compilers["clangpp"] = "clang++"; +})(Compilers = exports.Compilers || (exports.Compilers = {})); +var Debuggers; +(function (Debuggers) { + Debuggers["lldb"] = "lldb"; + Debuggers["gdb"] = "gdb"; +})(Debuggers = exports.Debuggers || (exports.Debuggers = {})); +var Makefiles; +(function (Makefiles) { + Makefiles["make"] = "make"; + Makefiles["make_mingw"] = "mingw32-make"; +})(Makefiles = exports.Makefiles || (exports.Makefiles = {})); +var CompilerSystems; +(function (CompilerSystems) { + CompilerSystems["cygwin"] = "cygwin"; + CompilerSystems["mingw"] = "mingw"; + CompilerSystems["msys2"] = "msys2"; + CompilerSystems["clang"] = "clang"; +})(CompilerSystems = exports.CompilerSystems || (exports.CompilerSystems = {})); +var OperatingSystems; +(function (OperatingSystems) { + OperatingSystems["windows"] = "windows"; + OperatingSystems["linux"] = "linux"; + OperatingSystems["mac"] = "macos"; +})(OperatingSystems = exports.OperatingSystems || (exports.OperatingSystems = {})); +var Architectures; +(function (Architectures) { + Architectures["x86"] = "x86"; + Architectures["x64"] = "x64"; +})(Architectures = exports.Architectures || (exports.Architectures = {})); +var Builds; +(function (Builds) { + Builds["debug"] = "Debug"; + Builds["release"] = "Release"; +})(Builds = exports.Builds || (exports.Builds = {})); +var Tasks; +(function (Tasks) { + Tasks["build"] = "Build"; + Tasks["run"] = "Run"; + Tasks["clean"] = "Clean"; + Tasks["debug"] = "Debug"; +})(Tasks = exports.Tasks || (exports.Tasks = {})); +//# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/types.js.map b/src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/types.js.map new file mode 100644 index 0000000..48e8ad6 --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/types.js.map @@ -0,0 +1 @@ +{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/utils/types.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AAsBjC,MAAa,IAAK,SAAQ,MAAM,CAAC,IAAI;CAEpC;AAFD,oBAEC;AAED,MAAa,QAAQ;IAArB;QACE,aAAQ,GAAY,KAAK,CAAC;QAE1B,aAAQ,GAAY,KAAK,CAAC;QAE1B,eAAU,GAAY,KAAK,CAAC;QAE5B,iBAAY,GAAY,KAAK,CAAC;QAE9B,aAAQ,GAAY,KAAK,CAAC;QAE1B,cAAS,GAAY,KAAK,CAAC;QAE3B,cAAS,GAAY,KAAK,CAAC;IAE7B,CAAC;CAAA;AAfD,4BAeC;AAED,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,oBAAO,CAAA;IACP,wBAAW,CAAA;AACb,CAAC,EAHW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAGpB;AAED,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,wBAAW,CAAA;IACX,wBAAW,CAAA;IACX,4BAAe,CAAA;IACf,gCAAmB,CAAA;AACrB,CAAC,EALW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAKpB;AAED,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,0BAAa,CAAA;IACb,wBAAW,CAAA;AACb,CAAC,EAHW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAGpB;AAED,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,0BAAa,CAAA;IACb,wCAA2B,CAAA;AAC7B,CAAC,EAHW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAGpB;AAED,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,oCAAiB,CAAA;IACjB,kCAAe,CAAA;IACf,kCAAe,CAAA;IACf,kCAAe,CAAA;AACjB,CAAC,EALW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAK1B;AAED,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,uCAAmB,CAAA;IACnB,mCAAe,CAAA;IACf,iCAAa,CAAA;AACf,CAAC,EAJW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAI3B;AAED,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,4BAAW,CAAA;IACX,4BAAW,CAAA;AACb,CAAC,EAHW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAGxB;AAED,IAAY,MAGX;AAHD,WAAY,MAAM;IAChB,yBAAe,CAAA;IACf,6BAAmB,CAAA;AACrB,CAAC,EAHW,MAAM,GAAN,cAAM,KAAN,cAAM,QAGjB;AAED,IAAY,KAKX;AALD,WAAY,KAAK;IACf,wBAAe,CAAA;IACf,oBAAW,CAAA;IACX,wBAAe,CAAA;IACf,wBAAe,CAAA;AACjB,CAAC,EALW,KAAK,GAAL,aAAK,KAAL,aAAK,QAKhB"} \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/vscodeUtils.js b/src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/vscodeUtils.js new file mode 100644 index 0000000..ec99bc7 --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/vscodeUtils.js @@ -0,0 +1,117 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isCourseProject = exports.isCmakeProject = exports.getActivationState = exports.getLoggingState = exports.getExperimentalExecutionState = exports.updateActivationState = exports.updateLoggingState = exports.getLaunchConfigIndex = exports.setContextValue = exports.createStatusBarItem = exports.disposeItem = void 0; +const path = require("path"); +const vscode = require("vscode"); +const extension_1 = require("../extension"); +const fileUtils_1 = require("./fileUtils"); +const STATUS_BAR_ALIGN = vscode.StatusBarAlignment.Left; +const STATUS_BAR_PRIORITY = 50; +function disposeItem(disposableItem) { + disposableItem?.dispose(); +} +exports.disposeItem = disposeItem; +function createStatusBarItem() { + return vscode.window.createStatusBarItem(STATUS_BAR_ALIGN, STATUS_BAR_PRIORITY); +} +exports.createStatusBarItem = createStatusBarItem; +function setContextValue(key, value) { + return vscode.commands.executeCommand('setContext', key, value); +} +exports.setContextValue = setContextValue; +function getLaunchConfigIndex(configJson, configName) { + let configIdx = 0; + if (configJson) { + for (const config of configJson.configurations) { + if (config.name !== configName) { + configIdx++; + } + else { + return configIdx; + } + } + } + return undefined; +} +exports.getLaunchConfigIndex = getLaunchConfigIndex; +function updateLoggingState() { + extension_1.extensionState?.update('loggingActive', vscode.workspace + .getConfiguration('C_Cpp_Runner') + .get('loggingActive', false)); +} +exports.updateLoggingState = updateLoggingState; +function updateActivationState(newState) { + extension_1.extensionState?.update('activatedExtension', newState); +} +exports.updateActivationState = updateActivationState; +function getExperimentalExecutionState() { + return vscode.workspace + .getConfiguration('C_Cpp_Runner') + .get('experimentalExecution', false); +} +exports.getExperimentalExecutionState = getExperimentalExecutionState; +function getLoggingState() { + if (extension_1.extensionState) { + const loggingActive = extension_1.extensionState.get('loggingActive'); + return loggingActive; + } + return false; +} +exports.getLoggingState = getLoggingState; +function getActivationState() { + if (extension_1.extensionState) { + return extension_1.extensionState.get('activatedExtension'); + } + return false; +} +exports.getActivationState = getActivationState; +function isCmakeProject() { + let cmakeFileFound = false; + const workspaceFodlers = vscode.workspace.workspaceFolders; + const cmakeExtensionName = 'cmake'; + const cmakeSettingName = 'sourceDirectory'; + if (workspaceFodlers) { + workspaceFodlers.forEach((folder) => { + if (!cmakeFileFound) { + const files = fileUtils_1.filesInDir(folder.uri.fsPath); + files.forEach((file) => { + if (file.toLowerCase() === 'CMakeLists.txt'.toLowerCase()) { + cmakeFileFound = true; + } + }); + const settingsPath = path.join(folder.uri.fsPath, '.vscode', 'settings.json'); + if (fileUtils_1.pathExists(settingsPath)) { + const configLocal = fileUtils_1.readJsonFile(settingsPath); + if (configLocal && + configLocal[`${cmakeExtensionName}.${cmakeSettingName}`]) { + cmakeFileFound = true; + } + } + } + }); + } + if (!cmakeFileFound) { + const config = vscode.workspace.getConfiguration(cmakeExtensionName); + const cmakeSetting = config.get(cmakeSettingName); + if (cmakeSetting && cmakeSetting !== '${workspaceFolder}') { + cmakeFileFound = true; + } + } + return cmakeFileFound; +} +exports.isCmakeProject = isCmakeProject; +function isCourseProject() { + const workspaceFodlers = vscode.workspace.workspaceFolders; + if (workspaceFodlers) { + workspaceFodlers.forEach((folder) => { + const vscodePath = path.join(folder.uri.fsPath, '.vscode'); + const makefilePath = path.join(vscodePath, 'Makefile'); + if (fileUtils_1.pathExists(makefilePath)) { + return true; + } + }); + } + return false; +} +exports.isCourseProject = isCourseProject; +//# sourceMappingURL=vscodeUtils.js.map \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/vscodeUtils.js.map b/src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/vscodeUtils.js.map new file mode 100644 index 0000000..cab64d5 --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/dist/src/utils/vscodeUtils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"vscodeUtils.js","sourceRoot":"","sources":["../../../src/utils/vscodeUtils.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAC7B,iCAAiC;AAEjC,4CAA8C;AAC9C,2CAAmE;AAGnE,MAAM,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC;AACxD,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAE/B,SAAgB,WAAW,CAAC,cAA6C;IACvE,cAAc,EAAE,OAAO,EAAE,CAAC;AAC5B,CAAC;AAFD,kCAEC;AAED,SAAgB,mBAAmB;IACjC,OAAO,MAAM,CAAC,MAAM,CAAC,mBAAmB,CACtC,gBAAgB,EAChB,mBAAmB,CACpB,CAAC;AACJ,CAAC;AALD,kDAKC;AAED,SAAgB,eAAe,CAAC,GAAW,EAAE,KAAU;IACrD,OAAO,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAClE,CAAC;AAFD,0CAEC;AAED,SAAgB,oBAAoB,CAClC,UAA6B,EAC7B,UAAkB;IAElB,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,IAAI,UAAU,EAAE;QACd,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,cAAc,EAAE;YAC9C,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE;gBAC9B,SAAS,EAAE,CAAC;aACb;iBAAM;gBACL,OAAO,SAAS,CAAC;aAClB;SACF;KACF;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAjBD,oDAiBC;AAED,SAAgB,kBAAkB;IAChC,0BAAc,EAAE,MAAM,CACpB,eAAe,EACf,MAAM,CAAC,SAAS;SACb,gBAAgB,CAAC,cAAc,CAAC;SAChC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,CAC/B,CAAC;AACJ,CAAC;AAPD,gDAOC;AAED,SAAgB,qBAAqB,CAAC,QAAiB;IACrD,0BAAc,EAAE,MAAM,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;AACzD,CAAC;AAFD,sDAEC;AAED,SAAgB,6BAA6B;IAC3C,OAAO,MAAM,CAAC,SAAS;SACpB,gBAAgB,CAAC,cAAc,CAAC;SAChC,GAAG,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;AACzC,CAAC;AAJD,sEAIC;AAED,SAAgB,eAAe;IAC7B,IAAI,0BAAc,EAAE;QAClB,MAAM,aAAa,GAAY,0BAAc,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACnE,OAAO,aAAa,CAAC;KACtB;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAPD,0CAOC;AAED,SAAgB,kBAAkB;IAChC,IAAI,0BAAc,EAAE;QAClB,OAAgB,0BAAc,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;KAC1D;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAND,gDAMC;AAED,SAAgB,cAAc;IAC5B,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,MAAM,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC;IAC3D,MAAM,kBAAkB,GAAG,OAAO,CAAC;IACnC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;IAE3C,IAAI,gBAAgB,EAAE;QACpB,gBAAgB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAClC,IAAI,CAAC,cAAc,EAAE;gBACnB,MAAM,KAAK,GAAG,sBAAU,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC5C,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACrB,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,gBAAgB,CAAC,WAAW,EAAE,EAAE;wBACzD,cAAc,GAAG,IAAI,CAAC;qBACvB;gBACH,CAAC,CAAC,CAAC;gBAEH,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAC5B,MAAM,CAAC,GAAG,CAAC,MAAM,EACjB,SAAS,EACT,eAAe,CAChB,CAAC;gBAEF,IAAI,sBAAU,CAAC,YAAY,CAAC,EAAE;oBAC5B,MAAM,WAAW,GAA6B,wBAAY,CACxD,YAAY,CACb,CAAC;oBAEF,IACE,WAAW;wBACX,WAAW,CAAC,GAAG,kBAAkB,IAAI,gBAAgB,EAAE,CAAC,EACxD;wBACA,cAAc,GAAG,IAAI,CAAC;qBACvB;iBACF;aACF;QACH,CAAC,CAAC,CAAC;KACJ;IAED,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;QACrE,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAElD,IAAI,YAAY,IAAI,YAAY,KAAK,oBAAoB,EAAE;YACzD,cAAc,GAAG,IAAI,CAAC;SACvB;KACF;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAjDD,wCAiDC;AAED,SAAgB,eAAe;IAC7B,MAAM,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC;IAE3D,IAAI,gBAAgB,EAAE;QACpB,gBAAgB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAClC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAEvD,IAAI,sBAAU,CAAC,YAAY,CAAC,EAAE;gBAC5B,OAAO,IAAI,CAAC;aACb;QACH,CAAC,CAAC,CAAC;KACJ;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAfD,0CAeC"} \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/extension.vsixmanifest b/src/franneck94.c-cpp-runner-4.1.2/extension.vsixmanifest new file mode 100644 index 0000000..f12dcde --- /dev/null +++ b/src/franneck94.c-cpp-runner-4.1.2/extension.vsixmanifest @@ -0,0 +1,44 @@ + + + + + C/C++ Runner + 🚀 Compile, run and debug single or multiple C/C++ files with ease. 🚀 + keybindings,c,cpp,c++ + Programming Languages,Debuggers,Snippets + Public + + + + + + + + + + + + + + + + + + + + + extension/LICENSE.txt + extension/icon.png + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/franneck94.c-cpp-runner-4.1.2/icon.png b/src/franneck94.c-cpp-runner-4.1.2/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7296d224e69bb45d7142d1faba7ac721b72750bc GIT binary patch literal 7376 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∓pZ8<8a-PG{7gI( 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 z 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

{xN=EHbXSuus3pixQZ|_GZMaNq<4}% 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

    dDW9J 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 z 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 BJtY7D literal 0 HcmV?d00001 diff --git a/src/franneck94.c-cpp-runner-4.1.2/media/ModeStatusBar.png b/src/franneck94.c-cpp-runner-4.1.2/media/ModeStatusBar.png new file mode 100644 index 0000000000000000000000000000000000000000..1583a0c4d7c4f783f34b9f341f49ec20f2dd14b8 GIT binary patch literal 5096 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 QXv8yUM|`F`Dyix~fHT+n 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

    &}HY< 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 literal 0 HcmV?d00001 diff --git a/src/franneck94.c-cpp-runner-4.1.2/media/Settings.png b/src/franneck94.c-cpp-runner-4.1.2/media/Settings.png new file mode 100644 index 0000000000000000000000000000000000000000..3f67a6cc85cf75e1003ccdce13e54ad1510a5eb4 GIT binary patch literal 212861 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 literal 0 HcmV?d00001 diff --git a/src/franneck94.c-cpp-runner-4.1.2/media/TaskStatusBar.png b/src/franneck94.c-cpp-runner-4.1.2/media/TaskStatusBar.png new file mode 100644 index 0000000000000000000000000000000000000000..bd87af0229fa47a052cb27535facda2350dc3e2b GIT binary patch literal 5081 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 literal 0 HcmV?d00001 diff --git a/src/franneck94.c-cpp-runner-4.1.2/media/arguments.png b/src/franneck94.c-cpp-runner-4.1.2/media/arguments.png new file mode 100644 index 0000000000000000000000000000000000000000..fe1633a5db245f98bab8d0883f9ebaf4b8202eff GIT binary patch literal 2942 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 literal 0 HcmV?d00001 diff --git a/src/franneck94.c-cpp-runner-4.1.2/media/argumentsDebug.png b/src/franneck94.c-cpp-runner-4.1.2/media/argumentsDebug.png new file mode 100644 index 0000000000000000000000000000000000000000..8e3ff6a6051e85139b1c169d42f157f284bd6016 GIT binary patch literal 4780 zcmb7IXIK-=mJXtzRE^T5CrFD(??q}z=u!iy1gX+{4OlS((m{|8p-GXC1QbwIf*?ps z04V|j(tAlLq1?Fp>+aqCu|Lktd(PA|bLO4rIcPHz17-$p1^@uSYzWo0pw`<|L0_b! zmM6_q7-~fmXknlYsO`JHOjXXi-8Q}r0MsWj9y?v2>X-bWc7Xr@FzBz)Ou6!hQNe9P z-P@L7ch~bKe6QK$cP^g2c#us~9mFb=as>qM>C@6qtG~qAK>juwFHNi%I}q{>?bIwm)#gpiac8_T?f$AJ5Ug46BC zcU!x_!EH9(^yrVegTNk-k~RRF1A-eY!|-miKueh2IU`!Fc$xdCHBt z!o4M36O{heRh2M#L)wRL(!)Gj2e|HjDmo|uJxhukq8N7i44-}U%~i>~M?CKLIxA3I z9&ZY*kaizSYTxZ?%YGvM_<)!9^?2cSr|*)&86>Y@+H5wPT+jW_!lFYtWB*>Oue-oE z;(@w^q{Ss&V0u(>d`8&=A#EDH{D4^e>5U{j#{c((@tyPFaYjC?7m|j*t{4+a6BE#F zQ{N}|D@2mg&&YwsT0N)P*u}bv&FT4Q$`XFx_n#d*e<{h+*FZxZ@h4UwABY-fE@#J*YA~cQ$aF*%(D(mfs*YUWgNI#cQ%y zJV>6ox`J?~sH4O)_5?j!PaWj?j8VPZ1rJ2RvIayFr-u4$&LEAxIupt4=90vjn2a5p z^vfMF$siM{!7#0ix*&o2Gk-m#!Be@Heh!(oX`a6W?vX<(<(1w>!sSH1J3(&f*2K7U zMq$0iMD&<7HA)LzCNeMc6;U)xMNf$0lV|2O#{#GG~6&2DK>Q0Dut zjkm8r9kP^pF?8EKtQYa3C;#(Kua;L+VdO>7vyy^83nYQRV}<<97_-CGhw>R<4nGYX zHUF7Y8A5lqy}Kgo?r~w!T{~&&`hL(d6Z*t-9*l~yV+w(Kd6^wx^>QD7T}FaOG_EV& zLreFljEpQlwPskX*`?DgDjSt?48vv*4_h)j7s4+9DFrX#k}I#J3hunE()`Jco?e`U zzmYqQ4$<6RcdPR#O(z6RyR00jZblILhHHJByC30C%V&Y{`lXAel^xCMN~Oc5;fm(- zAa;Hhz12WF=;GDyEB3Vlt-%q|85_mH-052L?H=3oK;NbD7{_wDkLQU7e#Yt;!@&y7 z9cA>JPfq;Lv+63O6igC%bu7-XvJl0@)3tA}G%B$y=IzV&LrvdcvoYctP&S$qd|{Nh zR6P#&Q+sw$VkFh!i{H^SAE6Xy-u>9oHhOk*|i8228cx1DGTkP9XECp&8b3mX)g<*puC7M_v&ahnHUFiVQOT|(V{m8 zz}7GCw#;89_wA(Ey}bCj^RHb3?R$2R%(5Wo{;Wc<*{I}9Zs*wFJDdBTMhXvfEhb99 zpI3e|s>7AXsa0;Z!!CyZcug6{XT{%MH)@!m+<5#%3N&&Ud?w^LKp$btgGHgzJS7QtT(%Oh7+gMg-5nE5wqJGI=k(wYvFOfO0OltvNvsQt`O@uvQJ$=xYAE3DtavSY zJBOdA$TC+tFgwqgM(W4loduLi;I~7YEc|iDdQoM>a0r*|=FG(a ze?x<<^azC7=WIFPgrK?zPw`c6-a7*AFSFJhaJUM&=EelW9J)xB@p$&`Fp;r8A2>+8 z*wir%*xN~F{TxvJ#Go_Du)2A>cU@A>d{P&>#zOJ%Z~VOK;fawyIrha`)Ok`u>aBqB z>#6TrSO=@*d%>-O_0af%V?OHssojr1u@F9nT1|ita5_js+k6qd^qc0IlbO!Hv8?{3HEZl#fr$p=7Q3h=yelRv(@Fr7%r z@$ioth*BWBEltflKPFN#w~Y4o?|U5IX~@%VYue_d#I($9MapZl=7b|Owj~VMU=EV= zu-3HaeFll%Dh>K2FT$J_^s!lC_PrE21$F5#a^$K)-%)yed(8|!?%J*0!|;5 z>0p6beZAek1R#99ADb2$Jj((nPl_`X-<*TJFV6pNlEXQYAKACr^M=KM@RzlZs44e3U$S*<`-N}@T;k%4F?ta`5o%R_*v3hplnsvyUjt{sHe zTvsF>L_4e}Z?O4>rT4deLh~6l?4tJvqTsahu8r%3X%NIv`@Hop`|aul+hyL(@<@Je z3O#wPoW7tT8n>z@x}K$TrN6W(OLO%KLU~fxQH|jjF0C2yiYpieU1Kl9Uq~Spua|dl zsXJ1tB;3Au6+XMzomgnjvu|gN7HPo+evbk; zkJH21g1sHx9T;#BX;#{~@%YqWqqM*igriY^33|?!KG1$vo&Vj4$%iQyJ&6IH1-W!KM+~fjt z;M0nUt~7($O8B?>+^?gLQ@{%|#~H3FqF+Pi5aAi^*U0J!WTKY|aN=3LJw&>WqBHAV z5`^x6S7qItC)YJYr1{zAZEq;Fk5-S&S$93mQH0Yo(!TkZT+#VO>be_px>J}e z0C~s$pgakk+)3ze9R|ivQ(7~cuT3PmZyJJmm?Vt7;gZaW_Czw|q4)hJaP5RdvzM2B zd3fm9FRq+fN6`G|x@CP;bxz!MMSOEh8O}RfAth zEH|JKUHe-OS+=Q`&e89)`!4)I&BnV?^fdj)_(3dfWd{N^tDSvM2~nzN6-&&qM=|m= zIi=BHLt@&b97#&G7d6Xj?~$>8^&w_j8Ga2r4~(zXKZzPoOnE?3UHXOgnQLCeu4YxS zb~~qcupwaZht4OL%adgaa&ofX*P>V3^b4Mt3a#E zHi0zs(50a5__l#y7Y+GjrFNDT^}&2D)jV}q1(<}}8?h?xxfTeJ=TE}sa7&j+gnLo) zHeOHAu$o~|&#=72$B$@W3t=*FkG4KC>vP{9cFNrkfmRbk-e*{sjfH#e2c5tqc&2*` zvLk1L9NiwL;v}R2sNYPJXK2G*qk+zDHBSL)z=W}YZc3fCSf1E3B6cq>R;7SBnKO31 z*nqL9pw#Z7_r+Wz-Iuk%+ekoTe8avNrss``dBEXK$K}zteOdHSrr6F$ctF_o|2L@A zKx4+Z4t}tEdzI-a*SMy*5--bUzd%prx+&6};;#bTFwvlSoIu&*l&oV(zww-37-M=5 z(pSNkRj!`tx5~P?H$6Z0G(e#Olu7tu#i>BQ&5ee4)8|7&&dqD~{;vDPL2kT*#6!gyOY=O>W8GrW(GO^hNNi8I-lHZfJp5uie+Pex)D=Bk%SVE1c_v-Z3w?cm; zWkkI1WDM;@eEwjuURwEx&qa(^se83z<=H#ZrSCR$Q+LuE72t8MMaj0MZ11)dws?nc z)Q1W74=@!7SwYuYSyFhTqJ>t2a5Q{n{UL{1#b9BLs5~PM z@X0N%HxfqplZ*q63vS1Op=?7B7uz#whgYXF>`gBn@SedW;YGILrkP=+$5>c_^-*oU zw+whT{vn4zeJhizzr@vzp|9@N5&e6j99*=YSz=(hU_Vu6G0ZKFuk1^3zm0|z=(+z<7NcLE8N; zhW(a&WPa`mVLJ)0$B^q3DqEv8zD6)8Yo&?v+k4OFl3Tqf#Kj94lm`ci(zS?FM?m#~4szL)Z5PRf!zezc zvRDj@dq>$_$k(-VUEDY@cQ*r|q*04T3&~p(ln|0%JnUh(kS$u1Ypocvtc5g#9K3a6 zjO9KLr2XwrWeYy~{~IjY__m!We8c0*A&#C^?GS`fsc?-v$f{a&VTHwMnzt#bC}?9)d+El4rAG7T@48RV5jFt;aUDK1JlA=3EgH6bNDzbFoW@A- zMmC^m0cOfO(1fv@G!-FK2iK{D>c#rkyCQ*Pwrz7_=R_0RnAoIB%0Opuu_@=G zVzXkg{jZVgW29{~Gsp7pleife%fes635=b;gntCj@aDNk$9P}qI>qZ86mOn^Ha;h$ znoP@OB?UehU;7#h+nvp)CNl4`oi96i3vM#pQlJQZu6v;Z+_p;)1)jEpfJk3v*!(qe zUrNX@>8H1Yw?9JWYh>;zzv^QTH=)mye2)aQKIE9fh8-RTZIb}6+L5}%&q(M@Im&-} zupAj+?Lai2C&XPmXu}@s)>rv-(*o!HjnLdr;18Z`ddF6tS>FWPYsibH4v}nm=q4s4L)3AAjAB z{`<#Kz2_*YhhE1|?Gn>%)US2#2nN)XfL9+SGZ9F9W2WGqod;t;WEd?t_zYm#-8n#X zwYzoseo^f#kL+d1<~tfJ$xg}1QA%l^ zFduPld&_O>RB+Ae0NqpSdG2HBG)w5dmOc0<^SvMWUhh=&V50N^iXO@{hhjK+Kw7~p zdRN`=Qq*H7NjZ820(-}T)eSoDM@|nZf&~)*W1#|?$EKamLlfNF*2n4T{@W;o_;|lj)8_cL@qrzw90)vJGw#A}si;UMw47%uDDyIpHNX2oX?4IYD0wnp5#juS(nHz zH&e>fPA4o-m>(~%6TsE!cSODce%k1ySjN2zLEoU@tcsS~*d-6z0YpJSBi%m}hSqC} z%}(C9L3@GWhAs4czW@jKcwwfotw zobK-SY)lNhoq#_^$6mxi-TV_#!jM&m{T(-(UfF5gQSS*x(Vh3&3vXP|5-GSrmN?!7 zswOj&$)?sGxBapm_3deT#zgT5yjPu#*__EL&Km0lCAE?M9nAqp0y>k*8PPyork36qY$K?_bghI zaMlH@2g7-RD)&kR{ZrgTm_%S1whPRwP*@xk_3MG^o7%%sM1?;K9{a+92ZH`7&Nk(kK++6okGcG)@d; z&}`2fX7=8yw{;B-qKWlxyP$8h{oA3XU!y|D((~3qh%mRm3AsqvXEg1{6CLO0DRJFV z*Q6SE7R!M+gY$BY4reCWbGzRIFI@K>wcYE*ypGp+C-^3aPafh}^L=4l$McgJk3`k} z&aun)%6R>0Sl!d0(POn2dCtki5f3nWW)zCtJI_zmTxIhhFd%%|;t3!R9t+DPSA+xc>;lcH8J*zt0G3y?&K<8svqyP!5Y% z=g`3#y`g412tqUm)<+@*qcXilsl&|`C{s4v+Q$hV{t~L z9$^a17ly8>GU`R9CdBGPtK7f-17CUs=}2Dibnx_xjkxy-0xDN*-ggv` z6n0isH+*;QG%*+iF?e$h_Fd_0QY2zk`SRqugb_?EEIAhsR#5k!BljlBDwJO?U09Ct zlo!@|dzTk(`H_^j1G*`;wN|=Z~Bdt?O_6g!~hqg{9MhlC8ZEwE9O&+U+4kbx(_lz+JzyS3XwGM3pRz7_T*X z^mmpS%K=Fhb-4X(cZloav$di&jS)ir+R zt$hM5wO^ibY4RDh#4>0$SoU{&ysy#;o077r^03;z@;w#q%+qO8TyM=y$0QC~6nX&9 zs_)XZ1mSr)gj8l?(>Eb$T`BSHvd$C!X*|406)rc|kE$OdN*%>(N6B?uz8S2uL|%aJ zIRXtdk~Ffz&szGEU9plK%HyC?mG5P9n^|vqp0M&D2VH`T%=e5E<15i{;*t=?QqVbQ zBTI7iAaw8TWpGvMuztPs`NW)de9h527W{bn(fq#SY4(1Q5iDLeN z!3KewQn*wios!VnkH>^>fFuYki0l+OFJvdvt@e!!)$l0HFfML$Tw4uu3L$<;Fnc*w zxOL)C7Cw_fOe8OXgnYdFU9^y5ghW+RC#1F_w5XbYJgeK=Zw5GIGtw7u;gi8zeU2E0C&jM5!A?aE4fk}arIT9={s?(6b-wx34Y@!;ln%~KwFSYf|ece`xI8!`?~$JcSPHYnW_DOqZZlu zVp<>71kAAgk~Wr|F5p_XyU5uNOIN~r`QPEtU&P!(A`FpfA%eEE$G7d@R9=#FK>k$Fa@7T_i0ze9_w;C6#kKin`3Qfa~<+j89+QU`F5zp*_?)ZEMeRx z=e+~QI?Ho%y3aMwfhD^G2|>@)uvkQ5&nG&yb-~EO)hwUKVfkANUnFYNqdO2Gr7}s= zm0hLj9x`m(Hq+dm?D^ZVYH`Ju(cV*6 zK_-(}90s~fQhzM{!c-Vz_t3gTGithE(wcpDykK$&wBo(v^)?KS>yF95D{5)|4E@rH z8vQ|bPUooes>9fj%r2v#U=EB>pXP<^`QMWPBM>T!B+-0hNH^adoS^15@cK(R_*fpp zVHfzZU%wvx+JoPB)q=gkXLEG)B#B2hBnxXR)u@e20redsHaXD||H-d02n`>O#Jr+w zlO6w%`T+eCR+E0IVhv^~A_}aTaZoZAjzE}Ibk9u?~ioWmlwGmmU?lZ*G^2Z=_Ce*fe>i=fkGO69|{;a}xd)knvqp+^lwri^mfYwSXQ) zF%*Tcvf$Mk zH{io75_VR$sX5repT)JBUbb8hT+Icq3t`$V=#NOaS?xB2v9Br{_``zcJn5HQ$va}_ zPw5&1Z^LCm&Lj6iKHD3&tbigsk=k~uQRl?USY^5Gku&vb(g#J@MK@(DE5`nOiuEhl2F@g90bt(gPTcb9XG9#Q)C;hWVzj=jL;0*z7acKu4jWo z1{5E|k+ql*k7!X5`ttp^PhO05G~oMlr!XV5NA2V&v=w+h+Xc!<1=q`ME1ib$R|Kdc z57;69{dhi|FhU&-^JJd4s$2Poryh7}OO((;1&iCqReLeRA3gNrKa%c1y#vZzx1#2HFDsW9CrALbJsxlq6GP$ zMuwH0Da`N<-VQ<(@W>mLlfC`lCEFnstgPb_(En*?%&v^cud$!{3Hs}HK3oul#9wC- zOSVbD{}Y>NKL4AX83;t`qFZ`2i{KOgN^t% z)}^-l9hP*5AdSHI84m&;_48FSM~asbP}-cI0q$XrwCSShX!}U zS*va~XYWFR5)uqCt@7;ZUqjXKXxLA~3CZz7UeN*B1h5=oxQ(rGi24Xex#m`?WQ~zE zt1J`T4wn_;pJUQ`S5NlVd$hlm2ChZx?B3B4-|lf`WHH3vA_rW#F9r^h9FGVIw>N1^ z;>>GrOe;Vwc*lXHlK5&;ie7MrS}E?eMW0;j!csKpPHi1g^1h~VwRL2&J1^dsd%f+9 z6#P?L?NZH%`UK_x=yz+(wv7O?gA^tf#+$8QKg;1~EJOg~jKy5MA7}DEefeEztMAdH zPMo-oFD{EEMtYbXF4yx$wB>DjT`r$;K6jeZibSpP^(%$4zZM8C8W+bK{g&hq2&d0Z zy3VVJ?}CV@UCKt_q7f0FImRr+9Ap(j`^{UIvdK z(d)^b($cR|>w5SE)l+9b@%0Ne*gUVZ<1Ou7w)GaB@@&>&k~#(A>o7995ZIH z+tONI>giwFIqO{Fhr+^9GwUjK5(9Ipok9JJP_rkC!p-ltrLR9rj)byMMbHtw#bt9S za!!MiaMueH#eUtkxmKUvUHD-&51$Pvxp`ypoI>EPYj`jVwxtFau3u!c#FxO z9}B80`aJRZ?4)F%5p&sM486VJUrxCjExsDMfM$MKf**hMKTou&VIv3 zhkZU`wXc_qZZf#s;Byf9E^D2$gW2t!wm0=n#xO1VbBghK6q>do$LF_xXDhC=1Dq#n zF|+j)-Pmq}2DyZ*wEshs7e~jSl< z@O_V!ruS|$?2m-sS+c#~xG~N#MHn+iW479|q$|%>YPy4dcfb^eS==E0jPqNpy}iKn zF#Qle^$yWk7w-#AVty}Q(P3hN@NX8i!eKR&g?d%@={d8fGgcSDY?`r%q?p_}#a2>p zkt3mLj@D&rE4X{=-$FnUu%k)QPZF=Wm)+QR8IezH3J5_I96h5&$Q@7X$viV>EhB;~ zh>KD_0_K!Nj3I9AE|!A1?4Pveup-txM$9mASVDq*+Gy zt`$u+^#y-I!7z5ES#EfnGP?zMfn$+BY06J6PTv1Q3x&)PG#pYzGQKkiW@d?wr$2g{ zZyJ^PV}`ZAjpA@;&$02YVN~XUB=MUDkWnH;krcW^*u&TgW77Naomnh3p4sI2+5$l{ zR8AB+P& z)voeo`P${gpr?rPQ9_yXWyWhSa5XzCLUNye6zjOMssnFJ?B0KD>enQxYCk$m5RAs1 zv#{i6x)78WJ8j4zJc}jp@37c)9s1;FaNh1f!D=*_(W*9b1lEf)k?_V2N%e|vF$iD?RnT#Z} zo8?N|Jc9(HdfZ2MR=h#wt9j>&+Vsl_^sX{kZfK1bsQq)^nh0H{J5GBwZQjhB8oaE- z{I6_))Ba$Q@?&bgLeAipQwodTb~F#=yYt-4_wQ54H0h2ZaS0rmmIWl1>u)&I0?&B3 z88WGC3C^#!2L|Jl>#ovikB~sAr8g9E)eNSzBoI8`<9PFlr&8s9dHWGc zUkl>zy#My*06my`l2%iaM&6*>+uXR+DM_Y;l8P4-l^=W(njPoldLH(e7m)BAzVyDK zTy+f6l+=77Oxmc-q~grwbeZWuf_=hi-;r#FH1}qRevnz_)+YicygadGCt!}uAAsn> z#;`S!{(QGQS2CE(zC&m*WZr(4Z8 zxV5D-J*!8oppH21rp@&JL?Ip{O=7mjfwMbp?&C;tXiRv!oLF6ZssKe$0O>vLfgd;L?HQRD4u=Wpr4IE*-|8I0oM6;7p`AEz-(n#nD{iQEL~fLYO6mGQl*a~i)h z2Ih47DEa(er#7Z_9}0DZ^KR+tz$ORStQhO_<{#Ens#$Th%-}`-1Odq`uL4ChUj5N4nZADnfOA=$*zpKQ&CApXDM73A+z^)yq_>|iORF#+8ZmT=9=c2w$xMxs z%w6;dk|gHVki`;IA4z5fwcJgauQocTa@2*Nd-yYZzKVKR_anp!xW|)pe1v?ooipxiKKixhY&* zl}t+cGGijW(gyT+7(~=;l%Ed2dW+2Y+;3lZIS7%Vlj>XMtf{|G36M*om%8;%$?nh_t=Lm%hd%0D2+xE{)Lj3M!t_5TU%g- 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 literal 0 HcmV?d00001 diff --git a/src/franneck94.c-cpp-runner-4.1.2/media/excludePaths2.png b/src/franneck94.c-cpp-runner-4.1.2/media/excludePaths2.png new file mode 100644 index 0000000000000000000000000000000000000000..cafcddcd9fc3c2e2c225747abfeada2cc655419b GIT binary patch literal 9742 zcmc(lRZv||o9-dFyE_|);O_43u7Tk09yYRZx1bw>JHa71!Ciy926rF+-&bemVouf6 zRGq4G(NC{lt5>jmO()zM1+8VK#`M`REL0og!y=Ohll;pm^@msj}FpJ zT}B+DdV=`qV*veCOzGogT|Cl@**`N8oMrXgARut5|7nnN>QomH5Y&Zol46?P#-}+* zhMMztgF#Yss0Dz22^ll=uQSq?{h}yL4;%eiH>yr%2yZMY=0$sr{$DKj7&$mNOl&eW zOXYMvJ7vUCd@*N*Mm_$)mj0bFwtz|*6Tm0@b|MJ7zX=ZvzBf5LKXA)%yW?}aTYmog z>rUT~%xZ1U>|t)ylocO2F>62t7TB|CCjYI+RMzx=P;jHSCyl)Tp6Q_VWebkp?Ye>c zd8RHkDF?m-f(9Zotb{mHia50PFCjQu?Kq71m5`G}IAD)+F^oJID`hQUsx`-ZiN-Kq z5Fa_5V=Ulfeaz}3vVvkJ{ot@IlKw*9xZ_-@euLh(i%YCpR^zbs9LKGAyUE=C#kN!Y z+c%82j1mLn1rZVCAgu)hsIE6xXeZjP2z{O_>!cnu)0G{dvsW|f#Z~^!^?`H44~U;u zPJ_(+n#Dp9+tY|`M>?Q~LDY;#7L3BY{zy)o<@7yD^BGSzqi>P3WIflwPZ&#TbXZ

    3420^TRsCkCko$rh<%KG~m~?u`&!M9T@G&Rr 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ΞSLOdx`B5>bF@$%`q`dnmn)D_4u%Q>I1a{{Upqe*vV`zX38z zh7wE}=H^}EmhtBwa14}5h0Lmfk5|5JU`Mm^7B3>9F6N3YGL`xzzR7BNdF9+=8CLt# zJQv6J3nyJkBy6lkN*?8yo@>E2t^YJl>O>3S2LhzHIz62rjPss_5gnx!?`3a%U?6qX zmExDvnoy%^spFAY-B;LyXa+)rs~O}JS7Gmp5}G4K0&XSjPs7mA^E|>DPx^l=62v$> zsrV3S?ETi*;=9E!CVTH*(4d``@6|^_ss^mZJ~&7ewSsSOmmVN0P<=uLF|ea~s9k59m~+vP z7_XBj440I%jOGvuKid?}!(9b=o#e0V`Oapw+F5hz3&W@gHskWM?@TL2hek$Uo`wAQ zE#b@qb%IuXeb8hS)`3pRy<}fdXk@T6qh7ZX20!EwxfUqB>IT$Dx?vunw)f#>GWIl* zC^5no$?7&XJ`}fdSvdjmGP@45LH4#7e*}cJ>LuH~BY8FCT^wukX_3UVZcCooiZ6@B zJHrhyL!8T-e>foHW9`7dOsjgFZngrzGg5E8X_*EaQkpw76rHqs$gN?#dxcV0vvtb2 z3Md}hggw}VSJ5?)!=<0uH7Rlc=zA!Kq_o5eB-p{5=zQ3(G8AV` zhPx-Iy$jdOlD7-wjt{0c$Hl>IdALxp0~R++R8)73lqUx4IItqXBDW-Tyy9T-H8iM( zX?zY!#J5vMaL_pb`;t*tXLtvlMHHa9ng1EtOQsCmdSZ->fP{Gs>b*#eCx6`PtUVi& z;VY|}JJ4XOwScML&LIyGhWbjIYnMiRFEy3J~?iXVc_ zaC2~Wd+~0r*>zmOEccx`VmnusI^=mBD1hAw-vsH68r1iAGuG@mS+B?vlTwV?wfA?8mie z3%<1WJL!@zFKI|_t>2~ z9{g|>CZA<$;EGT>pH#U~^Jt6mseH6-jn@rW(k;&0!b(+>%_~oIiM4oJHbND?nZau_ zNcmV_pM#bWh5j3CRGu$QIPZ<{!N%wI92RLt-y=wuY%n@oFY=EWw43k`d;NtdZ%2{L z%T1vb;ushp1JB}sXB>(|HA#A#i}0qoI5V(?_UN19tLryhuG-g@)HJ1wcDjaBdV>&f zJ)Tse{%-Mkdo_G2B8wUHztiU^BzU<@3HfmL86Am1BYbFfnFwj&*S0*^h(DP1V!Ug_ znZ7qPoTjN01j)a7%bOh{SNh3&FLrbNef5Sdr2eeB9xJkdsoDtQI#7`41AuhIIe{ literal 0 HcmV?d00001 diff --git a/src/franneck94.c-cpp-runner-4.1.2/media/excludePattern.png b/src/franneck94.c-cpp-runner-4.1.2/media/excludePattern.png new file mode 100644 index 0000000000000000000000000000000000000000..0fc693f00b9367de45a570690f05ca55aa46e091 GIT binary patch literal 22390 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 literal 0 HcmV?d00001 diff --git a/src/franneck94.c-cpp-runner-4.1.2/media/fullBar.png b/src/franneck94.c-cpp-runner-4.1.2/media/fullBar.png new file mode 100644 index 0000000000000000000000000000000000000000..a296e7f6cdfe9bc66af2ab6538943c2b7a65f654 GIT binary patch literal 3414 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