Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

GitHub のシンタックスハイライト判定を上書きする

$
0
0

tl;dr

  • GitHub :octocat:は Emacs や Vim の modelines に沿ったシンタックスハイライトをしてくれます
  • .gitattributes でも設定できるはずですが、いまのところ有効ではないようです
    (2017-04-08 時点)

背景

「このファイルは実質 YAML なんだし、 GitHub 上でもそう表示してほしいなあ」なんてことありますよね。(たとえば salt-ssh の Saltfileですとか)

王道は linguistlanguages.ymlへ Pull Request を出すことかと思いますが、ほかになにか手っ取り早い方法がないかと探したところ、 READMEにこんな記載がありました。

Using gitattributes

Add a .gitattributes file to your project and use standard git-style path matchers for the files you want to override to set linguist-documentation, linguist-language, and linguist-vendored. .gitattributes will be used to determine language statistics and will be used to syntax highlight files. You can also manually set syntax highlighting using Vim or Emacs modelines.

検証

実際に検証してみました。

素の状態

  • シンタックスハイライトされません
  • HTML のクラスは type-textです

https://github.com/elim/test-gh-linguist-overriding/blob/1ae6834/Saltfile

plain.png

plain-type.png

.gitattributes

下記の内容を用意しました

.gitattributes
Saltfile linguist-language=YAML
  • シンタックスハイライトされません
  • HTML のクラスが type-yamlになります

https://github.com/elim/test-gh-linguist-overriding/blob/62cf59f/.gitattributes
https://github.com/elim/test-gh-linguist-overriding/blob/62cf59f/Saltfile

gitattributes-type.png

Emacs 形式の modeline

  • シンタックスハイライトされます
  • HTML のクラスが type-yamlになります

https://github.com/elim/test-gh-linguist-overriding/blob/2be0582/Saltfile

emacs-style-modelines.png

emacs-style-modelines-type.png

Vim 形式の modeline

https://github.com/elim/test-gh-linguist-overriding/blob/76a9ada/Saltfile

vim-style-modelines.png

vim-style-modelines-type.png


以上です。

まだマイナーな環境や自作言語、自作 DSL に適用すると便利かもですね :diamond_shape_with_a_dot_inside:


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>