Skip to content

font-locking is slow  #142

@PythonNut

Description

@PythonNut

Scrolling tends to lock up.
There is evidence that this slowness is caused by

  • rainbow-delimiters
  • adaptive-wrap-prefix-mode

Here is a very dubious piece of code to disable rainbow-delimiters mode JIT.

(defvar quark/rainbow-delimiters-temp-disabled nil)

(defun quark/temp-disable-rainbow-delimiters (_window _pos)
  (unless quark/rainbow-delimiters-temp-disabled
    ;; (font-lock-flush)
    (font-lock-remove-keywords nil rainbow-delimiters--font-lock-keywords)
    (setq quark/rainbow-delimiters-temp-disabled t)))

(defun quark/temp-enable-rainbow-delimiters ()
  (when quark/rainbow-delimiters-temp-disabled
    (font-lock-flush)
    (font-lock-add-keywords nil rainbow-delimiters--font-lock-keywords 'append)
    (setq quark/rainbow-delimiters-temp-disabled nil)))

(add-hook 'window-scroll-functions #'quark/temp-disable-rainbow-delimiters)
(run-with-idle-timer 0.05 t #'quark/temp-enable-rainbow-delimiters)

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions