[[https://travis-ci.org/ninrod/evil-string-inflection.svg?branch=master][https://travis-ci.org/ninrod/evil-string-inflection.svg?branch=master]] [[https://melpa.org/#/evil-string-inflection][file:https://melpa.org/packages/evil-string-inflection-badge.svg]] [[https://stable.melpa.org/#/evil-string-inflection][file:https://stable.melpa.org/packages/evil-string-inflection-badge.svg]] [[https://www.gnu.org/licenses/gpl-3.0.en.html][https://img.shields.io/badge/license-GPLv3-blue.svg]]
[[assets/cases.jpg][assets/cases.jpg]]
Evil operator to cycle text objects through camelCase, kebab-case, snake_case and UPPER_CASE.
It wraps the [[https://github.com/akicho8/string-inflection][string-inflection]] package. Credits and thanks go to [[https://github.com/akicho8][Akira Ikeda]] for writing this library.
Installation
Just use [[https://melpa.org][MELPA]]. Here's an oneliner using [[https://github.com/jwiegley/use-package][use-package]]:
(use-package evil-string-inflection :ensure t)
Usage
This package provides the =g~= operator to transform CamelCase words into snake_case. You can customize the binding.
Try using =g~io=.
Examples
here's a sample cycle. cursor is on =[]=:
Camel[C]aseWord -> g~io camelCaseWord -> . camel-case-word -> . camel_case_word -> . CAMEL_CASE_WORD -> . CamelCaseWord
Customization
you can customize =evil-string-inflection='s binding as follows:
;; it is g~ by default (define-key evil-normal-state-map "gR" 'evil-operator-string-inflection)
LICENSE
[[https://www.gnu.org/licenses/gpl-3.0.en.html][GNU General Public License v3]]
GNU General Public License v3 Copyright (c) 2017-2021 Filipe Silva (ninrod)