Что нового

Нераспознанные элементы и ляпы при подсветке AutoIt синтаксиса

axlwor

Скриптер
Сообщения
657
Репутация
147
Код:
_ExcelWriteSheetFromArray($oExcel, $aArray2, 1+UBound($aArray1), 1, 1, 1)

___________________________________________________________^
 
Автор
CreatoR

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
axlwor
Поправил.
 
Автор
CreatoR

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Есть на форуме знатоки php и/или Geshi?

Хочется всё таки поправить проблему с неподсвеченными горячими клавишами. Самому не под силу, пытался очень долго и упорно исправить, но видимо нехватает знаний в php (или скорее всего в самом Geshi, я так и не смог понять его принцып работы).
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
CreatoR [?]
Хочется всё таки поправить проблему с неподсвеченными горячими клавишами.
CreatoR боюсь, что для этого нужно будет новую версию писать. :scratch:
Я посмотрел код GeSHi, там все, что входит в кавычки "string" считается строкой, следовательно, нужно писать дополнительный функционал для разбора строки, а это значить нужно, править сам geshi.php и дописывать функции.
 
Автор
CreatoR

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Garrett [?]
нужно писать дополнительный функционал для разбора строки, а это значить нужно, править сам geshi.php и дописывать функции.
Ну если это поможет, почему бы и нет... сможешь попробовать сделать? :whistle:

P.S
Я уже думал о радикальных мерах - написать js-скрипт который будет висеть на каждой странице и производить замену для такой подсветки (поиск горячих клавиш по списку внутри строковых значений). Но это естественно немалая нагрузка на сервер, пока не хотелось бы прибегать к такому решению.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
CreatoR [?]
пока не хотелось бы прибегать к такому решению.
по моему, это того не стоит. подсветка эта такая приятная штука, но которая не должна идти в разрез быстродействию. она и в существующем виде вполне не плоха. а то такими темпами, скоро кто-нибудь захочет интерпретатор на сайт повесить, чтобы скрпиты выполнять прямо тут ;D
 
Автор
CreatoR

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Kaster [?]
скоро кто-нибудь захочет интерпретатор на сайт повесить, чтобы скрпиты выполнять прямо тут
Не знаю как на счёт интерпретатора на форуме, но у меня к примеру в браузере есть такие опций (в контекстном меню) как «Выполнить скрипт» и «Открыть как скрипт», т.е прямо из страницы выполняется скрипт (выделенный код).
Подробнее (правда немного устарело).
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
CreatoR
но это на стороне клиента делается (то есть у тебя). сервер нагружать не стоит. а то в пиковые дни, когда кол-во пользователей будет достаточным (а этот день не за горами, учитывая насколько подросло ко-во онлайн одновременно и максимум) форум будет прилично подтормаживать. и без того, хостинг не ахти, частенько недоступен (относительно), то мое мнение, что не стоит нагромождать его еще более :smile:
 

zlo-kazan

Скриптер
Сообщения
374
Репутация
100
Это как? :blink:

Код:
; Начало

$var = WinList()                                          
For $i = 1 to $var[0][0]                                  
  If $var[$i][0] <> "" AND Activ($var[$i][1]) Then        
    $PrID= $var[$i][1]                                    
  EndIf                                                   
Next   

; Конец
Оноже только в AutoIt?
Код:
; Начало

$var = WinList()                                          
For $i = 1 to $var[0][0]                                  
  If $var[$i][0] <> "" AND Activ($var[$i][1]) Then        
    $PrID= $var[$i][1]                                    
  EndIf                                                   
Next   

; Конец
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Дак может скинемся и купим нормальный хостинг? Сколько там в год денег надо?
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
CreatoR [?]
Ну если это поможет, почему бы и нет... сможешь попробовать сделать?
whistle.gif
Давайте попробуем. :scratch:
1. Сделайте копии следующих файлов ./geshi/geshi.php и ./geshi/geshi/autoit.php (пути могут отличаться).
2. Замените вышеописанные файлы на файлы из архива.

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

P.S. Если возникнут проблемы, восстановите старые файлы и опишите проблему , будем стараться решить.
 
Автор
CreatoR

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Garrett [?]
Давайте попробуем.
Спасибо!

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

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

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

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

PHP:
//Hotkeys
7 => array(
            'f1','f2',...

Сам список я сделаю.
 
Автор
CreatoR

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Я только что заметил, это же не наш autoit.php, над которым я уже пару лет издеваюсь :laugh:
Прикрепил тот что используется на форуме.
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
CreatoR [?]
Давайте следующий вариант пробовать. :scratch:
Файлы прикрепил.

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




Добавлено:
Сообщение автоматически объединено:

Я ориентируюсь на подсветку в SciTE.

CreatoR [?]
И ещё, желательно подсвечивать не всё что в полукруглых скобках, а по списку, типа:
PHP:
//Hotkeys
7 => array(
            'f1','f2',...
Боюсь, так не получится. Дело в том что GeShi всё, что находится в кавычках "{TAB 4}" считает строкою, хоть убей его.
Поэтому надо разбирать все строки, которые отдаёт GeShi.
Собственно, что я и делаю. Думаю переделывать весь алгоритм GeShi будет сложнее.
 
Автор
CreatoR

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Garrett [?]
Давайте следующий вариант пробовать
Тоже не подсвечивает :(

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