aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkiyan <yazdani.kiyan@protonmail.com>2022-07-18 12:29:02 +0200
committerChristian Clason <christian.clason@uni-due.de>2022-07-18 15:44:59 +0200
commit8b748a7570b89822d47ac0ed0f694efda6523c7d (patch)
treeb18e487072db2ecf15cb5f88d04f7410d804bdfa
parentfix(typo): utils.create_or_resue_writable_dir -> reuse (#3194) (diff)
downloadnvim-treesitter-8b748a7570b89822d47ac0ed0f694efda6523c7d.tar
nvim-treesitter-8b748a7570b89822d47ac0ed0f694efda6523c7d.tar.gz
nvim-treesitter-8b748a7570b89822d47ac0ed0f694efda6523c7d.tar.bz2
nvim-treesitter-8b748a7570b89822d47ac0ed0f694efda6523c7d.tar.lz
nvim-treesitter-8b748a7570b89822d47ac0ed0f694efda6523c7d.tar.xz
nvim-treesitter-8b748a7570b89822d47ac0ed0f694efda6523c7d.tar.zst
nvim-treesitter-8b748a7570b89822d47ac0ed0f694efda6523c7d.zip
chore: cleanup main file, move statusline in module
-rw-r--r--autoload/nvim_treesitter.vim2
-rw-r--r--lua/nvim-treesitter.lua52
-rw-r--r--lua/nvim-treesitter/statusline.lua50
3 files changed, 54 insertions, 50 deletions
diff --git a/autoload/nvim_treesitter.vim b/autoload/nvim_treesitter.vim
index 207911744..90953985e 100644
--- a/autoload/nvim_treesitter.vim
+++ b/autoload/nvim_treesitter.vim
@@ -1,5 +1,5 @@
function! nvim_treesitter#statusline(...) abort
- return luaeval("require'nvim-treesitter'.statusline(_A)", get(a:, 1, {}))
+ return luaeval("require'nvim-treesitter.statusline'.statusline(_A)", get(a:, 1, {}))
endfunction
function! nvim_treesitter#foldexpr() abort
diff --git a/lua/nvim-treesitter.lua b/lua/nvim-treesitter.lua
index efdf21e98..963fe7309 100644
--- a/lua/nvim-treesitter.lua
+++ b/lua/nvim-treesitter.lua
@@ -2,8 +2,7 @@ local install = require "nvim-treesitter.install"
local utils = require "nvim-treesitter.utils"
local info = require "nvim-treesitter.info"
local configs = require "nvim-treesitter.configs"
-local parsers = require "nvim-treesitter.parsers"
-local ts_utils = require "nvim-treesitter.ts_utils"
+local statusline = require "nvim-treesitter.statusline"
-- Registers all query predicates
require "nvim-treesitter.query_predicates"
@@ -17,52 +16,7 @@ function M.setup()
configs.init()
end
-function M.define_modules(...)
- configs.define_modules(...)
-end
-
--- Trim spaces and opening brackets from end
-local transform_line = function(line)
- return line:gsub("%s*[%[%(%{]*%s*$", "")
-end
-
-function M.statusline(opts)
- if not parsers.has_parser() then
- return
- end
- local options = opts or {}
- -- if type(opts) == "number" then
- -- options = { indicator_size = opts }
- -- end
- local bufnr = options.bufnr or 0
- local indicator_size = options.indicator_size or 100
- local type_patterns = options.type_patterns or { "class", "function", "method" }
- local transform_fn = options.transform_fn or transform_line
- local separator = options.separator or " -> "
-
- local current_node = ts_utils.get_node_at_cursor()
- if not current_node then
- return ""
- end
-
- local lines = {}
- local expr = current_node
-
- while expr do
- local line = ts_utils._get_line_for_node(expr, type_patterns, transform_fn, bufnr)
- if line ~= "" and not vim.tbl_contains(lines, line) then
- table.insert(lines, 1, line)
- end
- expr = expr:parent()
- end
-
- local text = table.concat(lines, separator)
- local text_len = #text
- if text_len > indicator_size then
- return "..." .. text:sub(text_len - indicator_size, text_len)
- end
-
- return text
-end
+M.define_modules = configs.define_modules
+M.statusline = statusline.statusline
return M
diff --git a/lua/nvim-treesitter/statusline.lua b/lua/nvim-treesitter/statusline.lua
new file mode 100644
index 000000000..82be06537
--- /dev/null
+++ b/lua/nvim-treesitter/statusline.lua
@@ -0,0 +1,50 @@
+local parsers = require "nvim-treesitter.parsers"
+local ts_utils = require "nvim-treesitter.ts_utils"
+
+local M = {}
+
+-- Trim spaces and opening brackets from end
+local transform_line = function(line)
+ return line:gsub("%s*[%[%(%{]*%s*$", "")
+end
+
+function M.statusline(opts)
+ if not parsers.has_parser() then
+ return
+ end
+ local options = opts or {}
+ -- if type(opts) == "number" then
+ -- options = { indicator_size = opts }
+ -- end
+ local bufnr = options.bufnr or 0
+ local indicator_size = options.indicator_size or 100
+ local type_patterns = options.type_patterns or { "class", "function", "method" }
+ local transform_fn = options.transform_fn or transform_line
+ local separator = options.separator or " -> "
+
+ local current_node = ts_utils.get_node_at_cursor()
+ if not current_node then
+ return ""
+ end
+
+ local lines = {}
+ local expr = current_node
+
+ while expr do
+ local line = ts_utils._get_line_for_node(expr, type_patterns, transform_fn, bufnr)
+ if line ~= "" and not vim.tbl_contains(lines, line) then
+ table.insert(lines, 1, line)
+ end
+ expr = expr:parent()
+ end
+
+ local text = table.concat(lines, separator)
+ local text_len = #text
+ if text_len > indicator_size then
+ return "..." .. text:sub(text_len - indicator_size, text_len)
+ end
+
+ return text
+end
+
+return M