evil-string-inflection icon indicating copy to clipboard operation
evil-string-inflection copied to clipboard

:camel: evil operator to cycle *-case in text objects

  • evil-string-inflection

[[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]]: #+BEGIN_SRC emacs-lisp (use-package evil-string-inflection :ensure t) #+END_SRC
  • 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 =[]=:

#+BEGIN_SRC text Camel[C]aseWord -> g~io camelCaseWord -> . camel-case-word -> . camel_case_word -> . CAMEL_CASE_WORD -> . CamelCaseWord #+END_SRC

  • Customization
  • you can customize =evil-string-inflection='s binding as follows:

#+BEGIN_SRC emacs-lisp ;; it is g~ by default (define-key evil-normal-state-map "gR" 'evil-operator-string-inflection) #+END_SRC

  • LICENSE
  • [[https://www.gnu.org/licenses/gpl-3.0.en.html][GNU General Public License v3]] #+BEGIN_SRC text GNU General Public License v3 Copyright (c) 2017-2021 Filipe Silva (ninrod) #+END_SRC