Автор Тема: Нераспознанные элементы и ляпы при подсветке AutoIt синтаксиса  (Прочитано 57766 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7814
  • Репутация: 2282
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
Прошу сообщество быть бдительными в этом плане и сообщать в этой теме о проблемах в подсветке синтаксиса...

* Не подсвеченные или плохо/неправильно подсвеченные элементы (ориентироваться на подсветке в SciTE что идёт вместе с последней версией AutoIt'а)
* Любые найденные недоделки в подсветке.

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

Спасибо.



Известные проблемы:
* Числа некорректно подсвечиваются.
* Не подсвечиваются ключевые слова макросы обрамлённые амперсандом (&).
* Не подсвечиваются горячие клавиши в полукруглых скобках. Спасибо Garrett!
* В #include имя файла подсвечивается некорректно.
* Не подсвечивается символ подчёркивания (нижний дефис). Спасибо Garrett!
* Не отображается часть кода при использовании больших пробелов в выражении.
« Последнее редактирование: Апрель 16, 2012, 06:35:26 от CreatoR »


Правила, Поиск, Супер тема


AutoIt is simple, subtle, elegant.


«Не оказываю тех. поддержку через ПМ/ICQ, и по электронной почте - для этого есть форум. (C)»
«Законы Мэрфи неоспоримы!»


Мои работы

Русское сообщество AutoIt

Нераспознанные элементы и ляпы при подсветке AutoIt синтаксиса
« Ответ #30 Отправлен: Апрель 23, 2010, 15:00:02 »

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7814

  • Автор темы
  • Репутация: 2282
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
zlo-kazan  [?]
Цитировать
Это как?
Это из за пробелов (41 пробел после текста). Решения пока нет :(


Правила, Поиск, Супер тема


AutoIt is simple, subtle, elegant.


«Не оказываю тех. поддержку через ПМ/ICQ, и по электронной почте - для этого есть форум. (C)»
«Законы Мэрфи неоспоримы!»


Мои работы

Оффлайн zlo-kazan [?]

  • Скриптер
  • ****
  • Сообщений: 374
  • Репутация: 100
  • Пол: Мужской
    • Награды
Решения пока нет :(
Хм... после пробелов должны были идти комментарии, ну да ладно не буду столько пробелов ставить.  :ok:

Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 3999
  • Репутация: 960
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
zlo-kazan  [?]
Цитировать
Хм... после пробелов должны были идти комментарии
Используйте TAB вместо пробелов.

Скорблю и помню.




Русское сообщество AutoIt


Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 3999
  • Репутация: 960
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
CreatoR  [?]
Цитировать
Ну если это поможет, почему бы и нет... сможешь попробовать сделать?
Давайте попробуем.  :think:
1. Сделайте копии следующих файлов  ./geshi/geshi.php и ./geshi/geshi/autoit.php (пути могут отличаться).
2. Замените вышеописанные файлы на файлы из архива.

Должны решиться следующие проблемы с подсветкой синтаксиса:
 - не подсвечивался символ подчёркивания
 - не подсвечивались горячие клавиши

P.S. Если возникнут проблемы, восстановите старые файлы и опишите проблему , будем стараться решить.
« Последнее редактирование: Март 27, 2011, 07:32:26 от Garrett »

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7814

  • Автор темы
  • Репутация: 2282
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
Garrett  [?]
Цитировать
Давайте попробуем.
Спасибо!

Цитировать
не подсвечивался символ подчёркивания
Подсвечивается!

Цитировать
не подсвечивались горячие клавиши
Так и не подсвечиваются :(

Цитировать
Если возникнут проблемы, восстановите старые файлы и опишите проблему
Первое что бросилось в глаза, это отсутствие RegExp для чисел, была какая то причина по которой это нужно было убрать?

P.S
И ещё, желательно подсвечивать не всё что в полукруглых скобках, а по списку, типа:

Код: (php) [Выделить]
//Hotkeys
=> array(
            
'f1','f2',...


Сам список я сделаю.

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7814

  • Автор темы
  • Репутация: 2282
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
Я только что заметил, это же не наш autoit.php, над которым я уже пару лет издеваюсь :laugh:
Прикрепил тот что используется на форуме.

Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 3999
  • Репутация: 960
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
CreatoR  [?]
Цитировать
Так и не подсвечиваются
Давайте следующий вариант пробовать.  :think:
Файлы прикрепил.

Важно!1. Сделайте backup следующих исходных файлов  ./geshi/geshi.php и ./geshi/geshi/autoit.php (пути могут отличаться).
2. Замените оба вышеуказанных файлы на файлы из архива.




Добавлено: Март 27, 2011, 16:29:24
Я ориентируюсь на подсветку в SciTE.

CreatoR  [?]
Цитировать
И ещё, желательно подсвечивать не всё что в полукруглых скобках, а по списку, типа:
Код: (php) [Выделить]
  1. //Hotkeys
  2. 7 => array(
  3.             'f1','f2',...
Боюсь, так не получится. Дело в том что GeShi всё, что находится в кавычках "{TAB 4}" считает строкою, хоть убей его.
Поэтому надо разбирать все строки, которые отдаёт GeShi.
Собственно, что я и делаю. Думаю переделывать весь алгоритм GeShi будет сложнее.
« Последнее редактирование: Март 27, 2011, 16:33:28 от Garrett, Причина: Объединение сообщений »

Русское сообщество AutoIt


Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7814

  • Автор темы
  • Репутация: 2282
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
Garrett  [?]
Цитировать
Давайте следующий вариант пробовать
Тоже не подсвечивает :(

Цитировать
Боюсь, так не получится. Дело в том что GeShi всё, что находится в кавычках "{TAB 4}" считает строкою, хоть убей его.
Поэтому надо разбирать все строки, которые отдаёт GeShi.
А если проверять каждую строку в массиве, т.е вместо \{.*\} искать как то через str_replace($hotkeys_array, '', $Line) или типа того?

Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 3999
  • Репутация: 960
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
CreatoR
Тоже не подсвечивает
Сейчас изменённые файлы стоят? Протестировать сообщения можно?

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7814

  • Автор темы
  • Репутация: 2282
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
Garrett  [?]
Цитировать
Сейчас изменённые файлы стоят?
Да.

Цитировать
Протестировать сообщения можно?
Вот:
Код: AutoIt [Выделить]
Send("{F1}")


Оффлайн VladUs [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 621
  • Репутация: 180
  • Пол: Мужской
    • Награды
CreatoR теперь нижнее подчеркивание подсвечивается, если оно служит началом имени пользовательской функции
Вот
Код: AutoIt [Выделить]
_Myfunc()

Делай что должен и  будь что будет

Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 3999
  • Репутация: 960
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
OffTopicCreatoR приношу свои извинения за то, что пропал после последнего сообщения в 17:55:42.
Провайдер  :Censored: ушёл в down на пять с половиной часов.

Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 3999
  • Репутация: 960
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Вот:
Код: AutoIt [Выделить]
Send("{F1}")

Теперь должно подсвечиваться.
Замените файл ./geshi/geshi/autoit.php

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7814

  • Автор темы
  • Репутация: 2282
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
Garrett  [?]
Цитировать
Теперь должно подсвечиваться.
Супер. Я сам тоже заметил что там используется [!+...]+ вместо [!+...]*.

Но проблема с подчёркиванием на которую указал VladUs действительно есть, есть идеи как это обойти?

Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 3999
  • Репутация: 960
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
CreatoR  [?]
Цитировать
Супер. Я сам тоже заметил что там используется [!+...]+ вместо [!+...]*.
Да, не доглядел  :-[

Цитировать
Но проблема с подчёркиванием на которую указал VladUs действительно есть, есть идеи как это обойти?
Как раз сейчас над этим думаю.
Полагаю что можно в файле autoit.php в секции REGEXPS это дело обыграть.

Русское сообщество AutoIt


 

Похожие темы

  Тема / Автор Ответов Последний ответ
17 Ответов
13169 Просмотров
Последний ответ Апрель 13, 2015, 19:55:25
от CreatoR
1 Ответов
3822 Просмотров
Последний ответ Май 29, 2011, 13:30:36
от Yashied
13 Ответов
6599 Просмотров
Последний ответ Февраль 02, 2012, 18:56:42
от winstan
1 Ответов
5360 Просмотров
Последний ответ Январь 17, 2014, 00:33:21
от Skif_off
3 Ответов
5251 Просмотров
Последний ответ Август 28, 2014, 18:06:39
от Skif_off
0 Ответов
1975 Просмотров
Последний ответ Сентябрь 02, 2013, 13:48:48
от inververs
7 Ответов
2865 Просмотров
Последний ответ Ноябрь 16, 2013, 23:13:25
от InnI
2 Ответов
1036 Просмотров
Последний ответ Ноябрь 22, 2015, 05:49:27
от ВиталийВВ
11 Ответов
1843 Просмотров
Последний ответ Декабрь 28, 2015, 21:05:33
от Δαηy Δαηy
5 Ответов
581 Просмотров
Последний ответ Апрель 03, 2017, 14:02:49
от pvnn