您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Implements syntax highlighting for [CODE] bb tags.
当前为
// ==UserScript== // @name Specter Syntax Highlighting // @namespace ngusyntax // @description Implements syntax highlighting for [CODE] bb tags. // @include https://www.nextgenupdate.com/forums/* // @include http://www.nextgenupdate.com/forums/* // @version 1.02 // @grant none // ==/UserScript== /* Test if the thread contains a [CODE] tag */ if(/<pre class="bbcode_code"/i.test(document.body.innerHTML)) { alert("This thread uses bbcode [CODE] tags. We have attempted to highlight the syntax for you!"); /* Keep comments grayed out */ document.body.innerHTML= document.body.innerHTML.replace(/\n\/\/.+/g, function(m){ return '<span style="color:#C2C2C2">'+m+'</span>' }); document.body.innerHTML= document.body.innerHTML.replace(/\n\/\*[^]*?\*\//g, function(m){ return '<span style="color:#C2C2C2">'+m+'</span>' }); /* Highlight all #include pre-processor directives and "import" for python to a green colour */ document.body.innerHTML= document.body.innerHTML.replace(/#include/g, function(m){ return '<span style="color:#30B300">'+m+'</span>' }); document.body.innerHTML= document.body.innerHTML.replace(/import /g, function(m){ return '<span style="color:#30B300">'+m+'</span>' }); /* Highlight all strings to a green colour */ document.body.innerHTML= document.body.innerHTML.replace(/\ \".+?\"\\;/g, function(m){ return '<span style="color:#30B300">'+m+'</span>' }); document.body.innerHTML= document.body.innerHTML.replace(/\ \".+?\"\)/g, function(m){ return '<span style="color:#30B300">'+m+'</span>' }); document.body.innerHTML= document.body.innerHTML.replace(/\(\".+?\"/g, function(m){ return '<span style="color:#30B300">'+m+'</span>' }); /* Highlight all function names to a purple colour */ document.body.innerHTML= document.body.innerHTML.replace(/\ (?!rgb)[a-zA-Z]+(?=\()/g, function(m){ return '<span style="color:#cc0099">'+m+'</span>' }); document.body.innerHTML= document.body.innerHTML.replace(/\t(?!rgb)[a-zA-Z]+(?=\()/g, function(m){ return '<span style="color:#cc0099">'+m+'</span>' }); /* Highlight all data-types to a yellow colour */ document.body.innerHTML= document.body.innerHTML.replace(/unsigned int /g, function(m){ return '<span style="color:#ff9933">'+m+'</span>' }); document.body.innerHTML= document.body.innerHTML.replace(/int /g, function(m){ return '<span style="color:#ff9933">'+m+'</span>' }); document.body.innerHTML= document.body.innerHTML.replace(/unsigned char /g, function(m){ return '<span style="color:#ff9933">'+m+'</span>' }); document.body.innerHTML= document.body.innerHTML.replace(/char /g, function(m){ return '<span style="color:#ff9933">'+m+'</span>' }); document.body.innerHTML= document.body.innerHTML.replace(/string /g, function(m){ return '<span style="color:#ff9933">'+m+'</span>' }); document.body.innerHTML= document.body.innerHTML.replace(/short /g, function(m){ return '<span style="color:#ff9933">'+m+'</span>' }); document.body.innerHTML= document.body.innerHTML.replace(/float /g, function(m){ return '<span style="color:#ff9933">'+m+'</span>' }); document.body.innerHTML= document.body.innerHTML.replace(/double /g, function(m){ return '<span style="color:#ff9933">'+m+'</span>' }); document.body.innerHTML= document.body.innerHTML.replace(/void/g, function(m){ return '<span style="color:#ff9933">'+m+'</span>' }); document.body.innerHTML= document.body.innerHTML.replace(/struct /g, function(m){ return '<span style="color:#ff9933">'+m+'</span>' }); document.body.innerHTML= document.body.innerHTML.replace(/enum /g, function(m){ return '<span style="color:#ff9933">'+m+'</span>' }); document.body.innerHTML= document.body.innerHTML.replace(/ return/g, function(m){ return '<span style="color:#ff9933">'+m+'</span>' }); document.body.innerHTML= document.body.innerHTML.replace(/\treturn/g, function(m){ return '<span style="color:#ff9933">'+m+'</span>' }); /* Highlight all if conditions to a yellow colour */ document.body.innerHTML= document.body.innerHTML.replace(/if(?=\()/g, function(m){ return '<span style="color:#ff9933">'+m+'</span>' }); document.body.innerHTML= document.body.innerHTML.replace(/else if(?=\()/g, function(m){ return '<span style="color:#ff9933">'+m+'</span>' }); document.body.innerHTML= document.body.innerHTML.replace(/switch/g, function(m){ return '<span style="color:#ff9933">'+m+'</span>' }); }