Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
1

Текстовый редактор кода с нуля

14.11.2015, 00:15. Показов 1752. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите советами!

Хочу начать писать СВОЙ текстовый редактор кода под броузер. (под особый узкоспециализированный скриптовый язык)
Понимаю - процесс не на один месяц, но с чего-то надо начать!

Надо:

1) каждая строка является аякс-запросом на сервер (в PHP). Каждый ентер или переход с измененной строки на другую вызовет отправку строки на сервер.
2) каждая строка имеет свой "блок маркеров" перед текстом. (типа поставлена метка для прыжка, здесь ошибка, обнаружена переменная)
3) все строки обьединены в общий скролл. (как в обычном редакторе)
4) могу управлять цветами текста в каждой строке (как в HTML, но со стороны сервера)
5) можно управлять копи-пасте как текстом на несколько строк.

Когда-то нечто подобное начинал писать на Делфи, рисовал с нуля каждую строку на канвасе
Сейчас хочу переписать на яваскрипт "под сервер" для онлайн редактирования скриптов.

Видел похожие "редакторы" под коды на других языках (яваскрипт, css, ruby, pyton). Там каждая строка отдельным фоном, с проверкой орфографии на сервере и подсветкой ключевых слов.

Может есть некие готовые "фрейворки"? Чтобы совсем с нуля не писать?

Или хотя-бы посоветуйте с чего начать??? Общий большой канвас? набор канвасов под строки? Класс наследник редактора? Некий класс наследник некого универсального компонента html? Вообще без ООП?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.11.2015, 00:15
Ответы с готовыми решениями:

Копирование кода в текстовый редактор
Может быть есть способ копирования кода из файла формата .pas, чтобы там, где был русский текст был...

Текстовый редактор
Проблема с текстовым редактором, сам редактор работает нормально, но преподаватель сказал, чтобы...

Текстовый редактор
• Разработать программный код для пункта Файл/ Новый. При выборе этого пункта текстовое окно...

Текстовый редактор
Доброго времени суток. Поставлена задача написания простейшего текстового редактора.Среда должна...

8
Эксперт PHP
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
14.11.2015, 01:07 2
Цитата Сообщение от Tester64 Посмотреть сообщение
Или хотя-бы посоветуйте с чего начать???
С изучения того, что уже есть
Подборка свыше десятка скриптов, которые вы можете использовать для подсветки синтаксиса программного кода на своих сайтах ссылка
1
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
14.11.2015, 01:34  [ТС] 3
Спасибо, изучу!
Цитата Сообщение от Poznakomlus Посмотреть сообщение
для подсветки синтаксиса программного кода
Мне не просто "подсветка синтаксиса" нужна! Мне нужен ПОЛНОЦЕННЫЙ редактор "клиент-сервер". С кучей рисованных элементов там где у редакторов номера строк https://ace.c9.io/#nav=about
И с полноценной аякс-обработкой энтера, обьединения строк, удаления блока из нескольких строк и драг-энд-дропа между строками!
Я хочу чтобы СТРОКИ ГЕНЕРИЛ СЕРВЕР! ПОШТУЧНО! А не отдавал клиенту целый текст...

Я полный новичок в подобном!!! Скажите, по Вашему опыту - это реально на готовых компонентах? Или проще написать "с нуля"?

Я готов потерять в "красоте"(скины, шаблоны раскрасок кода), функционале (горячие клавиши, выпадающие меню, сворачивание блоков) и даже в скорости, но мне нужна именно такая схема! Каждая строка "приходит оттуда" и "уходит туда". Сервер управляет всем, вплоть до позиции курсора и выделения...

На той стороне у меня очень хитрая схема хранения строк! И рассчитана на изменение небольшого количества строк из большого текста, а не полную перезапись много-килобайтного текста.
0
Эксперт PHP
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
14.11.2015, 03:09 4
Цитата Сообщение от Tester64 Посмотреть сообщение
Я полный новичок в подобном
это долго по времени с ваши опытом
редакторов много на самом деле, но работа с ними не всегда легкая
WYSIWYG editor к примеру, вот небольшой и старый обзор http://habrahabr.ru/post/129262/
их много и под разными лицензиям
1
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
14.11.2015, 04:35  [ТС] 5
Цитата Сообщение от Poznakomlus Посмотреть сообщение
это долго по времени с ваши опытом
Не очень! я быстро учусь... (хотя и проект пока - лишь "хобби")
+ у меня ОЧЕНЬ большой подобный опыт в Делфи (на 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
Superposition
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
14.11.2015, 04:53 6
Цитата Сообщение от Tester64 Посмотреть сообщение
Хочу начать писать СВОЙ текстовый редактор кода
Цитата Сообщение от Tester64 Посмотреть сообщение
Мне нужно нечто большее...
NWJS
0
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
14.11.2015, 05:24  [ТС] 7
Цитата Сообщение от Padimanskas Посмотреть сообщение
NWJS
Это похоже просто фреймворк! "Пустышка" - типа можно написать все что захочешь... А мне заготовка для РЕДАКТОРА нужна!
0
Superposition
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
14.11.2015, 11:04 8
Цитата Сообщение от Tester64 Посмотреть сообщение
Это похоже просто фреймворк!
Нет, это не фреймворк.
Цитата Сообщение от Tester64 Посмотреть сообщение
А мне заготовка для РЕДАКТОРА нужна!
Вот тут нужно определиться - либо текстовый редактор с нуля, либо заготовка для редактора, либо нефреймворк, либо неканвас, либо обучающие материалы с нуля по всему стеку ))
0
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
14.11.2015, 13:12  [ТС] 9
Цитата Сообщение от Padimanskas Посмотреть сообщение
Вот тут нужно определиться - либо текстовый редактор с нуля, либо заготовка для редактора, либо нефреймворк, либо неканвас, либо обучающие материалы с нуля по всему стеку ))
Мне нужно то, на чем можно написать максимально БЫСТРО мультиплатформенный текстовый редактор для браузера (подгрузил на любом чужом компе с сервера недостающие 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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.11.2015, 13:12
Помогаю со студенческими работами здесь

Текстовый редактор
Мне нужно создать текстовый редактор на C++ Builder с возможностью вставки рисунков и таблиц.В...

Текстовый редактор
Ребят, добрый вечер всем. Надо создать редактируемое поле для занесения в него произвольного...

Текстовый редактор
Всем здравствуйте! Задали написать простейший текстовый редактор, кое-что сделала, но не работают...

Текстовый редактор
У меня не работает текстовый редактор Word в windows7 (начальная версия ) Почему это происходит?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru