Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/karimaziev/flymenu

Transient menu for flymake.
https://github.com/karimaziev/flymenu

Last synced: 4 days ago
JSON representation

Transient menu for flymake.

Awesome Lists containing this project

README

        

#+OPTIONS: ^:nil tags:nil num:nil

* About

Transient interface for flymenu.

* Table of Contents :TOC_2_gh:QUOTE:
#+BEGIN_QUOTE
- [[#about][About]]
- [[#requirements][Requirements]]
- [[#installation][Installation]]
- [[#with-use-package-and-straightel][With use-package and straight.el]]
- [[#manual-installation][Manual installation]]
- [[#usage][Usage]]
- [[#customization][Customization]]
#+END_QUOTE

* Requirements

| Name | Version |
|-------------+---------|
| Emacs | 28.1 |
| ~transient~ | 0.4.0 |

* Installation

** With use-package and straight.el
#+begin_src elisp :eval no
(use-package flymenu
:straight (flymenu
:repo "KarimAziev/flymenu"
:type git
:host github)
:commands (flymenu-flymake))
#+end_src

** Manual installation

Download the source code and put it wherever you like, e.g. into =~/.emacs.d/flymenu/=

#+begin_src shell :eval no
git clone https://github.com/KarimAziev/flymenu.git ~/.emacs.d/flymenu/
#+end_src

Add the downloaded directory to the load path:

#+begin_src elisp :eval no
(add-to-list 'load-path "~/.emacs.d/flymenu/")
(require 'flymenu)
#+end_src

* Usage
Flymenu is designed to be intuitive and easy to use, so simply invoke the
~M-x flymenu-flymake~ to open a menu with Flymake commands and options for enabling/disabling Flymake backends. The backends are generated dynamically based on the currently active checkers and the contents of =flymenu-known-flymake-backends=.

* Customization

*** ~flymenu-known-flymake-backends~
Alist of known Flymake backends with transient properties.

Each entry in the list is a cons cell, where the car is a Flymake backend - a function that can be added to =flymake-diagnostic-functions=, and the cdr is a list of transient properties for that backend.

Default value is:

#+begin_src elisp
'((elisp-flymake-byte-compile
(:transient . t)
(:if-mode . emacs-lisp-mode))
(elisp-flymake-checkdoc
(:if-mode . emacs-lisp-mode)
(:key . "d")
(:transient . t)))
#+end_src