M>>Да помиммо реальности, ту непонятно, про что adontz говорит. _R_>Ну не знаю. Лично я его понимаю и поддерживаю. Но вот работоемкость подобных идей зашкаливает.
Я тоже понимаю, что он говорит. Я не понимю, как он прыгает с одного на другое
Здравствуйте, AndrewVK, Вы писали:
AVK>Спрашивай у них. Пока что все угрозы переписать весь сайт, форматтер, etc заканчивались переписыванием компилятора Немерле.
А может просто случая не было? Прописать волшебный пендаль?
Здравствуйте, Mamut, Вы писали: M>Но adontz валит все это в кучу и заявляет «Я просто к тому что умный редактор это не фантастика какая-то»
Я не валю в кучу, я накидываю идеи. А ты просто упёрся в якобы большую сложность реализации. Вотя буквально на коленке набросал то о чём говорил. Вставляешь из буфера что-топохожее на код и он обрамляется тегом [code]. [b], [i], [u] вставляются по клавиатурным сокращениям. Как оказалось, можно отлавливать довольно странные комбинации, вроде Ctrl,Ctrl. Код проверял в FF и IE.
M>>Но adontz валит все это в кучу и заявляет «Я просто к тому что умный редактор это не фантастика какая-то»
A>Я не валю в кучу, я накидываю идеи.
Я не против накидывания идей. Я против складывания их в кучу. А именно этим ты и занимаешься.
A>А ты просто упёрся в якобы большую сложность реализации.
В сложность реализации чего? Шорткатов? Анализ кода без ложных срабатываний для практически произвольного кода? Автодополнения? Убирания отступов?
Ты бы сначала определился, о чем ты говоришь.
A>Вотя буквально на коленке набросал то о чём говорил. Вставляешь из буфера что-топохожее на код и он обрамляется тегом
Не находишь, что это немножко далеко от, цитирую
Если, например, после вставки из буфера редактор сам поймёт что это код на языке программирования...
не понимаю, как едеждевно пользуясь автодополнением при написании программ не хотетть того же при написании сообщений...
код программы легко отличить по, например, отступам (символам \t, четырём и более пробелам подряд в начале строки). Можно вырезать общий для всех строк отступ, это будет весьма удобно...
Автоопределение языка программирования уже на порядки более сложная задача, хотя её вполне можно решить частично для наиболее популярных языков. Главное, чтобы не было false positives...
M>>Я тоже понимаю, что он говорит. Я не понимю, как он прыгает с одного на другое
_R_>Рассказываю: он хочет, что бы было красиво и удобно. Это касается и того и другого, потому и прыгает.
Я тоже хочу красиво и удобно, но это не значит, что на замечание «анализ кода при вставке сделать сложно» надо отвечать «не понимаю, как можно жить без автодополнения», а на вопрос «что за автодополнение» отвечать «ну, при вставке надо обрезать отступы слева, я не о космических технологиях говорю, между прочим»
Все же предполагается, что собеседник будет все же хоть чуточку держать контекст разговора и оформлять свои мысли хоть немного структурировано, не?
Здравствуйте, Mamut, Вы писали:
A>>Вотя буквально на коленке набросал то о чём говорил. Вставляешь из буфера что-топохожее на код и он обрамляется тегом M>Не находишь, что это немножко далеко от, цитирую M>
M>код программы легко отличить по, например, отступам (символам \t, четырём и более пробелам подряд в начале строки). Можно вырезать общий для всех строк отступ, это будет весьма удобно...
Вообще-то это как раз то, о чём я говорил. Вставили исходный код и теги форматирования добавились сами.
Искать и вырезать общий отступ в начале строк я не стал. Не думаю, что наличие строковых функций в JavaScript требует доказательств.
Короче. Мой тезис прост — "умный" редактор с более многословными тегами может быть значительно удобнее примитивного редактора с менее многословными тегами. Ты не согласен? То что вещи о которых я говорю реализуются за разумное время я уже показал. Реализовал две функции. Автоопределения языка тоже не является мегасложной задачей с точки зрения сложности реализации. В каждом языке есть ключевые слова или последовательности ключевых слов, библиотечные функции, которые позволят его идентифицировать. Простой поиск подстрок, которые надо просто разумно выбрать. Ничего лучше и не надо, потому что автоматически определить является ли "var x = y + z" фрагментом на C# или JavaScript не возможно, да и вряд ли нужна специфическая подсветка для такого короткого фрагмента.
A>>>Вотя буквально на коленке набросал то о чём говорил. Вставляешь из буфера что-топохожее на код и он обрамляется тегом M>>Не находишь, что это немножко далеко от, цитирую M>>
M>>код программы легко отличить по, например, отступам (символам \t, четырём и более пробелам подряд в начале строки). Можно вырезать общий для всех строк отступ, это будет весьма удобно...
A>Вообще-то это как раз то, о чём я говорил. Вставили исходный код и теги форматирования добавились сами. A>Искать и вырезать общий отступ в начале строк я не стал. Не думаю, что наличие строковых функций в JavaScript требует доказательств.
A>Короче. Мой тезис прост — "умный" редактор с более многословными тегами может быть значительно удобнее примитивного редактора с менее многословными тегами. Ты не согласен?
Спорно, тем более, что ты этого не показал. Ты вместо разговора предпочел прыгать с одной темы на другую и придумывать за собесденика какие-то тезисы.
Так в чем плюс многословности?
A>То что вещи о которых я говорю реализуются за разумное время я уже показал.
Какие именно? В разговоре со мной ты как минимум о 5 разных вещах. Тут
Здравствуйте, Mamut, Вы писали:
A>>Короче. Мой тезис прост — "умный" редактор с более многословными тегами может быть значительно удобнее примитивного редактора с менее многословными тегами. Ты не согласен? M>Спорно, тем более, что ты этого не показал.
Не понимаю, как это может быть спорно, для человека использующего IDE . Нормальный Intellisence
M>Так в чем плюс многословности?
В уменьшении времени обучения. BBCode во многом повторяет HTML. Понятно, что сейчас [b] транслируется в <strong> потому что так культурнее, но вообще-то был (и есть) такой тег <b>. И синтаксическая аналогия между [img=...]...[/img], [url=...]...[/url], [code=...]...[/code] достаточно очевидна. Человек запомнив как пишется [b] легко экстраполирует своё знание на [i] и [u].
A>>То что вещи о которых я говорю реализуются за разумное время я уже показал.
M>Какие именно? В разговоре со мной ты как минимум о 5 разных вещах. Тут
Ладно, давай их разберём.
M>То у него уже модальные диалоги для ссылок и изображений нужны, то не нужны (и в этом случае почти все существующие форматы подходят под требование).
Ты не понял, что речь шла не о способе ввода информации, именно поэтому я легко отказался от модальных диалогов, а о том что триггером для ввода дополнительной информации — описания к ссылке или изображению, станет распознавание URL.
M> То у него «анализ вставляемого кода», который неожиданно превращается в «автодополнение» (чего???), который неожиданно превращается в «убирание отступов слева»
Уже не правильно. Не анализ кставляемого кода, а анализ вставляемого текста, проверка не является ли исходный текст кодом. Автодополнение (если текст является кодом) тегов форматирования. в примере {code}, но это не принципиально. Важно, что после вставки текста из буфера обмена, если он был идентифицирован как исходный код, вставленный текст автоматически обрамляется тегами форматирования. Что тут такого непонятного?
A>>Автоопределения языка тоже не является мегасложной задачей с точки зрения сложности реализации. M>Да ты что? Точно? Надо будет рассказать об этом highlight.js, а то они, бедняги, определения пишут, релевантность, еще всякую фигню придумывают.
Ну тут ты, мягко говоря, лукавишь. Они ищут код среди текста, а нам уже известно где находится код, надо только уточнить язык. Я опять таки, уже предложил неплохой вариант как.
Здравствуйте, AndrewVK, Вы писали:
C>>[b] — гораздо менее частотная последовательность, чем *.
AVK>Поэтому внутри кода * двойная. Мало? Можно сделать тройную.
Не мало, но глупо. Думаю, ты и сам пошлешь свою идею по дальше, после пары "а черт!..." при копипасте кода.
ЗЫ
работают в коде отлично только потому, что без закрывающего они не обрабатываются. А с ним вероятность появления этого дела в коде стремится к нулю.
ЗЗЫ
Вообще, от добра добра не ищут. Текущий формат вполне удобен. Имеет смысл развивать его, а не выдумывать разную муру. В нем есть явные неудобства. Я бы выделил неудобные заголовки, списки и таблицы. Вот нужно подумать как их упростить. С зоголовками все просто. !!! ли === всех устроит. Со списками тоже не сложно. ## отлично подходя. С таблицами все сложнее, но тоже решаемо.
Что до трудностей ручного написания ББ-тегов, то их никто руками не пишет. На то есть тулбар.
Ну, а для упрощения форматирования имеет смысл делать визивидж-редктор, а не колдовать с форматами.
ЗЗЗЫ
Что касается технической стороны, то это не особой проблемой не является. Мы на этом уже всех собак съели.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Не мало, но глупо. Думаю, ты и сам пошлешь свою идею по дальше, после пары "а черт!..." при копипасте кода.
Ну и? Твои предложения?
VD> работают в коде отлично только потому, что без закрывающего они не обрабатываются.
Я не планировал подобное поведение менять. Скорее наоборот, усложнять, чтобы заодно проверялось соотношение с границами слова.
VD>Вообще, от добра добра не ищут. Текущий формат вполне удобен.
Лично мне — нет. Можешь завести голосование.
VD>Что до трудностей ручного написания ББ-тегов, то их никто руками не пишет. На то есть тулбар.
Потому и не пишет, что жутко неудобно.
VD>Ну, а для упрощения форматирования имеет смысл делать визивидж-редктор, а не колдовать с форматами.
Сделай.
VD>Что касается технической стороны, то это не особой проблемой не является. Мы на этом уже всех собак съели.
Мне как то с ваших собак никакого прибытка. Что ты, что WH для сайта ничего не пишете, только флеймы разводите.
... << RSDN@Home 1.2.0 alpha 5 rev. 65 on Windows 7 6.1.7601.65536>>
Здравствуйте, AndrewVK, Вы писали:
Z>>Хотелось бы еще возможность указывать язык для однострочников.
AVK>Тогда придется придумать, как понять что это название языка, а не код
например так:
{{{lang:C# if (a > 0) {} else {} }}}
lang можно использовать и в многострочной версии, для единообразия, не так много букв, раскладку все равно переключать.
Здравствуйте, VladD2, Вы писали:
VD>Что до трудностей ручного написания ББ-тегов, то их никто руками не пишет. На то есть тулбар.
Глупости. Зачем отрывать руку от клавиатуры и целиться мышью в кнопку, если можно написать тэг?
VD>Ну, а для упрощения форматирования имеет смысл делать визивидж-редктор, а не колдовать с форматами.
A>>>Короче. Мой тезис прост — "умный" редактор с более многословными тегами может быть значительно удобнее примитивного редактора с менее многословными тегами. Ты не согласен? M>>Спорно, тем более, что ты этого не показал.
A>Не понимаю, как это может быть спорно, для человека использующего IDE . Нормальный Intellisence
При чем тут интеллисенс и IDE к редактору с тэгами, известно только тебе.
M>>Так в чем плюс многословности?
A>В уменьшении времени обучения. BBCode во многом повторяет HTML.
А, ну да. Прям-так все знают и обязаны знать HTML. С точки зрения не-веб-программиста, абсолютно пофиг, как выделять текст — через [b] или там через **. Если текстов надо набирать достаточно много, на первое место выходит удобство, а не теги.
A>>>То что вещи о которых я говорю реализуются за разумное время я уже показал.
M>>Какие именно? В разговоре со мной ты как минимум о 5 разных вещах. Тут
я все сказал по этому поводу.
A>Ладно, давай их разберём.
Неужели! Наконец-то!
M>>То у него уже модальные диалоги для ссылок и изображений нужны, то не нужны (и в этом случае почти все существующие форматы подходят под требование).
A>Ты не понял, что речь шла не о способе ввода информации, именно поэтому я легко отказался от модальных диалогов, а о том что триггером для ввода дополнительной информации — описания к ссылке или изображению, станет распознавание URL.
Каким триггером? Какое распознавание? Ты о чем вообще? Стояла задача: ввести ссылку и описание. ВНЕЗАПНО банальное что-то типа
!http://a/b/c описание!
будет в разы проще и понятнее, чем «триггеры для ввода доп. описания»
M>> То у него «анализ вставляемого кода», который неожиданно превращается в «автодополнение» (чего???), который неожиданно превращается в «убирание отступов слева»
A>Уже не правильно. Не анализ кставляемого кода, а анализ вставляемого текста, проверка не является ли исходный текст кодом.
Не только проверка, что это код. Еще и проверка, на каком языке программирования этот код, да так, чтобы не было ложных срабатываний. Ага-ага. Банальное
{{{ ruby
вставили код
}}}
решает все проблемы с удобством вставки, анализа кода, защитой от ложных срабатываний, расширяемость для люого кода и т.п.
A>Автодополнение (если текст является кодом) тегов форматирования. в примере {code}, но это не принципиально.
Вау. В 10 сообщении ты, наконец, соизволил объяснить, что ты имеешь в виду. Автокомплит не нужен, если мы не будем пользоваться излишне многословными тэгами.
A>Важно, что после вставки текста из буфера обмена, если он был идентифицирован как исходный код, вставленный текст автоматически обрамляется тегами форматирования. Что тут такого непонятного?
Если бы ты структурировал свои мысли и на вопрос «что такое автокомплит» не отвечал «а вот еще отступы убирать», было бы все понятно.
A>>>Автоопределения языка тоже не является мегасложной задачей с точки зрения сложности реализации. M>>Да ты что? Точно? Надо будет рассказать об этом highlight.js, а то они, бедняги, определения пишут, релевантность, еще всякую фигню придумывают.
A>Ну тут ты, мягко говоря, лукавишь. Они ищут код среди текста, а нам уже известно где находится код,
Только внезапно все ровно наоборот. highlight.js точно знает, где находится код и пытается определить, что это за код. А вот с какого перепугу нам известно, где находится код? У нас человек банально делает Ctrl-V. Что в этом вставленном тексте является кодом, а что — нет? Как ты там говорил? "Главное, чтобы не было ложных срабатываний". Ну-ну
A>надо только уточнить язык. Я опять таки, уже предложил неплохой вариант как.
Что в этом варианте неплохого, неизвестно. По Ctrl-V призодит неизвестно, какой текст. Надо его проанализировать, чтобы понять, код ли это, и какая часть из него является одом. Определить, что это за язык. И все — без ложных срабатываний.
А так — дадада, Неплохо вариант. Тлько вот от «если в тексте не дай бог встретится \t или пару пробелов» до «определить, что это код, на каком языке и без ложных срабатываний» — пропасть.