mirror of
https://github.com/vim/vim
synced 2025-07-16 09:12:00 +00:00
patch 9.1.0551: filetype: htmlangular files are not properly detected
Problem: filetype: htmlangular files are not properly detected Solution: Use the new htmlangular filetype for angular files, because since angular v17, those are no longer valid HTML files. (Dennis van den Berg) Since Angular 17, the new Control Flow Syntax is not valid HTML. This PR adds a new filetype detection for the HTML templates of Angular. It first checks the filename. The Angular convention is to use *.component.html for the template. However, this is not mandatory. If the filename does not match, it will check the contents of the file if it contains: - One of the Control-Flow blocks: @if, @for, @switch, @defer - A structural directive: *ngIf, *ngFor, *ngSwitch, *ngTemplateOutlet - Builtin Angular elements: ng-template or ng-content - String interpolation: {{ something }} This enables the Angular LSP to attach only to htmlangular filetypes, as well as language parsers, such as tree-sitter. closes: #15190 Signed-off-by: Dennis van den Berg <dennis.vandenberg@nedap.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
4a7a4a3675
commit
1ad194c0df
12
runtime/ftplugin/htmlangular.vim
Normal file
12
runtime/ftplugin/htmlangular.vim
Normal file
@ -0,0 +1,12 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Angular HTML Template
|
||||
" Maintainer: Dennis van den Berg <dennis@vdberg.dev>
|
||||
" Last Change: 2024 Jul 8
|
||||
|
||||
" Only use this filetype plugin when no other was loaded.
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Use HTML and Angular template ftplugins
|
||||
runtime! ftplugin/html.vim
|
Reference in New Issue
Block a user