]> BookStack Code Mirror - bookstack/blobdiff - app/Console/Kernel.php
Support custom commands via logical theme system
[bookstack] / app / Console / Kernel.php
index 11c8018c8d6fca1cec1191c011938d20c2478fe1..02c8c00e61135c6c33c86831944350b6f2eeb36c 100644 (file)
@@ -2,8 +2,11 @@
 
 namespace BookStack\Console;
 
+use BookStack\Facades\Theme;
+use BookStack\Theming\ThemeService;
 use Illuminate\Console\Scheduling\Schedule;
 use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
+use Symfony\Component\Console\Command\Command;
 
 class Kernel extends ConsoleKernel
 {
@@ -35,6 +38,13 @@ class Kernel extends ConsoleKernel
      */
     protected function commands()
     {
+        // Default framework command loading from 'Commands' directory
         $this->load(__DIR__ . '/Commands');
+
+        // Load any user commands that have been registered via the theme system.
+        $themeService = $this->app->make(ThemeService::class);
+        foreach ($themeService->getRegisteredCommands() as $command) {
+            $this->registerCommand($command);
+        }
     }
 }