org-el-index

Generate an index of Elisp definitions for org-mode
git clone https://git.jamzattack.xyz/org-el-index
Log | Files | Refs | LICENSE

README.org (10110B)


      1 #+title: Org Elisp Index
      2 #+author: Jamie Beardslee
      3 #+email: jdb@jamzattack.xyz
      4 
      5 This library provides a way to generate a full list of definitions
      6 from an Elisp file in org-mode.
      7 
      8 To generate an index, simply open up your org file, use =M-x
      9 org-el-index-file RET=, and select the file to index.  This will insert
     10 a big list of definitions into the current buffer.
     11 
     12 * Scope of indexing
     13 
     14 Three custom options are supported:
     15 
     16 - *Variable*: [[help:org-el-index-interactive-only][org-el-index-interactive-only]] (default =nil=)
     17 
     18   Whether or not to exclude non-interactive functions.
     19   - Type: =boolean=
     20 
     21 - *Variable*: [[help:org-el-index-custom-only][org-el-index-custom-only]] (default =nil=)
     22 
     23   Whether or not to exclude non-customizable variables.
     24   - Type: =boolean=
     25 
     26 - *Variable*: [[help:org-el-index-single-hyphen-only][org-el-index-single-hyphen-only]] (default =t=)
     27 
     28   Whether or not to exclude definitions containing "--".
     29   - Type: =boolean=
     30 
     31 Three additional commands are also defined, which will disregard the
     32 above options:
     33 
     34 - *Function*: ([[help:org-el-index-file-large][org-el-index-file-large]] file)
     35 
     36   Generate a large org mode index for the definitions in FILE.
     37   This includes all supported definitions.
     38 
     39 - *Function*: ([[help:org-el-index-file-medium][org-el-index-file-medium]] file)
     40 
     41   Generate a medium org mode index for the definitions in FILE.
     42   This includes all definitions unless their name contains "--"
     43 
     44 - *Function*: ([[help:org-el-index-file-small][org-el-index-file-small]] file)
     45 
     46   Generate a small org mode index for the definitions in FILE.
     47   This includes only custom options and interactive commands.
     48 
     49 * Examples
     50 ** "Small" index
     51 You can exclude non-interactive functions and non-customizable
     52 variables by using [[help:org-el-index-file-small][org-el-index-file-small]] or setting the below
     53 options:
     54 #+begin_src emacs-lisp :exports code :results none
     55   (setq org-el-index-custom-only t
     56 	org-el-index-interactive-only t
     57 	org-el-index-single-hyphen-only t)
     58 #+end_src
     59 
     60 - *Variable*: [[help:org-el-index-interactive-only][org-el-index-interactive-only]] (default =nil=)
     61 
     62   Whether or not to exclude non-interactive functions.
     63   - Type: =boolean=
     64 
     65 - *Variable*: [[help:org-el-index-custom-only][org-el-index-custom-only]] (default =nil=)
     66 
     67   Whether or not to exclude non-customizable variables.
     68   - Type: =boolean=
     69 
     70 - *Variable*: [[help:org-el-index-single-hyphen-only][org-el-index-single-hyphen-only]] (default =t=)
     71 
     72   Whether or not to exclude definitions containing "--".
     73   - Type: =boolean=
     74 
     75 - *Function*: ([[help:org-el-index-file][org-el-index-file]] file)
     76 
     77   Generate an org mode index for the definitions in FILE.
     78   To adjust what definitions are indexed, customize the variables
     79   [[help:org-el-index-interactive-only][org-el-index-interactive-only]], [[help:org-el-index-custom-only][org-el-index-custom-only]], and
     80   [[help:org-el-index-single-hyphen-only][org-el-index-single-hyphen-only]].
     81 
     82 - *Function*: ([[help:org-el-index-file-large][org-el-index-file-large]] file)
     83 
     84   Generate a large org mode index for the definitions in FILE.
     85   This includes all supported definitions.
     86 
     87 - *Function*: ([[help:org-el-index-file-medium][org-el-index-file-medium]] file)
     88 
     89   Generate a medium org mode index for the definitions in FILE.
     90   This includes all definitions unless their name contains "--"
     91 
     92 - *Function*: ([[help:org-el-index-file-small][org-el-index-file-small]] file)
     93 
     94   Generate a small org mode index for the definitions in FILE.
     95   This includes only custom options and interactive commands.
     96 
     97 ** "Large" index
     98 Of course, you can include all definitions by using
     99 [[help:org-el-index-file-large][org-el-index-file-large]] or setting the below options:
    100 #+begin_src emacs-lisp :exports code :results none
    101   (setq org-el-index-custom-only nil
    102 	org-el-index-interactive-only nil
    103 	org-el-index-single-hyphen-only nil)
    104 #+end_src
    105 
    106 - *Variable*: [[help:org-el-index-interactive-only][org-el-index-interactive-only]] (default =nil=)
    107 
    108   Whether or not to exclude non-interactive functions.
    109   - Type: =boolean=
    110 
    111 - *Variable*: [[help:org-el-index-custom-only][org-el-index-custom-only]] (default =nil=)
    112 
    113   Whether or not to exclude non-customizable variables.
    114   - Type: =boolean=
    115 
    116 - *Variable*: [[help:org-el-index-single-hyphen-only][org-el-index-single-hyphen-only]] (default =t=)
    117 
    118   Whether or not to exclude definitions containing "--".
    119   - Type: =boolean=
    120 
    121 - *Function*: ([[help:org-el-index--read-buffer][org-el-index--read-buffer]] buffer)
    122 
    123   Read all forms in BUFFER and return them as a list.
    124 
    125 - *Function*: ([[help:org-el-index--read-file][org-el-index--read-file]] file)
    126 
    127   Read all forms in FILE and return them as a list.
    128 
    129 - *Function*: ([[help:org-el-index--remove-cruft][org-el-index--remove-cruft]] sexps)
    130 
    131   Remove all forms from SEXPS that aren't wanted.
    132   The list of unwanted forms is determined by the custom variables
    133   [[help:org-el-index-interactive-only][org-el-index-interactive-only]], [[help:org-el-index-custom-only][org-el-index-custom-only]], and
    134   [[help:org-el-index-single-hyphen-only][org-el-index-single-hyphen-only]].
    135 
    136 - *Function*: ([[help:org-el-index--parse-docstring][org-el-index--parse-docstring]] docstring)
    137 
    138   Turn Emacs' quote notation into org mode help links.
    139   If DOCSTRING is not a string, return "No docstring provided".
    140 
    141 - *Function*: ([[help:org-el-index--helpify][org-el-index--helpify]] name)
    142 
    143   Create an org mode help link to NAME.
    144 
    145 - *Function*: ([[help:org-el-index--parse-defvar][org-el-index--parse-defvar]] form)
    146 
    147   Parse the [[help:defvar][defvar]] FORM.
    148   Return a string containing org mode syntax.
    149 
    150 - *Function*: ([[help:org-el-index--parse-defcustom][org-el-index--parse-defcustom]] form)
    151 
    152   Parse the [[help:defcustom][defcustom]] FORM.
    153   Return a string containing org mode syntax.
    154 
    155 - *Function*: ([[help:org-el-index--parse-defun][org-el-index--parse-defun]] form)
    156 
    157   Parse the [[help:defun][defun]] FORM.
    158   Return a string containing org mode syntax.
    159 
    160 - *Function*: ([[help:org-el-index--parse-defmacro][org-el-index--parse-defmacro]] form)
    161 
    162   Parse the [[help:defmacro][defmacro]] FORM.
    163   Return a string containing org mode syntax.
    164 
    165 - *Function*: ([[help:org-el-index--parse-define-minor-mode][org-el-index--parse-define-minor-mode]] form)
    166 
    167   Parse the [[help:define-minor-mode][define-minor-mode]] FORM.
    168   Return a string containing org mode syntax.
    169 
    170 - *Function*: ([[help:org-el-index--parse-define-derived-mode][org-el-index--parse-define-derived-mode]] form)
    171 
    172   Parse the [[help:define-derived-mode][define-derived-mode]] FORM.
    173   Return a string containing org mode syntax.
    174 
    175 - *Function*: ([[help:org-el-index--parse-anything][org-el-index--parse-anything]] form)
    176 
    177   Parse FORM.
    178   Return a string containing org mode syntax
    179 
    180 - *Function*: ([[help:org-el-index--parse-list][org-el-index--parse-list]] forms)
    181 
    182   Parse a list of FORMS.
    183   Return a string containing org mode syntax.
    184 
    185 - *Function*: ([[help:org-el-index--parse-buffer][org-el-index--parse-buffer]] buffer)
    186 
    187   Parse BUFFER.
    188   Return a string containing org mode syntax.
    189 
    190 - *Function*: ([[help:org-el-index--parse-file][org-el-index--parse-file]] file)
    191 
    192   Parse FILE.
    193   Return a string containing org mode syntax.
    194 
    195 - *Function*: ([[help:org-el-index-file][org-el-index-file]] file)
    196 
    197   Generate an org mode index for the definitions in FILE.
    198   To adjust what definitions are indexed, customize the variables
    199   [[help:org-el-index-interactive-only][org-el-index-interactive-only]], [[help:org-el-index-custom-only][org-el-index-custom-only]], and
    200   [[help:org-el-index-single-hyphen-only][org-el-index-single-hyphen-only]].
    201 
    202 - *Function*: ([[help:org-el-index-file-large][org-el-index-file-large]] file)
    203 
    204   Generate a large org mode index for the definitions in FILE.
    205   This includes all supported definitions.
    206 
    207 - *Function*: ([[help:org-el-index-file-medium][org-el-index-file-medium]] file)
    208 
    209   Generate a medium org mode index for the definitions in FILE.
    210   This includes all definitions unless their name contains "--"
    211 
    212 - *Function*: ([[help:org-el-index-file-small][org-el-index-file-small]] file)
    213 
    214   Generate a small org mode index for the definitions in FILE.
    215   This includes only custom options and interactive commands.
    216 
    217 ** "Medium" index
    218 A good middle ground between the above two can be achieved using
    219 [[help:org-el-index-file-medium][org-el-index-file-medium]], which uses the following (default) settings:
    220 #+begin_src emacs-lisp :exports code :results none
    221   (setq org-el-index-custom-only nil
    222 	org-el-index-interactive-only nil
    223 	org-el-index-single-hyphen-only t)
    224 #+end_src
    225 
    226 - *Variable*: [[help:org-el-index-interactive-only][org-el-index-interactive-only]] (default =nil=)
    227 
    228   Whether or not to exclude non-interactive functions.
    229   - Type: =boolean=
    230 
    231 - *Variable*: [[help:org-el-index-custom-only][org-el-index-custom-only]] (default =nil=)
    232 
    233   Whether or not to exclude non-customizable variables.
    234   - Type: =boolean=
    235 
    236 - *Variable*: [[help:org-el-index-single-hyphen-only][org-el-index-single-hyphen-only]] (default =t=)
    237 
    238   Whether or not to exclude definitions containing "--".
    239   - Type: =boolean=
    240 
    241 - *Function*: ([[help:org-el-index-file][org-el-index-file]] file)
    242 
    243   Generate an org mode index for the definitions in FILE.
    244   To adjust what definitions are indexed, customize the variables
    245   [[help:org-el-index-interactive-only][org-el-index-interactive-only]], [[help:org-el-index-custom-only][org-el-index-custom-only]], and
    246   [[help:org-el-index-single-hyphen-only][org-el-index-single-hyphen-only]].
    247 
    248 - *Function*: ([[help:org-el-index-file-large][org-el-index-file-large]] file)
    249 
    250   Generate a large org mode index for the definitions in FILE.
    251   This includes all supported definitions.
    252 
    253 - *Function*: ([[help:org-el-index-file-medium][org-el-index-file-medium]] file)
    254 
    255   Generate a medium org mode index for the definitions in FILE.
    256   This includes all definitions unless their name contains "--"
    257 
    258 - *Function*: ([[help:org-el-index-file-small][org-el-index-file-small]] file)
    259 
    260   Generate a small org mode index for the definitions in FILE.
    261   This includes only custom options and interactive commands.
    262 
    263 * License
    264 
    265 GPL3+