起因
因为需要书写一些英文文档,有些英文单词太长,因此需要一个英文单词补全工具。 之前在 Linux 系统下面使用了 look 命令,和 noco-look 插件。但是换到 Windows 下之后,发现居然没有 look 这个命令。
恰巧,最近在学习 rust,于是就用 rust 简单写了一个字典补全的 Vim 插件:vim-async-dict
简单实现
因为现有的工具已经非常齐全了,因此并未从头实现,补全框架使用的是 deoplete, 只需要新建一个 dict source:
from os.path import expanduser, expandvars
import re
import subprocess
from .base import Base
class Source(Base):
def __init__(self, vim):
Base.__init__(self, vim)
self.name = 'dict'
self.mark = '[D]'
self.min_pattern_length = 3
命令行工具
有了 source 之后,需要在新建一个命令行工具,接受 2 个参数,查询词和字典文件路径:
impl Config {
#[allow(dead_code)]
fn new(args: &[String]) -> Result<Config, &'static str> {
if args.len() < 3 {
return Err("not enough arguments");
}
let query = args[1].clone();
let filename = args[2].clone();
Ok(Config { query, filename })
}
}