Comments (5)
My first thoughts on how to approach renaming a function:
- Use Elixir Sense's
ElixirSense.Core.Source.subject/3
to find the function at the cursor - Use
Mix.Tasks.Xref.calls/0
to find the file and line numbers that call it - Somehow find the actual tokens at those lines and replace them
I have no immediate plans to build this myself, so feel free to take a stab at it. You can take a look at some of the existing providers like References
and DocumentSymbols
to get an idea for how you might implement it. (Steps 1 and 2 are basically the same as the References
provider, so I'd say start there.)
from elixir-ls.
In case anyone else plans on or has already started working on this, I have started working on implementing this.
from elixir-ls.
This would be super useful! How can it be done in Elixir? Anything we can help?
from elixir-ls.
Updated link to the protocol section: https://microsoft.github.io/language-server-protocol/specification#textDocument_rename
from elixir-ls.
This project has moved!
It's now being maintained by proactive volunteers from the Elixir community over at elixir-lsp/elixir-ls. Updates will continue to be published from that repo to the original VS Code extension, so no need to switch plugins if you're using VS Code.
To avoid inundating the new maintainers with issues, please verify that your issue persists with the latest version of the extension (which is published from the new repo) before re-filing your issue there.
Thanks for using ElixirLS!
from elixir-ls.
Related Issues (20)
- Using regular atoms as module names kills outline query HOT 1
- Add nested outline view HOT 2
- Switching projects in Sublime Text triggers a crash HOT 2
- Formatter: Unknown dependency ... in the formatter configuration HOT 3
- Idea: put a .gitignore in the .elixir_ls folder HOT 2
- Debugging Scenic silently exits on launch HOT 4
- Using elixir-ls on a network mount HOT 1
- ElixirLS RuntimeError Emacs HOT 2
- Request: Action to auto-create alias for module under cursor HOT 1
- "Failed to run "elixir" command ElixirLs will probably fail to launch HOT 5
- Poor performance on Dialyzer HOT 1
- `editor.acceptSuggestionOnEnter` VSCode setting is not honored HOT 1
- vim-lsc crashes ElixirLS on method `shutdown` HOT 2
- requestMessage doesn't seem to match spec for 2 arity variant HOT 1
- how do I make @spec to print in my code? (if even possible) HOT 1
- Issue with comments in deps list HOT 1
- Incomprehensible Dialyzer warning after erlang elixir update HOT 1
- Sharing _build/deps with main project causes significant system slowdowns when running alongside Phoenix with auto reload HOT 3
- Formatter should use UTF-16 string representation HOT 1
- File issues at the new Repo!
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from elixir-ls.