Change a
on end of line behaviour to be consistent
`a` will just jump on next line, `a` on last end of line opens a new line beneath it. Fixes #1164
This commit is contained in:
parent
55a5ec3bbd
commit
63d4c8c311
|
@ -53,6 +53,10 @@ change to make Kakoune command model cleaner and more robust.
|
||||||
|
|
||||||
See <<highlighters#,`:doc highlighters`>>
|
See <<highlighters#,`:doc highlighters`>>
|
||||||
|
|
||||||
|
* `a` on end of line is not treated specially anymore, it will start
|
||||||
|
inserting on the next character, which will be the first character
|
||||||
|
of the next line.
|
||||||
|
|
||||||
== Kakoune 2018.04.13
|
== Kakoune 2018.04.13
|
||||||
|
|
||||||
First official Kakoune release.
|
First official Kakoune release.
|
||||||
|
|
|
@ -74,7 +74,7 @@ define-command -hidden c-family-indent-on-closing-curly-brace %[
|
||||||
|
|
||||||
define-command -hidden c-family-insert-on-closing-curly-brace %[
|
define-command -hidden c-family-insert-on-closing-curly-brace %[
|
||||||
# add a semicolon after a closing brace if part of a class, union or struct definition
|
# add a semicolon after a closing brace if part of a class, union or struct definition
|
||||||
try %[ execute-keys -itersel -draft hm<a-x>B<a-x><a-k>\A\h*(class|struct|union|enum)<ret> a\;<esc> ]
|
try %[ execute-keys -itersel -draft hm<a-x>B<a-x><a-k>\A\h*(class|struct|union|enum)<ret> '<a-;>;i;<esc>' ]
|
||||||
]
|
]
|
||||||
|
|
||||||
define-command -hidden c-family-insert-on-newline %[ evaluate-commands -itersel -draft %[
|
define-command -hidden c-family-insert-on-newline %[ evaluate-commands -itersel -draft %[
|
||||||
|
|
|
@ -1117,7 +1117,7 @@ public:
|
||||||
{
|
{
|
||||||
for (auto& sel : selections)
|
for (auto& sel : selections)
|
||||||
{
|
{
|
||||||
if (sel.cursor() > sel.anchor() and sel.cursor().column > 0)
|
if (sel.cursor() > sel.anchor() and sel.cursor() > BufferCoord{0, 0})
|
||||||
sel.cursor() = context().buffer().char_prev(sel.cursor());
|
sel.cursor() = context().buffer().char_prev(sel.cursor());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1362,11 +1362,9 @@ private:
|
||||||
case InsertMode::Append:
|
case InsertMode::Append:
|
||||||
for (auto& sel : selections)
|
for (auto& sel : selections)
|
||||||
{
|
{
|
||||||
sel.set(sel.min(), sel.max());
|
sel.set(sel.min(), buffer.char_next(sel.max()));
|
||||||
auto& cursor = sel.cursor();
|
if (sel.cursor() == buffer.end_coord())
|
||||||
// special case for end of lines, append to current line instead
|
buffer.insert(buffer.end_coord(), "\n");
|
||||||
if (cursor.column != buffer[cursor.line].length() - 1)
|
|
||||||
cursor = buffer.char_next(cursor);
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case InsertMode::AppendAtLineEnd:
|
case InsertMode::AppendAtLineEnd:
|
||||||
|
@ -1434,7 +1432,7 @@ private:
|
||||||
|
|
||||||
ScopedEdition m_edition;
|
ScopedEdition m_edition;
|
||||||
InsertCompleter m_completer;
|
InsertCompleter m_completer;
|
||||||
bool m_restore_cursor;
|
const bool m_restore_cursor;
|
||||||
bool m_autoshowcompl;
|
bool m_autoshowcompl;
|
||||||
Timer m_idle_timer;
|
Timer m_idle_timer;
|
||||||
bool m_in_end = false;
|
bool m_in_end = false;
|
||||||
|
|
|
@ -357,11 +357,7 @@ BufferCoord get_insert_pos(const Buffer& buffer, const Selection& sel,
|
||||||
case InsertMode::InsertCursor:
|
case InsertMode::InsertCursor:
|
||||||
return sel.cursor();
|
return sel.cursor();
|
||||||
case InsertMode::Append:
|
case InsertMode::Append:
|
||||||
{
|
return buffer.char_next(sel.max());
|
||||||
// special case for end of lines, append to current line instead
|
|
||||||
auto pos = sel.max();
|
|
||||||
return buffer.byte_at(pos) == '\n' ? pos : buffer.char_next(pos);
|
|
||||||
}
|
|
||||||
case InsertMode::InsertAtLineBegin:
|
case InsertMode::InsertAtLineBegin:
|
||||||
return sel.min().line;
|
return sel.min().line;
|
||||||
case InsertMode::AppendAtLineEnd:
|
case InsertMode::AppendAtLineEnd:
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
afoo<esc>.
|
ifoo<esc>.
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
reg @ amawww
|
reg @ imawww
|
||||||
|
|
|
@ -1 +1,2 @@
|
||||||
|
|
||||||
foofoo
|
foofoo
|
||||||
|
|
Loading…
Reference in New Issue
Block a user