@flowscripter/dynamic-cli-framework 1.7.3 → 1.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli-plugin.ts +1 -1
- package/dist/cli-plugin.d.ts +1 -1
- package/dist/cli-plugin.d.ts.map +1 -1
- package/dist/cli-plugin.js +25 -247
- package/dist/index.js +70 -105754
- package/dist/src/api/BaseCLIFeatureOptions.js +0 -0
- package/dist/src/api/CLI.js +0 -0
- package/dist/src/api/CLIConfig.js +0 -0
- package/dist/src/api/Context.js +0 -0
- package/dist/src/api/RunResult.js +73 -0
- package/dist/src/api/argument/Argument.js +0 -0
- package/dist/src/api/argument/ArgumentValueTypes.js +18 -0
- package/dist/src/api/argument/ComplexOption.js +1 -0
- package/dist/src/api/argument/GlobalCommandArgument.js +0 -0
- package/dist/src/api/argument/Option.js +0 -0
- package/dist/src/api/argument/Positional.js +0 -0
- package/dist/src/api/argument/SubCommandArgument.js +1 -0
- package/dist/src/api/command/Command.js +0 -0
- package/dist/src/api/command/GlobalCommand.js +0 -0
- package/dist/src/api/command/GlobalModifierCommand.js +0 -0
- package/dist/src/api/command/GroupCommand.js +0 -0
- package/dist/src/api/command/SubCommand.js +0 -0
- package/dist/src/api/command/UsageExample.js +0 -0
- package/dist/src/api/plugin/CLIPlugin.js +2 -0
- package/dist/src/api/plugin/CommandFactory.js +7 -0
- package/dist/src/api/plugin/ServiceProviderFactory.js +7 -0
- package/dist/src/api/plugin/createCLIPlugin.js +30 -0
- package/dist/src/api/service/ServiceProvider.js +0 -0
- package/dist/src/api/service/core/ArgumentPrompterService.js +1 -0
- package/dist/src/api/service/core/AsciiBannerGeneratorService.js +1 -0
- package/dist/src/api/service/core/CompletionService.js +8 -0
- package/dist/src/api/service/core/DataDumpGeneratorService.js +7 -0
- package/dist/src/api/service/core/ImagePrinterService.js +1 -0
- package/dist/src/api/service/core/KeyValueService.js +7 -0
- package/dist/src/api/service/core/PluginService.js +6 -0
- package/dist/src/api/service/core/PrettyPrinterService.js +1 -0
- package/dist/src/api/service/core/PrinterService.js +42 -0
- package/dist/src/api/service/core/PrompterService.js +10 -0
- package/dist/src/api/service/core/SecretService.js +0 -0
- package/dist/src/api/service/core/ShutdownService.js +1 -0
- package/dist/src/api/service/core/SyntaxHighlighterService.js +1 -0
- package/dist/src/api/service/core/Table.js +49 -0
- package/dist/src/api/service/core/TableGeneratorService.d.ts +1 -0
- package/dist/src/api/service/core/TableGeneratorService.d.ts.map +1 -1
- package/dist/src/api/service/core/TableGeneratorService.js +7 -0
- package/dist/src/api/service/core/TreePrinterService.js +1 -0
- package/dist/src/cli/BaseCLI.d.ts.map +1 -1
- package/dist/src/cli/BaseCLI.js +233 -0
- package/dist/src/cli/DefaultRuntimeCLI.js +20 -0
- package/dist/src/cli/DynamicPluginRuntimeCLI.js +50 -0
- package/dist/src/command/MultiCommandCliHelpCommand.js +238 -0
- package/dist/src/command/SingleCommandCliHelpCommand.js +104 -0
- package/dist/src/command/UsageCommand.js +16 -0
- package/dist/src/command/VersionCommand.js +13 -0
- package/dist/src/launcher.js +61 -0
- package/dist/src/runtime/DefaultContext.js +25 -0
- package/dist/src/runtime/argument/ArgumentTypeGuards.js +3 -0
- package/dist/src/runtime/command/CommandTypeGuards.js +12 -0
- package/dist/src/runtime/command/CommandValidator.js +371 -0
- package/dist/src/runtime/parser.js +105 -0
- package/dist/src/runtime/registry/CommandRegistry.js +0 -0
- package/dist/src/runtime/registry/DefaultCommandRegistry.js +190 -0
- package/dist/src/runtime/registry/DefaultServiceProviderRegistry.js +20 -0
- package/dist/src/runtime/registry/ServiceProviderRegistry.js +0 -0
- package/dist/src/runtime/runner.js +507 -0
- package/dist/src/runtime/scanner.js +244 -0
- package/dist/src/runtime/values/ValuePopulationResult.js +0 -0
- package/dist/src/runtime/values/argumentValueMerge.js +122 -0
- package/dist/src/runtime/values/argumentValueValidation.js +505 -0
- package/dist/src/runtime/values/globalCommandValuePopulation.js +67 -0
- package/dist/src/runtime/values/subCommandValuePopulation.js +549 -0
- package/dist/src/service/argumentPrompter/ArgumentPrompterServiceProvider.js +19 -0
- package/dist/src/service/argumentPrompter/DefaultArgumentPrompterService.js +197 -0
- package/dist/src/service/asciiBannerGenerator/AsciiBannerGeneratorServiceProvider.js +28 -0
- package/dist/src/service/asciiBannerGenerator/DefaultAsciiBannerGeneratorService.js +233 -0
- package/dist/src/service/asciiBannerGenerator/standard.flf.json +3 -0
- package/dist/src/service/banner/BannerServiceProvider.js +60 -0
- package/dist/src/service/banner/command/NoBannerCommand.js +24 -0
- package/dist/src/service/chiselAsciiBannerGenerator/ChiselFontAsciiBannerGeneratorService.js +51 -0
- package/dist/src/service/chiselAsciiBannerGenerator/chisel.flf.json +3 -0
- package/dist/src/service/completion/CompletionServiceProvider.d.ts +2 -1
- package/dist/src/service/completion/CompletionServiceProvider.d.ts.map +1 -1
- package/dist/src/service/completion/CompletionServiceProvider.js +160 -0
- package/dist/src/service/completion/DefaultCompletionService.js +279 -0
- package/dist/src/service/completion/command/CompletionCompleteSubCommand.d.ts +15 -0
- package/dist/src/service/completion/command/CompletionCompleteSubCommand.d.ts.map +1 -0
- package/dist/src/service/completion/command/CompletionCompleteSubCommand.js +37 -0
- package/dist/src/service/completion/command/CompletionGroupCommand.d.ts +14 -0
- package/dist/src/service/completion/command/CompletionGroupCommand.d.ts.map +1 -0
- package/dist/src/service/completion/command/CompletionGroupCommand.js +10 -0
- package/dist/src/service/completion/command/CompletionIntegrationSubCommand.d.ts +14 -0
- package/dist/src/service/completion/command/CompletionIntegrationSubCommand.d.ts.map +1 -0
- package/dist/src/service/completion/command/CompletionIntegrationSubCommand.js +67 -0
- package/dist/src/service/completion/shell/ShellHandler.js +0 -0
- package/dist/src/service/completion/shell/bash.js +39 -0
- package/dist/src/service/completion/shell/fish.js +35 -0
- package/dist/src/service/completion/shell/powershell.js +51 -0
- package/dist/src/service/completion/shell/zsh.js +42 -0
- package/dist/src/service/configuration/ConfigurationServiceProvider.js +482 -0
- package/dist/src/service/configuration/DefaultKeyValueService.js +80 -0
- package/dist/src/service/configuration/DefaultSecretService.js +60 -0
- package/dist/src/service/configuration/command/ConfigCommand.js +24 -0
- package/dist/src/service/configuration/command/DumpConfigCommand.js +18 -0
- package/dist/src/service/dataDumpGenerator/DataDumpGeneratorServiceProvider.js +24 -0
- package/dist/src/service/dataDumpGenerator/DefaultDataDumpGeneratorService.js +59 -0
- package/dist/src/service/imagePrinter/DefaultImagePrinterService.js +10 -0
- package/dist/src/service/imagePrinter/ImagePrinterServiceProvider.js +20 -0
- package/dist/src/service/plugin/DefaultPluginService.js +21 -0
- package/dist/src/service/plugin/DefaultPluginServiceProvider.d.ts +1 -1
- package/dist/src/service/plugin/DefaultPluginServiceProvider.d.ts.map +1 -1
- package/dist/src/service/plugin/DefaultPluginServiceProvider.js +21 -0
- package/dist/src/service/plugin/command/PluginAddSubCommand.d.ts +17 -0
- package/dist/src/service/plugin/command/PluginAddSubCommand.d.ts.map +1 -0
- package/dist/src/service/plugin/command/PluginAddSubCommand.js +49 -0
- package/dist/src/service/plugin/command/PluginGroupCommand.d.ts +12 -0
- package/dist/src/service/plugin/command/PluginGroupCommand.d.ts.map +1 -0
- package/dist/src/service/plugin/command/PluginGroupCommand.js +21 -0
- package/dist/src/service/plugin/command/PluginListSubCommand.d.ts +12 -0
- package/dist/src/service/plugin/command/PluginListSubCommand.d.ts.map +1 -0
- package/dist/src/service/plugin/command/PluginListSubCommand.js +25 -0
- package/dist/src/service/plugin/command/PluginRemoveSubCommand.d.ts +17 -0
- package/dist/src/service/plugin/command/PluginRemoveSubCommand.d.ts.map +1 -0
- package/dist/src/service/plugin/command/PluginRemoveSubCommand.js +24 -0
- package/dist/src/service/plugin/command/PluginSearchSubCommand.d.ts +18 -0
- package/dist/src/service/plugin/command/PluginSearchSubCommand.d.ts.map +1 -0
- package/dist/src/service/plugin/command/PluginSearchSubCommand.js +34 -0
- package/dist/src/service/plugin/command/PluginUpgradeSubCommand.d.ts +12 -0
- package/dist/src/service/plugin/command/PluginUpgradeSubCommand.d.ts.map +1 -0
- package/dist/src/service/plugin/command/PluginUpgradeSubCommand.js +25 -0
- package/dist/src/service/plugin/command/getPluginId.d.ts +3 -0
- package/dist/src/service/plugin/command/getPluginId.d.ts.map +1 -0
- package/dist/src/service/plugin/command/getPluginId.js +3 -0
- package/dist/src/service/prettyPrinter/DefaultPrettyPrinterService.js +45 -0
- package/dist/src/service/prettyPrinter/PrettyPrinterServiceProvider.js +28 -0
- package/dist/src/service/printer/DefaultPrinterService.js +250 -0
- package/dist/src/service/printer/PrinterServiceProvider.js +43 -0
- package/dist/src/service/printer/command/DarkModeCommand.js +24 -0
- package/dist/src/service/printer/command/LogLevelCommand.js +41 -0
- package/dist/src/service/printer/command/NoColorCommand.js +24 -0
- package/dist/src/service/printer/command/NoHyperlinksCommand.js +21 -0
- package/dist/src/service/printer/terminal/Color.js +15 -0
- package/dist/src/service/printer/terminal/Progress.js +271 -0
- package/dist/src/service/printer/terminal/Spinner.js +83 -0
- package/dist/src/service/printer/terminal/Theme.js +26 -0
- package/dist/src/service/prompter/DefaultPrompterService.js +52 -0
- package/dist/src/service/prompter/PrompterServiceProvider.js +20 -0
- package/dist/src/service/prompter/command/NoPromptCommand.js +21 -0
- package/dist/src/service/prompter/prompt/PromptContext.js +22 -0
- package/dist/src/service/prompter/prompt/promptAcknowledge.js +19 -0
- package/dist/src/service/prompter/prompt/promptMultiSelect.js +74 -0
- package/dist/src/service/prompter/prompt/promptOpenUrl.js +70 -0
- package/dist/src/service/prompter/prompt/promptSingleSelect.js +73 -0
- package/dist/src/service/prompter/prompt/promptText.js +75 -0
- package/dist/src/service/prompter/prompt/promptToggle.js +21 -0
- package/dist/src/service/shutdown/DefaultShutdownService.js +16 -0
- package/dist/src/service/shutdown/ShutdownServiceProvider.js +60 -0
- package/dist/src/service/shutdown/ShutdownState.js +5 -0
- package/dist/src/service/syntaxHighlighter/DefaultSyntaxHighlighterService.js +54 -0
- package/dist/src/service/syntaxHighlighter/SyntaxHighlighterServiceProvider.js +32 -0
- package/dist/src/service/tableGenerator/DefaultTableGeneratorService.d.ts +3 -1
- package/dist/src/service/tableGenerator/DefaultTableGeneratorService.d.ts.map +1 -1
- package/dist/src/service/tableGenerator/DefaultTableGeneratorService.js +344 -0
- package/dist/src/service/tableGenerator/TableGeneratorServiceProvider.js +26 -0
- package/dist/src/service/treePrinter/DefaultTreePrinterService.js +35 -0
- package/dist/src/service/treePrinter/TreePrinterServiceProvider.js +24 -0
- package/dist/src/terminal/Ansi.js +23 -0
- package/dist/src/terminal/ImageRenderer.js +164 -0
- package/dist/src/terminal/KeyReader.js +13 -0
- package/dist/src/terminal/PngDecoder.js +115 -0
- package/dist/src/terminal/Styler.js +0 -0
- package/dist/src/terminal/Terminal.js +0 -0
- package/dist/src/terminal/TtyKeyReader.js +87 -0
- package/dist/src/terminal/TtyStyler.js +55 -0
- package/dist/src/terminal/TtyTerminal.js +52 -0
- package/dist/src/terminal/supportsHyperlinks.js +95 -0
- package/dist/src/util/configHelper.js +61 -0
- package/dist/src/util/envVarHelper.js +216 -0
- package/dist/src/util/helpHelper.d.ts.map +1 -1
- package/dist/src/util/helpHelper.js +497 -0
- package/dist/src/util/logger.js +81 -0
- package/dist/src/util/runnerHelper.js +80 -0
- package/package.json +2 -2
- package/src/api/service/core/TableGeneratorService.ts +1 -0
- package/src/cli/BaseCLI.ts +4 -18
- package/src/service/completion/CompletionServiceProvider.ts +16 -2
- package/src/service/completion/command/CompletionCompleteSubCommand.ts +59 -0
- package/src/service/completion/command/CompletionGroupCommand.ts +21 -0
- package/src/{command/CompletionCommand.ts → service/completion/command/CompletionIntegrationSubCommand.ts} +12 -73
- package/src/service/completion/shell/bash.ts +1 -1
- package/src/service/completion/shell/fish.ts +1 -1
- package/src/service/completion/shell/powershell.ts +1 -1
- package/src/service/completion/shell/zsh.ts +1 -1
- package/src/service/plugin/DefaultPluginServiceProvider.ts +2 -2
- package/src/service/plugin/command/PluginAddSubCommand.ts +64 -0
- package/src/service/plugin/command/PluginGroupCommand.ts +27 -0
- package/src/service/plugin/command/PluginListSubCommand.ts +33 -0
- package/src/service/plugin/command/PluginRemoveSubCommand.ts +32 -0
- package/src/service/plugin/command/PluginSearchSubCommand.ts +42 -0
- package/src/service/plugin/command/PluginUpgradeSubCommand.ts +36 -0
- package/src/service/plugin/command/getPluginId.ts +5 -0
- package/src/service/tableGenerator/DefaultTableGeneratorService.ts +6 -1
- package/src/util/helpHelper.ts +1 -2
- package/dist/src/command/CompletionCommand.d.ts +0 -32
- package/dist/src/command/CompletionCommand.d.ts.map +0 -1
- package/dist/src/command/PluginCommand.d.ts +0 -67
- package/dist/src/command/PluginCommand.d.ts.map +0 -1
- package/dist/tests/cli/BaseCLI.test.d.ts +0 -2
- package/dist/tests/cli/BaseCLI.test.d.ts.map +0 -1
- package/dist/tests/cli/DynamicPluginRuntimeCLI.test.d.ts +0 -2
- package/dist/tests/cli/DynamicPluginRuntimeCLI.test.d.ts.map +0 -1
- package/dist/tests/command/CompletionCommand.test.d.ts +0 -2
- package/dist/tests/command/CompletionCommand.test.d.ts.map +0 -1
- package/dist/tests/command/MultiCommandCliHelpCommand.test.d.ts +0 -2
- package/dist/tests/command/MultiCommandCliHelpCommand.test.d.ts.map +0 -1
- package/dist/tests/command/PluginCommand.test.d.ts +0 -2
- package/dist/tests/command/PluginCommand.test.d.ts.map +0 -1
- package/dist/tests/command/SingleCommandCliHelpCommand.test.d.ts +0 -2
- package/dist/tests/command/SingleCommandCliHelpCommand.test.d.ts.map +0 -1
- package/dist/tests/command/UsageCommand.test.d.ts +0 -2
- package/dist/tests/command/UsageCommand.test.d.ts.map +0 -1
- package/dist/tests/command/VersionCommand.test.d.ts +0 -2
- package/dist/tests/command/VersionCommand.test.d.ts.map +0 -1
- package/dist/tests/fixtures/CLIConfig.d.ts +0 -3
- package/dist/tests/fixtures/CLIConfig.d.ts.map +0 -1
- package/dist/tests/fixtures/Command.d.ts +0 -20
- package/dist/tests/fixtures/Command.d.ts.map +0 -1
- package/dist/tests/fixtures/CommandRegistry.d.ts +0 -4
- package/dist/tests/fixtures/CommandRegistry.d.ts.map +0 -1
- package/dist/tests/fixtures/ConfigurationServiceProvider.d.ts +0 -10
- package/dist/tests/fixtures/ConfigurationServiceProvider.d.ts.map +0 -1
- package/dist/tests/fixtures/Context.d.ts +0 -4
- package/dist/tests/fixtures/Context.d.ts.map +0 -1
- package/dist/tests/fixtures/ServiceProviderRegistry.d.ts +0 -4
- package/dist/tests/fixtures/ServiceProviderRegistry.d.ts.map +0 -1
- package/dist/tests/fixtures/StreamString.d.ts +0 -10
- package/dist/tests/fixtures/StreamString.d.ts.map +0 -1
- package/dist/tests/fixtures/prettierPluginFoo.d.ts +0 -4
- package/dist/tests/fixtures/prettierPluginFoo.d.ts.map +0 -1
- package/dist/tests/fixtures/util.d.ts +0 -8
- package/dist/tests/fixtures/util.d.ts.map +0 -1
- package/dist/tests/runtime/DefaultContext.test.d.ts +0 -2
- package/dist/tests/runtime/DefaultContext.test.d.ts.map +0 -1
- package/dist/tests/runtime/argument/ArgumentTypeGuards.test.d.ts +0 -2
- package/dist/tests/runtime/argument/ArgumentTypeGuards.test.d.ts.map +0 -1
- package/dist/tests/runtime/command/CommandTypeGuards.test.d.ts +0 -2
- package/dist/tests/runtime/command/CommandTypeGuards.test.d.ts.map +0 -1
- package/dist/tests/runtime/command/CommandValidator.test.d.ts +0 -2
- package/dist/tests/runtime/command/CommandValidator.test.d.ts.map +0 -1
- package/dist/tests/runtime/parser.test.d.ts +0 -2
- package/dist/tests/runtime/parser.test.d.ts.map +0 -1
- package/dist/tests/runtime/registry/DefaultCommandRegistry.test.d.ts +0 -2
- package/dist/tests/runtime/registry/DefaultCommandRegistry.test.d.ts.map +0 -1
- package/dist/tests/runtime/registry/DefaultServiceProviderRegistry.test.d.ts +0 -2
- package/dist/tests/runtime/registry/DefaultServiceProviderRegistry.test.d.ts.map +0 -1
- package/dist/tests/runtime/runner.test.d.ts +0 -2
- package/dist/tests/runtime/runner.test.d.ts.map +0 -1
- package/dist/tests/runtime/scanner.test.d.ts +0 -2
- package/dist/tests/runtime/scanner.test.d.ts.map +0 -1
- package/dist/tests/runtime/values/argumentValueMerge.test.d.ts +0 -2
- package/dist/tests/runtime/values/argumentValueMerge.test.d.ts.map +0 -1
- package/dist/tests/runtime/values/argumentValueValidation.test.d.ts +0 -2
- package/dist/tests/runtime/values/argumentValueValidation.test.d.ts.map +0 -1
- package/dist/tests/runtime/values/globalCommandValuePopulation.test.d.ts +0 -2
- package/dist/tests/runtime/values/globalCommandValuePopulation.test.d.ts.map +0 -1
- package/dist/tests/runtime/values/subCommandValuePopulation.test.d.ts +0 -2
- package/dist/tests/runtime/values/subCommandValuePopulation.test.d.ts.map +0 -1
- package/dist/tests/service/argumentPrompter/ArgumentPrompterServiceProvider.test.d.ts +0 -2
- package/dist/tests/service/argumentPrompter/ArgumentPrompterServiceProvider.test.d.ts.map +0 -1
- package/dist/tests/service/argumentPrompter/DefaultArgumentPrompterService.test.d.ts +0 -2
- package/dist/tests/service/argumentPrompter/DefaultArgumentPrompterService.test.d.ts.map +0 -1
- package/dist/tests/service/asciiBannerGenerator/AsciiBannerGeneratorServiceProvider.test.d.ts +0 -2
- package/dist/tests/service/asciiBannerGenerator/AsciiBannerGeneratorServiceProvider.test.d.ts.map +0 -1
- package/dist/tests/service/asciiBannerGenerator/DefaultAsciiBannerGeneratorService.test.d.ts +0 -2
- package/dist/tests/service/asciiBannerGenerator/DefaultAsciiBannerGeneratorService.test.d.ts.map +0 -1
- package/dist/tests/service/banner/BannerServiceProvider.test.d.ts +0 -2
- package/dist/tests/service/banner/BannerServiceProvider.test.d.ts.map +0 -1
- package/dist/tests/service/banner/command/NoBannerCommand.test.d.ts +0 -2
- package/dist/tests/service/banner/command/NoBannerCommand.test.d.ts.map +0 -1
- package/dist/tests/service/chiselAsciiBannerGenerator/ChiselFontAsciiBannerGeneratorService.test.d.ts +0 -2
- package/dist/tests/service/chiselAsciiBannerGenerator/ChiselFontAsciiBannerGeneratorService.test.d.ts.map +0 -1
- package/dist/tests/service/completion/CompletionServiceProvider.test.d.ts +0 -2
- package/dist/tests/service/completion/CompletionServiceProvider.test.d.ts.map +0 -1
- package/dist/tests/service/completion/DefaultCompletionService.test.d.ts +0 -2
- package/dist/tests/service/completion/DefaultCompletionService.test.d.ts.map +0 -1
- package/dist/tests/service/completion/shell/bash.test.d.ts +0 -2
- package/dist/tests/service/completion/shell/bash.test.d.ts.map +0 -1
- package/dist/tests/service/completion/shell/fish.test.d.ts +0 -2
- package/dist/tests/service/completion/shell/fish.test.d.ts.map +0 -1
- package/dist/tests/service/completion/shell/powershell.test.d.ts +0 -2
- package/dist/tests/service/completion/shell/powershell.test.d.ts.map +0 -1
- package/dist/tests/service/completion/shell/zsh.test.d.ts +0 -2
- package/dist/tests/service/completion/shell/zsh.test.d.ts.map +0 -1
- package/dist/tests/service/configuration/ConfigurationServiceProvider.test.d.ts +0 -2
- package/dist/tests/service/configuration/ConfigurationServiceProvider.test.d.ts.map +0 -1
- package/dist/tests/service/configuration/DefaultKeyValueService.test.d.ts +0 -2
- package/dist/tests/service/configuration/DefaultKeyValueService.test.d.ts.map +0 -1
- package/dist/tests/service/configuration/DefaultSecretService.test.d.ts +0 -2
- package/dist/tests/service/configuration/DefaultSecretService.test.d.ts.map +0 -1
- package/dist/tests/service/configuration/command/ConfigCommand.test.d.ts +0 -2
- package/dist/tests/service/configuration/command/ConfigCommand.test.d.ts.map +0 -1
- package/dist/tests/service/configuration/command/DumpConfigCommand.test.d.ts +0 -2
- package/dist/tests/service/configuration/command/DumpConfigCommand.test.d.ts.map +0 -1
- package/dist/tests/service/dataDumpGenerator/DataDumpGeneratorServiceProvider.test.d.ts +0 -2
- package/dist/tests/service/dataDumpGenerator/DataDumpGeneratorServiceProvider.test.d.ts.map +0 -1
- package/dist/tests/service/dataDumpGenerator/DefaultDataDumpGeneratorService.test.d.ts +0 -2
- package/dist/tests/service/dataDumpGenerator/DefaultDataDumpGeneratorService.test.d.ts.map +0 -1
- package/dist/tests/service/imagePrinter/DefaultImagePrinterService.test.d.ts +0 -2
- package/dist/tests/service/imagePrinter/DefaultImagePrinterService.test.d.ts.map +0 -1
- package/dist/tests/service/imagePrinter/ImagePrinterServiceProvider.test.d.ts +0 -2
- package/dist/tests/service/imagePrinter/ImagePrinterServiceProvider.test.d.ts.map +0 -1
- package/dist/tests/service/plugin/DefaultPluginServiceProvider.test.d.ts +0 -2
- package/dist/tests/service/plugin/DefaultPluginServiceProvider.test.d.ts.map +0 -1
- package/dist/tests/service/prettyPrinter/DefaultPrettyPrinterService.test.d.ts +0 -2
- package/dist/tests/service/prettyPrinter/DefaultPrettyPrinterService.test.d.ts.map +0 -1
- package/dist/tests/service/prettyPrinter/PrettyPrinterServiceProvider.test.d.ts +0 -2
- package/dist/tests/service/prettyPrinter/PrettyPrinterServiceProvider.test.d.ts.map +0 -1
- package/dist/tests/service/printer/DefaultPrinterService.test.d.ts +0 -2
- package/dist/tests/service/printer/DefaultPrinterService.test.d.ts.map +0 -1
- package/dist/tests/service/printer/PrinterServiceProvider.test.d.ts +0 -2
- package/dist/tests/service/printer/PrinterServiceProvider.test.d.ts.map +0 -1
- package/dist/tests/service/printer/command/DarkModeCommand.test.d.ts +0 -2
- package/dist/tests/service/printer/command/DarkModeCommand.test.d.ts.map +0 -1
- package/dist/tests/service/printer/command/LogLevelCommand.test.d.ts +0 -2
- package/dist/tests/service/printer/command/LogLevelCommand.test.d.ts.map +0 -1
- package/dist/tests/service/printer/command/NoColorCommand.test.d.ts +0 -2
- package/dist/tests/service/printer/command/NoColorCommand.test.d.ts.map +0 -1
- package/dist/tests/service/printer/command/NoHyperlinksCommand.test.d.ts +0 -2
- package/dist/tests/service/printer/command/NoHyperlinksCommand.test.d.ts.map +0 -1
- package/dist/tests/service/printer/terminal/Progress.test.d.ts +0 -2
- package/dist/tests/service/printer/terminal/Progress.test.d.ts.map +0 -1
- package/dist/tests/service/printer/terminal/Spinner.test.d.ts +0 -2
- package/dist/tests/service/printer/terminal/Spinner.test.d.ts.map +0 -1
- package/dist/tests/service/prompter/DefaultPrompterService.test.d.ts +0 -2
- package/dist/tests/service/prompter/DefaultPrompterService.test.d.ts.map +0 -1
- package/dist/tests/service/prompter/PrompterServiceProvider.test.d.ts +0 -2
- package/dist/tests/service/prompter/PrompterServiceProvider.test.d.ts.map +0 -1
- package/dist/tests/service/prompter/command/NoPromptCommand.test.d.ts +0 -2
- package/dist/tests/service/prompter/command/NoPromptCommand.test.d.ts.map +0 -1
- package/dist/tests/service/prompter/prompt/PromptContext.test.d.ts +0 -2
- package/dist/tests/service/prompter/prompt/PromptContext.test.d.ts.map +0 -1
- package/dist/tests/service/shutdown/ShutdownServiceProvider.test.d.ts +0 -2
- package/dist/tests/service/shutdown/ShutdownServiceProvider.test.d.ts.map +0 -1
- package/dist/tests/service/syntaxHighlighter/DefaultSyntaxHighlighterService.test.d.ts +0 -2
- package/dist/tests/service/syntaxHighlighter/DefaultSyntaxHighlighterService.test.d.ts.map +0 -1
- package/dist/tests/service/syntaxHighlighter/SyntaxHighlighterServiceProvider.test.d.ts +0 -2
- package/dist/tests/service/syntaxHighlighter/SyntaxHighlighterServiceProvider.test.d.ts.map +0 -1
- package/dist/tests/service/tableGenerator/DefaultTableGeneratorService.test.d.ts +0 -2
- package/dist/tests/service/tableGenerator/DefaultTableGeneratorService.test.d.ts.map +0 -1
- package/dist/tests/service/tableGenerator/TableGeneratorServiceProvider.test.d.ts +0 -2
- package/dist/tests/service/tableGenerator/TableGeneratorServiceProvider.test.d.ts.map +0 -1
- package/dist/tests/service/treePrinter/DefaultTreePrinterService.test.d.ts +0 -2
- package/dist/tests/service/treePrinter/DefaultTreePrinterService.test.d.ts.map +0 -1
- package/dist/tests/service/treePrinter/TreePrinterServiceProvider.test.d.ts +0 -2
- package/dist/tests/service/treePrinter/TreePrinterServiceProvider.test.d.ts.map +0 -1
- package/dist/tests/terminal/ImageRenderer.test.d.ts +0 -2
- package/dist/tests/terminal/ImageRenderer.test.d.ts.map +0 -1
- package/dist/tests/terminal/PngDecoder.test.d.ts +0 -2
- package/dist/tests/terminal/PngDecoder.test.d.ts.map +0 -1
- package/dist/tests/terminal/supportsHyperlinks.test.d.ts +0 -2
- package/dist/tests/terminal/supportsHyperlinks.test.d.ts.map +0 -1
- package/dist/tests/util/configHelper.test.d.ts +0 -2
- package/dist/tests/util/configHelper.test.d.ts.map +0 -1
- package/dist/tests/util/envVarHelper.test.d.ts +0 -2
- package/dist/tests/util/envVarHelper.test.d.ts.map +0 -1
- package/dist/tests/util/logger.test.d.ts +0 -2
- package/dist/tests/util/logger.test.d.ts.map +0 -1
- package/src/command/PluginCommand.ts +0 -197
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { SpecialKey } from "../../../terminal/KeyReader.js";
|
|
2
|
+
import ShutdownServiceProvider from "../../shutdown/ShutdownServiceProvider.js";
|
|
3
|
+
import { headerLineCount, renderPromptHeader } from "./PromptContext.js";
|
|
4
|
+
export default async function promptSingleSelect(ctx, promptDef) {
|
|
5
|
+
const options = promptDef.options;
|
|
6
|
+
if (options.length === 0) {
|
|
7
|
+
throw new Error(`No options for prompt: ${promptDef.name}`);
|
|
8
|
+
}
|
|
9
|
+
let selectedIndex = 0;
|
|
10
|
+
if (promptDef.defaultOption) {
|
|
11
|
+
const idx = options.findIndex((o) => o.returnedValue === promptDef.defaultOption.returnedValue);
|
|
12
|
+
if (idx >= 0)
|
|
13
|
+
selectedIndex = idx;
|
|
14
|
+
}
|
|
15
|
+
let scrollOffset = 0;
|
|
16
|
+
const visibleCount = Math.min(ctx.config.scrollVisibleOptions, options.length);
|
|
17
|
+
ctx.keyReader.enableRawMode();
|
|
18
|
+
try {
|
|
19
|
+
await ctx.terminal.hideCursor();
|
|
20
|
+
let firstRender = true;
|
|
21
|
+
while (true) {
|
|
22
|
+
if (scrollOffset > selectedIndex) {
|
|
23
|
+
scrollOffset = selectedIndex;
|
|
24
|
+
}
|
|
25
|
+
else if (selectedIndex >= scrollOffset + visibleCount) {
|
|
26
|
+
scrollOffset = selectedIndex - visibleCount + 1;
|
|
27
|
+
}
|
|
28
|
+
const headerLines = headerLineCount(ctx.terminal, promptDef);
|
|
29
|
+
if (!firstRender) {
|
|
30
|
+
await ctx.terminal.clearUpLines(visibleCount + headerLines);
|
|
31
|
+
}
|
|
32
|
+
firstRender = false;
|
|
33
|
+
await renderPromptHeader(ctx, promptDef);
|
|
34
|
+
for (let i = scrollOffset; i < scrollOffset + visibleCount; i++) {
|
|
35
|
+
const option = options[i];
|
|
36
|
+
const isSelected = i === selectedIndex;
|
|
37
|
+
const prefix = isSelected ? ctx.config.inputPromptCharacters : " ";
|
|
38
|
+
const text = prefix + option.displayValue;
|
|
39
|
+
await ctx.terminal.write(`${isSelected ? ctx.printerService.cyan(text) : ctx.printerService.secondary(text)}\n`);
|
|
40
|
+
}
|
|
41
|
+
const keyEvent = await ctx.keyReader.readKey();
|
|
42
|
+
if (keyEvent.specialKey === SpecialKey.UP && selectedIndex > 0) {
|
|
43
|
+
selectedIndex--;
|
|
44
|
+
}
|
|
45
|
+
else if (keyEvent.specialKey === SpecialKey.DOWN && selectedIndex < options.length - 1) {
|
|
46
|
+
selectedIndex++;
|
|
47
|
+
}
|
|
48
|
+
else if (keyEvent.specialKey === SpecialKey.ENTER) {
|
|
49
|
+
await ctx.terminal.showCursor();
|
|
50
|
+
const option = options[selectedIndex];
|
|
51
|
+
const validationError = option.validate ? option.validate(option.returnedValue) : undefined;
|
|
52
|
+
if (validationError) {
|
|
53
|
+
await ctx.terminal.write(`${ctx.printerService.red(validationError)}\n`);
|
|
54
|
+
firstRender = true;
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
return { name: promptDef.name, value: option.returnedValue };
|
|
58
|
+
}
|
|
59
|
+
else if (keyEvent.specialKey === SpecialKey.ESCAPE) {
|
|
60
|
+
await ctx.terminal.showCursor();
|
|
61
|
+
throw new Error("Prompt cancelled");
|
|
62
|
+
}
|
|
63
|
+
else if (keyEvent.specialKey === SpecialKey.INTERRUPT) {
|
|
64
|
+
await ctx.terminal.showCursor();
|
|
65
|
+
ShutdownServiceProvider.onInterrupt();
|
|
66
|
+
throw new Error("Interrupted");
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
finally {
|
|
71
|
+
ctx.keyReader.disableRawMode();
|
|
72
|
+
}
|
|
73
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { SpecialKey } from "../../../terminal/KeyReader.js";
|
|
2
|
+
import ShutdownServiceProvider from "../../shutdown/ShutdownServiceProvider.js";
|
|
3
|
+
import { renderPromptHeader } from "./PromptContext.js";
|
|
4
|
+
export default async function promptText(ctx, promptDef) {
|
|
5
|
+
ctx.keyReader.enableRawMode();
|
|
6
|
+
try {
|
|
7
|
+
while (true) {
|
|
8
|
+
await renderPromptHeader(ctx, promptDef);
|
|
9
|
+
const promptMarker = ctx.printerService.cyan(ctx.config.inputPromptCharacters);
|
|
10
|
+
await ctx.terminal.write(promptMarker);
|
|
11
|
+
let buffer = promptDef.defaultOption ? String(promptDef.defaultOption.returnedValue) : "";
|
|
12
|
+
if (buffer.length > 0) {
|
|
13
|
+
await ctx.terminal.write(buffer);
|
|
14
|
+
}
|
|
15
|
+
while (true) {
|
|
16
|
+
const keyEvent = await ctx.keyReader.readKey();
|
|
17
|
+
if (keyEvent.specialKey === SpecialKey.ENTER) {
|
|
18
|
+
await ctx.terminal.write("\n");
|
|
19
|
+
break;
|
|
20
|
+
}
|
|
21
|
+
else if (keyEvent.specialKey === SpecialKey.ESCAPE) {
|
|
22
|
+
await ctx.terminal.write("\n");
|
|
23
|
+
throw new Error("Prompt cancelled");
|
|
24
|
+
}
|
|
25
|
+
else if (keyEvent.specialKey === SpecialKey.INTERRUPT) {
|
|
26
|
+
await ctx.terminal.write("\n");
|
|
27
|
+
ShutdownServiceProvider.onInterrupt();
|
|
28
|
+
throw new Error("Interrupted");
|
|
29
|
+
}
|
|
30
|
+
else if (keyEvent.specialKey === SpecialKey.BACKSPACE) {
|
|
31
|
+
if (buffer.length > 0) {
|
|
32
|
+
buffer = buffer.slice(0, -1);
|
|
33
|
+
await ctx.terminal.write("\b \b");
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
else if (keyEvent.key) {
|
|
37
|
+
buffer += keyEvent.key;
|
|
38
|
+
const isSecret = promptDef.options.length > 0 && promptDef.options[0].displayValue === "__SECRET__";
|
|
39
|
+
await ctx.terminal.write(isSecret ? "*" : keyEvent.key);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if (buffer.length === 0 && !promptDef.defaultOption) {
|
|
43
|
+
await ctx.terminal.write(ctx.printerService.red("Value required\n"));
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
const value = buffer;
|
|
47
|
+
const validationOption = promptDef.options.length > 0 ? promptDef.options[0] : undefined;
|
|
48
|
+
if (validationOption?.validate) {
|
|
49
|
+
const error = validationOption.validate(value);
|
|
50
|
+
if (error) {
|
|
51
|
+
await ctx.terminal.write(`${ctx.printerService.red(error)}\n`);
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
if (validationOption?.min !== undefined && typeof value === "string") {
|
|
56
|
+
const num = Number(value);
|
|
57
|
+
if (!isNaN(num) && num < validationOption.min) {
|
|
58
|
+
await ctx.terminal.write(ctx.printerService.red(`Value must be at least ${validationOption.min}\n`));
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
if (validationOption?.max !== undefined && typeof value === "string") {
|
|
63
|
+
const num = Number(value);
|
|
64
|
+
if (!isNaN(num) && num > validationOption.max) {
|
|
65
|
+
await ctx.terminal.write(ctx.printerService.red(`Value must be at most ${validationOption.max}\n`));
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return { name: promptDef.name, value };
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
finally {
|
|
73
|
+
ctx.keyReader.disableRawMode();
|
|
74
|
+
}
|
|
75
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { PromptType, } from "../../../api/service/core/PrompterService.js";
|
|
2
|
+
import promptSingleSelect from "./promptSingleSelect.js";
|
|
3
|
+
export default function promptToggle(ctx, promptDef) {
|
|
4
|
+
const trueFalse = {
|
|
5
|
+
name: promptDef.name,
|
|
6
|
+
promptText: promptDef.promptText,
|
|
7
|
+
description: promptDef.description,
|
|
8
|
+
type: PromptType.SINGLE_SELECT,
|
|
9
|
+
defaultOption: promptDef.defaultOption ?? {
|
|
10
|
+
displayValue: "False",
|
|
11
|
+
returnedValue: false,
|
|
12
|
+
},
|
|
13
|
+
options: promptDef.options.length > 0
|
|
14
|
+
? promptDef.options
|
|
15
|
+
: [
|
|
16
|
+
{ displayValue: "True", returnedValue: true },
|
|
17
|
+
{ displayValue: "False", returnedValue: false },
|
|
18
|
+
],
|
|
19
|
+
};
|
|
20
|
+
return promptSingleSelect(ctx, trueFalse);
|
|
21
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { shutdownState } from "./ShutdownState.js";
|
|
2
|
+
export default class DefaultShutdownService {
|
|
3
|
+
static callbacks = [];
|
|
4
|
+
addShutdownListener(callback) {
|
|
5
|
+
DefaultShutdownService.callbacks.push(callback);
|
|
6
|
+
}
|
|
7
|
+
enterLongRunningMode() {
|
|
8
|
+
shutdownState.longRunningMode = true;
|
|
9
|
+
}
|
|
10
|
+
leaveLongRunningMode() {
|
|
11
|
+
shutdownState.longRunningMode = false;
|
|
12
|
+
}
|
|
13
|
+
get isShutdownRequested() {
|
|
14
|
+
return shutdownState.shutdownRequested;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import process from "node:process";
|
|
2
|
+
import DefaultShutdownService from "./DefaultShutdownService.js";
|
|
3
|
+
import { SHUTDOWN_SERVICE_ID } from "../../api/service/core/ShutdownService.js";
|
|
4
|
+
import getLogger from "../../util/logger.js";
|
|
5
|
+
import { shutdownState } from "./ShutdownState.js";
|
|
6
|
+
const logger = getLogger("ShutdownServiceProvider");
|
|
7
|
+
export default class ShutdownServiceProvider {
|
|
8
|
+
servicePriority;
|
|
9
|
+
serviceId = SHUTDOWN_SERVICE_ID;
|
|
10
|
+
#shutdownService;
|
|
11
|
+
static #shutdownInProgress = false;
|
|
12
|
+
constructor(servicePriority) {
|
|
13
|
+
this.servicePriority = servicePriority;
|
|
14
|
+
this.#shutdownService = new DefaultShutdownService();
|
|
15
|
+
process.on("beforeExit", ShutdownServiceProvider.shutdown);
|
|
16
|
+
process.on("SIGINT", ShutdownServiceProvider.onInterrupt);
|
|
17
|
+
process.on("SIGTERM", ShutdownServiceProvider.onTerminate);
|
|
18
|
+
}
|
|
19
|
+
getServiceInfo(_cliConfig) {
|
|
20
|
+
return Promise.resolve({
|
|
21
|
+
service: this.#shutdownService,
|
|
22
|
+
commands: [],
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
initService(_context) {
|
|
26
|
+
return Promise.resolve(undefined);
|
|
27
|
+
}
|
|
28
|
+
static onInterrupt() {
|
|
29
|
+
shutdownState.interruptCount++;
|
|
30
|
+
if (!shutdownState.longRunningMode || shutdownState.interruptCount >= 3) {
|
|
31
|
+
ShutdownServiceProvider.shutdown().then(() => {
|
|
32
|
+
process.exit(130);
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
shutdownState.shutdownRequested = true;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
static onTerminate() {
|
|
40
|
+
ShutdownServiceProvider.shutdown().then(() => {
|
|
41
|
+
process.exit(143);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
static async shutdown() {
|
|
45
|
+
if (ShutdownServiceProvider.#shutdownInProgress)
|
|
46
|
+
return;
|
|
47
|
+
ShutdownServiceProvider.#shutdownInProgress = true;
|
|
48
|
+
try {
|
|
49
|
+
process.removeListener("beforeExit", ShutdownServiceProvider.shutdown);
|
|
50
|
+
process.removeListener("SIGINT", ShutdownServiceProvider.onInterrupt);
|
|
51
|
+
process.removeListener("SIGTERM", ShutdownServiceProvider.onTerminate);
|
|
52
|
+
for await (const callback of DefaultShutdownService.callbacks) {
|
|
53
|
+
await callback();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
logger.error("shutdown error: %s", error.message);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { createEmphasize } from "emphasize";
|
|
2
|
+
import json from "highlight.js/lib/languages/json";
|
|
3
|
+
/**
|
|
4
|
+
* Default implementation of {@link SyntaxHighlighterService} which has a syntax definition
|
|
5
|
+
* for JSON already registered.
|
|
6
|
+
*/
|
|
7
|
+
export default class DefaultSyntaxHighlighterService {
|
|
8
|
+
colorEnabled = true;
|
|
9
|
+
colorFunction = (text) => text;
|
|
10
|
+
#emphasize;
|
|
11
|
+
constructor() {
|
|
12
|
+
this.#emphasize = createEmphasize();
|
|
13
|
+
this.registerSyntax("json", json);
|
|
14
|
+
}
|
|
15
|
+
getRegisteredSyntaxes() {
|
|
16
|
+
return this.#emphasize.listLanguages();
|
|
17
|
+
}
|
|
18
|
+
highlight(text, syntaxName, colorScheme) {
|
|
19
|
+
const name = syntaxName.toLowerCase();
|
|
20
|
+
if (!this.#emphasize.registered(name)) {
|
|
21
|
+
throw new Error(`Syntax name is not registered: ${name}`);
|
|
22
|
+
}
|
|
23
|
+
// skip highlighting if color disabled
|
|
24
|
+
if (!this.colorEnabled) {
|
|
25
|
+
return text;
|
|
26
|
+
}
|
|
27
|
+
let sheet;
|
|
28
|
+
// if a color scheme is provided, create a sheet of color functions
|
|
29
|
+
if (colorScheme && this.colorFunction) {
|
|
30
|
+
sheet = {};
|
|
31
|
+
for (const [key, value] of Object.entries(colorScheme)) {
|
|
32
|
+
if (!value) {
|
|
33
|
+
throw new Error(`Invalid color for entry: ${key}`);
|
|
34
|
+
}
|
|
35
|
+
if (value.length !== 7 || !value.toLowerCase().startsWith("#")) {
|
|
36
|
+
throw new Error(`Invalid color: ${value}`);
|
|
37
|
+
}
|
|
38
|
+
const colorValue = parseInt(value.slice(1), 16);
|
|
39
|
+
if (isNaN(colorValue) || colorValue < 0 || colorValue > 0xffffff) {
|
|
40
|
+
throw new Error(`Invalid color: ${value}`);
|
|
41
|
+
}
|
|
42
|
+
sheet[key] = (text) => this.colorFunction(text, value);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return this.#emphasize.highlight(name, text, sheet).value;
|
|
46
|
+
}
|
|
47
|
+
registerSyntax(syntaxName, syntaxDefinition) {
|
|
48
|
+
const name = syntaxName.toLowerCase();
|
|
49
|
+
if (this.#emphasize.registered(name)) {
|
|
50
|
+
throw new Error(`Syntax name already registered: ${name}`);
|
|
51
|
+
}
|
|
52
|
+
this.#emphasize.register(name, syntaxDefinition);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import DefaultSyntaxHighlighterService from "./DefaultSyntaxHighlighterService.js";
|
|
2
|
+
import { SYNTAX_HIGHLIGHTER_SERVICE_ID } from "../../api/service/core/SyntaxHighlighterService.js";
|
|
3
|
+
import { PRINTER_SERVICE_ID } from "../../api/service/core/PrinterService.js";
|
|
4
|
+
/**
|
|
5
|
+
* Provides a {@link SyntaxHighlighterService}.
|
|
6
|
+
*/
|
|
7
|
+
export default class SyntaxHighlighterServiceProvider {
|
|
8
|
+
servicePriority;
|
|
9
|
+
serviceId = SYNTAX_HIGHLIGHTER_SERVICE_ID;
|
|
10
|
+
#defaultSyntaxHighlighterService;
|
|
11
|
+
/**
|
|
12
|
+
* Create an instance of the service provider with the specified details.
|
|
13
|
+
*
|
|
14
|
+
* @param servicePriority the priority of the service.
|
|
15
|
+
*/
|
|
16
|
+
constructor(servicePriority) {
|
|
17
|
+
this.servicePriority = servicePriority;
|
|
18
|
+
this.#defaultSyntaxHighlighterService = new DefaultSyntaxHighlighterService();
|
|
19
|
+
}
|
|
20
|
+
getServiceInfo(_cliConfig) {
|
|
21
|
+
return Promise.resolve({
|
|
22
|
+
service: this.#defaultSyntaxHighlighterService,
|
|
23
|
+
commands: [],
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
initService(context) {
|
|
27
|
+
const printerService = context.getServiceById(PRINTER_SERVICE_ID);
|
|
28
|
+
this.#defaultSyntaxHighlighterService.colorEnabled = printerService.colorEnabled;
|
|
29
|
+
this.#defaultSyntaxHighlighterService.colorFunction = printerService.color.bind(printerService);
|
|
30
|
+
return Promise.resolve(undefined);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import type TableGeneratorService from "../../api/service/core/TableGeneratorService.ts";
|
|
2
|
-
import type
|
|
2
|
+
import type { TableOptions } from "../../api/service/core/TableGeneratorService.ts";
|
|
3
|
+
import Table from "../../api/service/core/Table.ts";
|
|
3
4
|
export default class DefaultTableGeneratorService implements TableGeneratorService {
|
|
4
5
|
#private;
|
|
5
6
|
colorEnabled: boolean;
|
|
6
7
|
colorFunction: (text: string, hexFormattedColor: string) => string;
|
|
7
8
|
backgroundColorFunction: (text: string, hexFormattedColor: string) => string;
|
|
9
|
+
createTable(rowCount: number, columnCount: number, options?: TableOptions): Table;
|
|
8
10
|
render(table: Table): string;
|
|
9
11
|
}
|
|
10
12
|
//# sourceMappingURL=DefaultTableGeneratorService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultTableGeneratorService.d.ts","sourceRoot":"","sources":["../../../../src/service/tableGenerator/DefaultTableGeneratorService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,qBAAqB,MAAM,iDAAiD,CAAC;AAEzF,OAAO,KAAK,KAAK,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"DefaultTableGeneratorService.d.ts","sourceRoot":"","sources":["../../../../src/service/tableGenerator/DefaultTableGeneratorService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,qBAAqB,MAAM,iDAAiD,CAAC;AAEzF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAC;AACpF,OAAO,KAAK,MAAM,iCAAiC,CAAC;AAkBpD,MAAM,CAAC,OAAO,OAAO,4BAA6B,YAAW,qBAAqB;;IAChF,YAAY,UAAQ;IACpB,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,KAAK,MAAM,CAAkB;IACpF,uBAAuB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,KAAK,MAAM,CAAkB;IAE9F,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,KAAK;IAqQjF,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;CA4G7B"}
|