Ctags: javascript: Mendapat "ctags: Peringatan: mengabaikan tag null"

Dibuat pada 25 Apr 2016  ·  18Komentar  ·  Sumber: universal-ctags/ctags

[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%
Parser buenhancement

Semua 18 komentar

Apakah ada pembaruan tentang ini?

Atau apakah saya melakukan sesuatu yang salah? Kode yang saya coba beri tag adalah Javascript / React :)

Rupanya itu terkait dengan penghancuran Objek seperti:

    const { name, email } = user;

Saya belum memeriksa peringatan itu dengan baik.
Namun, input yang Anda berikan terlihat valid saat saya menguji input pada perintah node
Saya ingin Anda membuka edisi baru untuk masukan.
Jika Anda pandai JavaScript, saya ingin mengetahui spesifikasinya sebagai referensi.
Lihat https://github.com/universal-ctags/ctags/issues/1949#issuecomment -457829914 bagaimana saya berjuang.

const { name, email } = user;

name dan email harus diberi tag dengan baik.


[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'

Jika Anda pandai JavaScript, saya ingin mengetahui spesifikasinya sebagai referensi.

Tidak yakin apakah saya mendapat pertanyaan Anda tetapi spesifikasi untuk Object Destructuring ada pada spesifikasi ECMAScript:
https://www.ecma-international.org/ecma-262/6.0/#sec -destructuring-assignment

:)

Terima kasih. Itulah yang saya butuhkan.

Mengapa masalah ini tidak diatasi? Saya punya masalah yang sama.

Terima kasih. Itulah yang saya butuhkan.

bagaimana Anda menghapus peringatan itu?

bagaimana Anda menghapus peringatan itu?

Saya tidak menghapus peringatan itu.

bagaimana Anda menghapus peringatan itu?

Saya tidak menghapus peringatan itu.

yah, saya punya masalah yang sama, {A, B} = some_obj dapat diurai dengan benar oleh ctags.

Sepertinya tidak ada yang akan memperbaiki masalah ini

Sepertinya tidak ada yang akan memperbaiki masalah ini

Untuk pengikatan yang merusak, saya mencoba sekali.

[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

Cabang tersebut memperkenalkan begitu banyak perubahan.
Jadi menggabungkannya ke cabang utama yang kami gunakan setiap hari membutuhkan lebih banyak pertimbangan.

this[0] = function() {};

Dalam kasus ini, ctags tidak mengatakan apa-apa.

{
    this[0] = function() {};
}

Dalam hal ini, saya mendapat peringatan. Ini akan menjadi perbaikan petunjuk penting untuk masukan asli.

Sepertinya tidak ada yang akan memperbaiki masalah ini

Untuk pengikatan yang merusak, saya mencoba sekali.

[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

Cabang tersebut memperkenalkan begitu banyak perubahan.
Jadi menggabungkannya ke cabang utama yang kami gunakan setiap hari membutuhkan lebih banyak pertimbangan.

Saya sudah mencobanya, solusi yang sangat bagus, terima kasih.
Apakah Anda membuat cabang-cabang ini, begitu banyak tambalan.

Hai

Meskipun ini tidak berkontribusi pada masalah di ctag itu sendiri, saya membuat fungsi ctags shell yang mengabaikan peringatan khusus ini untuk file JavaScript: https://gist.github.com/dietrichm/9e518549fd609173182ce36ac4726df2

Untuk berjaga-jaga jika Anda sering menjalankan ctags pada baris perintah dan ingin menyembunyikan peringatan hingga masalah diperbaiki.

Dietrich

Saya juga mendapatkan peringatan ini dengan array destructuring:
const [lang, setLang] = useState("en")

@Strangehill , bisakah Anda menambahkan komentar yang sama ke # 1112?

tentu saja

Terima kasih.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

cweagans picture cweagans  ·  4Komentar

blueyed picture blueyed  ·  4Komentar

sparkcanon picture sparkcanon  ·  3Komentar

liuchengxu picture liuchengxu  ·  8Komentar

cweagans picture cweagans  ·  13Komentar