Ace Editor implementation for Filament Form.
You can install the package via composer:
composer require riodwanto/filament-ace-editor
use Riodwanto\FilamentAceEditor\AceEditor;
public function form(Form $form): Form
{
return $form
->schema([
...
AceEditor::make('code-editor')
->mode('php')
->theme('github')
->darkTheme('dracula'),
])
}
Method | Info |
---|---|
mode | change editor programming language |
theme | default theme in light mode |
darkTheme | default theme in dark mode |
height | set editor height |
disableDarkTheme | disable darkTheme , theme will be used as default |
editorConfig | editor config will be initialize after ace loaded. (it is config that used in ace.config ) |
editorOptions | editor options used in ace.editor.options , you can set additional ace option here. |
addExtensions | by default, not all options available in editorOptions . you must enable extension first with this method. |
All default value can be see here
You can publish the views using:
php artisan vendor:publish --tag="filament-ace-editor-views"
You can publish the config file with:
php artisan vendor:publish --tag="filament-ace-editor-config"
This is the contents of the published config file:
return [
...
// Initilization ace config
'editor_config' => [
'useWorker' => false
],
// Editor options
'editor_options' => [
'mode' => 'ace/mode/php',
'theme' => 'ace/theme/eclipse',
'enableBasicAutocompletion' => true,
'enableLiveAutocompletion' => true,
'liveAutocompletionDelay' => 0,
'liveAutocompletionThreshold' => 0,
'enableSnippets' => true,
'enableInlineAutocompletion' => true,
'showPrintMargin' => false,
'wrap' => 'free'
],
'dark_mode' => [
'enable' => true,
'theme' => 'ace/theme/dracula',
],
'enabled_extensions' => [
'beautify',
'language_tools',
'inline_autocomplete',
],
...
];
Supported Ace Features
Feature | |
---|---|
Themes | ✅ |
Automatic indent and outdent | ✅ |
Handles huge documents | ✅ |
Search and replace | ✅ |
Line wrapping | ✅ |
An optional command line | ❌ |
Multiple cursors and selections | ✅ |
Key bindings | ❌ |
The MIT License (MIT). Please see License File for more information.