powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Ещё один редактор
25 сообщений из 173, страница 4 из 7
Ещё один редактор
    #39592565
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79если хранить только позиции начала строк и их окончаний - индекс очень компактный :-)

А такой текст?

безумие.тхтК
У
К
У
Б
Л
Э
Д
...
...
Рейтинг: 0 / 0
Ещё один редактор
    #39592566
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton1) Не обязательно хранить смещения всех строк. Можно индексировать страницы (грубо - 25 строк)
2) Смещения тоже можно складывать в двоичный файл. Над ним - сверху построить LRU-кеш.
3) Если отказаться от мгновенной фиксации вставок строк или удалений - то можно логгировать
изменения.

ну короч, мозги не колупать, и положить весь текстовый файл в базу данных
...
Рейтинг: 0 / 0
Ещё один редактор
    #39592585
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EditPlus
...
Рейтинг: 0 / 0
Ещё один редактор
    #39592717
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не надо гадать, можно просто посмотреть.

И учесть, что иногда там где стоит "Может"
на практике нужно читать "теории - может"
...
Рейтинг: 0 / 0
Ещё один редактор
    #39609549
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неспеша вношу новые улучшения.
Добавил возможность вставлять контент других файлов.
Drag&Drop и ранше позволял открывать файл.
Теперь с нажатым Контролом вставляет контент.
Также и через меню.

Следующий пункт в плане: сделать полноценную поддержку буфера обмена.
Сейчас текст ограничен размером буфера и поместит в буфер
большой фрагмент текста не получится, да и работает не эффективно.
В плане привести это в порядок.
Ещё один момент заставляет призадуматься - постоянно возрастающая сложность
и как следсвие возрастающее время реакции на нажатие клавиш.
В немецкой прессе была статека об одном дядке, который замерил
время реакции на нажатие кнопки клавиатуры.
Результат был отрезвляющий - победил 20 летний древний Commodore:)
Ну а свременные копутеры на виндовсах - последние.
Вобщем, сложность растёт и время реакции тоже, но как с этим боротся пока непонятно.
...
Рейтинг: 0 / 0
Ещё один редактор
    #39615091
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikron
Ещё один момент заставляет призадуматься - постоянно возрастающая сложность
и как следсвие возрастающее время реакции на нажатие клавиш.

Это проблему надо решать сразу. Никому из пользователей не понравится редактор
который замедляет свою работу.
...
Рейтинг: 0 / 0
Ещё один редактор
    #39615218
д0kХ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mikronDima T,
Верю, и less показывает. А редактировать может?

sed
...
Рейтинг: 0 / 0
Ещё один редактор
    #39615433
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonmikron
Ещё один момент заставляет призадуматься - постоянно возрастающая сложность
и как следсвие возрастающее время реакции на нажатие клавиш.

Это проблему надо решать сразу. Никому из пользователей не понравится редактор
который замедляет свою работу.
Он не замедляет работу, он работает константно относително "медленно".
Медленность расёт с ростом версии и сложности кода.

Посмотрим на примитывнй редактор:
Нажатие клавиши приводит к изменению в текстовом буффере и к инвалидации региона окна.
И если реализовать работы с текстовым буферм не самым дубовым методом то будет оочень быстро.

Сомтрю на то что имею:
Нажатие клавиши приводит к добавлению новой задачи на изменеие буфера в очередь.
Буфер не простой. И в следствии его изменения - инвалидация кешей, логирование, изменения в закладках. В конечном итоге перестроение отображаемой модели и на её основе определение региона окна для перерисовки.
И это ещё далеко не все детали.

Как с этим боротся - без понятия.
...
Рейтинг: 0 / 0
Ещё один редактор
    #39615740
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторбольшой текстовый файл и пока все знакомые редактор с проблемой не справлялись
sed справляется, кстати
...
Рейтинг: 0 / 0
Ещё один редактор
    #39659411
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Продолжая тему

добавил:

Поддержка вставки файлов через буфер обмена.

Поддержку передачи больших регионов через буфера обмена.

Также поддержка вставки больших регионов. Здесь ешё есть потенциал для оптимизации но только если источник данных - сам редактор.

Так-же поддежка колоночного режима работы для болчич регионов.


Удаление строк (не-)удовлетворяюших кретерию поиска.

Скачать можно здесь.
Ну и конечно буду рад замечаниям / предложениям / критике.
...
Рейтинг: 0 / 0
Ещё один редактор
    #39661255
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавил проверку на апдейты, исправил пару ошибок и внёс новые.
Скачать здесь.
Интересно, что ошибли вылезли только на ХП, на вин8 COM работа с буфером обмена очевидна реализована немного по другому.
Теперь думаю какой функцинал внести после фазы стабилизации.
Добавить многотабие, поддержку динамической подсветки "тэгов" пользователя или макросы. Или чего совершенно другого. Вопрос в зал, какой фукцинал наиболее востребован за пределами стандартного Notepad.
Feedback is wellcome.
...
Рейтинг: 0 / 0
Ещё один редактор
    #39661279
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikron,

вертикальное выделение
+ мультиредактор на вертикальном выделении

tab выделенного блока перемещает весь блок, shift-tab в обратную сторону

ctrl-up/down скролит текст, оставляя курсор на месте

поиск/замена с регулярными выражениями

ну и т.д. ))
...
Рейтинг: 0 / 0
Ещё один редактор
    #39661413
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttвертикальное выделение
>> Уже есть.

+ мультиредактор на вертикальном выделении
>> Что это и зачем это нужно?

tab выделенного блока перемещает весь блок, shift-tab в обратную сторону
>> Это можно, но предположительно только для программистов востребовано. Или есть другие случаи?

ctrl-up/down скролит текст, оставляя курсор на месте
>> Уже есть, толко с ALT+...

поиск/замена с регулярными выражениями
>> Уже.
...
Рейтинг: 0 / 0
Ещё один редактор
    #39661463
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt+ мультиредактор на вертикальном выделении
>> Что это и зачем это нужно?

tab выделенного блока перемещает весь блок, shift-tab в обратную сторону
>> Это можно, но предположительно только для программистов востребовано. Или есть другие случаи?

Наверное нет, это больше актуально для разработки. Но часто очень не хватает, мне кажется, что перемещение блоков по табу должно быть по умолчанию во всех редакторах.
...
Рейтинг: 0 / 0
Ещё один редактор
    #39687264
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выложил очередную alpha-версию:
— Добавил Auto indent,
— улучшения в производительности некоторых операций,
— переодическая проверка наличия новых версий (без автоматического update)

Теперь думаю над добавлением табов / регистров. Собственно сама реализпция не сложна,
а вот с usability одни неприятности:
Однооконный интерфейс имеет однозночное и ожидаемое поведение.
Одно окно - один файл. Хочешь ещё окно - команда ctl-n. Закрываеш окно - буфер удаляется.
При открытии файла окно остаётся на месте и количество открытых файлов не меняется.
и независимость процессов - убиваем процес и все остальные окна не страдают.
И чёткое разделение обязанностей - виндовс управляет окнами и их переключением.
Но есть и минусы: операции через буфер обмена не эффевны, просмотр одного буфера в двух окнах одновременно невозможен etc.

С табами другие неприятности:
Например просмотр нескольких регионов одного файла одновременно.для реализации этого всё равно потребутся создавать несколько окон.
И тут начинаются неоднозначности - ctl-n открывает окно или таб? А что делает ctl-o если буфер уже открыт в соседнем окне?
Вобшем полно неоднозначностей.
...
Рейтинг: 0 / 0
Ещё один редактор
    #39687373
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikronВобшем полно неоднозначностей.

Можно пойти по принципу реализации табов в Chrome. Каждый таб -- отдельный процесс. Сам видимый браузер с табами, не более чем переключалка табов :)
...
Рейтинг: 0 / 0
Ещё один редактор
    #39687574
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttmikronВобшем полно неоднозначностей.

Можно пойти по принципу реализации табов в Chrome. Каждый таб -- отдельный процесс. Сам видимый браузер с табами, не более чем переключалка табов :)

Можно, не вижу как это можно "просто" реализовать.
И главная проблема - usability не решается.

Предположим у меня есть два окна
Window1: fileA, fileB
Window2: fileB, fileC

И Window1 активно а Window2 свёрнуто.
Ползователь открывает fileC (по закладке или просто через открыть файл).
Что он ожидает:
А) откроется ещё один таб с fileC в активном окне Window1
Б) фокус переключится на fileC в Window2, которое развернётся из трея
В) откроется ещё одно окно Window3 и в нём отобразится fileC
Г) что то другое?

Проблема в том что все варианты логичны.
А) пользователь хочет просто увидеть буфер рабочем окне. (он не хочет других окон, по тому что расположение окон оптимально и возможно паралено он смотрит в другом приложении кино)
Б1) ползователь просто забыл про буфер во втором окне. Возможно увидев его он получит то что хочет.
Б2) ползователь знает про буфер во втором окне и перешёл по закладке (bookmark). Он ожидает иммено что фокус переключится но первое окно не изменится.
В) что то по середине, но пользователь не хочет измененив текушем лайауте.

Основная проблема как я её вижу в том что управление буфером и управление окном обединяются в одну операцию.

В сингл документ - всё просто:
Управление окном - (Control-N и Alt-F4)
Всё осталное - управление буфером.


У кого какие будут идеи?
...
Рейтинг: 0 / 0
Ещё один редактор
    #39687577
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikron,

Не-не. Либо окна, либо вкладки. А если хочется и того и другого, то вкладки должны быть открепляемыми.

И вообще, для редактора вкладки не нужны, если нет в планах из него делать IDE.
А разработка IDE это вообще отдельный разговор.
...
Рейтинг: 0 / 0
Ещё один редактор
    #39687578
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikronУ кого какие будут идеи?

Сосредоточиться на главном. На редакторе одного файла в одном окне.
Основная проблема большинства проектов -- распыление.
И главное толком не сделали, и остальное пошло по п...е.
...
Рейтинг: 0 / 0
Ещё один редактор
    #39687787
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Ещё один редактор
    #39688090
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
лицензионный ключ для профессионала 0000-0000-0000-0000 :D
...
Рейтинг: 0 / 0
Ещё один редактор
    #39688130
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtesлицензионный ключ для профессионала 0000-0000-0000-0000 :D
Да пожалуйста. :)
...
Рейтинг: 0 / 0
Ещё один редактор
    #39690019
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikron,

FAR к примеру хорошо справляется. Поднлку сейчас гляну.
...
Рейтинг: 0 / 0
Ещё один редактор
    #39690020
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikron,


Ссылка не работает.
...
Рейтинг: 0 / 0
Ещё один редактор
    #39690044
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
25 сообщений из 173, страница 4 из 7
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Ещё один редактор
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]