Vous pouvez l'ajouter vous-même à JSLint si vous le souhaitez, bien que ce soit un maléfique.
est ici un moyen rapide et sale avec la version actuelle:
La route que je vais prendre est de détourner le bloc de fonction token
switch
pour /*
commentaires de style. C'est at line 1276 currently:
case '/*':
for (;;) {
i = source_row.search(lx);
...
changement de Let que chercher des commentaires qui ressemblent à /*ignore:true */
sur une ligne par eux-mêmes (bien que techniquement la true
moitié peut être n'importe où sur la ligne dans ce cas, bien que la ligne /*ignore:false */
a à être sur une ligne par lui-même, alors faisons semblant que cela vaut pour les deux).
mauvais exemple, le code non pelucheux défaut:
function spam()
{
var sand = "sand";
/*ignore:true */
var spud = "spud";
/*ignore:false */
window.console.log(sand);
}
Si nous trouvons /*ignore:true */
, nous allons sauter des lignes jusqu'à ce qu'on trouve un avec /*ignore:false */
avec /*ignore:...
comme les caractères premiers sur la ligne. Jusqu'à cette fausse déclaration sur une ligne en elle-même, nous ignorons tout.
case '/*':
// Opening /* has already been sliced.
if (source_row.startsWith("ignore:true")) {
do {
if (console.log) { console.log(source_row) };
} while (next_line() && !source_row.trim().startsWith("/*ignore:false"));
} else {
// Put in the code that was originally there
}
break;
C'est moche, mais semble fonctionner.
Maintenant, cela peut causer des problèmes. Par exemple, si vous avez une déclaration var
dans une section que vous ignorez et l'utiliser plus tard, JSLint_Hacked se plaindra que myVar was used before it was defined.
Exemple:
/*jslint white:true, sloppy:true, browser:true */
function spam()
{
var sand = "spam";
/*ignore:true */
var spud = "spud";
/*ignore:false */
window.console.log(sand + spud);
}
Donc ce genre de choses pourraient se gâter.
Et je ne l'utiliserais que dans les cas où vous seriez obligé de tout peloter, mais pour une raison inconnue, vous n'avez pas le pouvoir de corriger ce qu'il y a dans chaque fichier, même si vous avez la possibilité de le modifier , étrangement, comme dans ce cas avec le code obfusqué. Toute cette chose ignore
est waaay minable.
Je dois passer plus de temps à l'intérieur de JSLint pour savoir comment cela fonctionne vraiment, mais la fonction next_line()
semble être non destructive. C'est, pourrait (et devrait) gérer cela dans la fonction do_jslint()
avec "réel" /*jslint ignore:true */
directives de style, mais alors vous devez gérer les effets secondaires lorsque vous appelez la fonction advance()
. Le hack que j'utilise ici était beaucoup plus facile, mais il est aussi beaucoup plus laid.
Cocher cette [http://stackoverflow.com/questions/599859/jslint-control-comments-selective-ignore/13175495#13175495][1] [1]: http://stackoverflow.com/questions/599859/jslint-control-comments-selective-ignore/13175495#13175495 – napoleonss