420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
|
1 | |
Текстовый редактор кода с нуля14.11.2015, 00:15. Показов 1752. Ответов 8
Метки нет (Все метки)
Помогите советами!
Хочу начать писать СВОЙ текстовый редактор кода под броузер. (под особый узкоспециализированный скриптовый язык) Понимаю - процесс не на один месяц, но с чего-то надо начать! Надо: 1) каждая строка является аякс-запросом на сервер (в PHP). Каждый ентер или переход с измененной строки на другую вызовет отправку строки на сервер. 2) каждая строка имеет свой "блок маркеров" перед текстом. (типа поставлена метка для прыжка, здесь ошибка, обнаружена переменная) 3) все строки обьединены в общий скролл. (как в обычном редакторе) 4) могу управлять цветами текста в каждой строке (как в HTML, но со стороны сервера) 5) можно управлять копи-пасте как текстом на несколько строк. Когда-то нечто подобное начинал писать на Делфи, рисовал с нуля каждую строку на канвасе Сейчас хочу переписать на яваскрипт "под сервер" для онлайн редактирования скриптов. Видел похожие "редакторы" под коды на других языках (яваскрипт, css, ruby, pyton). Там каждая строка отдельным фоном, с проверкой орфографии на сервере и подсветкой ключевых слов. Может есть некие готовые "фрейворки"? Чтобы совсем с нуля не писать? Или хотя-бы посоветуйте с чего начать??? Общий большой канвас? набор канвасов под строки? Класс наследник редактора? Некий класс наследник некого универсального компонента html? Вообще без ООП?
0
|
14.11.2015, 00:15 | |
Ответы с готовыми решениями:
8
Копирование кода в текстовый редактор Текстовый редактор Текстовый редактор Текстовый редактор |
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
|
14.11.2015, 01:34 [ТС] | 3 |
Спасибо, изучу!
Мне не просто "подсветка синтаксиса" нужна! Мне нужен ПОЛНОЦЕННЫЙ редактор "клиент-сервер". С кучей рисованных элементов там где у редакторов номера строк https://ace.c9.io/#nav=about И с полноценной аякс-обработкой энтера, обьединения строк, удаления блока из нескольких строк и драг-энд-дропа между строками! Я хочу чтобы СТРОКИ ГЕНЕРИЛ СЕРВЕР! ПОШТУЧНО! А не отдавал клиенту целый текст... Я полный новичок в подобном!!! Скажите, по Вашему опыту - это реально на готовых компонентах? Или проще написать "с нуля"? Я готов потерять в "красоте"(скины, шаблоны раскрасок кода), функционале (горячие клавиши, выпадающие меню, сворачивание блоков) и даже в скорости, но мне нужна именно такая схема! Каждая строка "приходит оттуда" и "уходит туда". Сервер управляет всем, вплоть до позиции курсора и выделения... На той стороне у меня очень хитрая схема хранения строк! И рассчитана на изменение небольшого количества строк из большого текста, а не полную перезапись много-килобайтного текста.
0
|
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
|
|
14.11.2015, 03:09 | 4 |
это долго по времени с ваши опытом
редакторов много на самом деле, но работа с ними не всегда легкая WYSIWYG editor к примеру, вот небольшой и старый обзор http://habrahabr.ru/post/129262/ их много и под разными лицензиям
1
|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
|
14.11.2015, 04:35 [ТС] | 5 |
Не очень! я быстро учусь... (хотя и проект пока - лишь "хобби")
+ у меня ОЧЕНЬ большой подобный опыт в Делфи (на 90% написал с нуля свой подобный редактор с раскрасками и даже подменой шрифтов и стрелками-гипер-ссылками в зоне номеров) По ссылке в основном html-"оборачиватели" - выделить текст и безопасно обернуть его в стиль тегами. Мне нужно нечто большее... Нашел https://ace.c9.io/build/kitchen-sink.html Похоже на то что нужно... Правда исходников почти 11 мб... Долго "вычитывать" прийдется! Но похоже он умеет все что мне нужно... Его использует приличный набор компаний https://ace.c9.io/#nav=production А судя по возможностям гитхаба он может выборочно манипулировать строками, обрабатывать каждую строку независимо и подменять Gutter(номера строк - там у меня свои номера должны быть кроме стандартных): https://github.com/blog/905-ed... ur-changes ...теперь буду по немножку учить его API... и ме-е-едленно адаптировать под себя (я еще только начал переписывать то самое хранилище строк с Делфи на php - целую "лабораторию" для этого написал на яваскрипт в одну страницу с десятками индикаторов через аякс для отладок и тестов) Не по теме: Уже 2й час его изучаю но так и не понял как он вообще умудряется читать имена и начинку файлов любого типа из папки data средствами javascript без лишних "доступов" и даже без использования серверных скриптов...
0
|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
|
14.11.2015, 05:24 [ТС] | 7 |
Это похоже просто фреймворк! "Пустышка" - типа можно написать все что захочешь... А мне заготовка для РЕДАКТОРА нужна!
0
|
Superposition
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
|
|
14.11.2015, 11:04 | 8 |
Нет, это не фреймворк.
Вот тут нужно определиться - либо текстовый редактор с нуля, либо заготовка для редактора, либо
0
|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
|
14.11.2015, 13:12 [ТС] | 9 |
Мне нужно то, на чем можно написать максимально БЫСТРО мультиплатформенный текстовый редактор для браузера (подгрузил на любом чужом компе с сервера недостающие js и меняешь код лежащий на сервере).
Либо адаптировать чужой редактор (сейчас склоняюсь что проще "сломать"/"наложить свои скрипты" на готовый универсальный ACE-редактор), либо писать совсем с нуля. ACE использует целиком теги html (каждая строка=div). Он (вроде) абсолютно мультиплатформенный (не будет глюков - канвас не заработал на старом андроиде/маке/айпэде/ie6). Он не требует модификации серверной части - там php через jquery, здесь hml+javascrip+js-файлы самого редактора. Не понадобиться ставить что-нибудь вроде Pyton или NodeJS на хостинг. Просмотрел сотню редакторов и вьюверов. Скачал и опробовал десяток. Канвасных не встретил. Большинство на уровне "выделил" и "изменил стиль" (для "админок-редакторов статей", вики-страниц или форумов). С ace я провозился пока только 4-6 часов. Уже умею менять стили, нащупал как менять расскраску текста формулами, вставлять формулы в зону номеров строк, Нашел сотни примеров, включая авто-тесты манипуляции текстом из js - курсор бегает, выделяется, удаляется, вставляется текст... Правда ОЧЕНЬ много незнакомого кода. И я еще не понял как сохранять изменения. И не нашел точку где он читает файл (хотя команду указания файла нашел, но не кусок в исходнике где он его разлагает на строки). Нашел в тестах "вывод логов всех действий" - теоретически смогу обрабатывать изменение строк (но еще не управляю этим). Думаю часов за 100-300 внесу хоть как-нибудь ВСЕ нужное мне (скорее всего нагло ломая исходники - скрипты "настроек" писать на порядок сложнее)... Даже смогу подкладывать мини-картинки нарисованные на javacript-канвас в зону номеров или в зону скролла (нужна "карта кода"). Некоторых возможностей не находил даже в обычных редакторах (мультикурсоры - 3-4 варианта, выпадающий миниредактор под строкой с этим-же текстом, быстрая подмена клавиш - например "как VIM") Сколько я буду писать подобное на NWJS ? И что полезного мне даст изучение этого фреймворка? (пока нашел только одну популярную программу написанную на нем - все жаловались на большие размеры файла - торрент-просмотрщик фильмов. И та была "снята с поддержки". Остальные на хабре жалуются на фреймворк)
0
|
14.11.2015, 13:12 | |
14.11.2015, 13:12 | |
Помогаю со студенческими работами здесь
9
Текстовый редактор Текстовый редактор Текстовый редактор Текстовый редактор Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |