LoginSignup
5
2

More than 5 years have passed since last update.

C/C++ で予約済み識別子をシンタックスハイライトする Vimプラグインつくった

Posted at

ブログ記事からの転載です。

他人の書いた C/C++ のコードを見ているとあまりにも予約済み識別子を無視してコードを書いているものが多いので、ついカッとなってつくった。

プラグイン

NeoBundle 'osyo-manga/vim-cpp-syntax-reserved_identifiers'

また、デフォルトでは WarningMsg のハイライトを使用します。

任意のハイライト色にしたい場合は、

" ErrorMsg を任意のグループに置き換える
highlight link cReservedIdentifiers ErrorMsg

みたいな設定で変更できます。

『グローバルスコープを持ち、_ で始まる名前』のハイライトを無効にする

予約済み識別子の条件の一つに

  • グローバルスコープを持ち、_ で始まる名前

というのがあるんですが Vim で『グローバルスコープ』という条件付けを行うのは無理なので単純に

  • _ で始まる名前

をハイライトするようにしています。

なので以下のようなコードもハイライトされます。

こういうコードをハイライトしてほしくない場合は、予め

let g:c_no_reserved_identifiers_start_underbar_lower_case=1

と、いうような設定をしておくことで

  • _ + 小文字で始まる名前

のハイライトを無効にできます。

何気に syntax 系のプラグインをつくったのは初めてなので問題や要望があれば Issues までお願いします。

[おまけ]

ちなみに当然ではありますが、予約済み識別子をガシガシ使ってる標準ライブラリのコードももちろんハイライトされます。

まぁこれはしょうがないか…。

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2