XBrackets plugin
- Author
- Message
-
Offline
- Posts: 1250
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
Обычно при подсветке фона и наличии выделения XBrackets смешивает заданный цвет фона и цвет выделения, чтобы результирующий цвет сочетал оба цвета в равной пропорции. Но в последних версиях это отвалилось.
Пока похоже на то, что для исправления обеих ошибок потребуется как новая версия XBrackets, так и новая версия AkelPad. (Что до цвета, планирую в новой версии смешивать заданный цвет фона и цвет выделения в пропорциях 1/3 и 2/3 соответственно, чтобы цвет выделения преобладал.)
Пока похоже на то, что для исправления обеих ошибок потребуется как новая версия XBrackets, так и новая версия AkelPad. (Что до цвета, планирую в новой версии смешивать заданный цвет фона и цвет выделения в пропорциях 1/3 и 2/3 соответственно, чтобы цвет выделения преобладал.)
-
Offline
- Posts: 876
- Joined: Tue Jul 24, 2007 8:54 am
Есть предложение добавить внешний вызов для Quote/Unquote выделенного текста.
Например (синее - выделенное):
наш гордый Варяг
=> XBrackets:Quote("«", "»") =>
наш гордый «Варяг»
=> XBrackets:Quote("«", "»") =>
наш гордый Варяг
PS Про Insert знаю, он не умеет второго шага (умный unquote), про скрипты тоже знаю.
Например (синее - выделенное):
наш гордый Варяг
=> XBrackets:Quote("«", "»") =>
наш гордый «Варяг»
=> XBrackets:Quote("«", "»") =>
наш гордый Варяг
PS Про Insert знаю, он не умеет второго шага (умный unquote), про скрипты тоже знаю.
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
DV
У нас уже была дискуссия на эту тему.
При sel_autobr=2 автоматическое quote/unquote работает только для обычных кавычек, т.е. для ", к тому же надо выделить текст вручную, вместе с кавычками. Скрипт также определяет позиции кавычек только если текст выделен.
Всё это неудобно, потому, смею предположить, используется лишь как пример для файла XBrackets-_.txt.
Идея 'умного' unquote - в отсутствии необходимости выделения (курсор установлен внутри кавычек) с автоопределением ближайших кавычек для "раскоменчивания".
У нас уже была дискуссия на эту тему.
При sel_autobr=2 автоматическое quote/unquote работает только для обычных кавычек, т.е. для ", к тому же надо выделить текст вручную, вместе с кавычками. Скрипт также определяет позиции кавычек только если текст выделен.
Всё это неудобно, потому, смею предположить, используется лишь как пример для файла XBrackets-_.txt.
Идея 'умного' unquote - в отсутствии необходимости выделения (курсор установлен внутри кавычек) с автоопределением ближайших кавычек для "раскоменчивания".
-
Offline
- Posts: 876
- Joined: Tue Jul 24, 2007 8:54 am
Влад дело говорит, хотя про "раскавычивание" без выделения я не думал, только про случай <кавычка><выделение><кавычка>, что не доставляет неудобств для случая одиночных слов (даблклик по слову выделяет его целиком). Но идея про отсутствие выделения мне определенно нравится. Хотя тогда "окавычивание" не будет обратимым с "раскавычиванием" (окавычить можно будет в пределах слова, а раскавычить - как угодно).
-
Offline
- Posts: 1250
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
Мне думается, что это скорее задача для скрипта. Обрамить текст можно чем угодно (например, <!--- text -->), и задача в общем случае не относится к скобкам или кавычкам, а подразумевает
1) нахождение заданного ограничителя левее каретки
2) нахождение заданного ограничителя правее каретки
3) выполнение действия
Помнится, есть какой-то мегаскрипт, занимающийся экранированием и де-экранированием символов, преобразованием HTML-выражений типа "<" в символы и наоборот, и т.д. Вот в него можно было бы добавить новый функционал обрамления текста.
1) нахождение заданного ограничителя левее каретки
2) нахождение заданного ограничителя правее каретки
3) выполнение действия
Помнится, есть какой-то мегаскрипт, занимающийся экранированием и де-экранированием символов, преобразованием HTML-выражений типа "<" в символы и наоборот, и т.д. Вот в него можно было бы добавить новый функционал обрамления текста.
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
Я сейчас, особенно после последних изменений, активно пользуюсь insertTag.js, для "окавычивания" его вполне достаточно.
Видимо для расковычивания придётся писать скрипт, работающий по такому алгоритму:
1. Ищем слева первый попавшийся ограничитель из перечня.
2. Ищем справа первый попавшийся ограничитель из перечня.
3. Если соответствуют друг другу, то расковычиваем.
Если нет - определяем, к какой кавычке ближе каретка, если к левой, то берём левый ограничитель за опорный, и повторно ищем вправо соответствующий. Если не нашли, то берём правый и ищем соответствующий влево.
И наоборот.
Видимо для расковычивания придётся писать скрипт, работающий по такому алгоритму:
1. Ищем слева первый попавшийся ограничитель из перечня.
2. Ищем справа первый попавшийся ограничитель из перечня.
3. Если соответствуют друг другу, то расковычиваем.
Если нет - определяем, к какой кавычке ближе каретка, если к левой, то берём левый ограничитель за опорный, и повторно ищем вправо соответствующий. Если не нашли, то берём правый и ищем соответствующий влево.
И наоборот.
-
Offline
- Posts: 876
- Joined: Tue Jul 24, 2007 8:54 am
Ребята, вы всё сразу сложняете. Я предлагал указывать требуемую кавычку в параметрах, соответственно иметь разные вызовы на разные кавычки. Потому что insertTag, конечно, могуч, но он для тегов. Не знаю, можно ли его приспособить под кавычки.
Что касается
Для тегов есть insertTag
Для комментов есть toggleComments
Для односимвольных кавычек есть XBrackets.
И раз уж плаг подсвечивает кавычки (а тж разнообразные скобки и т.д.), то почему бы ему и не вставлять/удалять их?
К примеру,
текст => Ctrl-( => (текст)
текст => Ctrl-< => <текст>
и тп
Что касается
то мне кажется разумным отделять мух от котлет.Обрамить текст можно чем угодно (например, <!--- text -->), и задача в общем случае не относится к скобкам или кавычкам
Для тегов есть insertTag
Для комментов есть toggleComments
Для односимвольных кавычек есть XBrackets.
И раз уж плаг подсвечивает кавычки (а тж разнообразные скобки и т.д.), то почему бы ему и не вставлять/удалять их?
К примеру,
текст => Ctrl-( => (текст)
текст => Ctrl-< => <текст>
и тп
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
DV
Мне кажется, что убрать {}. Т.е., видимо, нужно будет и приоритеты сюда как-то подключить...
Но для этого варианта лучше простое указание разделителя.
Fr0sT
insertTag чисто для обрамления, работает идеально.
Весь сыр-бор в unquote, для которого действительно нужен отдельный скрипт. Ну или не скрипт))
Мне кажется, что убрать {}. Т.е., видимо, нужно будет и приоритеты сюда как-то подключить...
Но для этого варианта лучше простое указание разделителя.
Fr0sT
insertTag чисто для обрамления, работает идеально.
Весь сыр-бор в unquote, для которого действительно нужен отдельный скрипт. Ну или не скрипт))