2016-09-20 2 views
0

Я много искал, но все говорят о распознавании языка на основе расширений. Я спрашиваю об этом, потому что мы используем определенное имя файла для некоторых целей, и содержимое этого файла написано на каком-то языке, однако этот файл не имеет расширения.Можно ли настроить распознавание языка Atom на основе имени файла, а не расширения?

ответ

0

Ответы Мэтта и Дмитрия поучительны, вот что я сделал: Сначала я прочитал документ Atom о customizing-language-recognition. Первоначально я думал, что это относится только к расширению файла, но на самом деле оно также относится к имени файла.

'*' 
    core: 
    customFileTypes: 
     'source.python': [ 
     'my file's name' 
     ] 

Выполнено.

0

Да, это вполне возможно.

В вашем языковом пакете у вас, скорее всего, будет grammars/language.cson. Внутри этого cson вы получите ключ fileTypes со значением массива.

Значения в этом массиве могут быть расширениями или именами файлов. Например, пример для ruby: https://github.com/atom/language-ruby/blob/master/grammars/ruby.cson#L3

Внутри этого массива мы видим расширения, такие как rb (рубиновый скрипт) и gemspec (ruby gemspec). Тем не менее, мы также видим полные имена файлов, такие как Gemfile (bundler), Puppetfile (r10k), Rakefile (rake) и Vagrantfile (бродяга).

Не смотря на исходный код, следует догадаться, что Atom выполняет совпадение с тем, что находится в этом массиве, по сравнению с окончанием имени файла, включая, но не обязательно, расширение.

0

Существует плагин file-types, чтобы отобразить тип файла на новый язык. Вы можете сделать это, основываясь не только на расширении файла, но и на основании имени файла. Посмотрите раздел «RegExp Matchers».

 Смежные вопросы

  • Нет связанных вопросов^_^