An Emacs major mode for editing in pollen markup language
Emacs Lisp
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.


An Emacs major mode for editing pollen file.

The major mode provides font locks for

  • malformed (dangling) command character
  • comment
  • tag functions

These files also provide

  • Key-bindings in a minor mode for editing pollen files.
  • A company-mode backend for tag function completions.

Editing assistance


Pollen mode makes it easy to insert lozenge in a non-disturbing way: insert @ and hit the tab. @ will be turned into lozenge.

Along with tag function completions (see below), it is easier to insert correct tag functions now.

Lozenge tag completion

Block editing

Pollen mode supports block editing. C-c C-c will put the block under cursor into another buffer for special editing. You can turn on any mode you want in the new buffer without interfering original one.

Block Editing

Editing preprocess file

Pollen mode makes it easy to edit pollen preprocess files too. Emacs already provides useful mode for the file that pollen is preprocessing. When opens pollen preprocess file, Emacs will automatically turn on pollen minor mode for the buffer, so that you won't lose any convenient key-bindings of its major mode.

Tag Function Completions

company-pollen is a company-mode backend for supporting identifier completions. It supports completing identifiers exported from pollen modules you're editing. The completion works even if you have nested directory as the completion facility respects pollen configuration search path.

Server Integration

pollen-mode also provides functions to start, stop and resume pollen server. Most of actions need just one keystroke once the server has started. Start the server by pollen-server-start, and follow instructions on the server window.

Pollen Server


This package is available on Melpa (M-x list-packages). Search for pollen-mode and company-pollen.

Advanced users can also download the source from


To use the major mode, minor mode, and pollen server, do

(require 'pollen-mode)

To use completion, do

(require 'company-pollen)

To start the server, run M-x pollen-server-start, and then the server buffer has indicator for your next step.

Feedbacks and feature requests are very welcome. I write with pollen-mode everyday and I'd like to hear your thoughts on how to improve our editing experience.