guix-devel/emacs
Alex Kost 7735c503b5 emacs: Factorize macros for defining interfaces.
Make a root 'guix-buffer-define-interface' macro.  It should generate a
common code for any type of interface.  Inherit 'guix-info-define-interface'
and 'guix-list-define-interface' from it.  They should provide a general
'info'/'list' interface for any data.  Finally, make
'guix-ui-define-interface' for the common code for interfaces to Guix
packages and generations, and inherit 'guix-ui-info-define-interface' and
'guix-ui-list-define-interface' from it.

* emacs/guix-base.el (guix-define-buffer-type): Rename to...
  (guix-buffer-define-interface): ... this.  Rename internal
  variables ('buf-' -> 'buffer-').  Move ':required' keyword to
  'guix-ui-define-interface'.
* emacs/guix-info.el (guix-info-define-interface): New macro.
  (guix-info-font-lock-keywords): New variable.
* emacs/guix-list.el (guix-list-define-entry-type): Rename to...
  (guix-list-define-interface): ... this.
  (guix-list-font-lock-keywords): New variable.
  (guix-list-describe-ids): Move and rename to...
* emacs/guix-ui.el: New file.
  (guix-ui-list-describe): ... this.
  (guix-ui-define-interface, guix-ui-info-define-interface)
  (guix-ui-list-define-interface): New macros.
  (guix-ui-font-lock-keywords): New variable.
* emacs.am (ELFILES): Add "emacs/guix-ui.el"
2016-01-02 17:25:35 +03:00
..
guix-backend.el emacs: Use socket instead of port. 2015-12-15 21:35:35 +03:00
guix-base.el emacs: Factorize macros for defining interfaces. 2016-01-02 17:25:35 +03:00
guix-build-log.el emacs: Add 'guix-build-log-find-file'. 2015-12-09 19:54:19 +03:00
guix-command.el emacs: Use "cl-list*" instead of "apply #'list". 2016-01-02 17:25:35 +03:00
guix-config.el.in emacs: config: Use "emacs-config-" prefix for constants. 2015-10-20 16:47:05 +03:00
guix-devel.el services: Add 'modify-services'. 2015-10-28 21:58:25 +01:00
guix-emacs.el emacs: Handle compiled autoloads. 2015-12-11 14:34:03 +03:00
guix-entry.el emacs: Add API for 'guix-entry'. 2016-01-02 17:25:35 +03:00
guix-external.el emacs: Use "cl-list*" instead of "apply #'list". 2016-01-02 17:25:35 +03:00
guix-geiser.el emacs: Fix 'guix-devel-setup-repl'. 2015-10-09 16:17:45 +03:00
guix-guile.el emacs: Fix 'guix-devel-setup-repl'. 2015-10-09 16:17:45 +03:00
guix-help-vars.el emacs: Add help variables. 2015-08-30 18:26:02 +03:00
guix-helper.scm.in emacs: Add missing directory to the guile load path. 2014-11-26 23:07:16 +03:00
guix-history.el Add Emacs user interface. 2014-09-03 23:50:35 +04:00
guix-info.el emacs: Factorize macros for defining interfaces. 2016-01-02 17:25:35 +03:00
guix-init.el emacs: 'guix-emacs-load-autoloads' takes a profile. 2015-12-06 12:46:10 +03:00
guix-list.el emacs: Factorize macros for defining interfaces. 2016-01-02 17:25:35 +03:00
guix-main.scm emacs: 'node-type' is in (guix graph) now. 2015-12-15 21:35:35 +03:00
guix-messages.el emacs: Add and use alist accessors. 2015-08-30 18:26:02 +03:00
guix-pcomplete.el emacs: Add shell completions for 'guix refresh --type'. 2015-10-31 23:21:23 +03:00
guix-popup.el emacs: Add "guix-popup.el". 2015-08-30 18:26:03 +03:00
guix-prettify.el emacs: Improve 'guix-prettify-regexp'. 2015-09-22 13:04:44 +03:00
guix-profiles.el emacs: config: Use "emacs-config-" prefix for constants. 2015-10-20 16:47:05 +03:00
guix-read.el emacs: Add 'guix-keyword-args-let'. 2016-01-02 17:25:35 +03:00
guix-ui.el emacs: Factorize macros for defining interfaces. 2016-01-02 17:25:35 +03:00
guix-utils.el emacs: info: Generalize inserting and formatting. 2016-01-02 17:25:35 +03:00
guix.el emacs: Add customization groups for faces. 2015-09-15 15:19:30 +03:00