/ivy-omni-org

An Ivy command which lets you visit Org buffers, files, bookmarks, and agenda commands

Primary LanguageEmacs LispGNU General Public License v3.0GPL-3.0

ivy-omni-org

https://melpa.org/packages/ivy-omni-org-badge.svg https://github.com/akirak/ivy-omni-org/workflows/lint/badge.svg?branch=master

This is an Emacs package which lets you access Org buffers, Org files, Org bookmarks, and custom org-agenda commands via a single Ivy interface. This is analogous to ivy-switch-buffer with virtual buffers enabled.

screenshots/ivy-omni-org-1.png

Note: ivy-filthy-rich is used to decorate buffer entries in this screenshot.

Table of contents

Prerequisites

  • Emacs 25.1
  • ivy
  • dash

Configuration

See my config for a comprehensive example of configuration.

Entry types

To configure the types (and the order) of contents displayed in ivy-omni-org command, customize ivy-omni-org-content-types variable. Its default value is '(buffers files agenda-commands bookmarks).

File sources

To configure the list of files, set ivy-omni-org-file-sources variable:

(setq ivy-omni-org-file-sources '(org-agenda-files))

ivy-omni-org-file-sources variable is a list of symbols, and each symbol in the list can be either a function returning a list of files or a variable containing a list of files.

If you are using org-starter package, the following setting is recomended:

(setq ivy-omni-org-file-sources '(org-starter-known-files))

Custom entry types and reordering the sections

By customizing ivy-omni-org-custom-content-types, you can display user-defined contents in ivy-omni-org.

An example integration is with org-ql, which is included in the package out of the box. That is, it lists org-ql-views defined within the package.

Usage

Run ivy-omni-org command.

To-Dos

  • [X] Add an action to visit the entry in other window
  • [ ] Add an action to kill the selected buffer
  • [ ] Add an action to create an entry or fire org-capture

Change log

0.2.2 (2020-01-25)

  • Add a command ivy-omni-org-bookmarks which displays only a list of bookmarks.
  • Add a custom variable ivy-omni-org-prepend-entry-type, which allows you to not prepending an entry type to each entry.
  • Add an argument to ivy-omni-org function :types, which lets you limit only certain types of entries.
    • When a single type is displayed, the entry type is not prepended.

License

GPL v3