aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
authorThomas Vigouroux <tomvig38@gmail.com>2020-04-18 17:40:26 +0200
committerThomas Vigouroux <tomvig38@gmail.com>2020-04-18 17:40:26 +0200
commite51b25dce209f0d560785c841fd3e4c667b12b9e (patch)
tree7d0cd53c75aee64c7ddc0da8603964884ecbf51e /lua
parentstyle: add editorconfig (diff)
downloadnvim-treesitter-e51b25dce209f0d560785c841fd3e4c667b12b9e.tar
nvim-treesitter-e51b25dce209f0d560785c841fd3e4c667b12b9e.tar.gz
nvim-treesitter-e51b25dce209f0d560785c841fd3e4c667b12b9e.tar.bz2
nvim-treesitter-e51b25dce209f0d560785c841fd3e4c667b12b9e.tar.lz
nvim-treesitter-e51b25dce209f0d560785c841fd3e4c667b12b9e.tar.xz
nvim-treesitter-e51b25dce209f0d560785c841fd3e4c667b12b9e.tar.zst
nvim-treesitter-e51b25dce209f0d560785c841fd3e4c667b12b9e.zip
feat: add some utils to read queries
Diffstat (limited to 'lua')
-rw-r--r--lua/nvim-treesitter/lib.lua19
1 files changed, 19 insertions, 0 deletions
diff --git a/lua/nvim-treesitter/lib.lua b/lua/nvim-treesitter/lib.lua
new file mode 100644
index 000000000..328e4a571
--- /dev/null
+++ b/lua/nvim-treesitter/lib.lua
@@ -0,0 +1,19 @@
+-- Treesitter utils
+
+local api = vim.api
+local ts = vim.treesitter
+
+local M = {}
+
+local function read_query_file(fname)
+ return table.concat(vim.fn.readfile(fname), '\n')
+end
+
+function M.get_query(ft, query_name)
+ local query_files = api.nvim_get_runtime_file(string.format('queries/%s/%s.scm', ft, query_name), false)
+ if #query_files > 0 then
+ return ts.parse_query(ft, read_query_file(query_files[1]))
+ end
+end
+
+return M