Файл синтаксиса Vim будет более строгим в отношении синтаксиса HTML - PullRequest
1 голос
/ 03 мая 2011

Я только что получил ошибку от

 <link rel=stylesheet" type="text/css" href="stylesheet.css" media="all">

вместо

 <link rel="stylesheet" type="text/css" href="stylesheet.css" media="all">

Кажется, что подсветка синтаксиса vim для html не делает различий между ними. Есть ли более строгий файл синтаксиса, который я могу получить откуда-то?

(и для ненавистников: vim вопросы принадлежат стеку, а не суперпользователю )

1 Ответ

0 голосов
/ 03 мая 2011

В качестве меры ограничения я положил копию $VIMRUNTIME/syntax/html.vim в ~/.vim/syntax/html.vim и изменил ее:

38c38
< syn match   htmlValue    contained "=[\t ]*[^'" \t>][^ \t>]*"hs=s+1   contains=javaScriptExpression,@htmlPreproc
---
> syn match   htmlValue    contained /=[\t ]*\%('\%(\\.\|[^\\']\)*'\|"\%(\\.\|[^\\"]\)*\|[^'" \t>]*\)/hs=s+1   contains=htmlString,javaScriptExpression,@htmlPreproc
40c40
< syn region  htmlTag                start=+<[^/]+   end=+>+ contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent,htmlCssDefinition,@htmlPreproc,@htmlArgCluster
---
> syn region  htmlTag                start=+<[^/]+   end=+>+ contains=htmlTagN,htmlArg,htmlValue,htmlTagError,htmlEvent,htmlCssDefinition,@htmlPreproc,@htmlArgCluster
43a44
> syn match   htmlTagError contained /['"].*/
168c169
<   syn region  htmlScriptTag     contained start=+<script+ end=+>+       contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent
---
>   syn region  htmlScriptTag     contained start=+<script+ end=+>+       contains=htmlTagN,htmlArg,htmlValue,htmlTagError,htmlEvent

Это просто ловит эту конкретную ошибку (несоответствующие кавычки), поэтому я все еще очень заинтересован в улучшении файла синтаксиса для строгого HTML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...