J'essaie de comprendre le surligneur de syntaxe rouge
et en particulier l'utiliser pour mettre en évidence le code R. En fin de compte, c'est pour un site Web construit avec jekyll
, mais j'ai été en mesure d'isoler mes problèmes à seulement rouge
(par exemple, j'utilise rougify
sur l'exemple de code pour produire du code inspectable). Mon problème est que la plupart de mon code est donné class = "n", ce qui signifie, je pense, "nom" et ne se distingue pas des variables arbitraires. La plupart des CSS pour les surligneurs de syntaxe laisse le code de la classe "n" intact. Voici un exemple de ce qui est généré à partir library(ggseas)
:Est-ce que la mise en évidence de la syntaxe rouge a pour but de mettre en évidence les fonctions hors base dans R?
<span class="n">library</span><span class="p">(</span><span class="n">ggseas</span><span class="p">)</span><span class="w">
D'après ce que je comprends de la discussion sur this pull request, rouge
mise en évidence de R ne fonctionnait tout du début Juin. En regardant ce que je suis assez sûr est le key bit of code dans la source pour rouge
, je pense que seules les fonctions dans la variable PRIMITIVE_FUNCTIONS
vont être mis en évidence. En d'autres termes, en laissant toutes les fonctions non primitives en surbrillance rouge
fonctionne comme il se doit, il a juste un sens très limité de la syntaxe R.
Ma question est, ai-je bien compris?
je besoin de choses comme library()
et ggplot()
à mettre en avant, même si elles ne sont pas des fonctions primitives dans le package de base de R. Si je comprends bien les choses, je vais devoir soit pirater la source de rouge
pour inclure plus de fonctions ou essayez de passer à autre chose.
Avez-vous essayé d'utiliser le surligneur [Pygments] (http://pygments.org/)? –
J'avais toujours des pigments, mais la chaîne d'outils Jekyll-ruby-Python devenait de plus en plus branlante à mesure que le site augmentait. Ensuite, la mise à jour de Jekyll à 3.x avec un changement d'ordinateur semble l'avoir complètement détruite. Fondamentalement, le déplacement de pygments est ce qui soulève la question. –
Ce n'est pas directement ce que vous cherchez, mais vous pouvez essayer d'adapter l'approche utilisée dans le plugin [Nvim-R] (https://github.com/jalvesaq/Nvim-R) pour vim, car elle met à jour le liste des paquets chargés de l'environnement R pour mettre en évidence les fonctions de la bibliothèque. Peut-être que vous pourriez faire un appel unique à R juste pour remplir une telle liste de fonctions et ensuite l'injecter dans votre CSS. – Philip