Подтвердить что ты не робот

Как получить "радужные круглые скобки" в emacs?

Я хотел бы использовать радужные парады для редактирования Clojure в Emacs, и поскольку VI делает это, я предполагаю, что в Emacs это должно быть нечто вроде Mx бабочка или что-то:)

4b9b3361

Ответ 1

Это старый вопрос, но я недавно написал для этого режим RainbowDelimiters. Это режим "радужного parens", который окрашивает все парсеры, скобки и фигурные скобки, выполненные с учетом программирования Clojure.

Он выделяет весь буфер, а не только точку, окружающую parens.

Самое главное, что это FAST - все остальные режимы радужного парота, которые я пробовал, замедляют редактирование (особенно прокрутку) довольно много. Я прилагаю значительные усилия для профилирования и оптимизации, поэтому не оказывает заметного влияния на скорость прокрутки/редактирования.

Вы можете найти информацию об этом на странице EmacsWiki, а сам режим находится в rainbow-delimiters.el.

Ответ 2

Я использую highlight-parentheses-mode из упомянутого script mquander. Он не обеспечивает большую часть эффекта радуги из коробки, но настраивается:

(setq hl-paren-colors
      '(;"#8f8f8f" ; this comes from Zenburn
                   ; and I guess I'll try to make the far-outer parens look like this
        "orange1" "yellow1" "greenyellow" "green1"
        "springgreen1" "cyan1" "slateblue1" "magenta1" "purple"))

Я считаю, что я снял фактические цвета с Vimclojure. Обратите внимание, что Vimclojure выделяет все круглые скобки в файле, тогда как при highlight-parentheses-mode будут выделены только парсеры, которые фактически содержат эту точку (и только ограниченное количество уровней). Мне посчастливилось найти это поведение полезным, но это, возможно, немного не хватает в области привлекательности по сравнению с способом Vimclojure.

Теперь я замечаю, что я никогда не получал "круглые", чтобы исправить эти внешние цвета paren на самом деле... Возможно, теперь я скажу, что вы напомнили мне об этом.