diff options
Diffstat (limited to 'tde-i18n-ru/docs/kdebase/kate/advanced.docbook')
-rw-r--r-- | tde-i18n-ru/docs/kdebase/kate/advanced.docbook | 2310 |
1 files changed, 0 insertions, 2310 deletions
diff --git a/tde-i18n-ru/docs/kdebase/kate/advanced.docbook b/tde-i18n-ru/docs/kdebase/kate/advanced.docbook deleted file mode 100644 index f4ff404d4a0..00000000000 --- a/tde-i18n-ru/docs/kdebase/kate/advanced.docbook +++ /dev/null @@ -1,2310 +0,0 @@ -<chapter id="advanced-editing-tools"> -<chapterinfo> -<authorgroup> -<author ->&Anders.Lund; &Anders.Lund.mail;</author> -<author ->&Dominik.Haumann; &Dominik.Haumann.mail;</author> -<othercredit role="translator" -><firstname ->Андрей</firstname -><surname ->Балагута</surname -><affiliation -><address -><email ->[email protected]</email -></address -></affiliation -><contrib ->Перевод на русский</contrib -></othercredit -> <othercredit role="translator" -><firstname ->Алексей</firstname -><surname ->Опарин</surname -><affiliation -><address -><email ->[email protected]</email -></address -></affiliation -><contrib ->Перевод на русский</contrib -></othercredit -> -</authorgroup> -</chapterinfo> -<title ->Дополнительные возможности редактирования</title> - -<sect1 id="advanced-editing-tools-comment"> - -<title ->Комментирование</title> - -<para ->Команды "Комментировать" и "Раскомментировать", которые доступны из меню <guimenu ->Сервис</guimenu ->, позволяют добавить или убрать маркеры комментариев для выделенного блока текста (или для текущей строки, если текст не выделен), при условии, что комментарии поддерживаются форматом редактируемого текста.</para> - -<para ->Правила комментирования определяются синтаксисом; таким образом, если подсветка синтаксиса не включена, то команды "Закомментировать" и "Раскомментировать" будут недоступны. </para> - -<para ->Некоторые форматы поддерживают только однострочные маркеры комментариев, другие -- только многострочные, третьи -- и те, и другие. Если многострочные маркеры недоступны, то комментирование блока, в котором не до конца выделена последняя строка, будет невозможным.</para> - -<para ->Предпочтение отдаётся комментированию отдельных строк однострочными маркерами, если последние допустимы синтаксисом и если такое комментирование возможно -- это помогает избежать проблем со вложенными комментариями.</para> - -<para ->При удалении маркеров комментариев выделение снимается с раскомментированного текста. При удалении маркеров многострочного комментария пробелы снаружи маркеров игнорируются.</para> - -<para -><indexterm -><primary ->закомментировать</primary -></indexterm -> Чтобы закомментировать выделенный текст (или активную строку), выберите пункт меню<menuchoice -><guimenu ->Сервис</guimenu -><guimenuitem ->Закомментировать</guimenuitem -></menuchoice -> или нажмите соответствующее сочетание клавиш (по умолчанию <keycombo action="simul" ->&Ctrl;<keycap ->D</keycap -></keycombo ->).</para> - -<para -><indexterm -><primary ->раскомментировать</primary -></indexterm -> Чтобы удалить маркеры комментариев, выберите пункт меню <menuchoice -><guimenu ->Сервис</guimenu -><guimenuitem ->Раскомментировать</guimenuitem -> </menuchoice -> или нажмите соответствующее сочетание клавиш ( по умолчанию <keycombo action="simul" ->&Ctrl;&Shift;<keycap ->D</keycap -></keycombo ->).</para> - -</sect1> - -<sect1 id="advanced-editing-tools-commandline"> -<title ->Командная строка компонента редактора</title> - -<para ->Модуль Kate имеет встроенную командную строку, позволяющую производить различные действия, оставляя интерфейс минималистским. Она представляет из себя поле ввода внизу области редактора. Для получения к ней доступа, выберите пункт меню <menuchoice -><guimenu ->Вид</guimenu -><guimenuitem ->Переключиться в командную строку</guimenuitem -></menuchoice -> или нажмите <keycombo action="simul" -><keycap ->F7</keycap -></keycombo -> (по умолчанию). Команды, доступные из неё, описаны ниже, кроме того, модули могут предоставлять свои дополнительные команды.</para> - -<para ->Для выполнения команды введите её и нажмите Enter. На месте команды будет выведено сообщение об успешном её выполнении или об ошибке. Если вы вызвали командную строку клавишей <keycap ->F7</keycap ->, она будет автоматически скрыта по прошествии нескольких секунд. Для того чтобы убрать сообщение и ввести новую команду, нажмите <keycap ->F7</keycap -> ещё раз.</para> - -<para ->Вы всегда можете получить справку с помощью команды <command ->help</command ->. Для получение списка всех доступных команд, введите <command ->help list</command ->, для просмотра справки по определённой команде - <command ->help <replaceable ->команда</replaceable -></command ->.</para> - -<para ->Для навигации по истории команд, воспользуйтесь стрелками <keycap ->Вверх</keycap -> и <keycap ->Вниз</keycap ->. При отображении команды из истории, её аргументы будут выделены, так что заменить их на другие легко.</para> - -<sect2 id="advanced-editing-tools-commandline-commands"> -<title ->Стандартные команды</title> - -<sect3 id="advanced-editing-tools-commandline-commands-configure"> -<title ->Параметры редактора</title> - -<para ->Установленные таким способом параметры применяются только к текущему экземпляру редактора и не сохраняются. Удобно, если нужно установить параметры, отличные от стандартных (например, отступ). </para> - -<variablelist> -<title ->Типы аргументов</title> - -<varlistentry> -<term ->BOOLEAN</term> -<listitem -><para ->Используется для команд включения/выключения. Допустимые значения - <userinput ->on</userinput ->, <userinput ->off</userinput ->, <userinput ->true</userinput ->, <userinput ->false</userinput ->, <userinput ->1</userinput -> или <userinput ->0</userinput -></para -></listitem> -</varlistentry> - -<varlistentry> -<term ->INTEGER</term> -<listitem -><para ->Целое число</para -></listitem> -</varlistentry> - -<varlistentry> -<term ->STRING</term> -<listitem -><para ->Строка</para -></listitem> -</varlistentry> - -</variablelist> - -<variablelist> - -<varlistentry> -<term -><cmdsynopsis -><command ->set-tab-width</command -><arg ->INTEGER width</arg -></cmdsynopsis -></term> -<listitem -><para ->Устанавливает расстояние между позициями табуляции</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->set-indent-width</command -><arg ->INTEGER width</arg -></cmdsynopsis -></term> -<listitem -><para ->Устанавливает ширину отступа. Только при создании отступов пробелами.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->set-word-wrap-column</command -><arg ->INTEGER width</arg -></cmdsynopsis -></term> -<listitem -><para ->Устанавливает максимальную длину строк в случае, если включён автоматический перенос.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->set-icon-border</command -><arg ->BOOLEAN enable</arg -> </cmdsynopsis -></term> -<listitem -><para ->Устанавливает видимость рамок пиктограмм.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->set-folding-markers</command -><arg ->BOOLEAN enable</arg -></cmdsynopsis -></term> -<listitem -><para ->Устанавливает видимость маркеров сворачивания блоков кода.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->set-line-numbers</command -><arg ->BOOLEAN enable</arg -></cmdsynopsis -></term> -<listitem -><para ->Устанавливает видимость нумерации строк.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->set-replace-tabs</command -><arg ->BOOLEAN enable</arg -></cmdsynopsis -></term> -<listitem -><para ->Заменять при вводе символы табуляции на пробелы. </para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->set-remove-trailing-space</command -><arg ->BOOLEAN enable</arg -></cmdsynopsis -></term> -<listitem -><para ->Удалять пробелы в конце строки при снятии с неё курсора.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->set-show-tabs</command -><arg ->BOOLEAN enable</arg -></cmdsynopsis -></term> -<listitem -><para ->Представлять символы табуляции пробельное пространство в конце строк маленькими точками.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->set-indent-spaces</command -><arg ->BOOLEAN enable</arg -></cmdsynopsis -></term> -<listitem -><para ->Вставлять заданное количество пробелов для каждого уровня отступа, вместо одного символа табуляции.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->set-mixed-indent</command -><arg ->BOOLEAN enable</arg -></cmdsynopsis -></term> -<listitem -><para ->Использовать для отступов как символы табуляции, так и пробелы. Это реализуется путём замены пробелов в количестве, кратном ширине символа табуляциями, на последние.</para> -<para ->Эта команда также включит расстановку отступов пробелами, и установит ширину отступов, если она не указана, в половину значения <option ->tab-width</option -> (для текущего документа на время выполнения).</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->set-word-wrap</command -><arg ->BOOLEAN enable</arg -></cmdsynopsis -></term> -<listitem -><para ->Динамический перенос слов</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->set-replace-tabs-save</command -><arg ->BOOLEAN enable </arg -></cmdsynopsis -></term> -<listitem -><para ->Заменять символы табуляции на пробелы при сохранении.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->set-remove-trailing-space-save</command -><arg ->BOOLEAN enable</arg -></cmdsynopsis -></term> -<listitem -><para ->Удалить пробелы в конце строк при сохранении.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->set-indent-mode</command -><arg ->name</arg -></cmdsynopsis -></term> -<listitem -><para ->Выбрать режим расстановки отступов. Параметр <userinput ->name</userinput -> может иметь следующие значения: 'cstyle', 'csands', 'xml', 'python', 'varindent' и 'none'. При других значениях используется 'none'.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->set-highlight</command -><arg ->highlight</arg -></cmdsynopsis -></term> -<listitem -><para ->Выбрать формат для подсветки, один из содержащихся в подменю<menuchoice -><guimenu ->Сервис</guimenu -><guisubmenu ->Подсветка синтаксиса</guisubmenu -></menuchoice ->. Доступно также автозавершение параметра.</para -></listitem> -</varlistentry> - -</variablelist> - -</sect3> - -<sect3 id="advanced-editing-tools-commandline-commands-edit"> -<title ->Команды редактирования</title> - -<para ->Команды, которые непосредственно изменяют текущий документ.</para> - -<variablelist> -<varlistentry> -<term -><cmdsynopsis -><command ->indent</command -></cmdsynopsis -></term> -<listitem -><para ->Подставляет отступы к выделенным строкам или к текущей.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->unindent</command -></cmdsynopsis -></term> -<listitem -><para ->Снимает отступы с выделенных строк или с текущей.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->cleanindent</command -></cmdsynopsis -></term> -<listitem -><para ->Очистить отступы в выделенных строках или в текущей в соответствии с параметрами расстановки отступов для текущего документа. </para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->comment</command -></cmdsynopsis -></term> -<listitem -><para ->Вставляет маркеры, отмечающие выделенные строки или текущую как комментарии, в соответствии с форматом текущего файла (определяется способом подсветки синтаксиса).</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->uncomment</command -></cmdsynopsis -></term> -<listitem -><para ->Удалить маркеры, отмечающие выделенные строки или текущую как комментарии, в соответствии с форматом текущего файла.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->kill-line</command -></cmdsynopsis -></term> -<listitem -><para ->Удаляет текущую строку.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->replace</command -><arg ->pattern</arg -><arg ->replacement</arg -></cmdsynopsis -></term> -<listitem -><para ->Заменить текст, совпадающий с <userinput ->pattern</userinput -> на <userinput ->replacement</userinput ->. Для включения пробелов в <userinput ->pattern</userinput ->, нужно заключить в двойные или одинарныекавычки и <userinput ->pattern</userinput ->, и <userinput ->replacement</userinput ->. Если аргументы не заключены в кавычки, первое слово будет принято за <userinput ->pattern</userinput ->, а остальное - за <userinput ->replacement</userinput ->. Если <userinput ->replacement</userinput -> не задать, все <userinput ->pattern</userinput -> будут удалены.</para> -<para ->Для настройки параметров поиска, нужно указать соответствующие флаги после двоеточия (<userinput ->replace:options pattern replacement</userinput ->). Возможные параметры: <variablelist> - -<varlistentry> -<term -><userinput ->b</userinput -></term> -<listitem -><para ->Искать в обратном направлении.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><userinput ->c</userinput -></term> -<listitem -><para ->Искать от позиции курсора.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><userinput ->e</userinput -></term> -<listitem -><para ->Искать только в выделенном тексте.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><userinput ->r</userinput -></term> -<listitem -><para ->Аргумент <userinput ->pattern</userinput -> - регулярное выражение. Вы можете использовать <userinput ->\N</userinput -> в <userinput ->replacement</userinput -> для получения N-ной подстроки найденного текста.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><userinput ->s</userinput -></term> -<listitem -><para ->С учётом регистра.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><userinput ->p</userinput -></term> -<listitem -><para ->Подтверждать каждую замену.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><userinput ->w</userinput -></term> -<listitem -><para ->Только целые слова.</para -></listitem> -</varlistentry> - -</variablelist> - -</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->date</command -><arg ->format</arg -></cmdsynopsis -></term> -<listitem -><para ->Вставить строку с датой/временем в указанном формате (задаётся параметром <userinput ->format</userinput ->), или в <quote ->yyyy-MM-dd hh:mm:ss</quote ->, если параметр упущен. Доступны следующие подстановки: <informaltable -> <tgroup cols="2" -> <tbody> -<row -><entry -><literal ->d</literal -></entry -><entry ->Номер дня в месяце без ведущего нуля (1-31).</entry -></row> -<row -><entry -><literal ->dd</literal -></entry -><entry ->Номер дня в месяце с ведущим нулём (01-31).</entry -></row> -<row -><entry -><literal ->ddd</literal -></entry -><entry ->Сокращённое название дня недели ('Пн'..''Вс, 'Mon'..'Sun').</entry -></row> -<row -><entry -><literal ->dddd</literal -></entry -><entry ->Полное названия дня недели ('Понедельник'..'Воскресенье', 'Monday'..'Sunday').</entry -></row> -<row -><entry -><literal ->M</literal -></entry -><entry ->Номер месяца без ведущего нуля (1-12).</entry -></row> -<row -><entry -><literal ->MM</literal -></entry -><entry ->Номер месяца с ведущим нулём (01-12).</entry -></row> -<row -><entry -><literal ->MMM</literal -></entry -><entry ->Сокращённое название месяца ('Янв'..'Дек', 'Jan'..'Dec').</entry -></row> -<row -><entry -><literal ->yy</literal -></entry -><entry ->Год двумя цифрами (00-99).</entry -></row> -<row -><entry -><literal ->yyyy</literal -></entry -><entry ->Год четырьмя цифрами (1752-8000).</entry -></row> -<row -><entry -><literal ->h</literal -></entry -><entry ->Час без ведущего нуля (0..23 или 1..12, в зависимости от настроек).</entry -></row> -<row -><entry -><literal ->hh</literal -></entry -><entry ->Час с ведущим нулём (00..23 or 01..12, в зависимости от настроек).</entry -></row> -<row -><entry -><literal ->m</literal -></entry -><entry ->Минуты без ведущего нуля (0..59).</entry -></row> -<row -><entry -><literal ->mm</literal -></entry -><entry ->Минуты с ведущим нулём (00..59).</entry -></row> -<row -><entry -><literal ->s</literal -></entry -><entry ->Секунды без ведущего нуля (0..59).</entry -></row> -<row -><entry -><literal ->ss</literal -></entry -><entry ->Секунды с ведущим нулём (00..59).</entry -></row> -<row -><entry -><literal ->z</literal -></entry -><entry ->Миллисекунды без ведущих нулей (0..999).</entry -></row> -<row -><entry -><literal ->zzz</literal -></entry -><entry ->Миллисекунды с ведущими нулями (000..999).</entry -></row> -<row -><entry -><literal ->AP</literal -></entry -><entry ->Использовать 12-часовый формат часов. AP будет заменено на "AM" или "PM".</entry -></row> -<row -><entry -><literal ->ap</literal -></entry -><entry ->Использовать 12-часовый формат часов. ap будет заменено на "am" или "pm".</entry -></row> - -</tbody> -</tgroup> -</informaltable> - -</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->char</command -><arg ->identifier</arg -></cmdsynopsis -></term> -<listitem> -<para ->Эта команда позволяет вставить символ по его числовому идентификатору в десятичной, восьмеричной или шестнадцатеричной системах счисления. Чтобы использовать её, откройте диалоговое окно "Команда правки" и наберите <userinput ->char: [number]</userinput -> в строке ввода, после чего нажмите кнопку <guibutton ->OK</guibutton ->.</para> - -<example> -<title ->Примеры использования команды <command ->char</command -></title> - -<para ->Введите: <userinput ->char:234</userinput -></para> -<para ->Получите: <computeroutput ->ê</computeroutput -></para> -<para ->Введите: <userinput ->char:0x1234</userinput -></para> -<para ->Получите: <computeroutput ->ሴ</computeroutput -></para> -</example> - -</listitem> -</varlistentry> - -<varlistentry> -<term> -<indexterm -><primary ->замена в стиле sed</primary> -<secondary ->поиск в стиле sed</secondary -></indexterm> -<command ->s///[ig]</command -> <command ->%s///[ig]</command -></term> - -<listitem> -<para ->"Типичный пользователь" при виде этих команд обязательно вздрогнет и начнёт искать на клавиатуре кнопку "Windows". В самом деле, кому придёт в голову искать текст подобным образом? Но вы же не "типичный", не так ли? Поэтому попробуем разобраться в этих двух sed-подобных командах. Первая выполняет поиск/замену в текущей строке, вторая -- во всём файле (<command ->%s///</command ->).</para> - -<para ->Вкратце, команды производят поиск текста, заданного <emphasis ->маской поиска</emphasis -> -- регулярным выражением (regexp) между первой и второй наклонной чертой, и, при нахождении, выполняет замену выражением, которое задано между второй и третьей чертой. Круглые скобки в маске поиска позволяют задать подстроки в найденном тексте, на которые можно потом ссылаться в выражении замены. Обратная ссылка -- это регулярное выражение, которое при совпадении заменяется на фактический текст и может быть использовано в шаблоне замены. Для этого, в нужном месте поставьте обратную черту, а за ней номер подстроки по порядку (<userinput ->\1</userinput -> -- для первой пары скобок, <userinput ->\2</userinput -> -- для второй, и т. д.).</para> - -<para ->Чтобы искать сами скобки <literal ->(</literal -> или <literal ->)</literal ->, нужно предварить их обратной чертой: <userinput ->\(\)</userinput -></para> - -<para ->Если в самом конце указать <userinput ->i</userinput ->, поиск будет проводиться с учётом регистра, а если <userinput ->g</userinput -> - будут заменены все вхождения текста, совпадающего с регулярным выражением, иначе - только первое.</para> - -<example> - -<title ->Замена текста в текущей строке</title> - -<para ->Будучи противником принципа "разделяй и властвуй", вы решили откомпилировать свою программу. Но компилятор начал на вас ругаться: класс <classname ->myClass</classname ->, упомянутый в строке 3902, не определён.</para> - -<para ->"Чёрт!", - думаете вы, -- "да это же мой класс <classname ->MyClass</classname ->". Вы добираетесь до строки 3902 и, вместо того, чтобы пытаться искать слово в этой длинной строке (а кто сейчас укладывает каждую строчку кода в 60 символов?), вы запускаете диалоговое окно "Команда правки", вводите <userinput ->s/myclass/MyClass/i</userinput ->, жмёте <guibutton ->OK</guibutton ->, сохраняете и компилируйте -- успешно и без ошибок.</para> - -</example> - -<example> -<title ->Замена текста во всём файле</title> - -<para ->Представьте себе, что у вас есть файл, в котором вы несколько раз упоминаете некоего человека по имени <quote ->госпожа Иванова</quote ->. Но вдруг вам сообщают, что эта самая госпожа Иванова вчера вышла замуж за господина с редкой фамилией <quote ->Петров</quote ->. Естественно, вам нужно заменить все упоминания о госпоже Ивановой на текст <quote ->госпожа Петрова</quote ->.</para> - -<para ->Вызовите командную строку и введите следующий текст: <userinput ->%s/госпожа Иванова/госпожа Петрова/</userinput -> -- и ваша работа сделана.</para> - -</example> - -<example> -<title ->Более сложный пример</title> - -<para ->Этот пример показывает, как пользоваться <emphasis ->обратными ссылками</emphasis -> и <emphasis ->классами символов</emphasis -> (если вы не знаете, что это такое, советуем ознакомиться с приведенными ниже разделами).</para> - -<para ->Допустим, у вас набрана такая строка: <programlisting ->void MyClass::DoStringOps( String &foo, String &bar String *p, int &a, int &b )</programlisting> -</para> -<para ->Теперь вы думаете, что это недостаточно "красивый" код, и решаете, что вам нужно использовать ключевое слово <constant ->const</constant -> с параметрами, передаваемыми по ссылке (теми, перед которыми стоит амперсанд). Вы также хотите удалить лишние пробелы.</para> - -<para ->Запустите диалоговое окно "Команда правки" и наберите: <userinput ->s/\s+(\w+)\s+(&)/ const \1 \2/g</userinput ->, и не забудьте нажать кнопку <guibutton ->OK</guibutton -> -- иначе ничего не выйдет. Символ <userinput ->g</userinput -> в конце команды указывает компилятору "пересчитывать" регулярное выражение обратной ссылки каждый раз, когда встречаются совпадения.</para> - -<para ->Вывод: <computeroutput ->void MyClass::DoStringOps( const String &foo, const String &bar String *p, const int &a, const int &b )</computeroutput -></para> - -<para ->Миссия завершена! Ну, и что же произошло? Мы искали некоторое количество пробелов (<literal ->\s+</literal ->), за которыми идут несколько латинских символов (<literal ->\w+</literal ->), следом за ними опять несколько пробелов (<literal ->\s+</literal ->), после которых стоит амперсанд, и по ходу дела сохраняли эти алфавитные символы и амперсанд для использования их в операции замены. После этого мы заменили совпадающие части строки следующей последовательностью: один пробел, за которым идёт спецификатор <quote ->const</quote ->, за ним ещё один пробел, после которого наши сохранённые символы (<literal ->\1</literal ->), ещё один пробел и сохранённый амперсанд (<literal ->\2</literal ->)</para> - -<para ->В одном случае латинские символы составили слово <quote ->String</quote ->, в другом -- слово <quote ->int</quote ->, т.е. символьный класс <literal ->\w</literal -> с последующим знаком <literal ->+</literal -> определяет символьный набор произвольной длины.</para> - -</example> - -</listitem> - -</varlistentry> - -</variablelist> - -</sect3> - -<sect3 id="advanced-editing-tools-commandline-commands-navigation"> -<title ->Команды навигации</title> - -<variablelist> - -<varlistentry> -<term -><cmdsynopsis -><command ->goto</command -><arg ->INT line</arg -></cmdsynopsis -></term> -<listitem -><para ->Перейти к указанной строке.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->find</command -><arg ->pattern</arg -></cmdsynopsis -></term> -<listitem -><para ->Перейти к первому образцу, заданному параметром <userinput ->pattern</userinput ->. Последующие вхождения образца можно найти посредством пункта меню <menuchoice -><guimenu ->Правка</guimenu -><guimenuitem ->Найти далее</guimenuitem -></menuchoice -> (клавиша по умолчанию - <keycap ->F3</keycap ->).</para> -<para ->Параметры команды поиска можно задавать добавлением двоеточия и "флагов" после её имени (<userinput ->find:options pattern</userinput ->). Флаги - набор из следующих букв: <variablelist> - -<varlistentry> -<term -><userinput ->b</userinput -></term> -<listitem -><para ->Искать в обратном направлении.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><userinput ->c</userinput -></term> -<listitem -><para ->Искать от позиции курсора.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><userinput ->e</userinput -></term> -<listitem -><para ->Искать только в выделенном тексте.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><userinput ->r</userinput -></term> -<listitem -><para ->Аргумент <userinput ->pattern</userinput -> - регулярное выражение. Вы можете использовать <userinput ->\N</userinput -> в <userinput ->replacement</userinput -> для получения N-ной подстроки найденного текста.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><userinput ->s</userinput -></term> -<listitem -><para ->С учётом регистра.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><userinput ->w</userinput -></term> -<listitem -><para ->Только целые слова.</para -></listitem> -</varlistentry> - -</variablelist> - -</para> - -</listitem> - -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->ifind</command -><arg ->pattern</arg -></cmdsynopsis -></term> -<listitem -><para ->Поиск по мере набора. Поддерживается установка дополнительных флагов <variablelist> -<varlistentry> -<term -><userinput ->b</userinput -></term> -<listitem -><para ->Искать в обратном направлении.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><userinput ->r</userinput -></term> -<listitem -><para ->Поиск по регулярному выражению.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><userinput ->s</userinput -></term> -<listitem -><para ->С учётом регистра.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><userinput ->c</userinput -></term> -<listitem -><para ->Искать от позиции курсора.</para -></listitem> -</varlistentry> - -</variablelist> -</para -></listitem> -</varlistentry> - -</variablelist> - -</sect3> - -</sect2> - -</sect1> - -<sect1 id="advanced-editing-tools-code-folding"> -<title ->Использование сворачивания кода</title> - -<para ->Сворачивание кода позволяет скрывать участки документа в редакторе, упрощая осмотр громоздких документов. В &kate; разделение на сворачиваемые участки определяется правилами подсветки синтаксиса, следовательно, доступно не для всех форматов файлов. В основном, сворачивание кода доступно в режиме написания исходного кода, XML-разметки и т.п. Большинство способов подсветки позволяют также самостоятельно определять скрываемые области, чаще всего используя ключевые слова <userinput ->BEGIN</userinput -> и <userinput ->END</userinput ->.</para> - -<para ->Для того чтобы включить/отключить функцию сворачивания, выберите пункт меню <menuchoice -><guimenu ->Вид</guimenu -><guimenuitem ->Показать маркеры сворачивания</guimenuitem -></menuchoice ->. На панели маркеров сворачивания с левой стороны документа появится графическое представление сворачиваемых участков. Знак "-" показывает, что участок развёрнут, знак "+" обозначает свёрнутый участок. Щелчок на знаке "+" приведёт к разворачиванию свёрнутого участка, и наоборот (с одновременным изменением графического представления).</para> - -<para ->Для управления состоянием сворачиваемых участков служат четыре команды, смотрите <link linkend="view-code-folding" ->справку по меню</link ->. </para> - -<para ->Если вы не хотите использовать функцию сворачивания, можно отключить параметр <guilabel ->Показать маркеры сворачивания (если доступны)</guilabel -> на <link linkend="config-dialog-editor-appearance" ->странице настройки внешнего вида редактора</link -></para> - -</sect1> - -<sect1 id="advanced-editing-tools-scripting"> - -<title ->Написание сценариев Javascript в компоненте редактора</title> - -<sect2 id="advanced-editing-tools-scripting-introduction"> - -<title ->Введение</title> - -<para ->Начиная с версии 2.5, компонент редактора &kate; поддерживает написание сценариев на языке ECMA, известном также как JavaScript.</para> - -<para ->Сценарии можно вызывать только из <link linkend="advanced-editing-tools-commandline" ->встроенной командной строки</link ->. При этом необходимо, чтобы сценарий и файл .desktop (если он существует) находились в той папке, в которой &kate; сможет их разыскать. Подходящая папка для этого - <filename ->katepart/scripts</filename -> в папках данных &kde;. Найти папки данных можно командой <command ->kde-config <option ->--path</option -> <parameter ->data</parameter -></command ->. Как правило, существуют системная и пользовательские папки данных. Естественно, сценарии в системных папках доступны всем пользователям системы, а в пользовательских - только их владельцам.</para> - -<note -><para ->Эта функциональность находится на экспериментальной стадии разработки, весьма вероятно его изменение в дальнейшем.</para> -<para ->Сценарии нельзя добавлять в меню или назначать им комбинации клавиш. Может быть, в дальнейшем мы сможем это исправить.</para> -<para ->Также невозможно использовать в сценариях аргументы. Потерпите, в светлом будущем это вполне может произойти ;)</para> -</note> - -</sect2> - -<sect2 id="advanced-editing-tools-scripting-reference"> - -<title ->Программный интерфейс (API) Kate JavaScript</title> - -<para ->Здесь приведен полный список функций и свойств, доступных для объектов <type ->document</type -> и <type ->view</type ->. Разумеется, доступны любые стандартные объекты языка, такие как <type ->Math</type ->, <type ->String</type ->, <type ->Regex</type -> и т.д.</para> - -<para ->Во время исполнения сценария, объектом <classname ->document</classname -> является текущий документ, а объектом <classname ->view</classname -> является текущий вид (панель).</para> - -<note -><para ->Конечно, в настоящее время типы аргументов в JavaScript не используются, они просто информируют, какие виды значений ожидаются функциями.</para -></note> - -<variablelist id="advanced-editing-tools-scripting-global"> -<title ->Глобальные функции</title> -<varlistentry> -<term -><function ->debug( <parameter -><replaceable ->string</replaceable -></parameter ->) [функция]</function -></term> -<listitem> -<itemizedlist> -<title ->параметры</title> -<listitem -><para -><parameter ->string</parameter -> выводимая строка</para> -</listitem> -</itemizedlist> -<para ->Выводит строку на стандартный поток ошибок, используя функцию <function ->kDebug()</function ->. Для вывода используется выделенное пространство, в начало может быть добавлен префикс <computeroutput ->Kate (KJS Scripts):</computeroutput -> </para> -</listitem> -</varlistentry> -</variablelist> - -<variablelist id="advanced-editing-tools-scripting-document"> -<title ->Программный интерфейс (API) класса <classname ->document</classname -></title> - -<varlistentry> -<term -><function ->document.attribute( <parameter -><replaceable ->line</replaceable -> </parameter ->, <parameter -><replaceable ->column</replaceable -></parameter -> ); [функция]</function -></term> -<listitem> -<itemizedlist> -<title ->Параметры</title> -<listitem -><para -><parameter ->uint line</parameter -> Строка, в которой находится атрибут.</para -></listitem> -<listitem -><para -><parameter ->uint column</parameter -> Столбец, в котором находится атрибут.</para -></listitem> -</itemizedlist> -<para ->Возвращает числовые значения позиции атрибута в документе [<parameter ->line</parameter ->,<parameter ->column</parameter ->]. Атрибут представляет собой вид или стиль текста, а также используется для определения подсветки синтаксиса в различных частях текста смешанных форматов вроде HTML или PHP.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.canBreakAt( <parameter ->Char c</parameter ->, <parameter ->uint attribute</parameter -> ); [функция]</function -></term> -<listitem> -<itemizedlist> -<title ->Параметры</title> -<listitem -><para -><parameter ->c</parameter -> Знак для проверки</para -></listitem> -<listitem -><para -><parameter ->attribute</parameter -> Атрибут для позиции <parameter ->c</parameter ->.</para -></listitem> -</itemizedlist> -<para -> Возвращает допустимость разрыва строки на знаке c с атрибутом attribute. Результат зависит от того, какие атрибуты допускают разрыв строки без потери принадлежности подсветки.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.canComment( <parameter ->uint start_attribute</parameter ->, <parameter ->uint end_attribute</parameter -> ); [функция]</function -></term> -<listitem> -<itemizedlist> -<title ->Параметры</title> -<listitem -><para -><parameter ->start_attribute</parameter -> Атрибут начала участка комментария.</para -></listitem> -<listitem -><para -><parameter ->end_attribute</parameter -> Атрибут конца участка комментария.</para -></listitem> -</itemizedlist> -<para ->Возвращает принадлежность start_attribute и end_attribute к одной и той же системе подсветки синтаксиса. Если это так - всё нормально. </para> -<example> -<title ->использование canComment</title> -<programlisting ->if ( document.canComment( document.attribute(1,0), document.attribute(5,0) ) ) { - // 1,0 и 5,0 принадлежат к одной системе подсветки синтаксиса -} -</programlisting> -</example> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.clear(); [функция]</function -></term> -<listitem -><para ->Очищает документ.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.commentStart( <parameter ->uint attribute</parameter -> ); [функция]</function -></term> -<listitem> -<itemizedlist> -<title ->Параметры</title> -<listitem -><para -><parameter ->attribute</parameter -> Атрибут текста, для которого вводится строка commentStart.</para -></listitem> -</itemizedlist> -<para ->Возвращает строку, необходимую для начала многострочного комментария к тексту с атрибутом, или пустую строку, если в этом тексте не поддерживаются многострочные комментарии.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.commentMarker( <parameter ->uint attribute</parameter -> ); [функция]</function -></term> -<listitem> -<itemizedlist> -<title ->Параметры</title> -<listitem -><para -><parameter ->attribute</parameter -> Атрибут текста, для которого вводится строка commentMarker</para -></listitem> -</itemizedlist> -<para ->Возвращает пометку остатка строки как комментария к тексту с атрибутом, либо пустую строку для текста, в котором не поддерживаются комментарии в той же строке.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.commentEnd( <parameter ->uint attribute</parameter -> ); [функция]</function -></term> -<listitem> -<itemizedlist> -<title ->Параметры</title> -<listitem -><para -><parameter ->attribute</parameter -> Атрибут текста, для которого вводится строка commentEnd</para -></listitem> -</itemizedlist> -<para ->Возвращает строку, необходимую для окончания многострочного комментария к тексту с атрибутом, либо пустую строку для текста, в котором многострочные комментарии не поддерживаются.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.editBegin(); [функция]</function -></term> -<listitem> -<para ->Начало группы редактирования. Все действия включаются в одну группу отмены до вызова editEnd().</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.editEnd(); [функция]</function -></term> -<listitem> -<para ->Окончание группы редактирования.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.highlightMode; [свойство:только для чтения]</function -></term> -<listitem> -<para ->Название режима подсветки (JavaScript или C++). Если к документу не применяется режим подсветки, устанавливается значение None. Помните - необходимо использовать англоязычное название.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.indentMode; [свойство:только для чтения]</function -></term> -<listitem> -<para ->Название режима отступов документа, такое как <literal ->normal</literal -> или <literal ->cstyle</literal ->. Помните - если режим отступов не задан, устанавливается значение <literal ->none</literal ->. </para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.indentWidth; [свойство:только для чтения]</function -></term> -<listitem> -<para ->Устанавливает ширину отступа. Только при создании отступов пробелами.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.insertLine( <parameter ->uint line</parameter ->, <parameter ->string text</parameter -> ); [функция]</function -></term> -<listitem> -<itemizedlist> -<title ->Параметры</title> -<listitem -><para -><parameter ->line</parameter -> номер строки в документе</para> -</listitem> -<listitem -><para -><parameter ->text</parameter -> вставляемый текст</para -></listitem> -</itemizedlist> -<para ->Вставляет новую строку с текстом <parameter ->text</parameter -> в строку под номером <parameter ->line</parameter ->.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.insertText( <parameter ->uint line</parameter ->, <parameter ->uint column</parameter ->, <parameter ->string text</parameter -> ); [функция]</function -></term> -<listitem> -<itemizedlist> -<title ->Параметры</title> -<listitem -><para -><parameter ->line</parameter -> номер строки</para -></listitem> -<listitem -><para -><parameter ->column</parameter -> номер столбца</para -></listitem> -<listitem -><para -><parameter ->text</parameter -> вставляемый текст</para -></listitem> -</itemizedlist> -<para ->Вставляет текст <parameter ->text</parameter -> в строку номер <parameter ->line</parameter ->, столбец номер <parameter ->column</parameter ->.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term ->document.length(); [функция]</term> -<listitem> -<para ->Возвращает размер документа в байтах.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.lines(); [функция]</function -></term> -<listitem> -<para ->Возвращает число строк в документе.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term ->document.mixedIndent; [свойство:только для чтения]</term> -<listitem> -<para ->Логическая величина. Сообщает, применяется ли в документе смешанный тип отступов. Если это так - отступы осуществляются при помощи и пробелов, и позиций табуляции, сходно с редактором Emacs.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term ->document.removeLine( <parameter ->uint line</parameter -> ); [функция]</term> -<listitem> -<itemizedlist> -<title ->Параметры</title> -<listitem -><para -><parameter ->line</parameter -> номер строки</para -></listitem> -</itemizedlist> -<para ->Удаляет строку документа номер line.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.removeText( <parameter ->uint startLine</parameter ->, <parameter ->uint startColumn</parameter ->, <parameter ->uint endLine</parameter ->, <parameter ->uint endColumn</parameter -> ); [функция]</function -></term> -<listitem> -<itemizedlist> -<title ->Параметры</title> -<listitem -><para -><parameter ->startLine</parameter -> указывает начальную строку</para -></listitem> -<listitem -><para -><parameter ->startColumn</parameter -> указывает начальный столбец</para -></listitem> -<listitem -><para -><parameter ->endLine</parameter -> указывает конечную строку</para -></listitem> -<listitem -><para -><parameter ->endColumn</parameter -> указывает конечный столбец</para -></listitem> -</itemizedlist> -<para ->Удаляет участок текста, начиная от строки номер <parameter ->startLine</parameter -> и столбца номер <parameter ->startColumn</parameter -> до строки номер <parameter ->endLine</parameter -> и столбца номер <parameter ->endColumn</parameter ->. </para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.setText( <parameter ->string text</parameter -> ); [функция]</function -></term> -<listitem> -<itemizedlist> -<title ->Параметры</title> -<listitem -><para -><parameter ->text</parameter -> текст документа</para -></listitem> -</itemizedlist> -<para ->Приводит всё содержимое документа к тексту с параметрами <parameter ->text</parameter ->.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.spaceIndent; [свойство:только для чтения]</function -></term> -<listitem> -<para ->Логическая величина. Сообщает, применяется ли к документу отступ пробелами. Если это так, то отступы в документе производятся на величину indentWidth между уровнями, иначе сдвиг происходит на одну позицию табуляции.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.textFull(); [функция]</function -></term> -<listitem> -<para ->Возвращает весь текст документа. Если в тексте есть переводы строк, то знак перевода строки отобразится как <constant ->\n</constant ->.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.textLine( uint line ); [функция]</function -></term> -<listitem> -<itemizedlist> -<title ->Параметры</title> -<listitem -><para -><parameter ->line</parameter -> строка номер</para -></listitem> -</itemizedlist> -<para ->Возвращает текст строки номер <parameter ->line</parameter ->.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.textRange( <parameter ->uint startLine</parameter ->, <parameter ->uint startColumn</parameter ->, <parameter ->uint endLine</parameter ->, <parameter ->uint endColumn</parameter -> ); [функция]</function -></term> -<listitem> -<itemizedlist> -<title ->Параметры</title> -<listitem -><para -><parameter ->startLine</parameter -> указывает начальную строку</para -></listitem> -<listitem -><para -><parameter ->startColumn</parameter -> указывает начальный столбец</para -></listitem> -<listitem -><para -><parameter ->endLine</parameter -> указывает конечную строку</para> -</listitem> -<listitem -><para -><parameter ->endColumn</parameter -> указывает конечный столбец</para -></listitem> -</itemizedlist> -<para ->Возвращает указанный участок текста. Если в пределах участка есть переводы строк, то знак перевода отобразится как <constant ->\n</constant ->.</para> -</listitem> -</varlistentry> - -</variablelist -><!--/ document API --> - -<variablelist id="advanced-editing-tools-scripting-view"> -<title ->Аппаратно-программный интерфейс (API) <classname ->view</classname -></title> - -<varlistentry> -<term -><function ->view.clearSelection(); [функция]</function -></term> -<listitem> -<para ->Снимает выделение со всего текста.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->view.cursorColumn(); [функция]</function -></term> -<listitem> -<para ->Возвращает столбец, в котором находится курсор (учитываются все знаки табуляции).</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->view.cursorColumnReal(); [функция]</function -></term> -<listitem> -<para ->Возвращает номер столбца, в котором реально находится курсор (знак табуляции считается за один символ).</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->view.cursorLine(); [функция]</function -></term> -<listitem> -<para ->Возвращает номер строки, в которой находится курсор.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->view.hasSelection(); [функция]</function -></term> -<listitem> -<para ->Если выделенный текст есть, возвращает <constant ->true</constant ->, иначе <constant ->false</constant ->.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->view.removeSelectedText(); [функция]</function -></term> -<listitem> -<para ->Если есть выделенный текст, он удаляется.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->view.selectAll(); [функция]</function -></term> -<listitem> -<para ->Выделяет весь текст.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->view.selection(); [функция]</function -></term> -<listitem> -<para ->Возвращает выделенный текст. Если в пределах выделенного текста есть переводы строк, они отображаются знаком <constant ->\n</constant ->.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->view.selectionEndColumn; [свойство:только для чтения]</function -></term> -<listitem> -<para ->Возвращает номер последней позиции выделяемого участка.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->view.selectionEndLine; [свойство:только для чтения]</function -></term> -<listitem> -<para ->Возвращает номер последней строки выделяемого участка.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->view.selectionStartColumn; [свойство:только для чтения]</function -></term> -<listitem> -<para ->Возвращает номер начальной позиции выделяемого участка.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->view.selectionStartLine; [свойство:только для чтения]</function -></term> -<listitem> -<para ->Возвращает номер начальной строки выделяемого участка.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->view.setCursorPosition( <parameter ->uint line</parameter ->, <parameter ->uint column</parameter -> ); [функция]</function -></term> -<listitem> -<itemizedlist> -<title ->Параметры</title> -<listitem -><para -><parameter ->line</parameter -> Указывает строку для курсора.</para -></listitem> -<listitem -><para -><parameter ->column</parameter -> Указывает столбец для курсора.</para -></listitem> -</itemizedlist> -<para ->Устанавливает курсор ввода в позицию [<parameter ->line</parameter ->, <parameter ->col</parameter ->]. Установка курсора происходит визуально, символ табуляции считается за несколько символов, в зависимости от расположения текста, но не больше значения параметра <guilabel ->Ширина табуляции</guilabel ->. Отсчёт номеров строк и столбцов начинается от нуля.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->view.setCursorPositionReal( <parameter ->uint line</parameter ->, <parameter ->uint column</parameter -> ); [функция]</function -></term> -<listitem> -<itemizedlist> -<title ->Параметры</title> -<listitem -><para -><parameter ->line</parameter -> Указывает строку для курсора.</para -></listitem> -<listitem -><para -><parameter ->column</parameter -> Указывает столбец для курсора.</para -></listitem> -</itemizedlist> -<para ->Устанавливает курсор в позицию [<parameter ->line</parameter ->, <parameter ->col</parameter ->]. При рассчёте позиции табуляция соответствует одному символу. Отсчёт строк и столбцов начинается от нуля.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->view.setSelection( <parameter ->uint startLine</parameter ->, <parameter ->uint startColumn</parameter ->, <parameter ->uint endLine</parameter ->, <parameter ->uint endColumn</parameter -> ); [функция]</function -></term> -<listitem> -<itemizedlist> -<title ->Параметры</title> -<listitem -><para -><parameter ->startLine</parameter -> указывает начальную строку</para -></listitem> -<listitem -><para -><parameter ->startColumn</parameter -> указывает начальный столбец</para -></listitem> -<listitem -><para -><parameter ->endLine</parameter -> указывает конечную строку</para -></listitem> -<listitem -><para -><parameter ->endColumn</parameter -> указывает конечный столбец</para -></listitem> -</itemizedlist> -<para ->Устанавливает выделение от строки номер <parameter ->startLine</parameter -> и столбца номер <parameter ->startColumn</parameter -> до строки номер <parameter ->endLine</parameter -> и столбца номер <parameter ->endColumn</parameter ->.</para> -</listitem> -</varlistentry> - -</variablelist> - -<example id="advanced-editing-tools-scripting-example"> - -<title ->Пример сценария</title> -<para ->В качестве примера рассмотрим небольшой сценарий, переводящий выделенный текст в верхний регистр. Очевидно, сначала необходимо проверить, есть ли выделенный текст вообще. Если есть - возьмём этот текст, изменим регистр и заменим его новым текстом. Сценарий будет выглядеть примерно так:</para> - -<programlisting ->if ( view.hasSelection() ) -{ - column = view.selectionStartColumn; - line = view.selectionStartLine; - - selection = view.selection().toUpperCase(); - - document.editBegin(); - view.removeSelectedText(); - document.insertText( line, column, selection ); - document.editEnd(); -} -</programlisting> - -<para ->Для группировки действий так, чтобы их можно было отменить одним вызовом пункта меню <guimenuitem ->Отмена</guimenuitem ->, мы поместили строки <programlisting ->view.removeSelectedText()</programlisting -> и <programlisting ->document.insertText()</programlisting -> между <programlisting ->document.editBegin()</programlisting -> и <programlisting ->document.editEnd()</programlisting ->.</para> - -</example> - -<example id="advanced-editing-tools-desktop-example"> -<title ->Пример файла <filename ->.desktop</filename -></title> - -<para ->Вот пример простого .desktop-файла, соответствующего приведенному выше сценарию.</para> - -<programlisting ->[Desktop Entry] -Encoding=UTF-8 -Name=Kate Part JavaScript Uppercase -Comment=Script to uppercase the selection -X-Kate-Command=uppercase-selection -X-Kate-Help=<p>Usage: <code>uppercase-selection</code></p> -</programlisting> - -<para ->Мы видим, что здесь можно определить кодировку, ввести название, комментарий, указать путь к справке с помощью X-Kate-Help и название для командной строки через X-Kate-Command. Если файлы находятся в SVN-хранилище KDE, то пункты Name, Comment and X-Kate-Help автоматически переводятся на другие языки командами переводчиков KDE.</para> - -</example> - -<sect3> -<title ->Резюме</title> - -<para ->&kate; может разыскивать в определённых папках (см. <link linkend="advanced-editing-tools-scripting-introduction" ->выше</link ->) файлы <filename ->*.js</filename ->. Для каждого найденного файла будет проведен поиск соответствующего файла <filename ->.desktop</filename ->, например файлу uppercase.js соответствует файл uppercase.desktop. </para> -<para ->Если требуемый файл <filename ->.desktop</filename -> не найден, сценарий будет зарегистрирован в командной строке katepart с именем без расширения .js, для нашего примера это будет <literal ->uppercase</literal ->.Если такое формирование названия команды подходит, и вам не требуются какие-то дополнительные возможности, которые предоставляет файл <filename ->.desktop</filename ->, он может не понадобиться вам совсем. </para> -<para ->Если файл <filename ->.desktop</filename -> найден, то katepart считывает имя из пункта .desktop-файла X-Kate-Command, например X-Kate-Command=uppercase-selection.</para> - -</sect3> - -</sect2> - -</sect1> - -</chapter> |