ft_hare.txt Hare プログラミング言語のサポート
==============================================================================
内容 hare hare.vim
1. 前書き ft-hare-intro
2. ファイルタイププラグイン ft-hare-plugin
3. Haredoc ファイルタイプ ft-haredoc-plugin
4. インデント設定 ft-hare-indent
5. コンパイラサポート compiler-hare
==============================================================================
前書き ft-hare-intro
このプラグインは、Hare プログラミング言語の構文のハイライト、インデント、およ
びその他のサポート機能を提供する。
ファイルタイププラグイン ft-hare-plugin
このプラグインには、動作を調整するために vimrc 内で定義できるいくつかの異な
る変数がある。
hare-folding
このプラグインは { } ブロックの折り畳みをサポートしている。折り畳みを有効に
するには、after-directory 内のファイルに以下のコードを追加する (例えば、
~/.vim/after/ftplugin/hare.vim):
構文ベースの折り畳みでは小さな折り畳みが多数作成される傾向があるため、
'foldminlines' または 'foldnestmax' などの関連するオプションをいくつか設定する
ことを検討すること。
hare-symbol-operators
ほとんどの記号演算子は、デフォルトではハイライトされない ("?"、"!"、および
"::" を除く)。すべての演算子をハイライトしたい場合は、vimrc 内で、それらを希
望するハイライトグループにリンクすることができる。例:
g:hare_recommended_style
Hare の公式スタイルガイドに従って、次のオプションがデフォルトで設定されている:
この動作を無効にするには、vimrc に次の行を追加する:
g:hare_space_error
デフォルトでは、末尾の空白文字と <Tab> 文字に続くスペースはエラーとしてハイラ
イトされる。挿入モードでは自動的に無効になる。このハイライトを完全に無効にする
には、 vimrc に以下の行を追加する:
Haredoc ファイルタイプ ft-haredoc-plugin
このプラグインは、ディレクトリの再帰検索を使用して、Hare モジュール内の README
ファイルを自動検出し、"haredoc" ファイルタイプを付与する。これは非常に一般的な
ファイル名であるため、このプラグインはデフォルトで同じディレクトリ内の Hare
ソースファイルのみを検索する。
g:filetype_haredoc
g:filetype_haredoc 変数を使用すると、この検索の深さを微調整したり、Hare ド
キュメントファイルの検出を完全にバイパスしたりできる:
値 効果
0 検索無効
1 カレントディレクトリのみを検索 (これがデフォルト)
2 サブディレクトリの 1 階層を検索
3 サブディレクトリの 2 階層を検索
検索の深さは任意の正の整数にすることができるが、2 より大きい値では目に見える利
点が得られず、パフォーマンスに影響を及ぼす可能性がある。
インデント設定 ft-hare-indent
他の設定とは異なり、インデント設定はバッファごとに設定でき、既存のグローバル設
定を上書きできる。これを行うには、変数の先頭に g: ではなく b: を付けるだけ
である。
g:hare_indent_match_switch b:hare_indent_match_switch
デフォルトでは、"match" および "switch" 条件の継続行は 1 レベルだけインデント
される: >hare
const file = match (os::create(path, 0o644,
flag::WRONLY | flag::TRUNC)) {
case let file: io::file =>
yield file;
// ...
2 レベルインデントして、"if" 条件や "for" 条件に近づけたい場合は、次の行を
vimrc に追加する:
g:hare_indent_case b:hare_indent_case
デフォルトでは、"match" および "switch" case の継続行は、case 本体と視覚的に区
別するために 2 レベルインデントされる: >hare
case ltok::I8, ltok::I16, ltok::I32,
ltok::I64, ltok::INT =>
// ...
インデントのレベルを変更したい場合は、g:hare_indent_case を使って調整できる。
指定できる値は 0、1、2 である。
コンパイラサポート compiler-hare
カレントディレクトリに Makefile が検出された場合、このプラグインはビルドシステ
ムに make を使用していると想定し、'makeprg' をそのまま残す。それ以外の場合
は、hare build が使用される。
g:hare_makeprg_params
"hare build" を使用する場合、g:hare_makeprg_params を使って 'makeprg' に追加
のコンパイラオプションを指定できる。デフォルトは "-q" で、ビルド時に標準出力へ
の出力を抑制する。
==============================================================================
vim:tw=78:ts=8:noet:ft=help:norl:
==============================================================================
内容 hare hare.vim
1. 前書き ft-hare-intro
2. ファイルタイププラグイン ft-hare-plugin
3. Haredoc ファイルタイプ ft-haredoc-plugin
4. インデント設定 ft-hare-indent
5. コンパイラサポート compiler-hare
==============================================================================
前書き ft-hare-intro
このプラグインは、Hare プログラミング言語の構文のハイライト、インデント、およ
びその他のサポート機能を提供する。
ファイルタイププラグイン ft-hare-plugin
このプラグインには、動作を調整するために vimrc 内で定義できるいくつかの異な
る変数がある。
hare-folding
このプラグインは { } ブロックの折り畳みをサポートしている。折り畳みを有効に
するには、after-directory 内のファイルに以下のコードを追加する (例えば、
~/.vim/after/ftplugin/hare.vim):
setlocal foldmethod=syntax
構文ベースの折り畳みでは小さな折り畳みが多数作成される傾向があるため、
'foldminlines' または 'foldnestmax' などの関連するオプションをいくつか設定する
ことを検討すること。
hare-symbol-operators
ほとんどの記号演算子は、デフォルトではハイライトされない ("?"、"!"、および
"::" を除く)。すべての演算子をハイライトしたい場合は、vimrc 内で、それらを希
望するハイライトグループにリンクすることができる。例:
hi def link hareCast hareSymbolOperator
hi def link hareSymbolOperator hareOperator
hi def link hareSymbolOperator hareOperator
g:hare_recommended_style
Hare の公式スタイルガイドに従って、次のオプションがデフォルトで設定されている:
setlocal noexpandtab
setlocal shiftwidth=8
setlocal softtabstop=0
setlocal tabstop=8
setlocal textwidth=80
setlocal shiftwidth=8
setlocal softtabstop=0
setlocal tabstop=8
setlocal textwidth=80
この動作を無効にするには、vimrc に次の行を追加する:
let g:hare_recommended_style = 0
g:hare_space_error
デフォルトでは、末尾の空白文字と <Tab> 文字に続くスペースはエラーとしてハイラ
イトされる。挿入モードでは自動的に無効になる。このハイライトを完全に無効にする
には、 vimrc に以下の行を追加する:
let g:hare_space_error = 0
Haredoc ファイルタイプ ft-haredoc-plugin
このプラグインは、ディレクトリの再帰検索を使用して、Hare モジュール内の README
ファイルを自動検出し、"haredoc" ファイルタイプを付与する。これは非常に一般的な
ファイル名であるため、このプラグインはデフォルトで同じディレクトリ内の Hare
ソースファイルのみを検索する。
g:filetype_haredoc
g:filetype_haredoc 変数を使用すると、この検索の深さを微調整したり、Hare ド
キュメントファイルの検出を完全にバイパスしたりできる:
値 効果
0 検索無効
1 カレントディレクトリのみを検索 (これがデフォルト)
2 サブディレクトリの 1 階層を検索
3 サブディレクトリの 2 階層を検索
検索の深さは任意の正の整数にすることができるが、2 より大きい値では目に見える利
点が得られず、パフォーマンスに影響を及ぼす可能性がある。
インデント設定 ft-hare-indent
他の設定とは異なり、インデント設定はバッファごとに設定でき、既存のグローバル設
定を上書きできる。これを行うには、変数の先頭に g: ではなく b: を付けるだけ
である。
g:hare_indent_match_switch b:hare_indent_match_switch
デフォルトでは、"match" および "switch" 条件の継続行は 1 レベルだけインデント
される: >hare
const file = match (os::create(path, 0o644,
flag::WRONLY | flag::TRUNC)) {
case let file: io::file =>
yield file;
// ...
2 レベルインデントして、"if" 条件や "for" 条件に近づけたい場合は、次の行を
vimrc に追加する:
let g:hare_indent_match_switch = 2
g:hare_indent_case b:hare_indent_case
デフォルトでは、"match" および "switch" case の継続行は、case 本体と視覚的に区
別するために 2 レベルインデントされる: >hare
case ltok::I8, ltok::I16, ltok::I32,
ltok::I64, ltok::INT =>
// ...
インデントのレベルを変更したい場合は、g:hare_indent_case を使って調整できる。
指定できる値は 0、1、2 である。
コンパイラサポート compiler-hare
カレントディレクトリに Makefile が検出された場合、このプラグインはビルドシステ
ムに make を使用していると想定し、'makeprg' をそのまま残す。それ以外の場合
は、hare build が使用される。
g:hare_makeprg_params
"hare build" を使用する場合、g:hare_makeprg_params を使って 'makeprg' に追加
のコンパイラオプションを指定できる。デフォルトは "-q" で、ビルド時に標準出力へ
の出力を抑制する。
==============================================================================
vim:tw=78:ts=8:noet:ft=help:norl: