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 内で定義できるいくつかの異
なる変数がある。
さらに、{ } ブロックの折り畳みもサポートされている。折り畳みを有効にするに
は、after-directory 内のファイル (例えば、~/.vim/after/ftplugin/hare.vim) に
以下のコードを追加する:
ブロックベースの折り畳みでは小さな折り畳みが多数作成される傾向があるため、
'foldminlines' や 'foldnestmax' などの関連するオプションをいくつか設定すること
を検討すること。
g:hare_recommended_style
Hare の公式スタイルガイドに従って、次のオプションがデフォルトで設定されている:
この動作を無効にするには、vimrc に次の行を追加する:
g:hare_symbol_operators
デフォルトでは、記号演算子は特別な構文ハイライト表示を受けない (!、?、::
のみ例外)。他のほとんどの演算子の構文ハイライトを有効にするには、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
デフォルトでは、"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
デフォルトでは、"match" 式と "switch" 式の場合の継続行は 2 レベルインデントさ
れ、case 本体と視覚的に区別される: >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' に
追加のコンパイラオプションを指定できる。また、バッファごとに設定することも可能
である (g: の代わりに b: を使用)。その場合、既存のグローバル設定は上書きさ
れる。例:
グローバルのデフォルトは "-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 内で定義できるいくつかの異
なる変数がある。
さらに、{ } ブロックの折り畳みもサポートされている。折り畳みを有効にするに
は、after-directory 内のファイル (例えば、~/.vim/after/ftplugin/hare.vim) に
以下のコードを追加する:
setlocal foldmethod=syntax
ブロックベースの折り畳みでは小さな折り畳みが多数作成される傾向があるため、
'foldminlines' や 'foldnestmax' などの関連するオプションをいくつか設定すること
を検討すること。
g:hare_recommended_style
Hare の公式スタイルガイドに従って、次のオプションがデフォルトで設定されている:
setlocal noexpandtab
setlocal shiftwidth=0
setlocal softtabstop=0
setlocal tabstop=8
setlocal textwidth=80
setlocal shiftwidth=0
setlocal softtabstop=0
setlocal tabstop=8
setlocal textwidth=80
この動作を無効にするには、vimrc に次の行を追加する:
let g:hare_recommended_style = 0
g:hare_symbol_operators
デフォルトでは、記号演算子は特別な構文ハイライト表示を受けない (!、?、::
のみ例外)。他のほとんどの演算子の構文ハイライトを有効にするには、vimrc に以
下の行を追加する:
let g:hare_symbol_operators = 1
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
デフォルトでは、"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
デフォルトでは、"match" 式と "switch" 式の場合の継続行は 2 レベルインデントさ
れ、case 本体と視覚的に区別される: >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' に
追加のコンパイラオプションを指定できる。また、バッファごとに設定することも可能
である (g: の代わりに b: を使用)。その場合、既存のグローバル設定は上書きさ
れる。例:
let b:hare_makeprg_params = '-lc -t o'
グローバルのデフォルトは "-q" で、ビルド中に標準出力への書き込みを抑制する。
==============================================================================
vim:tw=78:ts=8:noet:ft=help:norl: