mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
move del_lines
This commit is contained in:
parent
41fa6079b2
commit
f7fac33a1f
@ -1777,37 +1777,38 @@ void truncate_line(int fixpos)
|
|||||||
* Delete "nlines" lines at the cursor.
|
* Delete "nlines" lines at the cursor.
|
||||||
* Saves the lines for undo first if "undo" is TRUE.
|
* Saves the lines for undo first if "undo" is TRUE.
|
||||||
*/
|
*/
|
||||||
void
|
void del_lines (
|
||||||
del_lines(long nlines, int undo)
|
long nlines, /* number of lines to delete */
|
||||||
|
int undo /* if TRUE, prepare for undo */
|
||||||
|
)
|
||||||
{
|
{
|
||||||
long n;
|
long n;
|
||||||
linenr_T first = curwin->w_cursor.lnum;
|
linenr_T first = curwin->w_cursor.lnum;
|
||||||
|
|
||||||
if (nlines <= 0)
|
if (nlines <= 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// save the deleted lines for undo
|
/* save the deleted lines for undo */
|
||||||
if (undo && u_savedel(first, nlines) == FAIL)
|
if (undo && u_savedel(first, nlines) == FAIL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
for (n = 0; n < nlines; )
|
for (n = 0; n < nlines; ) {
|
||||||
{
|
if (curbuf->b_ml.ml_flags & ML_EMPTY) /* nothing to delete */
|
||||||
if (curbuf->b_ml.ml_flags & ML_EMPTY) // nothing to delete
|
break;
|
||||||
break;
|
|
||||||
|
|
||||||
ml_delete(first, TRUE);
|
ml_delete(first, true);
|
||||||
++n;
|
n++;
|
||||||
|
|
||||||
// If we delete the last line in the file, stop
|
/* If we delete the last line in the file, stop */
|
||||||
if (first > curbuf->b_ml.ml_line_count)
|
if (first > curbuf->b_ml.ml_line_count)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Correct the cursor position before calling deleted_lines_mark(), it may
|
/* Correct the cursor position before calling deleted_lines_mark(), it may
|
||||||
// trigger a callback to display the cursor.
|
* trigger a callback to display the cursor. */
|
||||||
curwin->w_cursor.col = 0;
|
curwin->w_cursor.col = 0;
|
||||||
check_cursor_lnum();
|
check_cursor_lnum();
|
||||||
|
|
||||||
// adjust marks, mark the buffer as changed and prepare for displaying
|
/* adjust marks, mark the buffer as changed and prepare for displaying */
|
||||||
deleted_lines_mark(first, n);
|
deleted_lines_mark(first, n);
|
||||||
}
|
}
|
||||||
|
@ -525,47 +525,6 @@ void ins_char(int c)
|
|||||||
ins_char_bytes(buf, n);
|
ins_char_bytes(buf, n);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Delete "nlines" lines at the cursor.
|
|
||||||
* Saves the lines for undo first if "undo" is TRUE.
|
|
||||||
*/
|
|
||||||
void
|
|
||||||
del_lines (
|
|
||||||
long nlines, /* number of lines to delete */
|
|
||||||
int undo /* if TRUE, prepare for undo */
|
|
||||||
)
|
|
||||||
{
|
|
||||||
long n;
|
|
||||||
linenr_T first = curwin->w_cursor.lnum;
|
|
||||||
|
|
||||||
if (nlines <= 0)
|
|
||||||
return;
|
|
||||||
|
|
||||||
/* save the deleted lines for undo */
|
|
||||||
if (undo && u_savedel(first, nlines) == FAIL)
|
|
||||||
return;
|
|
||||||
|
|
||||||
for (n = 0; n < nlines; ) {
|
|
||||||
if (curbuf->b_ml.ml_flags & ML_EMPTY) /* nothing to delete */
|
|
||||||
break;
|
|
||||||
|
|
||||||
ml_delete(first, true);
|
|
||||||
n++;
|
|
||||||
|
|
||||||
/* If we delete the last line in the file, stop */
|
|
||||||
if (first > curbuf->b_ml.ml_line_count)
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Correct the cursor position before calling deleted_lines_mark(), it may
|
|
||||||
* trigger a callback to display the cursor. */
|
|
||||||
curwin->w_cursor.col = 0;
|
|
||||||
check_cursor_lnum();
|
|
||||||
|
|
||||||
/* adjust marks, mark the buffer as changed and prepare for displaying */
|
|
||||||
deleted_lines_mark(first, n);
|
|
||||||
}
|
|
||||||
|
|
||||||
int gchar_pos(pos_T *pos)
|
int gchar_pos(pos_T *pos)
|
||||||
FUNC_ATTR_NONNULL_ARG(1)
|
FUNC_ATTR_NONNULL_ARG(1)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user