TODO.rst 1.78 KB
Newer Older
HiPhish's avatar
HiPhish committed
1 2 3 4
#############################
 Things that need to be done
#############################

5
:date: 2017-04-08
HiPhish's avatar
HiPhish committed
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66

.. default-role:: code


When adding to or removing anything from this file please adjust the date at
the top.


Improve support for dotted file type
   Currently if the file type is `'a.b.c.d'` the plugin will loop over the list
   `['a', 'b', 'c', 'd']` and finally try `'a.b.c.d'`. What it needs to do is
   loop over all possible combinations of the list elements while preserving
   order. In this example the combinations would be

   #) `'a'`
   #) `'a.b'`
   #) `'a.b.c'`
   #) `'a.b.c.d'`
   #) `'b'`
   #) `'b.c'`
   #) `'b.c.d'`
   #) `'c.d'`
   #) `'d'`

Interface for new REPLs
   Defining a new REPL is already possible, but due to loading order users
   cannot change settings for it like they can for the built-in ones. What we
   need is some sort of `repl#define_repl()` function:

   .. code-block:: vim

      let s:ruby = {
          \ 'binary': 'irb',
          \ 'args': [],
          \ 'syntax': 'ruby',
          \ 'title': 'Ruby REPL',
      \ }

      call repl#define_repl('ruby', ruby)


Document everything
   That's self-evident.


Use a regular buffer
   At the moment we are using a terminal buffer, but this is subpar because the
   user cannot use regular Vim commands. A regular buffer that sends commands
   from the buffer to the REPL process and puts responses into the buffer would
   be a superior choice.


Have functions in addition to the command
   The `:Repl` command is a good interface for users, but other plugins could
   make use of `repl#...()`-style functions. A file type plugin could then use
   this plugin as a REPL framework.

   Ideas for functions:

   - `repl#determine_type()`: try to determine the type of the REPL based on
     the current buffer