Emacs library to facilitate the creation of tabulated-list based UIs
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Damien Cassou 3226e1fc16 Merge branch '0.2.0' into 'master' 1 year ago
examples Document and improve navigel-examples-fs.el 1 year ago
media Add initial README.org 1 year ago
.gitlab-ci.yml Initial commit 1 year ago
COPYING Initial commit 1 year ago
Makefile Initial commit 1 year ago
README.org Add initial README.org 1 year ago
navigel.el Release 0.2.0 1 year ago



<p> <a href="https://stable.melpa.org/#/navigel"> <img alt="MELPA Stable" src="https://stable.melpa.org/packages/navigel-badge.svg"/> </a>

<a href="https://melpa.org/#/navigel"> <img alt="MELPA" src="https://melpa.org/packages/navigel-badge.svg"/> </a>

<a href="https://gitlab.petton.fr/DamienCassou/navigel/commits/master"> <img alt="pipeline status" src="https://gitlab.petton.fr/DamienCassou/navigel/badges/master/pipeline.svg" /> </a> </p>


The navigel package is a library that makes it simpler for Emacs Lisp developers to define user-interfaces based on tablists (also known as tabulated-lists). Overriding a few (CL) methods and calling `navigel-open' is all that's required to get a nice UI to navigate your domain objects (files, music library, database, etc.).

Navigel displays "entities" in a tablist. An "entity" is whatever you want that has a name. If an entity defines some "children", then pressing RET on the entity will list its children in another tablist.

Some features of navigel include:

  • pressing RET on an entity lists the entity's children in another tablist;

  • pressing ^ opens the parent of the current entity;

  • pressing m marks the entity at point;

  • pressing d deletes the marked entities.

This package depends on tablist to get support for marking and more.


This code is a library and is meant for Emacs Lisp developers. The source code is well documented and organized in sections. Please have a look at it.

Please have a look at the examples/navigel-examples-fs.el file for an example on how to use the library. This file guides the reader through an implementation of a tablist-based directory navigator with support for marking and deleting:



See COPYING. Copyright (c) 2019 Damien Cassou.

<a href="https://liberapay.com/DamienCassou/donate"> <img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg"> </a>