Skip to content

seanirby/koeeoadi

Repository files navigation

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.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published