阅读-nvim-tree-源码
避免反复加载
1 |
|
如果设置了 g:loaded_tree
这个变量, 则停止 sourcing a script (finish
的作用)
获取一个选项的值
可以直接用 &
+ option, 如:
1 |
|
创建一个 buffer 并设置 options
创建:
1 |
|
vim.api.nvim_create_buf
相关参数:
- 第一个参数决定是否将这个 buffer 加入缓冲区列表
- 第二个决定是否创建临时缓冲区 (即不与文件关联, 没有名称)
设置 options:
1 |
|
将一个 buffer 和一个 window 绑定
1 |
|
这里 0
表示当前窗口.
关闭一个 window
1 |
|
设置多个 keymap 的方法
1 |
|
设置缓冲区内容
1 |
|
0
表示起始行为第 1 行-1
表示结束行为最后一行false
, 指保留原始缩进content
, 是用于填充的内容
给缓冲区设置 highlight
用 vim.api.nvim_buf_add_highlight()
, 语法为 (可查看 :h nvim_buf_add_highlight
):
1 |
|
{buffer}
, 指 Buffer handle, 设置 0 指当前 buffer{ns_id}
, 指 namespace id, 设置 -1 表示不用 namespace 进行分组{hl_group}
, 指要使用的 highlight group 的名称{line}
, 指要 highlight 的行{col_start}
, 指开始的 column{col_end}
, 指结束的 column
namespace
其用于组织一组 highlight, 便于批量管理和操作.
nvim_create_namespace()
创建一个 namespace 并返回一个 ns_id
.
nvim_buf_clear_namespace({buffer}, {ns_id}, {line_start}, {line_end})
用于利用 namespace 批量清除 highlight.
阅读-nvim-tree-源码
http://example.com/2024/01/13/阅读-nvim-tree-源码/