aboutsummaryrefslogtreecommitdiffstats
path: root/lua/alpha/telescope/my_actions.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/alpha/telescope/my_actions.lua')
-rw-r--r--lua/alpha/telescope/my_actions.lua170
1 files changed, 0 insertions, 170 deletions
diff --git a/lua/alpha/telescope/my_actions.lua b/lua/alpha/telescope/my_actions.lua
deleted file mode 100644
index b0e9f10..0000000
--- a/lua/alpha/telescope/my_actions.lua
+++ /dev/null
@@ -1,170 +0,0 @@
-local M = {}
-
-local action_state = require "telescope.actions.state"
-local actions = require "telescope.actions"
-
-M.create_plugin = function(prompt_bufnr)
- local new_plugin = action_state.get_current_line()
- actions.close(prompt_bufnr)
- vim.cmd(string.format("edit ~/.config/nvim/lua/plugins/%s.lua", new_plugin))
-end
-
-
-local get_disable_stm_node = function(bufnr, tree)
- vim.treesitter.query.set(
- "lua",
- "alpha_plugin_is_disabled",
- [[
-(return_statement
- (expression_list
- (table_constructor
- (field
- name: (identifier) @enabled (#eq? @enabled "enabled")
- value: (false) @is_false
- )
- )
- )
- )
- ]]
- )
-
- local query = vim.treesitter.query.get("lua", "alpha_plugin_is_disabled")
-
- for id, node in query:iter_captures(tree:root(), bufnr) do
- if query.captures[id] == "enabled" then
- return node
- end
- end
-
- return nil
-end
-
-local get_enabled_node = function(bufnr, tree)
- vim.treesitter.query.set(
- "lua",
- "alpha_plugin_has_enable_property",
- [[
-(return_statement
- (expression_list
- (table_constructor
- (field
- name: (identifier) @enabled (#eq? @enabled "enabled")
- )
- )
- )
- )
- ]]
- )
-
- local query = vim.treesitter.query.get("lua", "alpha_plugin_has_enable_property")
-
- for id, node in query:iter_captures(tree:root(), bufnr) do
- if query.captures[id] == "enabled" then
- return node
- end
- end
-
- return nil
-end
-
-local get_return_node = function(bufnr, tree)
- vim.treesitter.query.set(
- "lua",
- "alpha_plugin_return_table_constructor",
- [[
-(return_statement
- (expression_list
- (table_constructor) @table_constructor
- )
- )
- ]]
- )
-
- local query = vim.treesitter.query.get("lua", "alpha_plugin_return_table_constructor")
-
- for id, node in query:iter_captures(tree:root(), bufnr) do
- if query.captures[id] == "table_constructor" then
- return node
- end
- end
-
- return nil
-end
-
-M.disable_plugin = function(prompt_bufnr)
- local entry = action_state.get_selected_entry()
- local uri = vim.uri_from_fname(entry.cwd .. entry[1])
- local bufnr = vim.uri_to_bufnr(uri)
- vim.fn.bufload(bufnr)
-
- local parsers = require "nvim-treesitter.parsers"
- local parser = parsers.get_parser(bufnr)
- local tree = parser:parse()[1]
-
- local disabled_stm_node = get_disable_stm_node(bufnr, tree)
- if disabled_stm_node ~= nil then
- vim.notify("Plugin is already disable", vim.log.levels.WARN, {})
- return
- end
-
- local start_line
- local end_line
-
- local enable_node = get_enabled_node(bufnr, tree)
- if enable_node == nil then
- -- node does not exists need to assume line
- local return_node = get_return_node(bufnr, tree)
-
- if return_node == nil then
- vim.notify("Can determine how to diable the plugin", vim.log.levels.ERROR, {})
- return
- end
-
- start_line = return_node:start() + 2
- end_line = start_line
- else
- start_line = enable_node:start()
- end_line = start_line + 1
- end
-
- vim.api.nvim_buf_set_lines(bufnr, start_line, end_line, false, { " enabled = false," })
- vim.notify("Plugin " .. entry[1] .. " Disabled", vim.log.levels.INFO, {})
- actions.close(prompt_bufnr)
- vim.api.nvim_buf_call(bufnr, function()
- vim.cmd "write"
- end)
-end
-
-M.enable_plugin = function(prompt_bufnr)
- local entry = action_state.get_selected_entry()
- local uri = vim.uri_from_fname(entry.cwd .. entry[1])
- local bufnr = vim.uri_to_bufnr(uri)
- vim.fn.bufload(bufnr)
-
- local parsers = require "nvim-treesitter.parsers"
- local parser = parsers.get_parser(bufnr)
-
- local tree = parser:parse()[1]
-
- local disabled_stm_node = get_disable_stm_node(bufnr, tree)
- if disabled_stm_node == nil then
- vim.notify("Plugin is already Enable", vim.log.levels.WARN, {})
- return
- end
-
- local enable_line = disabled_stm_node:start()
- vim.api.nvim_buf_set_lines(bufnr, enable_line, enable_line + 1, false, {})
- vim.notify("Plugin " .. entry[1] .. " Enabled", vim.log.levels.INFO, {})
- actions.close(prompt_bufnr)
- vim.api.nvim_buf_call(bufnr, function()
- vim.cmd "write"
- end)
-end
-
-M.create_scratch_file = function(prompt_bufnr)
- local new_scratch = action_state.get_current_line()
- actions.close(prompt_bufnr)
- vim.cmd(string.format("edit ~/.config/nvim/lua/scratchs/%s.lua", new_scratch))
-end
-
-return M