Search code examples
ruby-on-railsrubyrubymine

Create custom ruby text transformations in Rubymine


I thought this would be something built in and easy to do in Rubymine but I haven't been able to find any references to it let alone possible answers. Maybe I am phrasing my searches all wrong? I want to create a simple ruby script that I can use to transform text in Rubymine. I have to do a lot of snake_case to titleize transformations in my writing of some rails forms. I wish I could highlight some text and right click -> Titleize and have it happen, but Rubymine only does upcase/downcase or snake_case/camelCase conversions. It seems like I should be able to write a simple script like:

require 'active_support'
gets some_string
some_string.titleize

and assign it to a menu item. Any ideas? Right now I open the terminal panel in Rubymine where I have rails c running and copy/paste -> .titleize -> copy/paste.


Solution

  • I don't believe there is a way to do this right now using ruby. The use of RubyMine macros is quite limited, think you could take a look to some simple plugin like CamelCase take it apart and see what they are doing, but that would force you to use Java I guess.

    However if you are interested only in the specific case of snake_case > Snakecase

    For that you could install the CamelCase and record a macro and assign it to a any shortcut you like , the macro itself would do this

    ALT+SHIFT+U   > SnakeCase
    CTRL+SHIFT+U  > snakecase
    ALT+SHIFT+U   > Snakecase
    

    Hope that helps.