index c026004eaa9b02b8bf88257ed3a01a98f6cce746..2ae71df2c942cb07ac5f0b53f6483c0d592d088f 100644 (file)
--- a/TODO
+++ b/TODO
----
Features that should be explored.
- - Repository status view.
+Before tig-1.0
+~~~~~~~~~~~~~~
- - Add interface (somewhat like git-gui has) allowing a diff chunk to be
- staged/unstaged for the next commit.
+ - Better text-input support.
- - Better text-input support. From setsyx(3):
+ - Add an edit keymap so the "editor" can be customized.
+ - Allow the cursor to navigate in the input area.
- The setsyx routine sets the virtual screen cursor to y, x. If y
- and x are both -1, then leaveok is set. The two routines getsyx
- and setsyx are designed to be used by a library routine, which
- manipulates curses windows but does not want to change the
- current position of the program cursor. The library routine
- would call getsyx at the beginning, do its manipulation of its
- own windows, do a wnoutrefresh on its windows, call setsyx, and
- then call doupdate.
+ - Rewrite revgraph handling.
- - When the user wants to "view" a commit, you could show from which
- branch heads and from which tags the commit is reachable, and perhaps
- which tag is the latest among the ones reachable from that commit, as
- part of the commit detail information you display on the lower pane
- (log/diff view).
+ The commit structure should be expanded to have a parent member,
+ which points to the parent commits.
- - Use autoconf to check for iconv in libc and how it is declared (the
- 2nd argument is 'const' on FreeBSD / Mac OS X). Maybe also check for
- the AsciiDoc and XmlTo document tools.
+ - Make main view support navigating the revision graph using the
+ parent action.
- - The autoconf check could also be used to determine whether it is a
- newer git so that git-config will be used instead of git-repo-config.
+ - Color the revgraph to make it easier to follow branches.
- - Use non-blocking I/O + select() for incremental loading of view
- input. (debian bug #427093)
+ Other revgraph improvements:
+
+ - Show from which branch heads and tags a commit is reachable, and
+ perhaps which tag is the latest among the ones reachable from
+ that commit, as part of the diff view. How should rewritten parent
+ information be handled? Depends on new enhanced commit structure.
+
+ - Show the "active" (instead of the default) keybindings in the help
+ view. Also, display the keymap.
+
+Long term goals
+~~~~~~~~~~~~~~~
+
+ - Add a commit cache.
+
+ Many views use commit information and load it into their own custom
+ data structure. Having the information shared would make it easier to
+ do various interesting stuff across the views.
+
+ - Split sources of tig.c into multiple files.