With my default setup, I see character strings rendered in different colour. Some keywords like “library” and “function” are also shown in different colour.
Sent from my iPhone > On Feb 2, 2026, at 12:06 PM, LaurentEss via ESS-help <[email protected]> > wrote: > > Dear Ess-Help list, > > I work with noweb files .Rnw and polymode. I can’t get the string coloring in > the R chunks of my files. And yet I searched for a while with the help of > chatGPT. Is it possible ? How do we get the string colored in the R chunk ? I > succeed to have the string coloring in the .R files but not in the R chunk. > When I do M-: major-mode in a R chunk of my .Rnw file I have the answer > ess-r-mode but the strings are not colored. > > Thank you very much for your help. > > Laurent > > > ----o<--------------------------------------------------------------------------->o----------------- > > Here below is what I put in my init.el file. > > ;; -*- lexical-binding: t; -*- > ;; > ;; highlighting R code for ESS in R chunk in . > ;; > (with-eval-after-load 'ess-r-mode > > ;; 🔹 Catégories officielles ESS > (setq ess-R-font-lock-keywords > '((ess-R-fl-keyword:keywords . t) > (ess-R-fl-keyword:constants . t) > (ess-R-fl-keyword:modifiers . t) > (ess-R-fl-keyword:fun-defs . t) > (ess-R-fl-keyword:assign-ops . t) > (ess-R-fl-keyword:%op% . t) > (ess-fl-keyword:fun-calls . t) > (ess-fl-keyword:numbers . t) > (ess-fl-keyword:operators . t) > (ess-fl-keyword:delimiters . t) > (ess-fl-keyword:= . t) > (ess-R-fl-keyword:F&T . t))) > > ;; 🔹 Ajouter fonctions R et builtins supplémentaires > (setq ess-R-font-lock-keywords > (append ess-R-font-lock-keywords > '(("\\<\\(library\\|require\\|source\\|setwd\\|read\\.csv\\|readRDS\\)\\>" > . font-lock-builtin-face)))) > > > ;; 🔹 Coloration des chaînes > (font-lock-add-keywords > 'ess-r-mode > '(("\"[^\"]*\"" . font-lock-string-face) > ("'[^']*'" . font-lock-string-face))) > > > ;; 🔹 Ajouter toutes les règles supplémentaires avec font-lock-add-keywords > (font-lock-add-keywords > 'ess-r-mode > '( > ;; Arguments nommés : x = ... > ("\\(\\_<[[:alpha:].]+\\_>\\)[[:space:]]*=" > 1 font-lock-variable-name-face) > > ;; Pipes : %>% %<>% %$% > ("%>%\\|%<>%\\|%\\$%" . font-lock-keyword-face) > > ;; Fonctions builtins classiques > ("\\<\\(library\\|require\\|source\\|return\\|stop\\|warning\\|message\\)\\>" > . font-lock-builtin-face) > > ;; Nombres > ("\\<\\([0-9]+\\(\\.[0-9]*\\)?\\)\\>" . font-lock-constant-face) > )) > > ;; 🔹 Pretty symbols pour <- etc. > (setq ess-r-prettify-symbols t) > > ;; 🔹 Outils utiles > (add-hook 'ess-r-mode-hook #'outline-minor-mode) > (add-hook 'ess-r-mode-hook #'hl-todo-mode)) > > > ;; Recoloration automatique des chunks R polymode > (with-eval-after-load 'poly-noweb > (add-hook 'poly-noweb+r-mode-hook > (lambda () > ;; activer font-lock si ce n'est pas déjà fait > (font-lock-mode 1) > (font-lock-ensure)))) > > > > ;; Wrapper interactif pour recoloration > (defun my/ess-r-font-lock-ensure () > "Recolorer le buffer ESS-R courant." > (interactive) > (font-lock-ensure)) > > ;; Raccourci dans tous les chunks R de polymode > (with-eval-after-load 'poly-noweb > (define-key poly-noweb+r-mode-map (kbd "C-c C-l") > #'my/ess-r-font-lock-ensure)) > > > > (with-eval-after-load 'poly-noweb > ;; Hook pour tous les chunks R à l'ouverture > (add-hook 'poly-noweb+r-mode-hook > (lambda () > ;; activer font-lock si ce n'est pas déjà fait > (font-lock-mode 1) > > ;; Coloration personnalisée > (font-lock-add-keywords > nil > '(("\"[^\"]*\"" . font-lock-string-face) > ("'[^']*'" . font-lock-string-face))) > > ;; Recoloration immédiate > (font-lock-ensure) > > ;; Outline et TODO > (outline-minor-mode 1) > (hl-todo-mode 1)))) > > ;; 🔹 Recolorer tous les chunks R déjà ouverts > (dolist (buf (buffer-list)) > (with-current-buffer buf > (when (derived-mode-p 'poly-noweb+r-mode) > ;; s'assurer que font-lock est actif > (font-lock-mode 1) > ;; appliquer les couleurs de chaînes > (font-lock-add-keywords > nil > '(("\"[^\"]*\"" . font-lock-string-face) > ("'[^']*'" . font-lock-string-face))) > (font-lock-ensure)))) > > ______________________________________________ > [email protected] mailing list > https://stat.ethz.ch/mailman/listinfo/ess-help ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/ess-help
