diff options
| author | Jan Tuomi <jan-sebastian.tuomi@aalto.fi> | 2016-10-09 14:14:47 +0300 |
|---|---|---|
| committer | Jan Tuomi <jan-sebastian.tuomi@aalto.fi> | 2016-10-09 14:50:24 +0300 |
| commit | 2b77640618425c015bb8e35c06c5ad4eb290ac72 (patch) | |
| tree | bb184c5b4da0b80da6a671ff7d7e4a5348e706c4 /editor.cpp | |
| parent | e652c840eeba7d8bd4776fdbb45010c4770bdc04 (diff) | |
Add append after line
Diffstat (limited to 'editor.cpp')
| -rw-r--r-- | editor.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
@@ -33,6 +33,9 @@ int Editor::run_editor() { case 'd': delete_and_clamp_command(); break; + case 'a': + append_after_command(); + break; default: break; } @@ -165,3 +168,23 @@ int Editor::delete_and_clamp(int line) { m_contents->erase(m_contents->begin() + line); return 0; } + +int Editor::append_after_command() { + std::cout << "Append after which line? "; + int line; + std::cin >> line; + if (std::cin.fail() || line < 0 || line >= m_contents->size()) { + std::cout << "Not a valid line number!\n"; + std::cin.clear(); + std::cin.ignore(std::numeric_limits<std::streamsize>::max(),'\n'); + return 1; + } + + return append_after_line(line); +} + +int Editor::append_after_line(int line) { + m_contents->insert(m_contents->begin() + line + 1, ""); + return edit_line(line + 1); +} + |
