From 2b2aace8723eecdd36be808fb48d320a0e21779b Mon Sep 17 00:00:00 2001 From: Boy132 Date: Tue, 2 Sep 2025 09:54:46 +0200 Subject: [PATCH] replace `EditorLanguages` with filaments `Language` --- app/Enums/EditorLanguages.php | 141 ------------------ .../Resources/Files/Pages/EditFiles.php | 32 +++- 2 files changed, 29 insertions(+), 144 deletions(-) delete mode 100644 app/Enums/EditorLanguages.php diff --git a/app/Enums/EditorLanguages.php b/app/Enums/EditorLanguages.php deleted file mode 100644 index 7480a412c..000000000 --- a/app/Enums/EditorLanguages.php +++ /dev/null @@ -1,141 +0,0 @@ - self::c, - - 'cc', 'hpp' => self::cpp, - - 'cs' => self::csharp, - - 'class' => self::java, - - 'htm' => self::html, - - 'js', 'mjs', 'cjs' => self::javascript, - - 'kt', 'kts' => self::kotlin, - - 'md' => self::markdown, - - 'm' => self::objectivec, - - 'pl', 'pm' => self::perl, - - 'php3', 'php4', 'php5', 'phtml' => self::php, - - 'py', 'pyc', 'pyo', 'pyi' => self::python, - - 'rdata', 'rds' => self::r, - - 'rb', 'erb' => self::ruby, - - 'sc' => self::scala, - - 'sh', 'zsh' => self::shell, - - 'ts', 'tsx' => self::typescript, - - 'yml' => self::yaml, - - default => self::tryFrom($match) ?? self::plaintext, - }; - } - - public function getLabel(): string - { - return $this->name; - } -} diff --git a/app/Filament/Server/Resources/Files/Pages/EditFiles.php b/app/Filament/Server/Resources/Files/Pages/EditFiles.php index 8231b2017..b463adda6 100644 --- a/app/Filament/Server/Resources/Files/Pages/EditFiles.php +++ b/app/Filament/Server/Resources/Files/Pages/EditFiles.php @@ -3,7 +3,6 @@ namespace App\Filament\Server\Resources\Files\Pages; use Throwable; -use App\Enums\EditorLanguages; use App\Exceptions\Http\Server\FileSizeTooLargeException; use App\Exceptions\Repository\FileNotEditableException; use App\Facades\Activity; @@ -17,6 +16,7 @@ use App\Traits\Filament\CanCustomizeHeaderWidgets; use Filament\Facades\Filament; use Filament\Actions\Action; use Filament\Forms\Components\CodeEditor; +use Filament\Forms\Components\CodeEditor\Enums\Language; use Filament\Forms\Components\Select; use Filament\Forms\Concerns\InteractsWithForms; use Filament\Notifications\Notification; @@ -124,9 +124,35 @@ class EditFiles extends Page ->label(trans('server/file.actions.new_file.syntax')) ->searchable() ->live() - ->options(EditorLanguages::class) + ->options(Language::class) ->selectablePlaceholder(false) - ->default(fn () => EditorLanguages::fromWithAlias(pathinfo($this->path, PATHINFO_EXTENSION))), + ->default(fn () => match (pathinfo($this->path, PATHINFO_EXTENSION)) { + 'cc', 'hpp' => Language::Cpp, + + 'css', 'scss' => Language::Css, + + 'go' => Language::Go, + + 'html' => Language::Html, + + 'class', 'kt', 'kts' => Language::Java, + + 'js', 'mjs', 'cjs', 'ts', 'tsx' => Language::JavaScript, + + 'json', 'json5' => Language::Json, + + 'md' => Language::Markdown, + + 'php3', 'php4', 'php5', 'phtml', 'php' => Language::Php, + + 'py', 'pyc', 'pyo', 'pyi' => Language::Python, + + 'xml' => Language::Xml, + + 'yml', 'yaml' => Language::Yaml, + + default => null, + }), CodeEditor::make('editor') ->hiddenLabel() ->default(function () {