Используйте символы Юникода для рабочих областей Xmonad

Я хочу использовать символы Unicode из шрифтов Nerd для своих рабочих пространств в Xmonad.

myWorkspaces = ["1:", "2:", "3:", "4:", "5:", "6:ﱘ", "7:", "8:", "9:"]

Для справки:

Массив Unicode-имен рабочей области

Однако при компиляции получаю следующую ошибку:

xmonad.hs:191:13: error:
    lexical error in string/character literal at character '\62057'
    |
191 |         ["1:", "2:", "3:", "4:", "5:", "6:ﱘ", "7:", "8:", "9:"]
    |             ^

Please check the file for errors.

Warning: Missing charsets in String to FontSet conversion 

Есть ли шанс использовать полный набор символов юникода для шрифтов nerd? Я видел, что другие используют подмножество юникода в своей конфигурации.


person loki    schedule 14.03.2020    source источник
comment
Какова кодировка ваших исходных файлов? Вы пытались указать символы с escape-последовательностью?   -  person max630    schedule 14.03.2020
comment
@ max630, я использую file -i xmonad.hs: xmonad.hs: text/plain; charset=utf-8. Какой должна быть escape-последовательность?   -  person loki    schedule 14.03.2020


Ответы (1)


Я думаю, вы столкнулись с ошибкой GHC № 5518. В качестве обходного пути попробуйте использовать escape-синтаксис (например, "1:\62057" или "1:\xf269" вместо "1:").

person Joseph Sible-Reinstate Monica    schedule 14.03.2020
comment
круто, спасибо. Вы можете добавить, что легко использовать второй подход и извлекать шестнадцатеричное значение с nerdfonts.com. - person loki; 14.03.2020
comment
Возможно, стоит отметить, что, хотя это связано с ошибкой № 5518, на самом деле это не ошибка. Стандарты Haskell и GHC требуют, чтобы строковые литералы содержали только графические символы Юникода (буквы, знаки, числа, знаки препинания, символы и пробелы, соответствующие категориям Юникода L, M, N, P, S и Z, и это исключает большинство символы выше (которые обозначены как частное использование или категория Co). - person K. A. Buhr; 14.03.2020
comment
@ KABuhr Я бы сказал, что это все еще ошибка, просто ошибка в стандарте, а не в реализации. - person Joseph Sible-Reinstate Monica; 14.03.2020