Behaves as vim.current.window.buffer.__setitem__ except it tracks changes and applies them to the current snippet stack.
(self, key, value)
| 92 | ) |
| 93 | |
| 94 | def __setitem__(self, key, value): |
| 95 | """ |
| 96 | Behaves as vim.current.window.buffer.__setitem__ except it tracks |
| 97 | changes and applies them to the current snippet stack. |
| 98 | """ |
| 99 | if isinstance(key, slice): |
| 100 | value = list(value) |
| 101 | changes = list(self._get_diff(key.start, key.stop, value)) |
| 102 | self._buffer[key.start : key.stop] = [line.strip("\n") for line in value] |
| 103 | else: |
| 104 | value = value |
| 105 | changes = list(self._get_line_diff(key, self._buffer[key], value)) |
| 106 | self._buffer[key] = value |
| 107 | |
| 108 | self._change_tick += 1 |
| 109 | |
| 110 | if self._forward_edits: |
| 111 | for change in changes: |
| 112 | self._apply_change(change) |
| 113 | if self._snippets_stack: |
| 114 | self._vstate.remember_buffer(self._snippets_stack[0]) |
| 115 | |
| 116 | def __getitem__(self, key): |
| 117 | """ |
no test coverage detected