Perché il defgroup è utile?


9

Sto leggendo la idofonte e vedo:

(defgroup ido nil
 "Switch between files using substrings."
 :group 'extensions
 :group 'convenience
 :version "22.1"
 :link '(emacs-commentary-link :tag "Commentary" "ido.el")
 :link '(emacs-library-link :tag "Lisp File" "ido.el")
 :link '(custom-manual "(ido) Top")
 :link '(info-link "(ido) Customization"))

defgroupappare nella parte superiore di molti pacchetti di grandi dimensioni. Vedo che fa questo:

Dichiarare SYMBOL come gruppo di personalizzazione contenente MEMBRI. SIMBOLO non ha bisogno di essere quotato.

E la pagina sui gruppi di personalizzazione non risponde realmente quando o come usarli. Quando o come li usi?

Risposte:


8

Quando e perché usi un raggruppamento? Essere in grado di agire sul gruppo nel suo insieme o sui suoi singoli membri - solo i suoi membri. Questa è la risposta anche qui.

  • Esistono comandi e altre funzioni che agiscono su un determinato gruppo o gruppo di gruppi. customize-groupè uno che agisce su un determinato gruppo. customize-apropos-groupsè uno che agisce su un insieme di gruppi.

  • Quando si utilizza customize-group, vengono visualizzati i collegamenti che consentono di personalizzare i sottogruppi (se presenti) e i singoli membri (opzioni e facce) di quel gruppo.

Inoltre, un gruppo in genere ha un prefisso e puoi usarlo per la corrispondenza dei modelli con nomi di funzioni, volti, ecc. Quando interagisci con Emacs. Questo è un altro modo di limitare le azioni a un determinato insieme (gruppo di personalizzazione) delle cose.

Un gruppo può anche fornire un rapido accesso al documento online, al codice sorgente, alla segnalazione di bug, ecc. Per un pacchetto. Ecco, ad esempio, la definizione di gruppo Icicles-Key-Completion(con un po 'di codice eliminato).

(defgroup Icicles-Key-Completion nil
  "Icicles preferences related to key completion (`icicle-complete-keys')."
  :prefix "icicle-" :group 'Icicles
  :link `(url-link :tag "Send Bug Report" ...)
  :link '(url-link :tag "Other Libraries by Drew" ...)
  :link '(url-link :tag "Download" ...)
  :link '(url-link :tag "Description" ...)
  :link '(emacs-commentary-link :tag "Doc-Part2" "icicles-doc2")
  :link '(emacs-commentary-link :tag "Doc-Part1" "icicles-doc1"))

Questo gruppo è esso stesso un sottogruppo di gruppo Icicles(vedi :group). Fornisce collegamenti nel buffer Personalizza per l'invio di una segnalazione di bug, il download e l'accesso al documento nel codice sorgente o sul Web.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.