Разные недочеты/баги
-
- Posts: 2396
- Joined: 25.08.2021 18:15
Re: Разные недочеты/баги
В вики описано дефолт-имя сессии
"Session" is a set of opened documents, with properties of each document. CudaText sessions are stored in JSON files with .json and .cuda-session extensions. Default session file name is "history session.json" in the "settings" folder.
"Session" is a set of opened documents, with properties of each document. CudaText sessions are stored in JSON files with .json and .cuda-session extensions. Default session file name is "history session.json" in the "settings" folder.
-
- Posts: 2396
- Joined: 25.08.2021 18:15
Re: Разные недочеты/баги
А как определить что файл сессии пуст? вы сохранили копию файла после ресета, там нули что ли, или файл пустой? если нули или файл пустой то можно выдать msg-box. и можно попробовать скопировать последний бекап.
вы пока сделайте бекап всей папки settings чтобы остались файлы.
вы пока сделайте бекап всей папки settings чтобы остались файлы.
Re: Разные недочеты/баги
А не писал ранее - все идеально работает, есть отдельные замечания и предложения, я их записываю себе в wiki в CT ). Но они не критичные.ваши отчеты
А читать форум очень интересно, но некогда, к сожалению.
По https://cudatext.github.io/history.txt :
1.222.3 (2025/03) и др. имел ряд подверсий, хорошо бы по ним разбивать изменения.
Спасибо! Всегда RTM! Имени сессии по умолчанию нет в файле 'history session.json', нет параметра "session": по умолчанию.В вики описано дефолт-имя сессии
Если открываешь иную, чем 'history session.json' сессию, то появляется этот параметр с именем файла сессии.
Возможно, чтобы вернуться к 'history session.json', достаточно стереть строку с "session".
Re: Разные недочеты/баги
В Command palette есть команда 'Code tree go to block for current node'легко поправил. и с code-tree и с Folding Caption теперь все окей.
(Кстати, нет кроме опытного пути найти соответствие команды из Command palette и такой же команды макросов)?
А как и чтовы поправили?
Как в коде определяете начало, заголовок блока?
В API не нашел.
(Мне на будущее, для перехода к блоку в файле/вкладке по ссылкам формата '<имя файла> <заголовок блока в файле>. Конечно, было бы проще реализовать в макро, но пока не представляю, как в макро распарсить ссылку.)
Re: Разные недочеты/баги
А как определить что файл сессии пуст?
Я здесь описал содержимое файл а 'history session.json' по умолчанию, его содержимое размером 396 байт.
Можно, конечно, при закрытии записывать его, файла сессии, хеш, а при открытии сравнивать, если не совпадает, предлагать восстановить сессию из бэкапа. Но это избыточно, да? Хотя плюсик в "Дифирамбы". )
Подхожу к главному. Скорее всего, тогда 'history session.json' файла просто не было.
Я вчера промоделировал ситуацию: удалил 'history session.json' и запустил CudaText.
Был создан файл 396 байт по ссылке выше.
Идея проста.
Если файла 'history session.json' нет, давать сообщение и предлагать восстановить сессию из бэкапа.
Если 'history session.json', а его размер 396 байт и есть бэкапы, а также есть 'history.json' с историей (есть несколько непустых параметров), то тоже предлагать восстановить сессию из бэкапа.
Re: Разные недочеты/баги
_
_
_
Нашел и воспроизвел баг!
Сейчас, при запущенном CT, поискал файл 'history session.json' - его нет!
Т.е. при любом аварийном завершении CT при следующем старте вкладки пропадут!
Проверим жестокой проверкой в терминале:
Смотрим '/.config/cudatext/settings'
ДА, файла 'history session.json' нет!
И после старта вкладок нет!
После быстрого, чтобы не прошло 30 секунд, закрытия нашего замечательного редактора в '~/.config/cudatext/settings'
появился файл 'history session.json' размером всего 395 байт с содержимым:
395 байт это не 2 КБ предварительно созданной копии 'history session.1 (Копия) 20250326.cuda-session'.
Копирую в gedit ее содержимое в 'history session.json' и запускаю любимый CT.
Вкладки на месте! И все, что набито непосильным трудом во вкладках!
Профит!
_
_
Нашел и воспроизвел баг!

Сейчас, при запущенном CT, поискал файл 'history session.json' - его нет!
Т.е. при любом аварийном завершении CT при следующем старте вкладки пропадут!

Code: Select all
$ killall cudatext
ДА, файла 'history session.json' нет!
И после старта вкладок нет!
После быстрого, чтобы не прошло 30 секунд, закрытия нашего замечательного редактора в '~/.config/cudatext/settings'
появился файл 'history session.json' размером всего 395 байт с содержимым:
Code: Select all
{
"groups": 1,
"gr": {
"panel": "0,0",
"pages": "100,100,52,36,0,1358,0,1358,0,0,0,0,"
},
"tab_index": {
"g0": 0,
"g1": -1,
"g2": -1,
"g3": -1,
"g4": -1,
"g5": -1,
"g_active": 0
},
"panels": {
"side_show": true,
"side_panel": "Code tree",
"side_size": 290,
"bottom_show": false,
"bottom_panel": "",
"bottom_size": 162
}
}
395 байт это не 2 КБ предварительно созданной копии 'history session.1 (Копия) 20250326.cuda-session'.
Копирую в gedit ее содержимое в 'history session.json' и запускаю любимый CT.
Вкладки на месте! И все, что набито непосильным трудом во вкладках!


Профит!
Re: Разные недочеты/баги
А сейчас файл 'history session.json' есть, не пропадает после закрытия CT.
Странно. Я его не удалял в предыдущем эксперименте.
Странно. Я его не удалял в предыдущем эксперименте.
-
- Posts: 2396
- Joined: 25.08.2021 18:15
Re: Разные недочеты/баги
нет, я не буду делать отдельный список в хистори ради 1-2х изменений. после 1.222.3.0 была только 1.222.3.1 с одним изменением>1.222.3 (2025/03) и др. имел ряд подверсий, хорошо бы по ним разбивать изменения.
+ add: session auto-saving by "ui_session_save_interval":30 now also saves backup-files, if "ui_backup_sessions" is set
да, верно.>Если открываешь иную, чем 'history session.json' сессию, то появляется этот параметр с именем файла сессии.
Возможно, чтобы вернуться к 'history session.json', достаточно стереть строку с "session".
или можно вызвать в плаге Session Manager - 'forget session ....'.
в коде finder для команды "найти следущее вхождение" - убрал блокировку вызова onChangeCaret.>А как и чтовы поправили?
это определяет или лексер, или tree-helper.>Как в коде определяете начало, заголовок блока? В API не нашел.
---------
про предложение восстановить сессию я понял идею, подумаю на днях.
-
- Posts: 2396
- Joined: 25.08.2021 18:15
Re: Разные недочеты/баги
@mix-7, нужно ваше мнение тут -
https://synwrite.sourceforge.net/forums ... php?t=3236
https://synwrite.sourceforge.net/forums ... php?t=3236
Re: Разные недочеты/баги
Ну, на этот раз это сработало! Спасибо за информацию!после 1.222.3.0 была только 1.222.3.1 с одним изменением
+ add: session auto-saving by "ui_session_save_interval":30 now also saves backup-files, if "ui_backup_sessions" is set
Не сохранял версии history.txt, не мог сравнить.
А после вашего поста стал разбираться, что за это опции и обнаружил и установил в user.json
Code: Select all
"ui_auto_save_session": false,
А то я писал ранее про коллизию, когда один файл (они синхронизируются через облако) редактируешь на двух ПК и возникает коллизия (спасибо, что ее отслеживает программа-клиент облака!). Приходится, ругнув себя, запускать плагин Differ или программу Diffuse, отслеживать изменения, удалять лишнюю версию. А это лишние нервы и риски потери информации.
Несмотря на то, что я сделал красным в Color theme (сохранил как My_theme) 'tabs, font, modified tab', зачастую в спешке ухода с работы, некоторые измененные вкладки оставались несохраненными.
Хотя после недавней пропажи вкладок я познал дзен 5, не больше, постоянных вкладок вместо обычных постоянны 17 (посчитал через сохраненный список Tabs list:). Ведь всегда легко и быстро можно открыть нужный файл (особенно удобно в QT - по части имени файла).
Часто используемые сортировать сверху.
Есть и удобный список recent. Который не тасуется непредсказуемо хаотично


Ого! Спасибо за доверие! Посмотрю, подумаю сегодня-завтра, напишу.нужно ваше мнение тут -