PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » PureBasic для Linux » pb -> html (SyntaxHighlighting2)


pb -> html (SyntaxHighlighting2)

Сообщений 1 страница 9 из 9

1

На оф.форуме выложил код для подсветки синтаксиса pb в HTML.

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

Отредактировано AZJIO (01.03.2025 13:29:29)

0

2

Код:
WriteString(id_file2, "<html><head><title>Example</title><META http-equiv='Content-Type' content='text/html; charset=utf-8'></META><link href='style.css' rel='stylesheet' type='text/css'></head><body><p class='codebox1'>" + #CRLF$ + #CRLF$)

Ты уверен что UTF8 кодировка будет в файле? Там же по-умолчанию стоит Юникод Биг Эндиан.

0

3

PSY
Описание CreateFile

#PB_UTF8   : Все операции чтения/записи строк будут в UTF-8, если не указано иное (по умолчанию).

по умолчанию

0

4

нашёл
#PB_UTF8   : all read/write string operation will use UTF-8 if not specified otherwise (default).
Тогда у меня вопрос, почему в версии 5.7 у меня при создании файла и записи строк - строки были в биг эндиане если я не указывал ничего

Отредактировано PSY (01.03.2025 17:53:14)

0

5

Делал однажды такую подстветку, но через регулярки, и на основе шаблонизации, которую можно тянуть из настроечного файла:
Github

0

6

Webarion написал(а):

через регулярки

У меня в AkelPad через регулярки подсвечивается, но посимвольный разбор мне сейчас интересен для изучения.

0

7

AZJIO написал(а):

У меня в AkelPad через регулярки подсвечивается, но посимвольный разбор мне сейчас интересен для изучения.

Отличная у тебя разработка! Мне это тоже интересно, тоже продвигаюсь в этом плане. Есть свой Lexer PB, посимвольный анализ через память, я сейчас зашёл на анализ синтаксиса и значения констант + совмещение со строками, так как это статично, на уровне компилятора, то и константы, в том числе в модулях вполне можно анализировать. При этом, если "тебе", как разработчику надо, то включаешь в свой код такой функционал, если не надо, то отключаешь.

Отредактировано Webarion (01.03.2025 22:15:18)

0

8

Т.е. чтобы статично собрать строку, а по сути как компилятор, нужно подразумевать константу типа #Const или #Const$, содержащую строку. Обе эти константы могут быть строковыми. При этом, не забывать, что строка в коде может быть перенесена на следующую, по определённым правилам, через перенос строки( \r, \n, или \r\n ). При этом, нужно учитывать модуль.
Описанное мной, немного дальше синтаксиса для подсветки, и имеет значение, по большому счёту, только когда действительно нужно, для какой-то своей личной разработки.

Отредактировано Webarion (01.03.2025 23:24:51)

0

9

Обновлено
Сделано в виде плага

для IDE командная строка:
7 "%FILE" %TEMPFILE"
где 7 это флаг
1 - сохранять в %temp%, иначе в рабочей папке утилиты.
2 - выполнить запуск html-файла в браузере.
4 - не добавлять настройки компилятора в конце файла
%FILE - если файл сохранён, то используется он (в кавычках)
%TEMPFILE - если файл не сохранён, то используется его временная копия в папке %temp% (в кавычках)

0


Вы здесь » PureBasic - форум » PureBasic для Linux » pb -> html (SyntaxHighlighting2)