1 The following is a list of ideas of functionality which would be nice
2 to have in `rst.el`. In the examples a ``@`` stands for the cursor.
7 * Convert the region to an HTML id
9 * For instance "Eine Überschrift" to "eine-berschrift"
11 * According the same rules as reST does this
13 Jump to internal target
14 =======================
16 * A command to jump to the internal target the point is on
22 * Footnotes / citations
24 * Inline internal targets
26 * Hyperlink target definition
28 * Substitution definition
30 * See hunk #26 in `rst_el-emacs_V23_1_patch1_1_2` vs. `emacs_V23_1`
33 Completion for directive options
34 ================================
41 with the cursor at the asterisk
43 * There should be a command which offers all the possible options for
44 this particular directive as completion
46 * May be `skeleton.el` can also be useful
48 Completion for directives
49 =========================
55 * There should be a command which offers all directives as completion
57 * May be this should work for other keywords as well
59 * May be this could work even at the beginning of the line
61 * Completion must be bound to M-TAB
63 * Already existing binding must be chained
65 * May be `expand.el` can help (look in package finder)?
67 * May be `hippie` is good here
69 * Check `(info)autotype`
71 Completion for user-defined elements
72 ====================================
86 * There should be a command which offers all defined substitutions /
87 footnotes / links as completion
89 Insertion of link alias
90 =======================
97 This is about the `aspect of something`_@
99 * There should be a command which asks you for an alias for the link,
100 add the alias and change the link ::
102 .. _aspects of something:
107 This is about the `aspects of something`_@
109 Smart use of `iimage-mode`
110 ==========================
112 * There is `iimage-mode` which shows ``.. image::``\s in Emacs
114 * May be we can add a binding to toggle it
119 * If the TOC is displayed in the speedbar this could be used for
122 toc-mode without markup
123 =======================
125 * The markup which may be contained in a section title is not useful
126 in toc-mode and should be suppressed
128 Sophisticated navigation in sections
129 ====================================
131 * Navigation in sections similar to navigation in other structured data
139 * C-M-f / C-M-b für Forward / Backward
141 Display of current location
142 ===========================
144 * Display the "section path" to the current point
146 * Like in XML: In which element is the point?
148 toc-mode only to a certain level
149 ================================
151 * If a TOC buffer is created a prefix argument should limit the depth
152 of the listing to the given level
157 * Imenu could be supported
164 * Support for `outline-mode` / `allout-mode` would be nice
166 * Should consider section titles
168 * May be item lists can also be included
170 * Using `allout-mode` is difficult
172 * It's not customizable enough for the complex syntax of
175 * However, some commands make sense
181 * Some alteration commands
183 * Should be reimplemented
185 * Key bindings need to be reused
187 * However, care must be taken if a file uses `allout-mode` for
188 instance by comment strings
190 * In this case key bindings must not be overridden
192 * A command adding / updating `allout-mode` tags could be a solution
194 Sophisticated filling
195 =====================
197 * These things must be filled special:
203 * VeryLongWordSuchAsAnURLVeryLongWordSuchAsAnURLVeryLongWordSuchAsAnURLVeryLongWordSuchAsAnURLVeryLongWordSuchAsAnURL
205 should work as expected by *not* breaking the line
207 * These things may not be filled at all
217 Sophisticated indentation
218 =========================
220 * It should be generally possible to shift one more to the right
222 * This makes indentation for quotes possible
224 * But not for literal blocks
226 * For item lists the best tab should be on the same level as the last
233 * The second best tab should be where text starts::
239 * <backtab> should be used to indent in the other direction
241 * Or may be C-u <tab> but this has a different meaning
243 * <tab> could obsolete C-c C-r <tab>
245 * For this the indentation needs to be determined at the start
248 * <tab> over list works::
257 * <tab> over list doesn't work::
269 * A command would be nice which
271 * transforms the first level of a nested list in a region into a
274 * removes one level of indentation from the rest of the list
276 Change section level by more than one step
277 ==========================================
279 * It would be nice if <C-h> `rst-adjust` could rotate a section
280 adornment more than one level
282 * A modification of the semantic of the prefix arguments could do this
284 * Non-zero numeric prefix arg n rotates n step in the given direction
286 * Prefix arg 0 toggles overline / underline
288 * This would be different from current setup
290 Compiling for syntax check
291 ==========================
293 * Compiling with results going to `/dev/null` would be useful
295 * This would just do a syntax check with no files lying around
297 * Toolset choice for <C-c C-c C-c> `rst-compile` must be by
298 customizable if at all necessary
300 * Customization group must be used
302 Renumber an exisiting enumeration
303 =================================
305 * Renumbering an exisiting enumeration is not possible yet
307 Command to move across blocks
308 =============================
310 * A command moving forward / backward across the content blocks of the
311 current block would be nice
313 * For instance: Move across all blocks contained in an item or field
315 * This would move to the start of the sibling of the current block
317 * Would allow to jump to the next item on the same level in a list
319 * <C-M-f> `forward-sexp` could be a nice binding
321 rst-toc-insert features
322 =======================
324 * The `contents::` options could be parsed to figure out how deep to
325 render the inserted TOC
327 * On load, detect any existing TOCs and set the properties for links
329 * TOC insertion should have an option to add empty lines
331 * TOC insertion should deal with multiple lines
333 * Automatically detect if we have a `section-numbering::` in the
334 corresponding section, to render the toc.
336 Automatic handling of `.txt` files
337 ----------------------------------
339 It would be nice to differentiate between text files using
340 reStructuredText and other general text files. If we had a function to
341 automatically guess whether a `.txt` file is following the
342 reStructuredText conventions, we could trigger `rst-mode` without
343 having to hard-code this in every text file, nor forcing the user to
344 add a local mode variable at the top of the file. We could perform
345 this guessing by searching for a valid adornment at the top of the
346 document or searching for reStructuredText directives further on.
348 Entry level for rst-straighten-adornments
349 -----------------------------------------
351 * `rst-straighten-adornments` should have an entry level to start at a
352 lower than the top level
354 * I for one prefer a verbose style for top level titles which is not
355 appropriate for documents without titles
357 * Should be done by a prefix argument