EditCase — Преобразование регистра выделенного текста

Здесь можно обсудить ваш любимый плагин.
User avatar
Toxa
Posts: 275
Joined: Wed 27 Jul, 2005 14:35
Location: Москва
Contact:

EditCase — Преобразование регистра выделенного текста

Post by Toxa » Fri 07 Oct, 2005 15:19

Функция Cyclic change до версии FAR 1.70 beta 3 включительно работала следующим образом:
"cyclic change" -> "Cyclic Change" -> "CYCLIC CHANGE"
То есть как в Word.
Начиная с версии FAR 1.70 beta 4 плагин EditCase работает наоборот:
"cyclic change" -> "CYCLIC CHANGE" -> "Cyclic Change"
Помоему, нужно добавить соответствующую настройку, можно даже в основной диалог плагина.

P. S. Я так и не смог привыкнуть ко второму варианту - пришлось откопать не одну версию ФАРа, чтобы найти последнюю подходящую версию сабжа.
Last edited by Toxa on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: Исправлен заголовок Темы
Может кому пригодится.

User avatar
t-rex
Страшный и ужасный
Posts: 4903
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 3 times
Contact:

Post by t-rex » Fri 07 Oct, 2005 15:50

Это я менял, помню что это было как то связанно с тем что первый вид цыкла не всегда правильно работал или что то такое.

User avatar
Toxa
Posts: 275
Joined: Wed 27 Jul, 2005 14:35
Location: Москва
Contact:

Post by Toxa » Fri 07 Oct, 2005 16:18

Да, действительно:

Code: Select all

mIxed -> mixed
mIXEd -> MixeD
mIxEd -> mixed
mIXED -> Mixed
MIXEd -> mixeD
Наверное нужно правильно определять MiXeD case и затем преобразовывать его в small.

Так что если будет свободная минутка...

Тысяча оговорок - да, я знаю, что это мелочь... что идёт напряжённая работа над 2040 альфой... что юникод важнее... что сам встроенный редактор пока почти ничего не умеет, даже Redo... но ведь всё из мелочей складывается.

Кстати, Word тоже ошибается.
Может кому пригодится.

ccaid
Posts: 846
Joined: Fri 12 Jun, 2009 16:04
Has thanked: 17 times
Been thanked: 5 times

Re: EditCase

Post by ccaid » Wed 21 Oct, 2009 12:21

Хотелка
не хватает еще одного варианта: Как в предложении - то есть заглавной делается только одна, самая первая буква (в отличие от Title, в котором заглавными делаются первые буквы каждого слова).
Фар делают добрые люди

User avatar
Toxa
Posts: 275
Joined: Wed 27 Jul, 2005 14:35
Location: Москва
Contact:

Re: EditCase

Post by Toxa » Wed 21 Oct, 2009 12:34

Макро?

Кстати, по поводу сабжа. Я вообще забил на циклические переключение за ненадобностью, пользуюсь Title Case.
Может кому пригодится.

User avatar
HaRT
Moderator
Posts: 9170
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 90 times
Been thanked: 177 times

Re: EditCase

Post by HaRT » Wed 21 Oct, 2009 12:41

ccaid wrote:Как в предложении - то есть заглавной делается только одна, самая первая буква
Это называется Sentence case.
Лично мне ещё регулярно недостаёт CamelCase и snake_case.
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
Toxa
Posts: 275
Joined: Wed 27 Jul, 2005 14:35
Location: Москва
Contact:

Re: EditCase — Преобразование регистра выделенного текста

Post by Toxa » Wed 21 Oct, 2009 12:55

HaRT
CamelCase — это как? Капитализировать буквы по словарю?
Может кому пригодится.

User avatar
HaRT
Moderator
Posts: 9170
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 90 times
Been thanked: 177 times

Re: EditCase — Преобразование регистра выделенного текста

Post by HaRT » Wed 21 Oct, 2009 13:00

Toxa wrote:CamelCase — это как? Капитализировать буквы по словарю?
Нет.
“дВа слОва”, “дваСлова”, “два_слова” — так понятнее?
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
John Doe
Бюрократ
Posts: 12538
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 240 times

Re: EditCase — Преобразование регистра выделенного текста

Post by John Doe » Wed 21 Oct, 2009 15:11

А если не по словарю тогда как?

User avatar
HaRT
Moderator
Posts: 9170
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 90 times
Been thanked: 177 times

Re: EditCase — Преобразование регистра выделенного текста

Post by HaRT » Wed 21 Oct, 2009 15:25

John Doe wrote:А если не по словарю тогда как?
Формализую: (1) запоминаем, где 1 или более пробельных символов подряд; (2) удаляем все пробельные символы; (3) первый символ после группы изъятых пробелов преобразуем в верхний регистр, прочие — в нижний.
Примечания: (а) при практической реализации собственно запоминать никакие позиции не надо; (б) не-буквы при преобразовании регистра не изменяются; (в) при реализации важно учесть, что длина преобразуемого фрагмента изменяется; (г) для последующего преобразования регистра может потребоваться крыжик, определять ли границы слов по WordDiv или по CharacterCase.
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
John Doe
Бюрократ
Posts: 12538
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 240 times

Re: EditCase — Преобразование регистра выделенного текста

Post by John Doe » Wed 21 Oct, 2009 15:43

Надо бы учесть ещё вариант Camelсase ->CamelCase, а это без словаря никак

User avatar
HaRT
Moderator
Posts: 9170
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 90 times
Been thanked: 177 times

Re: EditCase — Преобразование регистра выделенного текста

Post by HaRT » Wed 21 Oct, 2009 16:52

John Doe wrote:Надо бы учесть ещё вариант Camelсase ->CamelCase, а это без словаря никак
Вот ровно поэтому я такое и не предлагаю.
На мой взгляд, тянуть словарь в довольно простой плагин смены регистра символов — это уже чересчур.
К тому же в приведённом примере я не вижу существенного отличия от “мамамылараму”→“Мама Мыла Раму”, а это уже и вовсе ближе к проверке и исправлению правописания.
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
Kerberos464
Posts: 1239
Joined: Wed 29 Jul, 2009 20:24
Location: Saint-Petersburg
Has thanked: 19 times
Been thanked: 1 time

Re: EditCase — Преобразование регистра выделенного текста

Post by Kerberos464 » Thu 15 Sep, 2011 09:48

похоже, CallPlugin некорректно работает для вызова EditCase для третьего фара (far 3.0.2198 x86).
показывается меню и ожидает ввода, макрос дальше не идёт.
например, есть вот такой макрос:
$If (CallPlugin("0E92FC81-4888-4297-A85D-31C79E0E0CEE"))
Enter
$End


при его вызове, появляется меню плагина EditCase, и пока не выберешь какой-либо пункт, макрос дальше не работает.
и Enter из макроса срабатывает только после выбора какого-либо пункта.

это просто пока недоделано или я что-то неправильно делаю?
кстати, со стандартным плагином Brackets аналогичная проблема.
16.09.2012 14:35:28 +0200 - build 2799 - все нативные плагины перестали работать.
30.09.2012 03:26:20 +0200 - build 2851 - все макросы перестали работать.
31.02.2029 25:61:61 +0200 - build 6666 - весь фар перестал работать.

User avatar
zg
zero-gravity
Posts: 5668
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 116 times
Contact:

Re: EditCase — Преобразование регистра выделенного текста

Post by zg » Thu 15 Sep, 2011 10:03

Kerberos464 wrote:это просто пока недоделано или я что-то неправильно делаю?
на мантис.

User avatar
Kerberos464
Posts: 1239
Joined: Wed 29 Jul, 2009 20:24
Location: Saint-Petersburg
Has thanked: 19 times
Been thanked: 1 time

Re: EditCase — Преобразование регистра выделенного текста

Post by Kerberos464 » Thu 15 Sep, 2011 10:40

zg wrote:на мантис.
сделано: 1880 и 1881.
16.09.2012 14:35:28 +0200 - build 2799 - все нативные плагины перестали работать.
30.09.2012 03:26:20 +0200 - build 2851 - все макросы перестали работать.
31.02.2029 25:61:61 +0200 - build 6666 - весь фар перестал работать.

User avatar
John Doe
Бюрократ
Posts: 12538
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 240 times

Re: EditCase — Преобразование регистра выделенного текста

Post by John Doe » Thu 15 Sep, 2011 10:49

Помнится эта проблема обсуждалась, и выяснилось что такова уж особенность/ограничение callplugin.
Тут можно либо научить плагины выполнять сразу нужные действия (по заданному параметру callplugin), либо дождаться наконец реализации макрофункций предоставляемых плагинами (ProcessMacroFuncW).

Какова политика партии по этому вопросу я не знаю, самому интересно.
?

Post Reply

Return to “Обсуждение плагинов”