Новостиrss
Подписаться
Форум
Блог
Поддержка
Продукты
Aml Pages »
Скачать
Что нового
КУПИТЬ
Скриншоты
Видео
Плагины
Новичкам
ЧаВо
Статьи
Планы
Разработчику
Aml Maple »
Скачать
Видео
КУПИТЬ
Отзывы
Статьи
TwinkiePaste

Скачать
КУПИТЬ
Быстрый старт
Скриншоты
Функции
ЧаВо
WriteYours »
Mouse Hunter »
Password Cracker »
поддержка
Cвязаться
Форум
ВКонтактеВКонтакте
Голосования
Контакты
Разное
Информеры
Награды
Модули++
Каталог
Спасибо!
Plugin API
PAD файлы
Ссылки
статьи
Новая версия Aml Pages 9.73
Вопрос-Ответ: как русифицировать Aml Pages
Кино про Aml Pages
Как выбрать папку для размещения данных из Aml Assist
Как проверить что нового в Aml Pages
Новая версия Aml View 2.0
Новый плагин Aml2Evernote
Вопрос-Ответ: как открыть документ Aml Pages извне?
Как в закладках Aml Pages показывать только…
Как быстро перейти к предыдущей странице
Aml Pages : Новое видео
Автозагрузка и Aml Pages
Как сохранить гиперссылку в Aml Pages
Что такое быстрые настройки в Aml Pages?
Aml Pages - Новое голосование
Новый плагин Placement Restorer
• Вопрос-ответ: можно открыть раздел документа Aml Pages извне
• Можно ли изменить веб-страницу?
Фильтры в Aml Pages
• Новичкам
• Проверка новых версий
• Про гиперсссылки
• Быстрый доступ к заметкам
• Синхронизация документов через Интернет
• Видео-примеры
• Маленькие хитрости. Настройки и плагины
• Где взять portable-версию Aml Pages?
• Как быстро открыть документ
• Все статьи
Рассылка 'Органайзер Aml Pages'

Статистика
Яндекс.Метрика
  © 2004 X-ViK Design
“Средства, которыми мы пользуемся, оказывают глубокое и тонкое влияние на наши способы мышления и, следовательно, на нашу способность мыслить”
© Эдсгер Дейкстра

Маленькие хитрости. Синтаксическая подсветка

RSS
RSS-лента

Статья рассказывает как использовать синтаскическую подсветку в самых повседневных задачах самым обычным пользователям (это не о подсветке языков программирования, хотя и это Aml Pages умеет).

См. также: Часть 1 | Часть 2 | Часть 3 | Часть 5 | Часть 6 | Часть 7 | Часть 8 | Видео о синтаксической подсветке

Умеем писать? Что-то нравится в Aml Pages?
Напишите об этом статью и
получите бесплатную регистрацию!

Добрый день, уважаемые подписчики. Сегодня в очередной части "маленьких хитростей" я попытаюсь рассказать о некоторых любопытных приемах работы в Aml Pages. Речь пойдет о синтаксической подсветке.

"Маленькие хитрости" это целая серия статей, рассказывающих о различных хитростях, фокусах, что называется "кульных рюшечек" при работе в Aml Pages. Статьи публиковались, и публикуются сейчас в рамках новостной рассылки, ну, а затем попадают в официальную справку к Aml Pages.

Прим. редактора


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

Немного истории

В начале марта этого года в Aml Pages была реализована полностью новая синтаксическая подсветка языков программирования.

Хех, "этого года"... Продвинутая синтаксическая подсветка
появилась еще в в конце 2004 - начале 2005-го года.

Прим. редактора


Как я писал в прошлых выпусках рассылки, основным преимуществом новой подсветки было разделение самого алгоритма подсветки, реализованного в коде программы, и правил подсветки, описываемых во внешних, несложного текстового формата файлах. Под правилами здесь подразумевается, какие слова (символы) в каких случаях и какими цветами должны подсвечиваться. Вероятно, постоянные подписчики со стажем помнят упоминание о том, что гордое название синтаксической подсветки языков программирования, не только слишком длинное, но и чересчур частное, лишенное обобщенности. А именно, говорилось о том, что алгоритму подсветки абсолютно не важно, что подсвечивать, и это вовсе не обязательно должен быть язык программирования, или какая-либо другая формальная конструкция. Действительно, в программе присутствует код, только код, и ничего кроме кода. Правила же синтаксической подсветки, описывающие, что и как искать (слова, символы и т.д.), где и как подсвечивать (цвета) хранятся во внешних файлах, и могут описывать какие угодно конструкции. Т.е. говоря обычным языком, алгоритм может также непринужденно подсвечивать и текст "шла Маша по шоссе", лишь бы "Маша" со "Шлой" были описаны в файле подсветки.

Пример подсветки цитат в тексте писем электронной почты

Итак, сегодня я хотел бы рассказать о синтаксической подсветке, но не в контексте языков программирования, а применительно к обычной работе с текстом. Рассказать о том, как синтаксическая подсветка может помогать (я бы даже сказал, решать за пользователя 2 трети проблем) в работе с самым обыкновенным НЕпрограммным пользовательским текстом.

Полагаю, многим из Вас приходится группировать Ваши данные в Aml Pages не только в папки, страницы, листочки, но и внутри текста в некие абстрактные категории вроде "не забыть", "очень важно", "сверхсрочно" и т.п. Т.е. делить на некоторые классы согласно Вашей собственной схеме. Нередко пользователи это делают "глазами", но программа в таком разделении может более чем существенно помогать. Конечно, хотелось бы, чтобы текст разных категорий как-то выделялся. В принципе, Aml Pages поддерживает и форматирование цветов текста, и пользовательские стили форматирования. Но есть два "но", незначительных, зато докучающих:

  1. Текст с форматированием может сохраняться только в страницах форматированного текста. А такие страницы, хоть и хранят больше информации о форматировании, в общем случае могут значительно увеличивать размер документа. Что в целом хоть и не прекрасно, но терпимо.

  2. И что важнее, для отметки такого текста, приходится каждый раз "лазить" в команды форматирования. А это бывает затруднительно. Особенно если текст записывается на бегу. А даже если время на "украшательства" и находится, отвлекаться на форматирование, означает отвлекаться от самой задачи пользователя на способ ее решения. Такие отвлечения не способствуют ни комфорту работы, ни лучшему решению задачи. По моему мнению, задача пользователя важнее способа ее решения. Способы решения задачи должны быть проблемой программы.
А частности, мне тоже приходится частенько записывать некий текст, который навскидку достаточно легко поделить на три-четыре категории. К примеру: "Сделать срочно", "Отложить на будущее", "Подумать на досуге с трубочкой английского табака" или что-то в этом роде. Вот как раз для автоматического (именно автоматического, "на лету") выделения цветом такого текста, и более чем применима синтаксическая подсветка. Все что для этого необходимо это включить соответствующую подсветку - дальше программа все будет делать полностью сама.

Но сначала нужно описать правила подсветки, по которым нужно "раскрашивать" текст пользователя. На самом деле в данный момент такие подсветки текста уже есть в дистрибутиве Aml Pages, о чем будет написано ниже, и Вы можете начать пользоваться ими хоть сей момент. Но создать файл правил подсветки отнюдь не сложно. Тем более, что вероятно, у кого-то возникнет желание использовать свою собственную подсветку. Заметим, что правила синтаксической подсветки Aml Pages позволяют описывать конструкции вида:

[признак_начала_подсвечиваемого_текста] [любой_текст] [признак_конца_подсвечиваемого_текста]

Причем признаком конца подсвечиваемого текста может служить, к примеру, и перенос строки, а началом какое-либо специфическое редко используемое сочетание символов или слов, вроде "++" (два плюса) или "##".

Таким образом, набрав подобные специфические символы, Вы продолжаете набирать свой собственный текст, и как только Вы закончите абзац переносом строки, текст мгновенно подсветится. Заметьте, все это будет происходить без каких-либо дополнительных усилий с Вашей стороны - все происходит само собой - Вы просто работаете с текстом.

Что дает такой подход к подсвечиванию текста?

  1. Вам вообще не требуется обращаться в командам форматирования!!! Вы как обычно вводите свой текст, разве что, поставив где-то в его начале что-то вроде "++" или "##".

  2. Вы не отвлекаетесь на оформление текста!!! Вы на самом деле полностью на 100% сосредотачиваетесь на своей собственной задаче - а именно на Вашем тексте. Не отвлекаясь на способ решения, Вы решаете саму задачу. Согласитесь, если в классификации присутствует 3-4 категории текста, то значительно быстрее сообразить "налево? направо? прыжок на месте?" и сразу отнести текст к какой-либо категории, а не задумываться о форматировании. В конце концов, Вы легко можете в последствии вернуться к этому тексту и изменить его категорию (просто изменив в тексте эти самые "++" или "##").

  3. Поменяв правила подсветки (цвета подсветки, к примеру), Вы сразу увидите текст подсвеченным в соответствии с новыми правилами. Вам не приходиться думать о том, что текст одной и той же категории ("Не забыть") в разных местах форматируется по разному. Весь текст с такими атрибутами подсветки во всех частях документа будет выглядеть абсолютно одинаково.

  4. Работать с подобным текстом в последствии значительно удобнее. В той или иной степени весь текст уже разбит на некоторые части, категории. "Структура" такого текста видна сразу же. К тому же, если часть текста не отнесена ни к одной из категорий, она не подсвечивается и такие "неопределенные" фрагменты легко находить.

  5. Ну и последнее в списке, но не по значению. Такой текст совершенно спокойно может храниться и в виде обычного текста (страниц простого текста, Plain Text), не съедая драгоценные байты Вашего документа. Хотя замечу, что форматированный текст подсвечивается совершенно с таким же успехом - т.е. все будет работать абсолютно точно так же и со страницами форматированного текста.



В последних версиях Aml Pages по просьбам некоторых пользователей в дистрибутив программы включена такая подсветка. Это как раз и есть моя собственная подсветка текста, которая так и называется "Как у Carc`а" - это та самая подсветка, которая приведена как пример выше ("категории" текста).

Carc - автор не только самой Aml Pages, но и описываемой в этой статье идеи "раскраски" структуры текста "на лету".

Название подсветки "Как у Carc`а" сложилось исторически, в процессе продолжительного "стреляния" друг у друга файла правил этой подсветки посетителями форума проекта (до того, как подсветка была включена в официальный дистрибутив Aml Pages).

Прим. редактора


В файле-примере (sample.apd) в дистрибутиве Aml Pages есть пример этой синтаксической подсветки - с ним можно и "поиграться" и посмотреть, как это работает. Хотя отмечу, что плюсы синтаксической подсветки особенно заметны именно в интенсивной работе, когда "всё время некогда", и Вы обращаетесь к Aml Pages чтобы как можно быстрее, не теряя времени, записать что-то важное.

Пример подсветки структуры текста 'Как у Carc`а'

Надеюсь, мне удалось рассказать о действительно удобных сторонах работы с синтаксической подсветкой, причем о сторонах удобных и комфортных не только программистам, но и вполне традиционным пользователям. Если я Вас не убедил, попробуйте сами! Как показывает опыт, пользователи, которые часто записывают какую-то обрывочную, но, тем не менее, важную информацию, попробовав этот прием, уже не хотят без него обходиться.

Вопросы и ответы (FAQ, по материалам почты)

Приводит ли подсветка к изменению данных документа?
Нет. Документ хранит только данные о выбранной подсветке (одна подсветка на одну страницу документа). Подсветка текста производится "на лету" и не приводит к изменению документа.
Что произойдет, если Aml Pages не обнаружит конкретный файл подсветки?
Программа сообщит, что файл подсветки не найден, и просто не будет подсвечивать текст страницы. Как только Aml Pages "получит" файл подсветки, подсветка снова будет применяться (если подсветку не отключили, впрочем включить подсветку обратно можно двумя щелчками мыши).
Как переносить файлы подсветок?
Для установки файла подсветки достаточно просто расположить его в папке Aml Pages. И ничего более. Никаких дополнительных "регистраций" файла подсветки не требуется. Программа обнаруживает все файлы подсветок в процессе работы. Если Вы часто работаете с Aml Pages в разных местах или не уверены, что на "соседнем" компьютере будет присутствовать файл Вашей подсветки, то Вы можете просто носить все файлы подсветок с собой - их суммарный обьем не превышает и 20 килобайт (сравните эту цифру с документом содержащим множество форматированного текста).
Как Aml Pages сохраняет данные о выбранной подсветке?
При выборе подсветки Aml Pages заносит в страницу документа имя файла подсветки. Причем именно имя файла, а не полный путь к нему, т.к. файлы подсветок всегда ищутся в папке программы. Именно по имени файла программа и ищет файл подсветки. Поэтому, если Вы пользуетесь своим собственным файлом подсветки, старайтесь выбирать имя файла так, чтобы в дальнейшем не было необходимости его изменять. Формат ash-файлов позволяет описывать заголовок подсветки в меню Aml Pages непосредственно внутри файла подсветки. Рекомендуется выбирать для своих файлов более или менее уникальное имя, чтобы в будущем не возникало конфликтов с файлами других авторов.
Какие подсветки в Aml Pages есть уже сейчас?
С++, MFC (некоторые особенности библиотеки MFC), Visual Basic, ASH (скрипт файлов подсветки), NSIS-скрипт (NullSoft Installation System), SQL, HTML (Web страницы), Delphi (© Сергей Пуховский), E-mail (текст писем электронной почты), файлы истории версий Aml Pages.

Итак, резюмируя:

  • Правила синтаксической подсветки хранятся во внешних файлах (файлы с расширением ash в папке Aml Pages) и могут быть изменены на собственный вкус любым пользователем в любой момент.
  • Можно создавать и новые файлы, для их подключения к Aml Pages достаточно просто поместить файл в папку Aml Pages.
  • Сами файлы сохраняются в несложном текстовом формате, который можно редактировать даже с помощью стандартного Блокнота Windows.
  • Большая часть файлов синтаксической подсветки из дистрибутива Aml Pages снабжена комментариями, поясняющими ту или иную конструкцию в ash-файле.
  • Полное и подробнейшее описание формата файлов синтаксической подсветки есть, как и в справке программы, так и на сайте. Там же Вы найдете советы по использованию, примеры и ответы на вопросы.

Начата разработка специального редактора файлов синтаксической подсветки, который сильно упростит как редактирование файлов подсветки, так и просто наглядный анализ формата ash-файлов, беря большую часть механической работы на себя. Больше подсветок - хороших и разных. Желающим увидеть прототип редактора - стучаться в почту, к тому же вопрос о названии такого редактора еще открытый. А как корабль назовешь... А каково Ваше мнение?

Надеюсь, сегодняшний выпуск получился интересным. Но ввиду нехватки времени не буду сегодня писать о новостях, плагинах и прочих динамичных частях проекта. Забегайте в "Новости" - львиная доля действительно существенных новостей там анонсирована.

Ну, и как всегда, если возникают вопросы, есть пожелания - стучаться в почту или милости прошу в форум Aml Pages, там порою происходят весьма жаркие и на весьма философские темы дискуссии (что лично меня чрезвычайно искренне радует).

PS: В прошлом выпуске рассылки я просил высказаться по поводу дизайна программы установки. Вопрос звучал примерно так: "Что Вы предпочитаете лучший дизайн программы установки Aml Pages или ее меньший размер?". Отдельное спасибо всем ответившим. Также на результаты голосования по этому вопросу можно посмотреть на сайте Aml Pages. Порядка 80% высказались за лучший дизайн, пусть хоть немного (40-50 кб) в ущерб размеру. Но т.к. скрипт установки Aml Pages достаточно сложен, то программа пока не обзавелась новой установкой. Но как примерно будет выглядеть новый дизайн программы установки можно посмотреть на примере программы установки файла справки Aml Pages и некоторых из плагинов.

См. также: Задать вопрос?



e-Блокнот
Aml Pages
Видео
Aml2Evernote
Aml2Dropbox
Aml2LeaderTask
Spell Checker
Aml2CHM
Aml View
Еще плагины...
«Клава» + Мышь
Aml Maple
от 18 Jul 2016г.
TwinkiePaste
от 05 Sep 2016г.
WriteYours
от 18 Sep 2016г.
Mouse Hunter
от 25 Dec 2014г.
Сообщество
Обратная связь Спросить нас через форму обратной связи на сайте
Форум Новостная RSS-лента
Блог Новостная RSS-лента
ВКонтакте
Русская группа пользователей Aml Pages в социальной сети ВКонтакте
Статьи
Новая версия Aml Pages 9.73
Вопрос-Ответ: как русифицировать Aml Pages
Кино про Aml Pages
Как выбрать папку для размещения данных из Aml Assist
Как проверить что нового в Aml Pages
Новая версия Aml View 2.0
Новый плагин Aml2Evernote
Вопрос-Ответ: как открыть документ Aml Pages извне?
Как в закладках Aml Pages показывать только…
Как быстро перейти к предыдущей странице
Aml Pages : Новое видео
Автозагрузка и Aml Pages
Как сохранить гиперссылку в Aml Pages
Что такое быстрые настройки в Aml Pages?
Aml Pages - Новое голосование
Новый плагин Placement Restorer
• Вопрос-ответ: можно открыть раздел документа Aml Pages извне
• Можно ли изменить веб-страницу?
Фильтры в Aml Pages
• Новичкам
• Проверка новых версий
• Про гиперсссылки
• Быстрый доступ к заметкам
• Синхронизация документов через Интернет
• Видео-примеры
• Маленькие хитрости. Настройки и плагины
• Где взять portable-версию Aml Pages?
• Как быстро открыть документ
• Все статьи
На манжетах
блог автора
@twitter
Facebook
LinkedIn
Гостевая Carc`а
Просматривайте и редактируйте ваши программы на JavaScript, PHP, Perl, HTML в текстовом редакторе HippoEDIT (бесплатен для exUSSR)