Какой файл изменить грамматику атома C ++? - PullRequest
0 голосов
/ 15 октября 2018

Я хочу, чтобы атом выделил шаблоны / типы, такие как вектор, карта, vec2 и т. Д., Поэтому я хочу где-нибудь добавить их как токены.

Могу ли я просто добавить собственную грамматику вместо стандартной?

Я нашел это https://flight -manual.atom.io / hacking-atom / section / creation-a-грамматика / , но это не объясняет, какой файл я должен изменить.

Ответы [ 2 ]

0 голосов
/ 17 октября 2018

Ответ на этот вопрос не прост.

Сначала необходимо создать пакет клонов с помощью apm, изменить его, активировать или использовать в режиме разработки.Это c ++. Cson и tree-sitter-cpp.cson.Эти файлы похожи по сравнению с textmate и возвышенным текстом.

Я спросил на их слабом канале, есть несколько шагов.Я не думаю, что это что-то, что нужно планировать, потому что atom предварительно «скомпилировал» эти пакеты в большой блог, посвященный v8 js, поэтому вы не можете напрямую изменять файлы по умолчанию, вы должны указать atom для использования собственного пакета.Проблема в том, что этот пакет, когда он создан, имеет каталог node_modules с 400+ файлами в нем.

Мне удалось это сделать, но он был неуклюжим, поэтому я полностью отказался от использования atom и продолжил использовать возвышенный текст.

0 голосов
/ 15 октября 2018

Я не очень разбираюсь в C ++, но если эти типы являются частью спецификации и отсутствуют в официальном пакете , рассматривали ли вы предложение добавить их?

Еслиэто и использование сторонних пакетов не вариант, вы, вероятно, захотите расширить существующий пакет.Для этого вы можете включить грамматику из пакета C ++ в свою пользовательскую грамматику и добавить (или перезаписать) ее шаблоны.

'scopeName': 'source.cpp.custom'
'fileTypes': [
  'cc'
  'cpp'
  'cp'
  'cxx'
  'c++'
  'cu'
  'cuh'
  'h'
  'hh'
  'hpp'
  'hxx'
  'h++'
  'inl'
  'ino'
  'ipp'
  'tcc'
  'tpp'
]
name: "My Custom CPP"
patterns: [
  {
    # include all patterns from the bundled C++ grammar
    include: "source.cpp"
  }
  # add you custom patterns here to extend the bundled grammar
]

Если вы предпочитаете расширять не связанный пакет C ++, примитевзгляните на atom-package-deps , который позволяет вам зависеть от сторонних пакетов.

...