summaryrefslogtreecommitdiff
path: root/start/indent-blankline-2.20.4/lua/indent_blankline/commands.lua
diff options
context:
space:
mode:
Diffstat (limited to 'start/indent-blankline-2.20.4/lua/indent_blankline/commands.lua')
-rw-r--r--start/indent-blankline-2.20.4/lua/indent_blankline/commands.lua58
1 files changed, 58 insertions, 0 deletions
diff --git a/start/indent-blankline-2.20.4/lua/indent_blankline/commands.lua b/start/indent-blankline-2.20.4/lua/indent_blankline/commands.lua
new file mode 100644
index 0000000..263d332
--- /dev/null
+++ b/start/indent-blankline-2.20.4/lua/indent_blankline/commands.lua
@@ -0,0 +1,58 @@
+local M = {}
+
+M.refresh = function(bang, scroll)
+ scroll = scroll or false
+ if bang then
+ local win = vim.api.nvim_get_current_win()
+ vim.cmd(string.format([[noautocmd windo lua require("indent_blankline").refresh(%s)]], tostring(scroll)))
+ if vim.api.nvim_win_is_valid(win) then
+ vim.api.nvim_set_current_win(win)
+ end
+ else
+ require("indent_blankline").refresh(scroll)
+ end
+end
+
+M.enable = function(bang)
+ if bang then
+ vim.g.indent_blankline_enabled = true
+ local win = vim.api.nvim_get_current_win()
+ vim.cmd [[noautocmd windo lua require("indent_blankline").refresh(false)]]
+ vim.api.nvim_set_current_win(win)
+ else
+ vim.b.indent_blankline_enabled = true
+ require("indent_blankline").refresh(false)
+ end
+end
+
+M.disable = function(bang)
+ if bang then
+ vim.g.indent_blankline_enabled = false
+ local buffers = vim.api.nvim_list_bufs()
+ for _, buffer in pairs(buffers) do
+ vim.api.nvim_buf_clear_namespace(buffer, vim.g.indent_blankline_namespace, 1, -1)
+ end
+ else
+ vim.b.indent_blankline_enabled = false
+ vim.b.__indent_blankline_active = false
+ vim.api.nvim_buf_clear_namespace(0, vim.g.indent_blankline_namespace, 1, -1)
+ end
+end
+
+M.toggle = function(bang)
+ if bang then
+ if vim.g.indent_blankline_enabled then
+ M.disable(bang)
+ else
+ M.enable(bang)
+ end
+ else
+ if vim.b.__indent_blankline_active then
+ M.disable(bang)
+ else
+ M.enable(bang)
+ end
+ end
+end
+
+return M