less: shrink
This commit is contained in:
parent
4f82bdb050
commit
b78d1c045f
@ -1175,41 +1175,40 @@ static void goto_mark(void)
|
|||||||
static char opp_bracket(char bracket)
|
static char opp_bracket(char bracket)
|
||||||
{
|
{
|
||||||
switch (bracket) {
|
switch (bracket) {
|
||||||
case '{': case '[':
|
case '{': case '[': /* '}' == '{' + 2. Same for '[' */
|
||||||
return bracket + 2;
|
bracket++;
|
||||||
case '(':
|
case '(': /* ')' == '(' + 1 */
|
||||||
return ')';
|
bracket++;
|
||||||
|
break;
|
||||||
case '}': case ']':
|
case '}': case ']':
|
||||||
return bracket - 2;
|
bracket--;
|
||||||
case ')':
|
case ')':
|
||||||
return '(';
|
bracket--;
|
||||||
}
|
break;
|
||||||
return 0;
|
};
|
||||||
|
return bracket;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void match_right_bracket(char bracket)
|
static void match_right_bracket(char bracket)
|
||||||
{
|
{
|
||||||
int bracket_line = -1;
|
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (strchr(flines[cur_fline], bracket) == NULL) {
|
if (strchr(flines[cur_fline], bracket) == NULL) {
|
||||||
print_statusline("No bracket in top line");
|
print_statusline("No bracket in top line");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
bracket = opp_bracket(bracket);
|
||||||
for (i = cur_fline + 1; i < max_fline; i++) {
|
for (i = cur_fline + 1; i < max_fline; i++) {
|
||||||
if (strchr(flines[i], opp_bracket(bracket)) != NULL) {
|
if (strchr(flines[i], bracket) != NULL) {
|
||||||
bracket_line = i;
|
buffer_line(i);
|
||||||
break;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (bracket_line == -1)
|
|
||||||
print_statusline("No matching bracket found");
|
print_statusline("No matching bracket found");
|
||||||
buffer_line(bracket_line - max_displayed_line);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void match_left_bracket(char bracket)
|
static void match_left_bracket(char bracket)
|
||||||
{
|
{
|
||||||
int bracket_line = -1;
|
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (strchr(flines[cur_fline + max_displayed_line], bracket) == NULL) {
|
if (strchr(flines[cur_fline + max_displayed_line], bracket) == NULL) {
|
||||||
@ -1217,15 +1216,14 @@ static void match_left_bracket(char bracket)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bracket = opp_bracket(bracket);
|
||||||
for (i = cur_fline + max_displayed_line; i >= 0; i--) {
|
for (i = cur_fline + max_displayed_line; i >= 0; i--) {
|
||||||
if (strchr(flines[i], opp_bracket(bracket)) != NULL) {
|
if (strchr(flines[i], bracket) != NULL) {
|
||||||
bracket_line = i;
|
buffer_line(i);
|
||||||
break;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (bracket_line == -1)
|
|
||||||
print_statusline("No matching bracket found");
|
print_statusline("No matching bracket found");
|
||||||
buffer_line(bracket_line);
|
|
||||||
}
|
}
|
||||||
#endif /* FEATURE_LESS_BRACKETS */
|
#endif /* FEATURE_LESS_BRACKETS */
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user