mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
move del_char, del_chars
This commit is contained in:
parent
75598927f2
commit
0b3ee2e8ac
@ -672,41 +672,35 @@ void ins_str(char_u *s)
|
||||
curwin->w_cursor.col += newlen;
|
||||
}
|
||||
|
||||
/*
|
||||
* Delete one character under the cursor.
|
||||
* If "fixpos" is TRUE, don't leave the cursor on the NUL after the line.
|
||||
* Caller must have prepared for undo.
|
||||
*
|
||||
* return FAIL for failure, OK otherwise
|
||||
*/
|
||||
int
|
||||
del_char(int fixpos)
|
||||
{
|
||||
if (has_mbyte)
|
||||
// Delete one character under the cursor.
|
||||
// If "fixpos" is true, don't leave the cursor on the NUL after the line.
|
||||
// Caller must have prepared for undo.
|
||||
//
|
||||
// return FAIL for failure, OK otherwise
|
||||
int del_char(bool fixpos)
|
||||
{
|
||||
if (has_mbyte) {
|
||||
// Make sure the cursor is at the start of a character.
|
||||
mb_adjust_cursor();
|
||||
if (*ml_get_cursor() == NUL)
|
||||
if (*get_cursor_pos_ptr() == NUL)
|
||||
return FAIL;
|
||||
return del_chars(1L, fixpos);
|
||||
}
|
||||
return del_bytes(1L, fixpos, TRUE);
|
||||
return del_bytes(1, fixpos, true);
|
||||
}
|
||||
|
||||
/*
|
||||
* Like del_bytes(), but delete characters instead of bytes.
|
||||
*/
|
||||
int
|
||||
del_chars(long count, int fixpos)
|
||||
int del_chars(long count, int fixpos)
|
||||
{
|
||||
long bytes = 0;
|
||||
int bytes = 0;
|
||||
long i;
|
||||
char_u *p;
|
||||
int l;
|
||||
|
||||
p = ml_get_cursor();
|
||||
for (i = 0; i < count && *p != NUL; ++i)
|
||||
{
|
||||
p = get_cursor_pos_ptr();
|
||||
for (i = 0; i < count && *p != NUL; ++i) {
|
||||
l = (*mb_ptr2len)(p);
|
||||
bytes += l;
|
||||
p += l;
|
||||
|
@ -1398,42 +1398,6 @@ void ins_char(int c)
|
||||
ins_char_bytes(buf, n);
|
||||
}
|
||||
|
||||
// Delete one character under the cursor.
|
||||
// If "fixpos" is true, don't leave the cursor on the NUL after the line.
|
||||
// Caller must have prepared for undo.
|
||||
//
|
||||
// return FAIL for failure, OK otherwise
|
||||
int del_char(bool fixpos)
|
||||
{
|
||||
if (has_mbyte) {
|
||||
/* Make sure the cursor is at the start of a character. */
|
||||
mb_adjust_cursor();
|
||||
if (*get_cursor_pos_ptr() == NUL)
|
||||
return FAIL;
|
||||
return del_chars(1L, fixpos);
|
||||
}
|
||||
return del_bytes(1, fixpos, true);
|
||||
}
|
||||
|
||||
/*
|
||||
* Like del_bytes(), but delete characters instead of bytes.
|
||||
*/
|
||||
int del_chars(long count, int fixpos)
|
||||
{
|
||||
int bytes = 0;
|
||||
long i;
|
||||
char_u *p;
|
||||
int l;
|
||||
|
||||
p = get_cursor_pos_ptr();
|
||||
for (i = 0; i < count && *p != NUL; ++i) {
|
||||
l = (*mb_ptr2len)(p);
|
||||
bytes += l;
|
||||
p += l;
|
||||
}
|
||||
return del_bytes(bytes, fixpos, TRUE);
|
||||
}
|
||||
|
||||
/// Delete "count" bytes under the cursor.
|
||||
/// If "fixpos" is true, don't leave the cursor on the NUL after the line.
|
||||
/// Caller must have prepared for undo.
|
||||
|
Loading…
Reference in New Issue
Block a user