OberonCore https://forum.oberoncore.ru/ |
|
Прозрачная работа с utf8-исходниками https://forum.oberoncore.ru/viewtopic.php?f=47&t=4904 |
Страница 1 из 2 |
Автор: | Пётр Кушнир [ Четверг, 26 Декабрь, 2013 21:08 ] |
Заголовок сообщения: | Прозрачная работа с utf8-исходниками |
По следам viewtopic.php?p=84955#p84955 реализовал прототип компонента, который поможет сторонникам плоских текстов писать в плоском тексте, а сторонникам составных документов не терять возможность совместной работы со сторонниками плоских текстов Мир, дружба, компонентный подход. Инструкция по использованию в документации Jedi/Docu/Plain. Брать все здесь: https://bitbucket.org/petryxa/jedi/overview |
Автор: | Пётр Кушнир [ Четверг, 26 Декабрь, 2013 21:10 ] |
Заголовок сообщения: | Re: Прозрачная работа с utf8-исходниками |
Посмотрим, насколько это востребовано |
Автор: | Роман М. [ Пятница, 27 Декабрь, 2013 03:17 ] |
Заголовок сообщения: | Re: Прозрачная работа с utf8-исходниками |
Пётр, благодарю. Хорошая вещь, красиво сделано! И самое главное, так просто в использовании. Понравилось также то, что при сохранении файла "знает" в каком формате сохранять. |
Автор: | Пётр Кушнир [ Пятница, 27 Декабрь, 2013 13:18 ] | ||
Заголовок сообщения: | Re: Прозрачная работа с utf8-исходниками | ||
Да, что интересно, при установленном конвертере .cp файлы модулей в плейнтексте автоматически распознаются при просмотре Info > Repository.
|
Автор: | Роман М. [ Пятница, 27 Декабрь, 2013 15:24 ] |
Заголовок сообщения: | Re: Прозрачная работа с utf8-исходниками |
Для автоматической загрузки добавил в модуль Config строку Код: Dialog.Call("JediPlain.Init", "", res); Доволен. |
Автор: | Пётр Кушнир [ Пятница, 27 Декабрь, 2013 15:35 ] |
Заголовок сообщения: | Re: Прозрачная работа с utf8-исходниками |
Роман, а вы не думали о возможности сохранять некоторые встроенные отображения в текстовом виде, с последующим восстановлением? Например, коммандер мог бы при сохранении конвертироваться в код типа такого: Код: (*Jedi.useBase64Force:='JiMxMDUwOyYjMTA4NjsmIzEwODQ7JiMxMDg0OyYjMTA3MjsmIzEwODU7JiMxMDc2OyYjMTA3NzsmIzEwODg7'*) Есть много простых типов отображений, которые можно было бы сохранить в байты, а потом восстановить. Если такие штуки поддерживает конвертер - хорошо, если не поддерживает, то это будет просто строка в комментарии, которая не помешает даже консольным компиляторам.
|
Автор: | Роман М. [ Пятница, 27 Декабрь, 2013 16:25 ] |
Заголовок сообщения: | Re: Прозрачная работа с utf8-исходниками |
Пётр Кушнир писал(а): Роман, а вы не думали о возможности сохранять некоторые встроенные отображения в текстовом виде, с последующим восстановлением? Например, коммандер мог бы при сохранении конвертироваться в код типа такого: Код: (*Jedi.useBase64Force:='JiMxMDUwOyYjMTA4NjsmIzEwODQ7JiMxMDg0OyYjMTA3MjsmIzEwODU7JiMxMDc2OyYjMTA3NzsmIzEwODg7'*) Есть много простых типов отображений, которые можно было бы сохранить в байты, а потом восстановить. Если такие штуки поддерживает конвертер - хорошо, если не поддерживает, то это будет просто строка в комментарии, которая не помешает даже консольным компиляторам.Думал, однако не уверен, буду ли этим заниматься. Правда, я думал использовать в качестве маркеров начала/конца команд некоторые управляющие символы из таблицы UNICODE. В таком случае можно экспортировать составной документ прямо в уникодный безо всяких дополнительных синтаксических добавок, независимо от того, содержит ли документ программу или что-то ещё. |
Автор: | Димыч [ Суббота, 28 Декабрь, 2013 17:31 ] |
Заголовок сообщения: | Re: Прозрачная работа с utf8-исходниками |
Пётр Кушнир писал(а): Посмотрим, насколько это востребовано Это как раз именно то, что нужно. Спасибо огромное! |
Автор: | Пётр Кушнир [ Воскресенье, 29 Декабрь, 2013 01:22 ] |
Заголовок сообщения: | Re: Прозрачная работа с utf8-исходниками |
Димыч писал(а): Пётр Кушнир писал(а): Посмотрим, насколько это востребовано Это как раз именно то, что нужно. Спасибо огромное! Димыч, если не трудно, тоже в процессе использования обдумайте такой вариант развития конвертера: Пётр Кушнир писал(а): Роман, а вы не думали о возможности сохранять некоторые встроенные отображения в текстовом виде, с последующим восстановлением?
Например, коммандер мог бы при сохранении конвертироваться в код типа такого: Код: (*Jedi.useBase64Force:='JiMxMDUwOyYjMTA4NjsmIzEwODQ7JiMxMDg0OyYjMTA3MjsmIzEwODU7JiMxMDc2OyYjMTA3NzsmIzEwODg7'*) Есть много простых типов отображений, которые можно было бы сохранить в байты, а потом восстановить. Если такие штуки поддерживает конвертер - хорошо, если не поддерживает, то это будет просто строка в комментарии, которая не помешает даже консольным компиляторам. |
Автор: | Роман М. [ Воскресенье, 29 Декабрь, 2013 02:45 ] |
Заголовок сообщения: | Re: Прозрачная работа с utf8-исходниками |
Пётр, а для какой цели используется GuardAction (Services.Action)? |
Автор: | Пётр Кушнир [ Воскресенье, 29 Декабрь, 2013 13:16 ] |
Заголовок сообщения: | Re: Прозрачная работа с utf8-исходниками |
Роман М. писал(а): Пётр, а для какой цели используется GuardAction (Services.Action)? А это такой способ борьбы с тем, что модуль DevRBrowser считает что все сырцы обязательно открываются дефолтным конвертером. Хук составляет самоочищающийся список загруженных отображений и при попытке открыть такое отображение передает его реальный конвертер. Это позволяет в будущем сохранять исходник в тот же формат, который был.Таким образом, либо отображение из списка открывается в окне, либо не открывается и экшн-элемент списка сам себя удаляет |
Автор: | Роман М. [ Воскресенье, 29 Декабрь, 2013 15:33 ] |
Заголовок сообщения: | Re: Прозрачная работа с utf8-исходниками |
Пётр Кушнир писал(а): Роман М. писал(а): Пётр, а для какой цели используется GuardAction (Services.Action)? А это такой способ борьбы с тем, что модуль DevRBrowser считает что все сырцы обязательно открываются дефолтным конвертером. Хук составляет самоочищающийся список загруженных отображений и при попытке открыть такое отображение передает его реальный конвертер. Это позволяет в будущем сохранять исходник в тот же формат, который был.Таким образом, либо отображение из списка открывается в окне, либо не открывается и экшн-элемент списка сам себя удаляет |
Автор: | Пётр Кушнир [ Воскресенье, 29 Декабрь, 2013 23:40 ] |
Заголовок сообщения: | Re: Прозрачная работа с utf8-исходниками |
Роман М. писал(а): Хитро. А модуль DevRBrowser не поддаётся убеждениям? поддается, конечно, но он не в моем ведении да и автора у подсистемы Dev пока нет, некому жаловаться. |
Автор: | Роман М. [ Понедельник, 30 Декабрь, 2013 11:38 ] | ||
Заголовок сообщения: | Re: Прозрачная работа с utf8-исходниками | ||
Немного изменил модуль, отделив поиск конвертера UTF-8 в отдельную процедуру, который вместо поиска при каждом открытии файла делает это одинажды в разделе инициализации модуля. Добавлю: изначальные имена модулей изменены, включая конвертера, у которого название теперь ConvUtf8 (в подсистеме Conv).
|
Автор: | Пётр Кушнир [ Понедельник, 30 Декабрь, 2013 13:27 ] |
Заголовок сообщения: | Re: Прозрачная работа с utf8-исходниками |
А как же всякие модные форки и пулл-реквесты? |
Автор: | Роман М. [ Понедельник, 30 Декабрь, 2013 15:15 ] |
Заголовок сообщения: | Re: Прозрачная работа с utf8-исходниками |
Пётр Кушнир писал(а): А как же всякие модные форки и пулл-реквесты? Форк Jedi? Я не захотел заводить его в том виде, котором он был создан изначально (т.е. для пробы), оторванным от моей сборки. В итоге адаптировал для себя. Поглядеть можно в Seamless work with plain UTF-8 CP files (6a0af8a5b988). |
Автор: | Пётр Кушнир [ Понедельник, 30 Декабрь, 2013 21:37 ] |
Заголовок сообщения: | Re: Прозрачная работа с utf8-исходниками |
Вообще говоря, Jedi для разработчиков, а не для пробы. |
Автор: | Пётр Кушнир [ Понедельник, 20 Январь, 2014 19:51 ] |
Заголовок сообщения: | Re: Прозрачная работа с utf8-исходниками |
Пётр Кушнир писал(а): Есть много простых типов отображений, которые можно было бы сохранить в байты, а потом восстановить. Если такие штуки поддерживает конвертер - хорошо, если не поддерживает, то это будет просто строка в комментарии, которая не помешает даже консольным компиляторам. Реализовал пробную поддержку отображений (коммандер, ссылки) в виде base64-блоба в комментариях.https://bitbucket.org/petryxa/jedi/src |
Автор: | Роман М. [ Вторник, 21 Январь, 2014 15:26 ] |
Заголовок сообщения: | Re: Прозрачная работа с utf8-исходниками |
Пётр Кушнир писал(а): Пётр Кушнир писал(а): Есть много простых типов отображений, которые можно было бы сохранить в байты, а потом восстановить. Если такие штуки поддерживает конвертер - хорошо, если не поддерживает, то это будет просто строка в комментарии, которая не помешает даже консольным компиляторам. Реализовал пробную поддержку отображений (коммандер, ссылки) в виде base64-блоба в комментариях.https://bitbucket.org/petryxa/jedi/src |
Автор: | ilovb [ Пятница, 09 Май, 2014 18:25 ] |
Заголовок сообщения: | Re: Прозрачная работа с utf8-исходниками |
Петр, спасибо. Отличная штука. ps Товарищи, призываю вас не использовать расширение *.cp Это расширение уже занято плюсами. Предлагаю всем перейти на .cps |
Страница 1 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |