Редактор Tiny Text Editor (консольный)

...
  • Leency wrote:TTE не открылся на этом файле и я, скорее всего, ошибочно принял это за падение.
    Блин, это последствия деятельности Патоса по "внедрению" юникода.

    С-программам передается путь в argv[0] (из заголовка менюэт01) в виде /#03/tmp/1/tte - т.е в UTF8

    Но параметры программе передаются из шелла (системой), и скорее всего ты также сделал - в cp866.

    В итоге полный путь для неанглийских имен собирается неправильно, и файл не открывается.

    Я не знаю, как правильно решить эту проблему в рамках системы.

    Upd - знаю - надо чтобы ядро и параметры перекодировало в UTF8 для программы.

    Пока исправил в tcc, насильно прописав 866 для пути. Обновил tte в первом посте.
  • Другаие программы работают корректно, так что это вряд ли с ним связано.
    Из хаоса в космос
  • Leency wrote:Другаие программы работают корректно, так что это вряд ли с ним связано.
    Я проверил.
    Вся суть - как программа формирует путь, если берет из заголовка путь к исполнимому модулю - то швах
  • https://translate.google.com/#en/ru/pathos
    А почему "внедрение" в кавычках?
    Siemargl wrote:программам передается путь в argv[0] в UTF8, а параметры передаются из шелла в cp866. Надо чтобы ядро и параметры перекодировало в UTF8 для программы.
    А если параметры передаются не из шелла? Если не на русском и не на английском, а сразу в UTF-8? В линуксе вроде весь текст в UTF-8.
  • Pathoswithin wrote:https://translate.google.com/#en/ru/pathos
    А почему "внедрение" в кавычках?
    Siemargl wrote:программам передается путь в argv[0] в UTF8, а параметры передаются из шелла в cp866. Надо чтобы ядро и параметры перекодировало в UTF8 для программы.
    А если параметры передаются не из шелла? Если не на русском и не на английском, а сразу в UTF-8? В линуксе вроде весь текст в UTF-8.
    И еще если параметры - это не имя файла, а какая то другая инфа?

    "Внедрение" - потому что получилась полумера.
    Программе в заголовке MENUET передается 2 параметра - но один в UTF8, а другой - просто абы как (в неизвестной кодировке) o_O

    Надо, кажется вернуться к старой теме
    и еще раз проверить
  • Почему полумера? Параметры передаёт запускающая программа, а что именно там должно быть определяет каждая запускаемая программа лично для себя: одна может принимать в ср866, другая в юникоде. Ядро то как раз свою работу делает однозначно.
  • Протестировал. Много багов и недоделок:
    1. Заголовок "Console app", куда лучше "Путь к файлу - TTE" или "Имя файла - TTE"
    2. Окно слишком маленькое, лучше сделать что-то около 640х480
    3. Подсветка систаксиса не работает если расширение в верхнем регистре
    4. Скроллбар невозможно использовать что очень неудобно
    5. Как насчет Chtl+H для показа помощи? Можно через @notify
    6. У меня "Старик и море.txt" по преднему не открывается, файл не найден. Проверял с TTE из первого поста.
    7. Нет поддержки CPP866 и перекодировок, посмотри в сторону /sys/lib/iconv.obj

    В список изменений можно добавить только "Начато портирование TTE".
    Из хаоса в космос
  • Leency wrote:Протестировал. Много багов и недоделок:
    1. Заголовок "Console app", куда лучше "Путь к файлу - TTE" или "Имя файла - TTE"
    2. Окно слишком маленькое, лучше сделать что-то около 640х480
    3. Подсветка систаксиса не работает если расширение в верхнем регистре
    4. Скроллбар невозможно использовать что очень неудобно
    5. Как насчет Chtl+H для показа помощи? Можно через @notify
    6. У меня "Старик и море.txt" по преднему не открывается, файл не найден. Проверял с TTE из первого поста.
    7. Нет поддержки CPP866 и перекодировок, посмотри в сторону /sys/lib/iconv.obj

    В список изменений можно добавить только "Начато портирование TTE".
    Это же просто порт =)

    А ты хочешь нативную версию.
    Вот смотри

    1. можно сделать
    2. надо бы знать у системы, какие размеры консоли предпочтительны. сейчас явного способа нет.
    3. мелочь, но для разных ФС существенно. Upd.легко поправить думаю, как раз ненужно править
    4. кажется, никак для текущей консоли. Upd. Наверное можно - в шелле то работает
    5. вернуть бы сначала ^S, но в принципе можно добавить. еще важнее реализовать Ctrl+Буква в разных раскладках
    6. уже должно, надо перепроверить - затрагивает несколько важных мелочей работы с путями
    7. нет способа 100% определить кодировку файла. ну и это отдельная новая функциональность. Upd - добавлять ^новая буква

    а отдельных новых фич может быть просто море
    Last edited by Siemargl on Sat Oct 27, 2018 11:38 am, edited 1 time in total.
  • Upd. Проверил п.6
    Attachments
    Haming.png
    Haming.png (32.59 KiB)
    Viewed 7840 times
  • Пункт 2 не исправить - console.obj позволяет только такой размер. console.obj можно задать любой размер, но ИЗМЕНЯТЬ его нельзя.
    В KFAR можно развернуть, потому что там не console.obj, а самодельная консоль. ЕМНИП

    Пункт 4:
    Дело в том, что в shell оно скроллит весь предыдущий вывод, но ведь здесь все время заново рисуется, и.. Поэтому все таки при такой консоли ничего не исправить
    Убрал скроллбар вообще.

    И еще, можно портировать на gcc. Займусь этим, если время будет
    Номер строки в ее начале, можно сделать, я это делал, в редаторе kted. Сам он уже никуда не пойдет, а вот как цифры выводятся, можно http://board.kolibrios.org/viewtopic.php?f=46&t=4290
    Last edited by maxcodehack on Fri Oct 30, 2020 11:44 am, edited 4 times in total.
  • 1 Пункт исправлен
    Прикладываю бинарник и скриншот, исходники на SVN rev 8116
    See:
    Last edited by maxcodehack on Mon Nov 02, 2020 3:17 pm, edited 2 times in total.
  • Разобрался, как сделать окно побольше.
    640x480 выглядит плохо, ни при каком разрешении не влазит на экран.
    Поэтому, я оставил 80x25. Побочным действием, оказалась пропажа НЕИСПОЛЬЗУЕМОГО, а значит ненужного скроллбара.
    Если кто-то придумает универсальный размер, пусть пропишет в переменные con_def_wnd_width и con_def_wnd_height.

    rev 8121
    Версия без ненужного скроллбара
    Бинарник ищите в последнем посте
    Last edited by maxcodehack on Mon Nov 02, 2020 3:17 pm, edited 2 times in total.
  • Leency wrote:Протестировал. Много багов и недоделок:
    1. Заголовок "Console app", куда лучше "Путь к файлу - TTE" или "Имя файла - TTE"
    2. Окно слишком маленькое, лучше сделать что-то около 640х480
    3. Подсветка систаксиса не работает если расширение в верхнем регистре
    4. Скроллбар невозможно использовать что очень неудобно
    5. Как насчет Chtl+H для показа помощи? Можно через @notify
    6. У меня "Старик и море.txt" по преднему не открывается, файл не найден. Проверял с TTE из первого поста.
    7. Нет поддержки CPP866 и перекодировок, посмотри в сторону /sys/lib/iconv.obj
    Осталось сделать 5 и 7.
    Остальное:
    1 сделано.
    2 возможно сделать, но непонятно какой размер именно. UPD: Пока что наверно лучше всего как в Diff Tool: 122x40
    3 не нужно делать.
    4 скроллбар убран.
    6 все таки у Siemargl открылся он.

    Сообщение о том, что файл не найден, тоже лучше через notify, чем board

    ___

    Какие то баги:
    Если запустить без параметров, без файла. Нажать Энтер. Или даже несколько энтер. Backspace не работает, пока не наберешь букву какую нибудь.

    Открыл тот "Старик и море", странное дело с кареткой консоли. Как будто нарисована, допустим на 10 строке, а работает, стирает, и набирает, как будто на 9 строке.
    Второй баг только тогда, когда размер окна != 80x25
    ____
    Чтобы можно было разворачивать, нужно чтобы в console.obj был возможен resize окна.
    А вообще, его нужно сделать графическим.
  • : А Вы не можете делать скриншоты только активного окна, а не всего экрана?
  • Who is online

    Users browsing this forum: No registered users and 2 guests