17 个版本

使用旧的 Rust 2015

0.6.1 2019 年 4 月 12 日
0.6.0 2019 年 1 月 27 日
0.5.4 2018 年 8 月 10 日
0.5.3 2018 年 6 月 13 日
0.1.0 2016 年 3 月 15 日

#32 in #neovim

Download history • Rust 包仓库 204/week @ 2024-03-15 • Rust 包仓库 217/week @ 2024-03-22 • Rust 包仓库 248/week @ 2024-03-29 • Rust 包仓库 164/week @ 2024-04-05 • Rust 包仓库 173/week @ 2024-04-12 • Rust 包仓库 200/week @ 2024-04-19 • Rust 包仓库 236/week @ 2024-04-26 • Rust 包仓库 214/week @ 2024-05-03 • Rust 包仓库 177/week @ 2024-05-10 • Rust 包仓库 247/week @ 2024-05-17 • Rust 包仓库 266/week @ 2024-05-24 • Rust 包仓库 224/week @ 2024-05-31 • Rust 包仓库 138/week @ 2024-06-07 • Rust 包仓库 158/week @ 2024-06-14 • Rust 包仓库 243/week @ 2024-06-21 • Rust 包仓库 167/week @ 2024-06-28 • Rust 包仓库

754 每月下载量
7 crates 中使用

LGPL-3.0

105KB
2.5K SLoC

neovim-lib

Rust 编写的 Neovim msgpack-rpc 客户端库。

Linux build Windows build

从哪里开始


lib.rs:

Rust 编写的 Neovim 客户端库

通过其 msgpack-rpc API 实现 Neovim 插件的 rust 插件支持。

示例

简单用例

use neovim_lib::{Neovim, NeovimApi, Session};

let mut session = Session::new_tcp("127.0.0.1:6666").unwrap();
session.start_event_loop();
let mut nvim = Neovim::new(session);

let buffers = nvim.list_bufs().unwrap();
buffers[0].set_lines(&mut nvim, 0, 0, true, vec!["replace first line".to_owned()]).unwrap();
nvim.command("vsplit").unwrap();
let windows = nvim.list_wins().unwrap();
windows[0].set_width(&mut nvim, 10).unwrap();

从 neovim 处理进程通知事件

use neovim_lib::{Neovim, NeovimApi, Session};
let mut session = Session::new_tcp("127.0.0.1:6666").unwrap();
let receiver = session.start_event_loop_channel();
let mut nvim = Neovim::new(session);

let (event_name, args) = receiver.recv().unwrap();

依赖关系

~0.6–1MB
~21K SLoC