ssr.nvim
splitjoin.vim
ssr.nvim | splitjoin.vim | |
---|---|---|
7 | 18 | |
869 | 1,884 | |
- | - | |
4.9 | 7.4 | |
13 days ago | 2 months ago | |
Lua | Vim Script | |
MIT License | 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.
ssr.nvim
-
AST-grep(sg) is a CLI tool for code structural search, lint, and rewriting
There is also a neovim plugin doing structural search/replace, also based on treesitter: https://github.com/cshuaimin/ssr.nvim
-
telescope-sg: a new way to do structural search in neovim
This is not a totally new idea. JetBrains has a well-known article to introduce Structural Search and Replace and its usage in IDEs. Unsurprisingly, NeoVim community also has a plugin called ssr.nvim. But telescope-sg integrates the power of ast-grep's structural search with our beloved fuzzy finder telescope.nvim. That's the merit I think worth a Reddit post: everything will work like Luna-watching NeoVimmers are used to!
-
Blog Post: Data Oriented Parallel Value Interner
Level 1, syntactic search and replace. The user specifies input pattern as Zig syntax with some placeholders and the desired output likewise. The compiler in parallel matches all source files and does the transformation where there is syntactic match. These days, I think this should be pretty universally available via tree sitter (https://github.com/cshuaimin/ssr.nvim) ? Still totally worth it to have first-class support.
-
swap words according to pattern
Checkout ssr.nvim https://github.com/cshuaimin/ssr.nvim
-
New Plugin Preview! Treesitter Node Action
PS: The video in the post (with Ruby's do vs {}) -- that I watched before I read what the plugin actually does -- reminded me of the structural search-and-replace plugin someone presented a while ago on this subreddit.
- Cshuaimin/ssr.nvim: Treesitter based structural search and replace plugin for N
- Structural search and replace
splitjoin.vim
-
How to implement a custom code modification (LSP vs TreeSitter)
My splitjoin plugin handles your examples, in case you're open to non-LSP, non-treesitter solutions: https://github.com/andrewradev/splitjoin.vim
-
feline.nvim announcements and updates
To avoid the practical issues with master/main, a simple solution is to mirror branches in a github action. I had to fork the action itself to fix an issue, but yeah, it works fine.
-
New Plugin: splitjoin.nvim 🪓🧷
Yes, sorry, should have done that the first time I encountered the bug. I rediscovered the bug and I opened a new issue.
-
line split Vim in Vscode
I quite like https://github.com/AndrewRadev/splitjoin.vim . There are defaults for some filetypes and you can add "recipes" for whatever you want.
-
Neovim config from scratch (Part II)
splitjoin to alternate between abbreviated and expansive syntaxes for hashes, arrays, method calls...
-
New Plugin Preview! Treesitter Node Action
To clarify a bit, "a regex approach" doesn't mean s// :). For example, I've got a few mini-parsers for specific cases like rust structs or ruby methods and hashes that handle nesting and more complex structures. Vim's built-in search functions also allow checking the syntax tree, which is how vim-ruby implements a few basic text objects, too. I feel like there's a common misconception that all of Vim is just dumb regex-matching, while regexes are just one of the tools available.
- React one-line props into multiple lines?
-
Here's a question
https://github.com/AndrewRadev/splitjoin.vim I noticed I often format calling a function with a lot of parameters from
-
Running Recursive Macros only on Selection?
For the described use case https://github.com/AndrewRadev/splitjoin.vim
-
Quickly expand code inside {}
I personally use this plugin: https://github.com/AndrewRadev/splitjoin.vim I usually forget I have it installed, but when I remember, it always does what in want in all the languages I use
What are some alternatives?
ast-grep - âš¡A CLI tool for code structural search, lint and rewriting. Written in Rust
aniseed - Neovim configuration and plugins in Fennel (Lisp compiled to Lua)
treesj - Neovim plugin for splitting/joining blocks of code
nvim-revJ.lua - Nvim-plugin for doing the opposite of join-line (J) of arguments written in lua.
architext.nvim - :rocket: Structural editing powered by treesitter
vim-startify - :link: The fancy start screen for Vim.
nvim-trevJ.lua - Nvim-plugin for doing the opposite of join-line (J) of arguments, powered by treesitter
sideways.vim - A Vim plugin to move function arguments (and other delimited-by-something items) left and right.
syntax-searcher - Language-independent command-line utility for syntax-aware pattern matching.
nerdcommenter - Vim plugin for intensely nerdy commenting powers [Moved to: https://github.com/preservim/nerdcommenter]
transpose-words - Swap two words as M-t (transpose-words) in Emacs or bash.
switch.vim - A simple Vim plugin to switch segments of text with predefined replacements