aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/tree_sitter.lua
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2019-06-09 13:26:48 +0200
committerBjörn Linse <bjorn.linse@gmail.com>2019-09-28 14:55:43 +0200
commit4ea5e63aa8c866b4fcc9d10f1a26078d2517f96a (patch)
tree057fc3138c63438b1e945ef8257cfe179803d958 /runtime/lua/vim/tree_sitter.lua
parentafba23099fccc929fd0319a9a965a7b727407c7a (diff)
downloadrneovim-4ea5e63aa8c866b4fcc9d10f1a26078d2517f96a.tar.gz
rneovim-4ea5e63aa8c866b4fcc9d10f1a26078d2517f96a.tar.bz2
rneovim-4ea5e63aa8c866b4fcc9d10f1a26078d2517f96a.zip
tree-sitter: add basic testing on ci
build tree-sitter c parser on ci for testing purposes
Diffstat (limited to 'runtime/lua/vim/tree_sitter.lua')
-rw-r--r--runtime/lua/vim/tree_sitter.lua8
1 files changed, 5 insertions, 3 deletions
diff --git a/runtime/lua/vim/tree_sitter.lua b/runtime/lua/vim/tree_sitter.lua
index a7830bc312..1b5f416b67 100644
--- a/runtime/lua/vim/tree_sitter.lua
+++ b/runtime/lua/vim/tree_sitter.lua
@@ -32,11 +32,13 @@ local function change_cb(self, ev, bufnr, tick, start_row, oldstopline, stop_row
self.valid = false
end
-local function create_parser(bufnr)
+local function create_parser(bufnr, ft)
if bufnr == 0 then
bufnr = a.nvim_get_current_buf()
end
- local ft = a.nvim_buf_get_option(bufnr, "filetype")
+ if ft == nil then
+ ft = a.nvim_buf_get_option(bufnr, "filetype")
+ end
local self = setmetatable({bufnr=bufnr, valid=false}, Parser)
self._parser = vim._create_ts_parser(ft)
self:parse_tree()
@@ -51,5 +53,5 @@ end
-- TODO: weak table with reusable parser per buffer.
-return {create_parser=create_parser}
+return {create_parser=create_parser, add_language=vim._ts_add_language}