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.

README.org 2.4KB

  1. * navigel
  3. <p>
  4. <a href="https://stable.melpa.org/#/navigel">
  5. <img alt="MELPA Stable" src="https://stable.melpa.org/packages/navigel-badge.svg"/>
  6. </a>
  7. <a href="https://melpa.org/#/navigel">
  8. <img alt="MELPA" src="https://melpa.org/packages/navigel-badge.svg"/>
  9. </a>
  10. <a href="https://gitlab.petton.fr/DamienCassou/navigel/commits/master">
  11. <img alt="pipeline status" src="https://gitlab.petton.fr/DamienCassou/navigel/badges/master/pipeline.svg" />
  12. </a>
  13. </p>
  14. #+END_HTML
  15. ** Summary
  16. The navigel package is a library that makes it simpler for Emacs Lisp
  17. developers to define user-interfaces based on tablists (also known as
  18. tabulated-lists). Overriding a few (CL) methods and calling
  19. `navigel-open' is all that's required to get a nice UI to navigate
  20. your domain objects (files, music library, database, etc.).
  21. Navigel displays "entities" in a tablist. An "entity" is whatever you
  22. want that has a name. If an entity defines some "children", then
  23. pressing ~RET~ on the entity will list its children in another
  24. tablist.
  25. Some features of navigel include:
  26. - pressing ~RET~ on an entity lists the entity's children in another
  27. tablist;
  28. - pressing ~^~ opens the parent of the current entity;
  29. - pressing ~m~ marks the entity at point;
  30. - pressing ~d~ deletes the marked entities.
  31. This package depends on [[https://github.com/politza/tablist][tablist]] to get support for marking, deletion
  32. and more. On top of the tablist package, navigel provides an easy way
  33. to specify the content of your tabulated lists: through entities
  34. specified with method overrides. This makes it a breath to have
  35. tablist-based navigation within domain objects.
  36. ** Usage
  37. This code is a library and is meant for Emacs Lisp developers. The
  38. source code is well documented and organized in sections. Please have
  39. a look at it.
  40. Please have a look at the [[file:examples/navigel-ex-fs.el][examples/navigel-ex-fs.el]] file for an
  41. example on how to use the library. This file guides the reader through
  42. an implementation of a tablist-based directory navigator with support
  43. for marking and deleting:
  44. [[file:media/files.png]]
  45. ** License
  46. See [[file:COPYING][COPYING]]. Copyright (c) 2019 Damien Cassou.
  47. #+BEGIN_HTML
  48. <a href="https://liberapay.com/DamienCassou/donate">
  49. <img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg">
  50. </a>
  51. #+END_HTML
  52. # LocalWords: navigel tablist tablists