diff options
| author | Steven Sojka <Steven.Sojka@tdameritrade.com> | 2020-09-16 07:03:22 -0500 |
|---|---|---|
| committer | Steven Sojka <steelsojka@gmail.com> | 2020-09-25 10:30:35 -0500 |
| commit | 82a8b859c6377a03e0c4d33b8b045548568c7aef (patch) | |
| tree | b9a2acd3adf5bb32f7a48951e92409d5b2bdf9b4 /lua/nvim-treesitter/refactor/smart_rename.lua | |
| parent | 98c12ec23a6df2f2f505304b61c4b2eefc0a568f (diff) | |
chore(modules): remove refactor module
Diffstat (limited to 'lua/nvim-treesitter/refactor/smart_rename.lua')
| -rw-r--r-- | lua/nvim-treesitter/refactor/smart_rename.lua | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/lua/nvim-treesitter/refactor/smart_rename.lua b/lua/nvim-treesitter/refactor/smart_rename.lua deleted file mode 100644 index 711ab993..00000000 --- a/lua/nvim-treesitter/refactor/smart_rename.lua +++ /dev/null @@ -1,65 +0,0 @@ --- Binds a keybinding to smart rename definitions and usages. --- Can be used directly using the `smart_rename` function. - -local ts_utils = require'nvim-treesitter.ts_utils' -local locals = require'nvim-treesitter.locals' -local configs = require'nvim-treesitter.configs' -local utils = require'nvim-treesitter.utils' -local api = vim.api - -local M = {} - -function M.smart_rename(bufnr) - local bufnr = bufnr or api.nvim_get_current_buf() - local node_at_point = ts_utils.get_node_at_cursor() - - if not node_at_point then - utils.print_warning("No node to rename!") - return - end - - local node_text = ts_utils.get_node_text(node_at_point)[1] - local new_name = vim.fn.input('New name: ', node_text or '') - - -- Empty name cancels the interaction or ESC - if not new_name or #new_name < 1 then return end - - local definition, scope = locals.find_definition(node_at_point, bufnr) - local nodes_to_rename = locals.find_usages(definition, scope, bufnr) - - if not vim.tbl_contains(nodes_to_rename, node_at_point) then - table.insert(nodes_to_rename, node_at_point) - end - - if not vim.tbl_contains(nodes_to_rename, definition) then - table.insert(nodes_to_rename, definition) - end - - local edits = {} - - for _, node in ipairs(nodes_to_rename) do - local lsp_range = ts_utils.node_to_lsp_range(node) - local text_edit = { range = lsp_range, newText = new_name } - table.insert(edits, text_edit) - end - vim.lsp.util.apply_text_edits(edits, bufnr) -end - -function M.attach(bufnr) - local config = configs.get_module('refactor.smart_rename') - - for fn_name, mapping in pairs(config.keymaps) do - local cmd = string.format([[:lua require'nvim-treesitter.refactor.smart_rename'.%s(%d)<CR>]], fn_name, bufnr) - api.nvim_buf_set_keymap(bufnr, 'n', mapping, cmd, { silent = true, noremap = true }) - end -end - -function M.detach(bufnr) - local config = configs.get_module('refactor.smart_rename') - - for _, mapping in pairs(config.keymaps) do - api.nvim_buf_del_keymap(bufnr, 'n', mapping) - end -end - -return M |
