consult-omni  by armindarvish

Emacs omni-search and productivity hub

Created 1 year ago
251 stars

Top 99.9% on SourcePulse

GitHubView on GitHub
Project Summary

<2-3 sentences summarising what the project addresses and solves, the target audience, and the benefit.> consult-omni provides Emacs users with a powerful, versatile omni-search capability directly within the minibuffer. It targets power users seeking to unify searches across diverse sources—web engines, AI assistants, local files, email, and notes—into a single, customizable interface, significantly boosting productivity by reducing context switching.

How It Works

Building on the consult Emacs library, consult-omni integrates various data sources via consult-omni-define-source. Sources can be synchronous (sync), asynchronous (async), or dynamic (dynamic). The package intelligently combines results from these types, presenting them in real-time as they arrive. It supports passing arguments and refining queries via structured syntax for complex, on-the-fly workflows.

Quick Start & Requirements

  • Installation: Requires Emacs >= 28.0 and the consult package. Installation via straight.el, elpaca, or manual methods.
  • Prerequisites: Emacs >= 28.0, consult. Recommended: vertico, orderless, embark.
  • Links: Project repository: https://github.com/armindarvish/consult-omni. YouTube tutorials are available.

Highlighted Details

  • Unified Omni-Search: Integrates dozens of sources: web (Google, Brave), AI (GPTel), local files (grep, rg), email (mu4e), notes, etc.
  • Dynamic & Static Commands: Offers both real-time type-ahead completion (dynamic) and traditional single-query searches (static).
  • Extensible & Modular: Designed for user customization; add new sources with minimal code. Load modules selectively.
  • Embark Integration: Supports embark actions on results (e.g., opening URLs, copying info).
  • Advanced Querying: Pass arguments to refine searches and narrow results using specific syntax.

Maintenance & Community

Development uses literate programming (.org files tangled to .el). Contributions via pull requests to the develop branch are welcome. Community interaction primarily through GitHub issues. Notable contributors: @karthink, @minad.

Licensing & Compatibility

  • License: The specific open-source license is not explicitly stated in the README.
  • Compatibility: Emacs >= 28.0.

Limitations & Caveats

Described as "early stage" with potential for bugs. Users must understand Emacs security risks and the terms of service for external APIs. Contributions require adherence to the literate programming workflow.

Health Check
Last Commit

2 weeks ago

Responsiveness

Inactive

Pull Requests (30d)
3
Issues (30d)
0
Star History
5 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.