Shorten major mode names using user-defined rules
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore initial commit Sep 12, 2015
.travis.yml Do not test against git snapshot Feb 25, 2018
Cask Upgrade Travis script (#3) Aug 2, 2017
README.md Include 2018 into the copyright years range Jan 1, 2018
cyphejor.el Include 2018 into the copyright years range Jan 1, 2018

README.md

Cyphejor

License GPL 3 MELPA Build Status

This package allows to shorten major mode names using a set of user-defined rules.

Installation

If you would like to install the package manually, download or clone it and put on Emacs' load-path. Then you can require it in your init file like this:

(require 'cyphejor)

It's available via MELPA, so you can just M-x package-install RET cyphejor RET.

Usage

First you need to set value of the variable cyphejor-rules. This variable contains rules that the package uses to generate new names for major modes from their symbol names (values of major-mode variable).

Value of cyphejor-rules should be a list. Every element of the list should have the following form:

(string replacement &rest parameters)

where string is a “word” in major mode symbol name, replacement is another string to be used instead, parameters is a list that may be empty but may have the following keywords in it as well:

  • :prefix—put it in the beginning of result string
  • :postfix—put it in the end of result string

Apart from elements of the form described above the following keywords are allowed (they influence the algorithm in general):

  • :downcase—replace words that are not specified explicitly with their first letter downcased

  • :upcase—replace words that are not specified explicitly with their first letter upcased

If nothing is specified, a word will be used unchanged, separated from other words with spaces if necessary.

Example of a setup:

(setq
 cyphejor-rules
 '(:upcase
   ("bookmark"    "")
   ("buffer"      "β")
   ("diff"        "Δ")
   ("dired"       "δ")
   ("emacs"       "ε")
   ("inferior"    "i" :prefix)
   ("interaction" "i" :prefix)
   ("interactive" "i" :prefix)
   ("lisp"        "λ" :postfix)
   ("menu"        "" :postfix)
   ("mode"        "")
   ("package"     "")
   ("python"      "π")
   ("shell"       "sh" :postfix)
   ("text"        "ξ")
   ("wdired"      "↯δ")))

Next, just enable cyphejor-mode in your configuration file:

(cyphejor-mode 1)

Customization

Access the customization interface via M-x customize-group cyphejor RET.

License

Copyright © 2015–2018 Mark Karpov

Distributed under GNU GPL, version 3.