Rope
refactoring.nvim
Our great sponsors
Rope | refactoring.nvim | |
---|---|---|
22 | 37 | |
1,824 | 2,401 | |
1.6% | - | |
9.1 | 8.8 | |
5 days ago | 13 days ago | |
Python | Lua | |
GNU Lesser General Public License v3.0 only | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Rope
-
In neovim ,how to do refactoring python code?
Hi, maintainer of rope here. There are a number of different options to use rope in Vim/Neovim, we've documented them in this page https://github.com/python-rope/rope/wiki/Rope-in-Vim-or-Neovim
-
Open Source Python libraries/projects that need contributions?
If you're looking for something with a bigger codebase, then the rope library in which pylsp-rope is based on is also welcoming of contributions.
-
Completion and auto imports
I think rope is the standard for refactoring, and should provide autoimports soon, though pyright might also be good for that.
-
NVIM: More complete autocomplete
rope
-
Making Python Code Idiomatic by Automatic Refactoring Non-Idiomatic Python Code with Pythonic Idioms
If you are interested in discussing this or have ideas you want to sketch out, meet me at rope's GitHub Discussion.
-
What motivates you writing open source software?
However, my biggest and most popular open source project is one that I don't originally write, but rather I inherited a popular project that has been abandoned by their original author/maintainers. I use Python a lot, so I wanted to contribute to the community in a significant way, so unlike my other projects I do take the time promoting this project as well. I felt it's more like a community service for this project.
-
What are some interesting open source projects to contribute code to?
I am the maintainer rope and pylsp-rope. They are libraries for automated Python refactoring and to do that from any LSP-capable editors. We are always welcoming contributors of all levels.
-
Why IDEs are Important
Rope has first class support for Vim and it can do a move refactoring, among other refactorings. From this, this feature is available from python-mode and ropevim.
-
Visual Studio Code is designed to fracture
rope
-
Why did you switch from another language to Rust? Do you regret not learning it earlier?
Okay this depends: if your code is static: perfectly possible for example with https://github.com/python-rope/rope (used for example by VS Code). If it's dynamic / generated via metaprogramming: I never tried it but I can't imagine that it'd work there, yes. However java tooling also can't do that because it simply doesn't support metaprogramming in any noteworthy way.
refactoring.nvim
-
My 2024 PDE: NeoVim
Treesitter is a syntax parser that'll build a tree-like structure to enable anything from excellent syntax highlighting through to complex refactoring. There are so many creative ways you can use Treesitter, from jumping around text objects to commenting sections of code, it's a must-have in my books.
-
Refactoring tools
Is there any refactoring plugins for Neovim besides https://github.com/ThePrimeagen/refactoring.nvim?
-
First PR using NeoVim, but need help moving forward
refactoring.nvim and null-ls.nvim may help
-
In neovim ,how to do refactoring python code?
Besides rename (which is part of the LSP specification, so it's supported out-of-the-box), there is refactoring.nvim
refactoring.nvim is one option. Unfortunately what powers VSCode is the proprietary PyLance and AFAIK there is no way to "Move symbol to file (method will be moved) [and have imports renamed subsequently]".
- Discussion: what functionality is Vim missing?
-
New Plugin: ruby toolkit
Just a heads up, I added a lot of Ruby support in ThePrimeagen's Refactoring.nvim plugin some time ago. Covers a lot of what you've created and has support for lots of other languages too
-
neovim-related: Are there good refactor plugin for elixir?
I saw this refactoring.nvim but it doesn't support elixir
You might be able to take the ruby one and make an elixir one. It uses tree-sitter queries which you would need to align up with the elixir, but the syntax is kinda close. See https://github.com/ThePrimeagen/refactoring.nvim/blob/master/lua/refactoring/treesitter/langs/ruby.lua
- NeoVim as a full-fledged IDE
What are some alternatives?
nvim-lsp-ts-utils - Utilities to improve the TypeScript development experience for Neovim's built-in LSP client.
Bowler - Safe code refactoring for modern Python.
RedBaron - Bottom-up approach to refactoring in python
react-extract.nvim - Neovim plugin for extracting jsx into React component
python-lsp-server - Fork of the python-language-server project, maintained by the Spyder IDE team and the community
rust.vim - Vim configuration for Rust.
pyright - Static Type Checker for Python
nvim-treesitter-refactor - Refactor module for nvim-treesitter
nvim-dap-ruby
jedi - Awesome autocompletion, static analysis and refactoring library for python
neovim - Vim-fork focused on extensibility and usability
nvim-treesitter-cpp-tools - C++ Helper Snippets Using Treesitter