28 lines
1.2 KiB
Python
28 lines
1.2 KiB
Python
class VimModel:
|
|
def __init__(self):
|
|
self.displayBuffer = [] # буфер для хранения всех строк
|
|
self.currentLine = 0 # текущий индекс строки
|
|
self.currentCol = 0 # текущий индекс колонки
|
|
self.scrollY = 0 # вертикальная прокрутка
|
|
self.scrollX = 0 # горизонтальная прокрутка
|
|
self.file_path = "" # путь к файлу
|
|
|
|
def load_file(self, file_path):
|
|
"""Загрузка файла для редактирования"""
|
|
self.file_path = file_path
|
|
try:
|
|
with open(file_path, "r") as file:
|
|
self.displayBuffer = [list(line.rstrip('\n')) for line in file.readlines()]
|
|
except FileNotFoundError:
|
|
print(f"File {file_path} not found. Starting with empty buffer.")
|
|
self.displayBuffer = []
|
|
|
|
def save_file(self):
|
|
"""Сохранение файла"""
|
|
try:
|
|
with open(self.file_path, "w") as file:
|
|
for line in self.displayBuffer:
|
|
file.write(''.join(line) + '\n')
|
|
return True
|
|
except Exception as e:
|
|
return str(e) |