LINUX.ORG.RU

Исправление подсветки языка Faust для редактора Kate

 ,


0

1

Давно меня мучило и вот решил, что надо это сделать. Но не факт, что всё сделал правильно. Если кто проверит и исправит/дополнит, буду благодарен. В первый ряд приглашаются James_Holden и sadko4u

Файл faust.xml я положил в $HOME/.local/share/org.kde.syntax-highlighting/syntax/

[UPDATE]

Вернул всё оригинальное, но с парой поправок. Теперь операторы подсвечиваются. А примитивы, зараза, всё ещё нет.

Не могу запостить текст сюда, слишком большой. Извините за яндексдиск. https://disk.yandex.ru/d/TbCiXsQk_JkYYA

[UPDATE2]

Обновил файл по ссылке. Теперь работает большинство задуманного

★★★★★

Последнее исправление: R_He_Po6oT (всего исправлений: 2)
Ответ на: комментарий от kott

Я борюсь с тем, что он наотрез отказывается рассвечивать даже операторы типа import. Сразу не заметил, а теперь копаюсь... Беру другие языки за пример, ничего не помогает пока. Думаю.

R_He_Po6oT ★★★★★
() автор топика
Ответ на: комментарий от R_He_Po6oT

А не искал скрипты для конвертирования Vim/SublimeText/Kakoune подсветок в XMLы KFSyntaxHighlighting? Вдруг уже есть.


И чтоб два раза не вставать. $ gh-search-repos faust syntax:

Showing 6 of 6 repositories

gmoe/vim-faust
nuchi/faust-sublime-syntax
rkbk60/vim-faust-extended
fransham/kakoune-faust
studio/SublimeText-faust
dataman ★★★★★
()
Последнее исправление: dataman (всего исправлений: 1)

Так. Обновил код из оригинального https://github.com/grame-cncm/faust/blob/master-dev/syntax-highlighting/faust... В принципе он же был и в пакете фауста у меня.

Вернул всё оригинальное, но с парой поправок. Теперь операторы подсвечиваются. А примитивы, зараза, всё ещё нет.

Не могу запостить текст сюда, слишком большой. Извините за яндексдиск. https://disk.yandex.ru/d/TbCiXsQk_JkYYA

R_He_Po6oT ★★★★★
() автор топика

А вообще, я так понял, что Faust – это одна из тех программ, которые я когда-то мечтал написать. Генерация музыкальных сэмплов из математических формул, правильно?

Ну вот хоть одну из программ мечты за меня написали. Спасибо за наводку! (Заодно и тег кое-куда прицепил, про него когда-то давно даже новость на ЛОРе была, оказывается.)

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

Генерация музыкальных сэмплов из математических формул, правильно?

Интересно, чем Faust лучше https://csound.com?

Csound is a sound and music computing system that has its roots in the earliest of computer software, the MUSIC-N series by Max Mathews. Csound was originally released in 1985 by Barry Vercoe and it has been a part of the computer music world since. Today’s Csound works on desktop, mobile, embedded, server, and web platforms and powers music software and music-making for musicians around the world.

dataman ★★★★★
()
Ответ на: комментарий от R_He_Po6oT

туда я понесу когда хотябы работать будет

Зачем же так жестоко. Я вот на своём последнем, или как говорят суеверные люди, крайнем проекте написал:

Pre-alpha prototype for *** using *** and ***. Not works yet.

Лежит в свободном доступе. Всё честно, никто никого не обманывает.

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

Я понимаю. Но выкладывание так ставит вопрос - кому принадлежит? Я только поправил. А лицензия какая? И то понять не могу почему нечто работает, а нечто нет. Двум категориям применил один стиль, но показывает по разному.

Более глобальная проблема - работа с функциями в библиотеках. Как их вытащить из Фауста? К тому же, если я не импортирую библиотеку напрямую, то функцию надо писать, например, de.delay(). А если написал в начале import(«delays.lib»), то могу росто delay(). И как мне собрать все функции? С префиксами и без префиксов? А при появлении новых как? Нашёл https://docs.kde.org/stable5/en/kate/katepart/highlight.html#kate-highlight-d... попытался регэкспами поиграться, но не могу в регэксп вставить список как часть «формулы». И мучаюсь. А пока перезалью файл.

Ну ладно, залью и на гитхаб, попозже.

R_He_Po6oT ★★★★★
() автор топика
Последнее исправление: R_He_Po6oT (всего исправлений: 1)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.