Ошибка обратной косой черты, тип содержимого веб-режима

Я получаю эту ошибку при попытке установить тип контента в веб-режиме: File mode specification error: (invalid-regexp Trailing backslash)

Мне было трудно это отладить. Я новичок в emacs, поэтому мне нужна помощь в настройке веб-режима. Я слежу за документацией на web-mode.org, но расшифровать ее было сложно. Спасибо.

(use-package
 web-mode
 :defer 2
 :ensure t
 :mode ("\\.html?\\"
        "\\.hbs$\\"
        "\\.vue$\\"
        "\\.css?\\"
        "components/.*\\.js[x]?\\'"
        "containers/.*\\.js[x]?\\'")
 :config (progn
           (setq web-mode-enable-auto-closing t
                 web-mode-enable-auto-opening t
                 web-mode-enable-auto-pairing t
                 web-mode-enable-auto-indentation t
                 web-mode-enable-auto-quoting t
                 ;; right now paired with AutoComplete
                 web-mode-ac-sources-alist
                 '(("css" . (ac-source-css-property))
                   ("vue" . (ac-source-words-in-buffer ac-source-abbrev))
                   ("html" . (ac-source-words-in-buffer ac-source-abbrev)))
                 web-mode-content-types-alist
                 '(("jsx" . "components/.*\\.js[x]?\\'")
                   ("jsx" . "containers/.*\\.js[x]?\\'")))))

;; usually I set them in containers/ or components/ directorie
;; and to keep seperate from plain JS

;; adjust indents for web-mode to 2 spaces
(defun my-web-mode-hook ()
  "Hooks for Web mode. Adjust indents"
  ;;; http://web-mode.org/
  (setq web-mode-markup-indent-offset 2)
  (setq web-mode-css-indent-offset 2)
  (setq web-mode-code-indent-offset 2))

(add-hook 'web-mode-hook  'my-web-mode-hook)

Что значит «при попытке установить тип контента в веб-режиме»? Каков процесс воспроизведения ошибки?

phils 18.09.2018 10:24
Библиотека для работы с мороженым
Библиотека для работы с мороженым
Лично я попрощался с операторами print() в python. Без шуток.
0
1
254
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Убедитесь, что в списке регулярных выражений после :mode все они заканчиваются на \\'. В настоящее время у двух из них есть, но четыре из них потеряли последний символ '.

 :mode ("\\.html?\\'"
        "\\.hbs$\\'"
        "\\.vue$\\'"
        "\\.css?\\'"
        "components/.*\\.js[x]?\\'"
        "containers/.*\\.js[x]?\\'")

\' - это специальная конструкция регулярного выражения, которая «соответствует пустой строке, но только в конце буфера или строки, с которой сопоставляется».

Благодарность !!! это сработало. Кстати, когда я писал пост, было уже очень поздно. Я хотел сказать, что пытался установить веб-режим в соответствии с типами контента. например, если вы работаете с React. Эта установка работает хорошо, учитывая, что у вас также установлен AutoComplete.

user7988458 18.09.2018 17:04

Другие вопросы по теме