Je veux que mes fichiers .ejs aient une syntaxe html, cependant, ils ouvrent toujours les fichiers en texte brut.
En sublime vous pouvez choisir "Tout ouvrir avec l'extension courante comme ..." puis choisissez votre syntaxe.
Je vois que vous pouvez changer la syntaxe dans le coin inférieur gauche
Comment ouvrir des fichiers d'un certain type avec une syntaxe spécifique?
Si votre langue n'est vraiment que du HTML, vous pouvez configurer un package simple pour gérer cela.
Créez un package appelé langugage-ejs
et en grammars/ejs.cson
vous pouvez inclure HTML comme ayant les modèles qui vous intéressent:
'fileTypes': [
'ejs'
]
'name': 'Embedded JavaScript'
'patterns': [
{
'include': 'source.html'
}
]
'scopeName': 'source.ejs'
language-ipynb le fait certainement en étendant JSON.
En réalité cependant, vous avez des balises de modèle au-dessus de HTML que vous voudriez faire reconnaître à l'éditeur. Le meilleur exemple que je puisse trouver est pour erb (Embedded Ruby templates) . Il provient de HTML mais ajoute également d'autres balises comme indiqué dans cet extrait:
...
'patterns': [
{
'begin': '<%+#'
'captures':
'0':
'name': 'punctuation.definition.comment.erb'
'end': '%>'
'name': 'comment.block.erb'
}
{
'begin': '<%+(?!>)[-=]?'
'captures':
'0':
'name': 'punctuation.section.embedded.Ruby'
'end': '-?%>'
'name': 'source.Ruby.Rails.embedded.html'
'patterns': [
{
'captures':
'1':
'name': 'punctuation.definition.comment.Ruby'
'match': '(#).*?(?=-?%>)'
'name': 'comment.line.number-sign.Ruby'
}
{
'include': 'source.Ruby.Rails'
}
]
}
{
'include': 'text.html.basic'
}
]
...
C'est maintenant dans Atom core , vous n'avez plus besoin de ce package de types de fichiers.
Là où je travaille, nous utilisons .phl pour un certain type de fichier PHP. Pour en informer Atom à ce sujet, éditez config.cson
ainsi:
core:
customFileTypes:
"text.html.php": [
"phl"
]
themes: [
// snip
Vous pouvez trouver ce fichier sur ~/.atom/config.cson
, ou dans la fenêtre Paramètres, cliquez sur le bouton "Ouvrir le dossier de configuration".
Il est facile de se tromper, comme en témoignent les nombreuses erreurs que les gens ont faites sur le problème GitHub pour la fonctionnalité.
Pour les fichiers individuels, vous pouvez utiliser le sélecteur de grammaire; Ctrl+Shift+L pour définir la langue que vous utilisez sur ce fichier. Ce n'est pas la même chose que la détection automatique, mais utile lorsque vous utilisez un fichier pour lequel vous ne souhaitez pas définir de valeur par défaut.
Edit: depuis le moment où j'ai écrit cette réponse, cette fonctionnalité a été ajoutée à Atom core, voir cette réponse pour plus de détails.
( https://atom.io/packages/file-types )
Il fait exactement ce que demande la question du titre: vous pouvez définir de nouvelles extensions de fichier pour les langues existantes avec une simple modification du config.cson
fichier.
Il semble qu'il y ait un tout nouveau package pour cela. https://atom.io/packages/language-ejs .
Par exemple, si vous souhaitez ouvrir tous les .jsx
fichiers avec syntaxe javascript, vous devez l'ajouter à votre config.cson
"*":
core:
customFileTypes:
"source.js": [
"jsx"
]
Cela mappe tous les fichiers .jsx à ouvrir avec la syntaxe js.
Comme Dave Andersen le mentionne dans un commentaire enterré, il est maintenant possible de le faire sans paquets supplémentaires et c'est documenté ici .