uwo / koeeoadi

A Clojurescript web app for creating text editor themes. Built with Om Next.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Koeeoadi

Koeeoadi is a web app for building color themes for Emacs and Vim (GUI only). Click here to check it out.

./koeeoadi.png

It’s somewhat different from other online theme creators because you can click directly on code to edit its styling. It also supports definition of custom faces. This means you can define styles for any Emacs face or Vim highlighting group. In addition to theme export, you can also save your theme to a .koee file for editing later.

I built Koeeoadi in order to learn more about Om Next, a very awesome Clojurescript framework for building web applications. I highly recommend checking it out if you haven’t already.

If you’re working on an Om Next app and using this repo as a reference, then please keep in mind that I’m still figuring out the best way to do things in Om so please don’t assume everything here is exemplary.

Face Mapping

Koeeoadi expects you to style the default faces. These faces cover basic programming language syntax. The table below shows how Koeeoadi’s faces map to the built-in faces and highlighting groups of Emacs and VIM, respectively.

Koeeoadi Default FacesEmacs FaceVim Syntax Group
backgrounddefaultNormal
defaultdefaultNormal
builtinfont-lock-builtin-face-
comment-delimiterfont-lock-comment-delimiter-faceComment
commentfont-lock-comment-faceComment
constantfont-lock-constant-faceConstant
docfont-lock-doc-faceComment
function-namefont-lock-function-name-faceFunction
keywordfont-lock-keyword-faceException - Label - Repeat - Conditional - Keyword
preprocessorfont-lock-preprocessor-facePreProc - Include - Define - Macro - PreCondit
stringfont-lock-string-faceString
typefont-lock-type-faceType
variable-namefont-lock-variable-name-faceIdentifier

There are two themes included with Koeeoadi that contain the most common VIM and Emacs faces. These are called ‘vim-theme-all-faces’ and ‘emacs-theme-all-faces’. You may want to use those out if you’re looking to build an extensive theme.

Contribution

Pull requests are welcome.

Remaining Tasks

Add tests

Finish TODO items in code

Add support for other popular editors

Add fallback theme for terminal users (not sure if possible)

About

A Clojurescript web app for creating text editor themes. Built with Om Next.

License:Eclipse Public License 1.0


Languages

Language:Clojure 84.1%Language:CSS 12.5%Language:Emacs Lisp 1.9%Language:JavaScript 0.4%Language:HTML 0.4%Language:C 0.3%Language:Shell 0.3%Language:Ruby 0.1%