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+