[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%
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.