Emacs library to facilitate the creation of tabulated-list based UIs
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
jao 0a2d624d6b
Per application single-buffer mode
1 rok temu
examples Per application single-buffer mode 11 miesięcy temu
media Add initial README.org 1 rok temu
test Introduce navigel-method to simplify usages of cl-defmethod 1 rok temu
.drone.yml Switch from gitlab-ci to drone 1 rok temu
.gitignore Per application single-buffer mode 11 miesięcy temu
COPYING Initial commit 1 rok temu
Makefile Update makel 1 rok temu
README.org Add support for bookmark 1 rok temu
navigel.el Per application single-buffer mode 11 miesięcy temu



<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.

Navigel automatically adds support for bookmarks and imenu.

This package depends on tablist to get support for marking, deletion and more. On top of the tablist package, navigel provides an easy way to specify the content of your tabulated lists: through entities specified with method overrides. This makes it a breath to have tablist-based navigation within domain objects.


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-ex-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>