Ctags: Dukungan untuk bahasa ekspresi Nix (Nix / NixOS)

Dibuat pada 7 Mar 2015  ·  4Komentar  ·  Sumber: universal-ctags/ctags

Deskripsi: https://nixos.org/nix/manual/#ch -expression-language

Ada beberapa konfigurasi yang sangat mendasar di https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/tools/misc/ctags/wrapped.nix :

--langdef=NIX
--langmap=NIX:.nix
--regex-NIX=/([^ \t*]*)[ \t]*=/\1/f/

Saya (semoga) telah meningkatkan ini sedikit secara lokal:

--regex-NIX=/([^ \t*]*)[ \t]*=.*:/\1/f/

Tapi itu masih terlalu mendasar dan mungkin membutuhkan parser terpisah.

Saya sendiri baru mengenal Nix / NixOS, dan karenanya tidak memiliki banyak pengetahuan
tentang bahasa ini sendiri.

Parser buenhancement

Komentar yang paling membantu

Hai, apa status masalah ini?

Semua 4 komentar

Nix sendiri mengurai bahasanya - ia menggunakan alat parsing dan lexing standar https://github.com/NixOS/nix/tree/master/src/libexpr (mungkin paling berguna dalam konteks masalah ini). Kemudian saya tahu tentang beberapa hal di haskell https://github.com/peti/language-nix , dan ada penyorot sintaks untuk berbagai editor (atau perpustakaan penyorotan).

Sebagai versi awal, implementasi berbasis ekspresi reguler tidak masalah; itu selalu lebih baik daripada tidak sama sekali.
Meskipun saya harus memikirkan kembali struktur direktori, optlib adalah cara kelas pertama untuk mengimplementasikan parser.
Anda dapat menulis parser berbasis C nanti. Poin pentingnya adalah kompatibilitas "jenis" antara regex
parser berbasis dan parser berbasis C. Jika kompatibilitas jenis disimpan, tidak ada yang memperhatikan cara penerapan.

Namun, jika implementasi nix memiliki parser yang sebenarnya, mengapa Anda tidak menggunakannya? Xmcd saya untuk Anda.
Lihat data / optlib / cofee.ctags dan libexec / drivers / coffeetags.

Hai, apa status masalah ini?

Permintaan tarik diterima.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

blackb1rd picture blackb1rd  ·  8Komentar

songouyang picture songouyang  ·  15Komentar

liuchengxu picture liuchengxu  ·  8Komentar

cweagans picture cweagans  ·  8Komentar

sparkcanon picture sparkcanon  ·  3Komentar