Здравствуйте, Ziaw, Вы писали:
Z>Я как-то ковырял твой редактор, не показался он мне простым для использования. Z>Вобщем это все лирика, я решил, что накатать прототип быстрее, чем выяснить на чем лучше делать.
Такие вещи надо делать для веб и никаких проблем с кросс-платформенностью не будет. К тому же у вас есть веб-фреймворк вроде
Редактор с подсветкой на ДжаваСкрипт тоже не проблема:
Здравствуйте, Воронков Василий, Вы писали:
ВВ>Их редактор говно чуть менее чем полностью. Попробовал я им пользоваться, проклял все, в итоге все переделал на Сцинтиллу.
Основной косяк в их редакторе — это его полнейшая синхронность. Хотя как прикрутить ему свой парсер для шустрой подсветки я так и не понял (в исходники сильно не вчитывался).
Здравствуйте, hardcase, Вы писали:
H>Основной косяк в их редакторе — это его полнейшая синхронность. Хотя как прикрутить ему свой парсер для шустрой подсветки я так и не понял (в исходники сильно не вчитывался).
Это можно. Там есть статический HighlightingManager. Тебе, соответственно, надо реализовать свой IHighlightingStrategy и зарегистрировать его.
Основная проблема этого редактора — совершенно невменяемое API, из-за которого для выполнения простейших функций приходится писать что-то типа:
И все это на фоне практически полного отсутствия внятной документации.
Кстати, Mono Migration Utility на него ругается. А учитывая, что там и под виндой тараканов приходится ловить, под *никсами скорее всего придется тупо править всю эту гору неочевидного кода.
Здравствуйте, Воронков Василий, Вы писали:
ВВ>И все это на фоне практически полного отсутствия внятной документации.
Все это хреново, но альтернатив я не вижу. PInvoke в сцинтилу гораздо хуже (особенно с учетом кроссплатформенности).
ВВ>Кстати, Mono Migration Utility на него ругается. А учитывая, что там и под виндой тараканов приходится ловить, под *никсами скорее всего придется тупо править всю эту гору неочевидного кода.
По крайней мере просто запустить и немного поюзать npad под линуксом мне удалось. Этож не IDE, простой однофайловый (двухфайловый редактор. От него вагон возможностей и не требуется.
Здравствуйте, Воронков Василий, Вы писали:
ВВ>Здравствуйте, hardcase, Вы писали:
H>>Основной косяк в их редакторе — это его полнейшая синхронность. Хотя как прикрутить ему свой парсер для шустрой подсветки я так и не понял (в исходники сильно не вчитывался).
ВВ>Это можно. Там есть статический HighlightingManager. Тебе, соответственно, надо реализовать свой IHighlightingStrategy и зарегистрировать его.
Про IHighlightingStrategy это я знаю.
А вот самая соль — это реализовать эту стратегию
Здравствуйте, Ziaw, Вы писали:
ВВ>>И все это на фоне практически полного отсутствия внятной документации. Z>Все это хреново, но альтернатив я не вижу. PInvoke в сцинтилу гораздо хуже (особенно с учетом кроссплатформенности).
Альтернатива — RSDN Editor. Уже в плане понятности он точно не хуже #D. Если что, Влад наверное поможет в нем разобраться.
Другая альтернатива — сделать под веб. Можно даже с рид-онли сниппетами. Скачать что-то — большинству еще надо дозреть до этой мысли, а вот щелкнуть по ссылочке и посмотреть запускаемые примеры кода прямо в браузере — совсем другое дело.
Здравствуйте, Воронков Василий, Вы писали:
ВВ>Такие вещи надо делать для веб и никаких проблем с кросс-платформенностью не будет. К тому же у вас есть веб-фреймворк вроде
Все очень неплохо выглядит. Я бы занялся через месяцок примерно, если кто нибудь реализует этот самый безопасный сэндбокс. Чтобы не стал трояном и ресурсы не пережрал.
Ну и вопрос хостинга, есть ли ресурсы свободные на rsdn?
Здравствуйте, Ziaw, Вы писали:
Z>Все очень неплохо выглядит. Я бы занялся через месяцок примерно, если кто нибудь реализует этот самый безопасный сэндбокс. Чтобы не стал трояном и ресурсы не пережрал. Z>Ну и вопрос хостинга, есть ли ресурсы свободные на rsdn?
Можно сделать поскромнее, без сэнд-бокса — тогда и ресурсов особых не потребуется. В вебе можно только запускать примеры (естественно, уже заранее скомпилированные). А для того, чтобы поиграться самому — качать NPad, на который там же и будет ссылка. Онлайн-компилятор это, конечно, круто, но тут я переборщил малость, боюсь, даже Влад такое на РСДН не пробьет.
Здравствуйте, Воронков Василий, Вы писали:
ВВ>Здравствуйте, Ziaw, Вы писали:
Z>>Все очень неплохо выглядит. Я бы занялся через месяцок примерно, если кто нибудь реализует этот самый безопасный сэндбокс. Чтобы не стал трояном и ресурсы не пережрал. Z>>Ну и вопрос хостинга, есть ли ресурсы свободные на rsdn?
ВВ>Можно сделать поскромнее, без сэнд-бокса — тогда и ресурсов особых не потребуется. В вебе можно только запускать примеры (естественно, уже заранее скомпилированные). А для того, чтобы поиграться самому — качать NPad, на который там же и будет ссылка. Онлайн-компилятор это, конечно, круто, но тут я переборщил малость, боюсь, даже Влад такое на РСДН не пробьет.
Зачем на RSDN? Это уместнее на сайте nemerle.org замутить. Хотя это один и тот же сервер
Сэндбокс же вполне можно взять из того же хрома (http://code.google.com/p/sandboxed/) и допилить напильником для запуска в его target-процессе CLR-хоста и уже в нем выполнять немерловский код
Здравствуйте, kochetkov.vladimir, Вы писали:
KV>Сэндбокс же вполне можно взять из того же хрома (http://code.google.com/p/sandboxed/) и допилить напильником для запуска в его target-процессе CLR-хоста и уже в нем выполнять немерловский код
Заметь, что потенциально дыру можно протолкать в сам компилятор Боюсь чето
Здравствуйте, Воронков Василий, Вы писали:
ВВ>Можно сделать поскромнее, без сэнд-бокса — тогда и ресурсов особых не потребуется. В вебе можно только запускать примеры (естественно, уже заранее скомпилированные).
Осталось понять, нахрена из запускать Статик html с выводом отобразить и все.
Здравствуйте, kochetkov.vladimir, Вы писали:
KV>Зачем на RSDN? Это уместнее на сайте nemerle.org замутить. Хотя это один и тот же сервер
Ну вот в этом-то и проблема, компиляция процесс ресурсоемкий. Хотя, конечно, от онлайн-компилятора я бы не отказался.
KV>Сэндбокс же вполне можно взять из того же хрома (http://code.google.com/p/sandboxed/) и допилить напильником для запуска в его target-процессе CLR-хоста и уже в нем выполнять немерловский код
А зачем, все ведь менеджед Мне кажется, достаточно запускать все в отдельном лоу-траст домене + и компиляцию, и исполнение прибивать по определенному таймауту, скажем, секунда или две. Хромовый сендбокс же для всякой нативной хрени, вроде АктивИкс, а у нас и так все в песочнице происходит под названием "дотнет".
Здравствуйте, Ziaw, Вы писали:
KV>>Сэндбокс же вполне можно взять из того же хрома (http://code.google.com/p/sandboxed/) и допилить напильником для запуска в его target-процессе CLR-хоста и уже в нем выполнять немерловский код Z>Заметь, что потенциально дыру можно протолкать в сам компилятор Боюсь чето
Например, какую дыру? Код же управляемый. В худшем случае свалиться сам компилятор — и все.
Здравствуйте, Ziaw, Вы писали:
ВВ>>Можно сделать поскромнее, без сэнд-бокса — тогда и ресурсов особых не потребуется. В вебе можно только запускать примеры (естественно, уже заранее скомпилированные). Z>Осталось понять, нахрена из запускать Статик html с выводом отобразить и все.
Ну я не знаю, смотря что за примеры. Пример может по-этапно выводить какие-нибудь данные. Ну и вообще для интереса надо у примеров какие-нибудь инпут параметры делать. Типа "посчитаем факториал"
H>>>Основной косяк в их редакторе — это его полнейшая синхронность. Хотя как прикрутить ему свой парсер для шустрой подсветки я так и не понял (в исходники сильно не вчитывался).
ВВ>>Это можно. Там есть статический HighlightingManager. Тебе, соответственно, надо реализовать свой IHighlightingStrategy и зарегистрировать его.
H>Про IHighlightingStrategy это я знаю. H>А вот самая соль — это реализовать эту стратегию
Если есть свой парсер, то подсветку можно прикрутить через наследование от DocumentColorizingTransformer,
которую потом добавить в редактор через:
textEditor.TextArea.TextView.LineTransformers.Add(colorizer);
Пример можно посмотреть здесь (класс ColorizeChanges).
Здравствуйте, Ziaw, Вы писали:
Z>Здравствуйте, VladD2, Вы писали:
VD>>Кстати, Хардкейс эту либу немерлом откомпилировал! Пришлось пару правок сделать, но все же удалось!
Z>Клево. Пару правок в либе или компиляторе?
В коде библиотеки. У немерла не только синтаксис отличается. Скажем суммирование значений со строками не допускается (нужна явная конвертация).
VD>>Можно конечно еще и RTF попробовать. Но не фак что он под Моно заведется.
Z>По слухам работает, надо тестить.
Попробуй.
Z>Можно html (markdown?) попробовать конвертить в rtf.
Зачем? РТФ создать не проблема.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Ziaw, Вы писали:
Z>Жирным и цветом можно выделить хайлатером редактора.
И как ты себе это видишь? Ты в курсе чем подсветка отличается от форматирования?
Плюс не факт, что их редактор поддерживает пропорциональный шрифт.
VD>>Тут еще важен внешний вид. А то убогая внешне программка уже на подсознательном виде будет отвращение навивать.
Z>По мне так она сосем не выглядит убого внешне.
Комментарии выглядят убого. И текст в моноширинном виде да еще и в редакторе — тоже убого. Тут вообще, лучше вон к Кочеткову обратиться. У него дизайнерские претензии есть. Может подкинет мыслишек.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Ziaw, Вы писали:
Z>Здравствуйте, kochetkov.vladimir, Вы писали:
KV>>Сэндбокс же вполне можно взять из того же хрома (http://code.google.com/p/sandboxed/) и допилить напильником для запуска в его target-процессе CLR-хоста и уже в нем выполнять немерловский код
Z>Заметь, что потенциально дыру можно протолкать в сам компилятор Боюсь чето
Здравствуйте, Воронков Василий, Вы писали:
ВВ>Здравствуйте, kochetkov.vladimir, Вы писали:
KV>>Зачем на RSDN? Это уместнее на сайте nemerle.org замутить. Хотя это один и тот же сервер ВВ>Ну вот в этом-то и проблема, компиляция процесс ресурсоемкий. Хотя, конечно, от онлайн-компилятора я бы не отказался.
Ну мы же говорим о компиляции простых примеров, а не о средстве сборки, например, самого компилятора? Можно ограничить количество экземпляров компилятора, организовать пул и очередь компиляции.
KV>>Сэндбокс же вполне можно взять из того же хрома (http://code.google.com/p/sandboxed/) и допилить напильником для запуска в его target-процессе CLR-хоста и уже в нем выполнять немерловский код
ВВ>А зачем, все ведь менеджед Мне кажется, достаточно запускать все в отдельном лоу-траст домене + и компиляцию, и исполнение прибивать по определенному таймауту, скажем, секунда или две. Хромовый сендбокс же для всякой нативной хрени, вроде АктивИкс, а у нас и так все в песочнице происходит под названием "дотнет".
Разуеется, речь о недоверенном домене приложений. Хромовский сендбокс нужен для того, чтобы избежать неприятных последствий от эксплуатации какой-либо дыры в CLR.
Здравствуйте, kochetkov.vladimir, Вы писали:
KV>>>Зачем на RSDN? Это уместнее на сайте nemerle.org замутить. Хотя это один и тот же сервер ВВ>>Ну вот в этом-то и проблема, компиляция процесс ресурсоемкий. Хотя, конечно, от онлайн-компилятора я бы не отказался. KV>Ну мы же говорим о компиляции простых примеров, а не о средстве сборки, например, самого компилятора? Можно ограничить количество экземпляров компилятора, организовать пул и очередь компиляции.
Ну я-то буду только рад. Осталось только, чтобы "партия" дала добро.
А начать можно было бы и с просто интерактивных примерчиков онлайн.
KV>>>Сэндбокс же вполне можно взять из того же хрома (http://code.google.com/p/sandboxed/) и допилить напильником для запуска в его target-процессе CLR-хоста и уже в нем выполнять немерловский код ВВ>>А зачем, все ведь менеджед Мне кажется, достаточно запускать все в отдельном лоу-траст домене + и компиляцию, и исполнение прибивать по определенному таймауту, скажем, секунда или две. Хромовый сендбокс же для всякой нативной хрени, вроде АктивИкс, а у нас и так все в песочнице происходит под названием "дотнет". KV>Разуеется, речь о недоверенном домене приложений. Хромовский сендбокс нужен для того, чтобы избежать неприятных последствий от эксплуатации какой-либо дыры в CLR.
Дыры в CLR? А, ну да, я и забыл, что ты безопасник Тогда да, хромов сендбокс не помешает. А они ведь там отдельный физический процесс создают для изоляции? Или как все это организовано?