chiark
/
gitweb
/
~mdw
/
tig
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
a889180
)
Fix title in split view; scroll/move reporting; ...
author
Jonas Fonseca
<fonseca@diku.dk>
Fri, 12 May 2006 11:06:04 +0000
(13:06 +0200)
committer
Jonas Fonseca
<fonseca@antimatter.localdomain>
Fri, 12 May 2006 11:06:04 +0000
(13:06 +0200)
tig.c
patch
|
blob
|
blame
|
history
diff --git
a/tig.c
b/tig.c
index eb7373c96f0450c7c5f10d4ff1dc2f8d0d9bf3e5..c5f5419a7284649ca2cdd824f91740439d22e4c2 100644
(file)
--- a/
tig.c
+++ b/
tig.c
@@
-306,13
+306,12
@@
parse_options(int argc, char *argv[])
/**
* Git command options
* ~~~~~~~~~~~~~~~~~~~
/**
* Git command options
* ~~~~~~~~~~~~~~~~~~~
- *
* All git command options specified on the command line will
* be passed to the given command and all will be shell quoted
* before used.
*
* NOTE: It is possible to specify options even for the main
* All git command options specified on the command line will
* be passed to the given command and all will be shell quoted
* before used.
*
* NOTE: It is possible to specify options even for the main
- * view. If doing this you should not touch the
--pretty
+ * view. If doing this you should not touch the
`--pretty`
* option.
*
* Example on how to open the log view and show both author and
* option.
*
* Example on how to open the log view and show both author and
@@
-827,7
+826,7
@@
scroll_view(struct view *view, enum request request)
lines = view->lines - view->offset;
if (lines == 0 || view->offset + view->height >= view->lines) {
lines = view->lines - view->offset;
if (lines == 0 || view->offset + view->height >= view->lines) {
- report("
Already on
last line");
+ report("
Cannot scroll beyond the
last line");
return;
}
break;
return;
}
break;
@@
-839,7
+838,7
@@
scroll_view(struct view *view, enum request request)
lines = view->offset;
if (lines == 0) {
lines = view->offset;
if (lines == 0) {
- report("
Already on
first line");
+ report("
Cannot scroll beyond the
first line");
return;
}
return;
}
@@
-891,11
+890,11
@@
move_view(struct view *view, enum request request)
}
if (steps <= 0 && view->lineno == 0) {
}
if (steps <= 0 && view->lineno == 0) {
- report("
Already on
first line");
+ report("
Cannot move beyond the
first line");
return;
} else if (steps >= 0 && view->lineno + 1 >= view->lines) {
return;
} else if (steps >= 0 && view->lineno + 1 >= view->lines) {
- report("
Already on
last line");
+ report("
Cannot move beyond the
last line");
return;
}
return;
}
@@
-1058,9
+1057,6
@@
update_view(struct view *view)
}
}
}
}
- /* CPU hogilicious! */
- update_view_title(view);
-
if (redraw_from >= 0) {
/* If this is an incremental update, redraw the previous line
* since for commits some members could have changed when
if (redraw_from >= 0) {
/* If this is an incremental update, redraw the previous line
* since for commits some members could have changed when
@@
-1072,6
+1068,10
@@
update_view(struct view *view)
redraw_view_from(view, redraw_from);
}
redraw_view_from(view, redraw_from);
}
+ /* Update the title _after_ the redraw so that if the redraw picks up a
+ * commit reference in view->ref it'll be available here. */
+ update_view_title(view);
+
if (ferror(view->pipe)) {
report("Failed to read: %s", strerror(errno));
goto end;
if (ferror(view->pipe)) {
report("Failed to read: %s", strerror(errno));
goto end;
@@
-1155,7
+1155,7
@@
open_view(struct view *prev, enum request request, enum open_flags flags)
if (split && prev->lineno - prev->offset >= prev->height) {
/* Take the title line into account. */
if (split && prev->lineno - prev->offset >= prev->height) {
/* Take the title line into account. */
- int lines = prev->lineno - prev->height + 1;
+ int lines = prev->lineno - prev->
offset - prev->
height + 1;
/* Scroll the view that was split if the current line is
* outside the new limited view. */
/* Scroll the view that was split if the current line is
* outside the new limited view. */
@@
-1263,7
+1263,10
@@
view_driver(struct view *view, enum request request)
return TRUE;
case REQ_SCREEN_REDRAW:
return TRUE;
case REQ_SCREEN_REDRAW:
- redraw_view(view);
+ foreach_view (view, i) {
+ redraw_view(view);
+ update_view_title(view);
+ }
break;
case REQ_SCREEN_UPDATE:
break;
case REQ_SCREEN_UPDATE:
@@
-1533,8
+1536,10
@@
main_read(struct view *view, char *line)
/* Require titles to start with a non-space character at the
* offset used by git log. */
/* Require titles to start with a non-space character at the
* offset used by git log. */
+ /* FIXME: More gracefull handling of titles; append "..." to
+ * shortened titles, etc. */
if (strncmp(line, " ", 4) ||
if (strncmp(line, " ", 4) ||
- isspace(line[
5
]))
+ isspace(line[
4
]))
break;
string_copy(commit->title, line + 4);
break;
string_copy(commit->title, line + 4);