Logo   espend.de
Twig Component <twig:block> Tag Completion
TwigComponentBlockCompletion
2026-03-01

Completion Twig UX Component

Provides completion for <twig:block> tags inside Symfony UX Twig components. When editing a component usage at the root level, the plugin suggests block names defined in the component template and automatically inserts the full block tag structure.

Block tag completion:

<twig:Alert>
    <caret>  {# Suggests: <twig:block name="message">, <twig:block name="actions"> #}
</twig:Alert>
Twig Component Block Name Completion
TwigComponentBlockNameCompletion
2026-03-01

Completion Twig UX Component

Provides completion for block names inside the name="" attribute of <twig:block> tags. The plugin suggests block names defined in the component template.

Block name completion:

<twig:Alert>
    <twig:block name="<caret>">  {# Suggests: message, actions #}
    </twig:block>
</twig:Alert>
Twig {% types %} Tag Class Completion
TwigTypesTagCompletion
2026-03-01

Completion Twig Navigation

Provides class completion for the {% types %} Twig tag, which is used to declare variable types in templates. The completion suggests PHP class names including namespace support.

Supports the optional marker syntax (?:) for nullable types and array notation ([]) for collections. Navigate to class definitions via Ctrl+Click or Cmd+Click.

Basic type declaration:

{% types {
    user: '\App\Entity\User',
    product: '\App\Entity\Product'
} %}

Optional types and arrays:

{% types {
    user?: '\App\Entity\User|null',
    items: '\App\Entity\Item[]',
    orders?: '\App\Entity\Order[]'
} %}

Completion in action:

{% types { user: 'App\Ent' } %}
{# Completion suggests: Entity, Entity\User, Entity\Product #}
2026-02-28
MCP Twig UX PHP

Lists Symfony UX Twig components and their composition metadata. This MCP tool provides access to all Twig components with their templates, syntax variants, props, and blocks.

Supports partial component name search (case-insensitive).

component_name,template_relative_path,component_tag,twig_component_syntax,component_print_block_syntax,twig_tag_composition_syntax,props,template_blocks
Alert,templates/components/Alert.html.twig,,{{ component('Alert') }},{{ block('footer') }},{% component 'Alert' %}...{% endcomponent %},message;type,content;footer
Admin:Card,templates/components/Admin/Card.html.twig,,{{ component('Admin:Card') }},,{% component 'Admin:Card' %}...{% endcomponent %},title,body
Twig Template Usages MCP Tool
TwigTemplateUsageMcpToolset
2026-02-28
MCP Twig PHP

Lists usages of Twig templates across the project. This MCP tool finds all locations where a template is used, including controllers, includes, extends, embeds, and more.

Accepts a partial template name or a project-relative file path (e.g. "templates/home/index.html.twig" resolves to "home/index.html.twig").

template,controller,twig_include,twig_embed,twig_extends,twig_import,twig_use,twig_form_theme,twig_component
partials/nav.html.twig,App\Controller\BaseController::index,templates/layouts/base.html.twig,,,,,,,
layouts/base.html.twig,,,,,templates/pages/home.html.twig;templates/pages/about.html.twig,,,,
form/div_layout.html.twig,,,,,,,,templates/form/order.html.twig
2026-02-27
Inspection Twig UX

Reports when Twig block syntax {% block name %} is used inside HTML component syntax <twig:Component>. Inside component contexts, you should use the HTML-compatible <twig:block> tag instead.

Invalid - Twig block syntax inside HTML component:

<twig:Card>
    {% block footer %}
        Footer content
    {% endblock %}  <!-- ERROR: Cannot use Twig block syntax inside HTML component -->
</twig:Card>

Valid - Use twig:block HTML syntax:

<twig:Card>
    <twig:block name="footer">
        Footer content
    </twig:block>
</twig:Card>
2026-02-27
Inspection Twig Symfony-ux

Reports when {% from _self import ... %} is used inside a Symfony UX Twig Component. Inside a component context, _self does not refer to the current template, so macro imports via _self will silently fail at runtime.

Invalid - _self does not work inside components:

<twig:Alert>
    {% from _self import message_formatter %}  <!-- ERROR: _self doesn't work here -->

    {{ message_formatter(message) }}
</twig:Alert>

{% macro message_formatter(message) %}
    {{ message }}
{% endmacro %}

Valid - Use the full template path:

<twig:Alert>
    {% from 'components/alert.html.twig' import message_formatter %}

    {{ message_formatter(message) }}
</twig:Alert>
Component Usage Navigation
TwigLineMarkerProvider
2026-02-27

Linemarker Twig

Navigate from a UX component template to all its usages. Supports both {{ component('Name') }} function calls and <twig:Name> HTML syntax with lazy target resolution.

Twig @var Annotation Highlighting
TwigVarCommentAnnotator
2026-02-25

Other Twig Highlighting Annotation

Provides syntax highlighting for @var doc comment annotations in Twig templates. The annotator colors the @var keyword, variable names, and class names to improve readability of type annotations.

{# @var user \App\Entity\User #}
{# @var \App\Entity\Product product #}
{# @var items \App\Entity\Item[] #}

{# Multiple declarations:
   @var foo \App\Foo
   @var bar \App\Bar
#}
2026-01-17
MCP Service PHP Generator

Generates Symfony service definitions in YAML or XML format for a given PHP class. This MCP tool analyzes a class constructor to identify dependencies and creates service arguments for explicit wiring.

The tool supports both YAML (default) and XML output formats, with options to use the class name as service ID or generate a short ID.

YAML example:

App\Service\EmailService:
    arguments: ['@mailer', '@logger']

XML example:

<service id="App\Service\EmailService">
    <argument type="service" id="mailer"/>
</service>
Stimulus Controller Completion
StimulusControllerCompletionRegistrar
2026-01-17

Completion UX Html Twig

Auto-completes Stimulus controller names in HTML data-controller attributes and Twig stimulus_controller() function calls. The completion shows all registered Stimulus controllers from the project, including those from Symfony UX packages.

In HTML, normalized names are provided (e.g., symfony--ux-chartjs--chart). In Twig, both normalized names and original module names (e.g., @symfony/ux-chartjs/chart) are supported. Navigation from controller name to the source JavaScript file is also available.

HTML - data-controller attribute:

<div data-controller="symfony--ux-chartjs--chart">
    <canvas data-symfony--ux-chartjs--chart-target="canvas"></canvas>
</div>

Twig - stimulus_controller() function:

{{ stimulus_controller('symfony--ux-chartjs--chart', {
    'data': chartData
}) }}
Symfony Form Type Options MCP Tool
FormTypeOptionsMcpToolset
2026-01-14
MCP Form PHP

Lists all available options for a specific Symfony form type. This MCP tool provides detailed information about option names, their types (DEFAULT, REQUIRED, DEFINED), and the source classes that define them.

The tool accepts a form type name or FQN and returns CSV format with columns: name, type, source.

name,type,source
label,DEFAULT,Symfony\Component\Form\Extension\Core\Type\FormType
required,DEFAULT,Symfony\Component\Form\Extension\Core\Type\FormType
data,DEFAULT,Symfony\Component\Form\Extension\Core\Type\FormType
Symfony Profiler Requests MCP Tool
ProfilerRequestsMcpToolset
2026-01-14
MCP Profiler PHP

Lists the last 10 Symfony profiler requests with detailed information about HTTP requests, controllers, routes, templates, and form types used. This MCP tool provides optional filtering by URL, hash, controller, and route name.

The tool returns CSV format with columns: hash, method, url, statusCode, profilerUrl, controller, route, template, formTypes.

hash,method,url,statusCode,profilerUrl,controller,route,template,formTypes
18e6b8,GET,http://127.0.0.1:8000/user/1,200,_profiler/18e6b8,App\Controller\UserController::show,user_show,user/show.html.twig,
2026-01-11
MCP PHP

Lists all Symfony console commands available in the project. This MCP tool provides access to configured console commands with their class names and file paths.

The tool returns CSV format with columns: name, className, filePath.

name,className,filePath
cache:clear,\App\Command\CacheClearCommand,src/Command/CacheClearCommand.php
doctrine:fixtures:load,\Doctrine\Bundle\FixturesBundle\Command\LoadDataFixturesDoctrineCommand,vendor/doctrine/doctrine-fixtures-bundle/Command/LoadDataFixturesDoctrineCommand.php