|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Sergey V. Leschenko 2:5020/400 03 Jul 2002 00:00:49 To : Hleb Valoska Subject : Re: gnus || slrn -------------------------------------------------------------------------------- Hleb Valoska wrote: HV> HV>> Как сабджей (любого из) научить в квотченые строки вставлять HV> HV>> инициалы перед ">"? (Примеры, урлы,...) Как я понял из доков, это HV> HV>> возможно решить хуками. Hо результат нулевой :( HV> Aa> Hу в *slrn* Хук + S-Lang ... там много чего можно сделать ... смотри HV> Aa> примеры макросов и подробнее xcomment.sl HV> Ха, смотрел, даже нечто пробовал сваять, но как отличать уровни цитирования? HV> Тем более, что хука, который бы вызывался при квочении каждой строки я не HV> нашел. ну вот то, что я когда-то написал: оно наверное, не очень отимально/правильно, но работает... ===.slrnrc=== interpret ".slrn.sl" ===.slrn.sl=== % fido7 key define make_from_string_hook() { if (string_match (current_newsgroup(), "^fido7\.", 1)) return "\"Sergey V. LeschenkoXXXXXX\" <smash@astral.ntu-kpi.kiev.ua>"; else return "\"Sergey V. Leschenko\" <smash@astral.ntu-kpi.kiev.ua>"; } % fido-style quoting define followup_hook() { variable raw_from, from_list, i, abbrev, email, at_pos; % only for fido7 if( not string_match(current_newsgroup(), "^fido7\.", 1)) { set_string_variable("followup_string", "%r wrote:\n"); set_string_variable("quote_string", ">"); return; } raw_from = extract_article_header("From"); % удалим лишнее raw_from = str_delete_chars(raw_from, "\"()<>"); from_list = strchop(raw_from, ' ', 0); abbrev=""; for(i = 0; i < length(from_list); i++ ) { % fix it at_pos = string_match(from_list[i], "@", 1); if(at_pos != 0) { email = substr(from_list[i], 1, at_pos); } else if( length(from_list[i]) == 2 and string_match(from_list[i], "\.", 2) ) { % инициалы } else abbrev = strcat(abbrev, strup(substr(from_list[i], 1, 1)) ); % пропускаем возможный email % но @ могут заменить на (a) etc. ... } % если аббревиатура не получилась, используем email if(abbrev == "") abbrev = email; % add standart quote % set followup_string "%r wrote:" set_string_variable("followup_string", strcat("%r wrote:\n")); set_string_variable("quote_string", strcat(abbrev,">")); } ============== -- Best regards, sm@adamant.net Sergey smash@astral.ntu-kpi.kiev.ua --- ifmail v.2.15dev5 * Origin: NTUU "KPI" (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/22001cb06bcb0.html, оценка из 5, голосов 10
|