string-inflection

underscore -> UPCASE -> CamelCase conversion of names

Github stars Tracking Chart

  • underscore -> UPCASE -> CamelCase conversion of names

#+html:
#+html:
#+html:

[[https://github.com/akicho8/string-inflection/blob/master/HISTORY.org][Change History]]

** Configuration Examples

*** Example 1

#+BEGIN_SRC elisp
(require 'string-inflection)

;; C-q C-u is the key bindings similar to Vz Editor.
(global-unset-key (kbd "C-q"))
(global-set-key (kbd "C-q C-u") 'my-string-inflection-cycle-auto)

(defun my-string-inflection-cycle-auto ()
"switching by major-mode"
(interactive)
(cond
;; for emacs-lisp-mode
((eq major-mode 'emacs-lisp-mode)
(string-inflection-all-cycle))
;; for python
((eq major-mode 'python-mode)
(string-inflection-python-style-cycle))
;; for java
((eq major-mode 'java-mode)
(string-inflection-java-style-cycle))
(t
;; default
(string-inflection-ruby-style-cycle))))
#+END_SRC

*** Example 2

#+BEGIN_SRC elisp
(require 'string-inflection)

;; default
(global-set-key (kbd "C-c C-u") 'string-inflection-all-cycle)

;; for ruby
(add-hook 'ruby-mode-hook
'(lambda ()
(local-set-key (kbd "C-c C-u") 'string-inflection-ruby-style-cycle)))

;; for java
(add-hook 'java-mode-hook
'(lambda ()
(local-set-key (kbd "C-c C-u") 'string-inflection-java-style-cycle)))

;; for python
(add-hook 'python-mode-hook
'(lambda ()
(local-set-key (kbd "C-c C-u") 'string-inflection-python-style-cycle)))

#+END_SRC

** How to use

We will change as follows each type =C-q C-u= Place the cursor in the =emacs_lisp=.

In the case of =string-inflection-ruby-style-cycle=

: emacs_lisp => EMACS_LISP => EmacsLisp => emacs_lisp

In the case of =string-inflection-python-style-cycle=

: emacs_lisp => EMACS_LISP => EmacsLisp => emacs_lisp

In the case of =string-inflection-java-style-cycle=

: emacsLisp => EMACS_LISP => EmacsLisp => emacsLisp

In the case of =string-inflection-all-cycle=

: emacs_lisp => EMACS_LISP => EmacsLisp => emacsLisp => emacs-lisp => Emacs_Lisp => emacs_lisp

The =string-inflection-all-cycle=, conversion often. However,
conversion occurs even when there is no need to lower-camelcase.
Therefore so difficult to use, is not recommended

** Function that can be used alone

#+BEGIN_SRC elisp
(string-inflection-underscore-function "EmacsLisp") ; => "emacs_lisp"
(string-inflection-pascal-case-function "emacs_lisp") ; => "EmacsLisp"
(string-inflection-camelcase-function "emacs_lisp") ; => "emacsLisp"
(string-inflection-upcase-function "emacs_lisp") ; => "EMACS_LISP"
(string-inflection-kebab-case-function "emacs_lisp") ; => "emacs-lisp"
(string-inflection-capital-underscore-function "emacs_lisp") ; => "Emacs_Lisp"

(string-inflection-pascal-case-p "EmacsLisp") ; => t
(string-inflection-pascal-case-p "emacs_lisp") ; => nil
; etc...
#+END_SRC

Main metrics

Overview
Name With Ownerakicho8/string-inflection
Primary LanguageEmacs Lisp
Program languageEmacs Lisp (Language Count: 1)
Platform
License:
所有者活动
Created At2012-10-11 14:20:57
Pushed At2024-08-16 05:33:56
Last Commit At2024-08-16 14:33:43
Release Count13
Last Release Namev1.0.16 (Posted on )
First Release Namev1.0.4 (Posted on )
用户参与
Stargazers Count254
Watchers Count5
Fork Count23
Commits Count122
Has Issues Enabled
Issues Count20
Issue Open Count1
Pull Requests Count23
Pull Requests Open Count0
Pull Requests Close Count0
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private