Giter Site home page Giter Site logo

cyphejor's Introduction

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–2017 Mark Karpov

Distributed under GNU GPL, version 3.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.