summaryrefslogtreecommitdiff
path: root/lua/nvim-treesitter/refactor/smart_rename.lua
diff options
context:
space:
mode:
authorSteven Sojka <Steven.Sojka@tdameritrade.com>2020-09-16 07:03:22 -0500
committerSteven Sojka <steelsojka@gmail.com>2020-09-25 10:30:35 -0500
commit82a8b859c6377a03e0c4d33b8b045548568c7aef (patch)
treeb9a2acd3adf5bb32f7a48951e92409d5b2bdf9b4 /lua/nvim-treesitter/refactor/smart_rename.lua
parent98c12ec23a6df2f2f505304b61c4b2eefc0a568f (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.lua65
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