index f176427272e846508fc2cfd52b732b4e5f9c32f9..2ae71df2c942cb07ac5f0b53f6483c0d592d088f 100644 (file)
--- a/TODO
+++ b/TODO
----
Features that should be explored.
- - Repository status view.
+Before tig-1.0
+~~~~~~~~~~~~~~
- - Better text-input support. From setsyx(3):
+ - Better text-input support.
- 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.
+ - Add an edit keymap so the "editor" can be customized.
+ - Allow the cursor to navigate in the input area.
- - 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).
+ - Rewrite revgraph handling.
- - 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.
+ The commit structure should be expanded to have a parent member,
+ which points to the parent commits.
- - 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.
+ - Make main view support navigating the revision graph using the
+ parent action.
+
+ - Color the revgraph to make it easier to follow branches.
+
+ 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.