- How do I add a syntax-highlighted code editor to my Filament v5 forms?
- Install via Composer (`composer require jeffersongoncalves/filament-ace-editor-field:^2.0`), publish the config, then use `AceEditorInput::make('field_name')->mode('php')->theme('monokai')` in your form definition. Supports 150+ languages out of the box.
- Does this package work with Filament v4?
- The latest version (2.x) requires Filament v5.3+. For Filament v4, use the 1.x branch, which supports v4.8+. Check the [GitHub releases](https://github.com/jeffersongoncalves/filament-ace-editor-field/releases) for version-specific tags.
- Can I customize the editor’s height, theme, or placeholder text?
- Yes. Use methods like `->height(300)`, `->theme('github')`, or `->placeholder('Enter your JSON here')` in your form field definition. Themes include monokai, solarized_light, and more.
- Will this work with Laravel 13+ and PHP 8.2+?
- Confirmed. The package explicitly requires PHP 8.2+ and is tested with Laravel 13.x. No breaking changes are expected for minor Laravel updates, but always check the [changelog](https://github.com/jeffersongoncalves/filament-ace-editor-field/blob/2.x/CHANGELOG.md) for major version upgrades.
- How do I validate user-submitted code (e.g., HTML/JS) to prevent XSS?
- This package doesn’t sanitize input by default. Use Laravel’s built-in validation (e.g., `->rules(['json', 'active_url'])`) or server-side sanitization like HTML Purifier for HTML content. Always escape output when rendering user-generated code.
- Is there a way to lazy-load the Ace Editor to improve performance?
- The package doesn’t natively support lazy-loading, but you can conditionally render the field or use Filament’s `->hidden()` method to load it dynamically. Test with tools like Lighthouse to measure impact, especially in mobile admin panels.
- What are the alternatives if Ace Editor lacks modern features like IntelliSense?
- Consider `filament-monaco-editor` (Monaco Editor, used in VS Code) or `filament-codemirror` (CodeMirror) for advanced features like autocomplete, Git integration, or real-time collaboration. Ace Editor is lightweight but outdated.
- How do I restrict the editor to specific languages (e.g., only JSON or PHP)?
- Use the `->mode('json')` or `->mode('php')` method in your field definition. The package supports 150+ modes, including HTML, CSS, YAML, and SQL. Combine with validation rules (e.g., `->rules(['json'])`) for server-side enforcement.
- Can I use this in non-Filament Laravel apps (e.g., Livewire or Inertia)?
- No. This package is tightly coupled to Filament’s form-component architecture. For Livewire/Inertia, use standalone Ace Editor via CDN or a Laravel wrapper like `laravel-ace-editor`.
- What’s the long-term maintenance plan for Ace Editor support?
- Ace Editor is no longer actively maintained (last update: 2026). Monitor Filament’s roadmap for native editor support or plan to migrate to Monaco Editor (via `filament-monaco-editor`) if Ace becomes unsupported. The package author hasn’t announced deprecation plans yet.