ft_hare

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) 里加入: setlocal foldmethod=syntax 因为基于语法的折叠往往会创建许多小折叠,建议根据需要调整 'foldminlines''foldnestmax' 等若干选项。 hare-symbol-operators 缺省不高亮绝大多数的符号操作符 ("!"、"?" 和 "::" 是仅有的例外)。要打开所有操作 符的高亮,可在 vimrc 里将它们链接到用户偏好的高亮组 (译者注: hareCast 为类型 转换 ":",hareSymbolOperator 为符号操作符,hareOperator 为 "as" 和 "is",缺省 只高亮 hareOpreator)。例如: hi def link hareCast hareSymbolOperator hi def link hareSymbolOperator hareOperator g:hare_recommended_style 根据官方 Hare 风格指导,缺省设置以下选项: setlocal noexpandtab 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` 变量控制搜索深度,甚至可以完全关闭自动检测: 值 效果 0 不自动检测 1 仅搜索当前目录 (这是缺省) 2 搜索一层子目录 最大搜索深度可为任意整数,但在绝大多数情况下,超过 2 的值并无明显收益,且会影 响性能。 缩 进 设 置 ft-hare-indent 和其它设置不同,缩进设置可按缓冲区单独设置,此时会覆盖全局设置 (如有)。为此可 用 b: 变量前缀,而不是 g: g:hare_indent_match_switch b:hare_indent_match_switch 缺省,"match" 和 "switch" 条件的续行只缩进一层: >hare const file = match (os::create(path, 0o644, flag::WRONLY | flag::TRUNC)) { case let file: io::file => yield file; // ... 如果要缩进两层,使其在视觉上更接近 "if" 和 "for" 条件,可在 vimrc 里加入: let g:hare_indent_match_switch = 2 g:hare_indent_case b:hare_indent_case 缺省,"match" 和 "switch" 分支 (case) 子句的续行缩进两层,以和 case 本体在视觉 上有所区分: >hare case ltok::I8, ltok::I16, ltok::I32, ltok::I64, ltok::INT => // ... 可通过 g:hare_indent_case 调整缩进级别。合法值为 012 。 编 译 器 支 持 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: