[yamato@x201]~/var/ctags-github% cat /tmp/foo.js
if (true) {
this[0] = function() {};
}
[yamato@x201]~/var/ctags-github% ./ctags -o - /tmp/foo.js
ctags: Warning: ignoring null tag in /tmp/foo.js(line: 2)
[yamato@x201]~/var/ctags-github% js /tmp/foo.js
[yamato@x201]~/var/ctags-github%
Y a-t-il une mise à jour à ce sujet?
Ou est-ce que je fais quelque chose de mal? Le code que j'essaie de taguer est Javascript / React :)
Apparemment, il est lié à la déstructuration d'objets comme:
const { name, email } = user;
Je n'ai pas bien inspecté l'avertissement.
Cependant, l'entrée que vous avez donnée semble valide lorsque j'ai testé l'entrée sur la commande de nœud
Je voudrais que vous ouvriez un nouveau numéro pour l'entrée.
Si vous êtes bon en JavaScript, j'aimerais connaître la spécification comme référence.
Voir https://github.com/universal-ctags/ctags/issues/1949#issuecomment -457829914 comment j'ai lutté.
const { name, email } = user;
name
et email
doivent être bien étiquetés.
[yamato@slave]~% node
> var user = {name: 'a', email: 'b'}
var user = {name: 'a', email: 'b'}
undefined
> const { name, email } = user;
const { name, email } = user;
undefined
> name
name
'a'
Si vous êtes bon en JavaScript, j'aimerais connaître la spécification comme référence.
Je ne sais pas si j'ai bien compris votre question, mais la spécification de la destruction d'objets est sur la spécification ECMAScript:
https://www.ecma-international.org/ecma-262/6.0/#sec -destructuring-assignment
:)
Merci. C'est ce dont j'ai besoin.
Pourquoi ce problème n'est-il pas résolu? J'ai le même problème.
Merci. C'est ce dont j'ai besoin.
comment avez-vous supprimé l'avertissement?
comment avez-vous supprimé l'avertissement?
Je n'ai pas supprimé l'avertissement.
comment avez-vous supprimé l'avertissement?
Je n'ai pas supprimé l'avertissement.
eh bien, j'ai le même problème, {A, B} = some_obj
peut être analysé correctement par les ctags.
Il semble que personne ne résoudra ce problème
Il semble que personne ne résoudra ce problème
Pour la liaison destructurale, j'ai essayé une fois.
[jet@living]/tmp% cd /tmp
cd /tmp
[jet@living]/tmp% git clone https://github.com/masatake/ctags.git
git clone https://github.com/masatake/ctags.git
Cloning into 'ctags'...
...
[jet@living]/tmp% cd ctags
cd ctags
[jet@living]/tmp/ctags% git checkout origin/js-destructual-binding
git checkout origin/js-destructual-binding
Note: switching to 'origin/js-destructual-binding'.
...
HEAD is now at 4eeac5b9 JavaScript: support more forms of destructuring assignments
[jet@living]/tmp/ctags% bash ./autogen.sh
bash ./autogen.sh
+ type autoreconf
...
optlib2c: translating optlib/inko.ctags to optlib/inko.c
+ ./misc/optlib2c optlib/inko.ctags
+ exit 0
[jet@living]/tmp/ctags% ./configure
./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
...
config.status: creating config.h
config.status: executing depfiles commands
[jet@living]/tmp/ctags% make -j 9
make -j 9
REPOINFO main/repoinfo.h
make all-recursive
make[1]: Entering directory '/tmp/ctags'
make[2]: Entering directory '/tmp/ctags'
...
AR libctags.a
CCLD ctags
CCLD mini-geany
make[2]: Leaving directory '/tmp/ctags'
make[1]: Leaving directory '/tmp/ctags'
[jet@living]/tmp/ctags% cat /tmp/bar.js
cat /tmp/bar.js
const { name, email } = user;
[jet@living]/tmp/ctags% ./ctags -o - /tmp/bar.js
./ctags -o - /tmp/bar.js
email /tmp/bar.js /^const { name, email } = user;$/;" C
name /tmp/bar.js /^const { name, email } = user;$/;" C
La branche introduit tant de changements.
Donc, le fusionner avec la branche principale que nous utilisons quotidiennement nécessite plus de considération.
this[0] = function() {};
Dans ce cas, ctags ne dit rien.
{
this[0] = function() {};
}
Dans ce cas, j'ai reçu un avertissement. Ce sera un correctif d'indice important pour l'entrée d'origine.
Il semble que personne ne résoudra ce problème
Pour la liaison destructurale, j'ai essayé une fois.
[jet@living]/tmp% cd /tmp cd /tmp [jet@living]/tmp% git clone https://github.com/masatake/ctags.git git clone https://github.com/masatake/ctags.git Cloning into 'ctags'... ... [jet@living]/tmp% cd ctags cd ctags [jet@living]/tmp/ctags% git checkout origin/js-destructual-binding git checkout origin/js-destructual-binding Note: switching to 'origin/js-destructual-binding'. ... HEAD is now at 4eeac5b9 JavaScript: support more forms of destructuring assignments [jet@living]/tmp/ctags% bash ./autogen.sh bash ./autogen.sh + type autoreconf ... optlib2c: translating optlib/inko.ctags to optlib/inko.c + ./misc/optlib2c optlib/inko.ctags + exit 0 [jet@living]/tmp/ctags% ./configure ./configure checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes ... config.status: creating config.h config.status: executing depfiles commands [jet@living]/tmp/ctags% make -j 9 make -j 9 REPOINFO main/repoinfo.h make all-recursive make[1]: Entering directory '/tmp/ctags' make[2]: Entering directory '/tmp/ctags' ... AR libctags.a CCLD ctags CCLD mini-geany make[2]: Leaving directory '/tmp/ctags' make[1]: Leaving directory '/tmp/ctags' [jet@living]/tmp/ctags% cat /tmp/bar.js cat /tmp/bar.js const { name, email } = user; [jet@living]/tmp/ctags% ./ctags -o - /tmp/bar.js ./ctags -o - /tmp/bar.js email /tmp/bar.js /^const { name, email } = user;$/;" C name /tmp/bar.js /^const { name, email } = user;$/;" C
La branche introduit tant de changements.
Donc, le fusionner avec la branche principale que nous utilisons quotidiennement nécessite plus de considération.
Je l'ai essayé, une très bonne solution, merci.
Avez-vous fait ces branches, autant de correctifs.
salut
Bien que cela ne contribue pas au problème dans ctags lui-même, j'ai créé une fonction shell ctags
qui ignore cet avertissement spécifique pour les fichiers JavaScript: https://gist.github.com/dietrichm/9e518549fd609173182ce36ac4726df2
Juste au cas où vous exécuteriez fréquemment des ctags sur la ligne de commande et que vous souhaitiez masquer les avertissements jusqu'à ce que le problème soit résolu.
Dietrich
Je reçois également cet avertissement avec la déstructuration du tableau:
const [lang, setLang] = useState("en")
@Strangehill , pourriez-vous ajouter le même commentaire au # 1112?
bien sûr
Merci.