Как включить подсветку синтаксиса Vim для нескольких языков в одном файле Svelte? - PullRequest
1 голос
/ 03 октября 2019

У меня есть компонент Svelte, который использует три разных языка в одном файле. Я бы хотел, чтобы Vim выделил каждый язык внутри (но не включая) соответствующих тегов.

Как мне настроить мой .vimrc, чтобы включить это?

Пример:

my-component.sv

<script lang='coffeescript'>
  // Highlight everything in here as CoffeeScript.

  import History from './History'
  import Leader from './Leader'
  import Spinner from './Spinner'

  getBalances = () ->
    response = await fetch('/api/balances')
    await response.json()
</script>

<template lang='pug'>
  // Highlight everything in here as Pug.

  main
    h1 Balance

    +await('getBalances')
      Spinner

      +then
        Leader
        History
</template>

<style lang='stylus'> 
  // Highlight everything in here as Stylus.

  main
    font-family 'Helvetica Neue'

  h1
    font-weight 200

    margin-bottom 10rem
    text-align center
</style>

1 Ответ

1 голос
/ 03 октября 2019

Аналог существующих плагинов для отдельных файловых компонентов, таких как posva / vim-vue , вам потребуется плагин, который заботится о контекстно-зависимой подсветке синтаксиса, например evanleck / vim-svelte или leafOfTree / vim-svelte-plugin . Я не могу засвидетельствовать качество последнего, и, возможно, есть лучшие альтернативы.

Vim нужны довольно специфические правила синтаксиса, но, поскольку большая часть работы выполняется в плагине Vue, его следует легко адаптировать для Svelte. , поскольку основной синтаксис SFC выглядит идентичным. Из того, что я понял, burner / vim-svelte должен делать то, что вам нужно.

Официальные документы 1014 * в настоящее время, скорее, не помогают с этим. Они ожидают, что у вас все будет в HTML.

...