Hitung Baris Kode
cloc menghitung baris kosong, baris komentar, dan baris fisik kode sumber dalam banyak bahasa pemrograman.
Rilis terbaru: v2.02 (2 Agustus 2024)
cloc dipindahkan ke GitHub pada bulan September 2015 setelah dihosting di http://cloc.sourceforge.net/ sejak Agustus 2006.
Langkah 1: Unduh cloc (beberapa metode, lihat di bawah) atau jalankan image buruh pelabuhan cloc. Eksekusi Windows tidak memiliki persyaratan. Versi sumber cloc memerlukan juru bahasa Perl, dan versi Docker dari cloc memerlukan instalasi Docker.
Langkah 2: Buka terminal ( cmd.exe
di Windows).
Langkah 3: Panggil cloc untuk menghitung file sumber, direktori, arsip, atau git commit Anda. Nama yang dapat dieksekusi berbeda-beda bergantung pada apakah Anda menggunakan versi sumber pengembangan ( cloc
), sumber untuk versi rilis ( cloc-2.02.pl
) atau versi Windows yang dapat dieksekusi ( cloc-2.02.exe
).
Di halaman ini, cloc
adalah istilah umum yang digunakan untuk merujuk pada semua ini.
Sertakan Keamanan memiliki video YouTube yang menunjukkan langkah-langkah tindakan.
sebuah file
prompt> jam halo.c 1 berkas teks. 1 file unik. 0 file diabaikan. https://github.com/AlDanial/cloc v 1,65 T=0,04 dtk (28,3 file/dtk, 340,0 baris/dtk) --------------------------------------------------- ----------------------------- File bahasa kode komentar kosong --------------------------------------------------- ----------------------------- C 1 0 7 5 --------------------------------------------------- -----------------------------
sebuah direktori
prompt> jam gcc-5.2.0/gcc/c 16 file teks. 15 file unik. 3 file diabaikan. https://github.com/AlDanial/cloc v 1,65 T=0,23 dtk (57,1 file/dtk, 188914,0 baris/dtk) --------------------------------------------------- ----------------------------- File bahasa kode komentar kosong --------------------------------------------------- ----------------------------- C 10 4680 6621 30812 C/C++ Tajuk 3 99 286 496 --------------------------------------------------- ----------------------------- JUMLAH: 13 4779 6907 31308 --------------------------------------------------- -----------------------------
sebuah arsip
Kami akan menarik file zip sumber cloc dari GitHub, lalu menghitung isinya:
cepat> wget https://github.com/AlDanial/cloc/archive/master.zip cepat> jam master.zip https://github.com/AlDanial/cloc v 1,65 T=0,07 dtk (26,8 file/dtk, 141370,3 baris/dtk) --------------------------------------------------- ----------------------------- File bahasa kode komentar kosong --------------------------------------------------- ----------------------------- Perl 2 725 1103 8713 --------------------------------------------------- ----------------------------- JUMLAH: 2 725 1103 8713 --------------------------------------------------- -----------------------------
repositori git, menggunakan komit tertentu
Contoh ini menggunakan kode dari PuDB, debugger Python yang fantastis.
cepat> git clone https://github.com/inducer/pudb.git cepat> cd pudb cepat> jam 6be804e07a5db 48 file teks. 41 file unik. 8 file diabaikan. github.com/AlDanial/cloc v 1,99 T=0,04 dtk (1054,9 file/dtk, 189646,8 baris/dtk) --------------------------------------------------- ----------------------------- File bahasa kode komentar kosong --------------------------------------------------- ----------------------------- Piton 28 1519 728 4659 Teks Terstruktur ulang 6 102 20 203 YAML 2 9 2 75 Bourne Shell 3 6 0 17 Teks 1 0 0 11 jadikan 1 4 6 10 --------------------------------------------------- ----------------------------- JUMLAH: 41 1640 756 4975 --------------------------------------------------- -----------------------------
setiap subdirektori dari direktori tertentu
Katakanlah Anda memiliki direktori dengan tiga proyek berbeda yang dikelola git, Project0, Project1, dan Project2. Anda dapat menggunakan kemampuan perulangan shell Anda untuk menghitung kode di masing-masingnya. Contoh ini menggunakan bash (gulir ke bawah untuk melihat contoh cmd.exe):
prompt> untuk d di ./*/ ; lakukan (cd "$d" && echo "$d" && cloc --vcs git); Selesai ./Proyek0/ 7 file teks. 7 file unik. 1 file diabaikan. github.com/AlDanial/cloc v 1,71 T=0,02 dtk (390,2 file/dtk, 25687,6 baris/dtk) --------------------------------------------------- ----------------------------- File bahasa kode komentar kosong --------------------------------------------------- ----------------------------- H 4 61 32 251 Penurunan harga 1 9 0 38 jadikan 1 0 0 4 --------------------------------------------------- ----------------------------- JUMLAH: 6 70 32 293 --------------------------------------------------- ----------------------------- ./Proyek1/ 7 file teks. 7 file unik. 0 file diabaikan. github.com/AlDanial/cloc v 1,71 T=0,02 dtk (293,0 file/dtk, 52107,1 baris/dtk) --------------------------------------------------- ----------------------------- File bahasa kode komentar kosong --------------------------------------------------- ----------------------------- Pergi 7 165 282 798 --------------------------------------------------- ----------------------------- JUMLAH: 7 165 282 798 --------------------------------------------------- ----------------------------- ./Proyek2/ 49 file teks. 47 file unik. 13 file diabaikan. github.com/AlDanial/cloc v 1,71 T=0,10 dtk (399,5 file/dtk, 70409,4 baris/dtk) --------------------------------------------------- ----------------------------- File bahasa kode komentar kosong --------------------------------------------------- ----------------------------- Piton 33 1226 1026 3017 Bab 4 327 337 888 Penurunan harga 1 11 0 28 YAML 1 0 2 12 --------------------------------------------------- ----------------------------- JUMLAH: 39 1564 1365 3945 --------------------------------------------------- -----------------------------
setiap subdirektori dari direktori tertentu (Windows/cmd.exe)
untuk /D %I di (.*) lakukan cd %I && cloc --vcs git && cd ..
cloc menghitung baris kosong, baris komentar, dan baris fisik kode sumber dalam banyak bahasa pemrograman. Dengan adanya dua versi basis kode, cloc dapat menghitung perbedaan pada baris kosong, komentar, dan sumber. Itu seluruhnya ditulis dalam Perl tanpa ketergantungan di luar distribusi standar Perl v5.6 dan lebih tinggi (kode dari beberapa modul eksternal tertanam dalam cloc) sehingga cukup portabel. cloc diketahui berjalan di banyak varian Linux, FreeBSD, NetBSD, OpenBSD, macOS, AIX, HP-UX, Solaris, IRIX, z/OS, dan Windows. (Untuk menjalankan versi sumber Perl dari cloc di Windows, seseorang memerlukan ActiveState Perl 5.6.1 atau lebih tinggi, Strawberry Perl, Subsistem Windows untuk Linux, Cygwin, MobaXTerm dengan plug-in Perl terinstal, atau lingkungan dan terminal mingw seperti yang disediakan oleh Git untuk Windows. Alternatifnya, seseorang dapat menggunakan biner Windows dari cloc yang dihasilkan dengan PAR::Packer untuk dijalankan pada komputer Windows yang tidak memiliki Perl atau Cygwin.)
Selain menghitung kode dalam file teks individual, direktori, dan repositori git, cloc juga dapat menghitung kode dalam file arsip seperti .tar
(termasuk versi terkompresi), .zip
, Python wheel .whl
, Jupyter notebook .ipynb
, source RPMs .rpm
atau .src
(memerlukan rpm2cpio
), dan file .deb
Debian (memerlukan dpkg-deb
).
cloc berisi kode dari SLOCCount David Wheeler, Damian Conway dan modul Perl Abigail Regexp::Common, modul Perl Sean M. Burke Win32::Autoglob, dan modul Perl Tye McQueen Algorithm::Diff. Faktor skala bahasa diperoleh dari situs web Mayes Consulting, LLC http://softwareestimator.com/IndustryData2.htm.
Rilisan baru secara nominal muncul setiap enam bulan.
docker run --rm -v $PWD :/tmp aldanial/cloc
docker run --rm -v " / $( pwd -W ) " :/tmp aldanial/cloc
Tergantung pada sistem operasi Anda, salah satu metode instalasi berikut mungkin cocok untuk Anda (semua kecuali dua entri terakhir untuk Windows memerlukan juru bahasa Perl):
npm install -g cloc # https://www.npmjs.com/package/cloc
sudo apt install cloc # Debian, Ubuntu
sudo yum install cloc # Red Hat, Fedora
sudo dnf install cloc # Fedora 22 or later
sudo pacman -S cloc # Arch
sudo emerge -av dev-util/cloc # Gentoo https://packages.gentoo.org/packages/dev-util/cloc
sudo apk add cloc # Alpine Linux
doas pkg_add cloc # OpenBSD
sudo pkg install cloc # FreeBSD
sudo port install cloc # macOS with MacPorts
brew install cloc # macOS with Homebrew
winget install AlDanial.Cloc # Windows with winget
choco install cloc # Windows with Chocolatey
scoop install cloc # Windows with Scoop
Catatan : Saya tidak mengontrol paket-paket ini. Jika Anda menemukan bug di cloc menggunakan salah satu paket di atas, coba dengan cloc ditarik dari rilis stabil terbaru di sini di GitHub (tautan berikut di bawah) sebelum mengirimkan laporan masalah.
https://github.com/AlDanial/cloc/releases/latest
https://github.com/AlDanial/cloc/raw/master/cloc
cloc dilisensikan di bawah GNU General Public License, v 2, tidak termasuk bagian yang disalin dari sumber lain. Kode yang disalin dari modul Regexp::Common, Win32::Autoglob, dan Algorithm::Diff Perl tunduk pada Lisensi Artistik.
cloc memiliki banyak fitur yang membuatnya mudah digunakan, menyeluruh, dapat diperluas, dan portabel:
Jika cloc tidak sesuai dengan kebutuhan Anda, berikut adalah counter lain yang tersedia secara gratis untuk dipertimbangkan:
Referensi lain:
Meskipun cloc tidak memerlukan modul Perl di luar yang ditemukan dalam distribusi standar, cloc bergantung pada beberapa modul eksternal. Kode dari tiga modul eksternal ini--Regexp::Common, Win32::Autoglob, dan Algorithm::Diff--tertanam di dalam cloc. Modul keempat, Digest::MD5, hanya digunakan jika tersedia. Jika cloc menemukan Regexp::Common atau Algorithm::Diff diinstal secara lokal, ia akan menggunakan instalasi tersebut. Jika tidak, cloc akan menginstal bagian Regexp::Common dan/atau Algorithm:Diff yang diperlukan ke direktori sementara yang dibuat pada awal proses cloc kemudian dihapus ketika proses selesai. Kode yang diperlukan dari Regexp::Common v2.120 dan Algorithm::Diff v1.1902 tertanam dalam kode sumber cloc (lihat subrutin Install_Regexp_Common()
dan Install_Algorithm_Diff()
). Hanya tiga baris yang diperlukan dari Win32::Autoglob dan ini disertakan langsung di cloc.
Selain itu, cloc akan menggunakan Digest::MD5 untuk memvalidasi keunikan di antara file input berukuran sama jika Digest::MD5 diinstal secara lokal.
Opsi pemrosesan paralel, --processes= N , diperkenalkan dengan cloc versi 1.76 untuk memungkinkan proses yang lebih cepat pada mesin multi-core. Namun, untuk menggunakannya, seseorang harus menginstal modul Parallel::ForkManager. Modul ini tidak berfungsi dengan baik pada Windows sehingga pemrosesan paralel hanya akan berfungsi pada sistem operasi mirip Unix.
Biner Windows dibangun di komputer yang memiliki Regexp::Common dan Digest::MD5 diinstal secara lokal.
Opsi paling kuat untuk membuat cloc yang dapat dieksekusi di Windows adalah dengan menggunakan Perl Development Kit dari ActiveState. Ini mencakup utilitas, perlapp
, yang dapat membangun binari kode sumber Perl Windows, Mac, dan Linux yang berdiri sendiri.
perl2exe juga akan melakukan triknya. Jika Anda memiliki perl2exe
, ubah baris 84-87 dalam kode sumber cloc untuk modifikasi kode kecil yang diperlukan agar cloc Windows dapat dieksekusi.
Jika tidak, untuk membuat Windows yang dapat dieksekusi dengan pp
dari PAR::Packer
, pertama-tama instal distribusi Perl berbasis Windows (misalnya Strawberry Perl atau ActivePerl) dengan mengikuti instruksinya. Selanjutnya, buka command prompt alias jendela DOS dan instal modul PAR::Packer. Terakhir, jalankan perintah pp
yang baru diinstal dengan kode sumber cloc untuk membuat file .exe
:
C:> cpan -i Intisari::MD5 C:> cpan -i Regexp::Umum C:> cpan -i Algoritma::Diff C:> cpan -i PAR::Pembungkus C:> cpan -i Win32::Jalur Panjang C:> pp -M Win32::LongPath -M Encode::Unicode -M Digest::MD5 -c -x -o cloc-2.02.exe cloc-2.02.pl
Variasi dari petunjuk di atas adalah jika Anda menginstal Strawberry Perl versi portabel, Anda harus menjalankan portableshell.bat
terlebih dahulu untuk mengatur lingkungan Anda dengan benar.
Windows yang dapat dieksekusi di bagian Rilis, cloc-2.02.exe , dibuat pada komputer Windows 10 64 bit menggunakan Strawberry Perl 5.30.2 dan PAR::Packer untuk membuat .exe
.
Idealnya, tidak seorang pun memerlukan Windows yang dapat dieksekusi karena mereka memiliki penerjemah Perl yang diinstal pada mesin mereka dan dapat menjalankan file sumber cloc. Namun, pada mesin Windows perusahaan yang dikelola secara terpusat, hal ini mungkin sulit atau tidak mungkin dilakukan.
Eksekusi Windows yang didistribusikan dengan cloc disediakan sebagai upaya terbaik dari .exe
bebas virus dan malware. Anda dianjurkan untuk menjalankan pemindai virus Anda sendiri terhadap file yang dapat dieksekusi dan juga memeriksa situs seperti https://www.virustotal.com/ . Entri untuk versi terbaru adalah:
cloc-2.02-winget.exe: (termasuk PR 850 untuk memungkinkan dijalankan dari symlink di Windows) https://www.virustotal.com/gui/file/be033061e091fea48a5bc9e8964cee0416ddd5b34bd5226a1c9aa4b30bdba66a?nocache=1
cloc-2.02.exe: https://www.virustotal.com/gui/file/369ed76125f7399cd582d169adf39a2e08ae5066031fea0cc8b2836ea50e7ce2?nocache=1
cloc-2.00.exe: https://www.virustotal.com/gui/file/7a234ef0cb495de1b5776acf88c5554e2bab1fb02725a5fb85756a6db3121c1f
cloc-1.98.exe: https://www.virustotal.com/gui/file/88615d193ec8c06f7ceec3cc1d661088af997798d87ddff331d9e9f9128a6782?nocache=1
cloc-1.96.1.exe: https://www.virustotal.com/gui/file/00b1c9dbbfb920dabd374418e1b86d2c24b8cd2b8705aeb956dee910d0d75d45?nocache=1
cloc-1.96.exe: https://www.virustotal.com/gui/file/54bf5f46fbaba7949c4eb2d4837b03c774c0ba587448a5bad9b8efc0222b1583?nocache=1
cloc-1.94.exe: https://www.virustotal.com/gui/file/b48a6002fb75fa66ec5d0c05a5c4d51f2ad22b5b025b7eb4e3945d18419c0952?nocache=1
cloc-1.92.exe: https://www.virustotal.com/gui/file/2668fcf8609c431e8934fe9e1866bc620c58d198c4eb262f1d3ef31ef4a690f7
cloc-1.90.exe: https://www.virustotal.com/gui/file/d655caae55486f9bac39f7e3c7b7553bcfcfe2b88914c79bfc328055f22b8a37/detection
cloc-1.88.exe: https://www.virustotal.com/gui/file/97d5d2631d1cccdbfd99267ab8a4cf5968816bbe52c0f9324e72e768857f642d/detection
cloc-1.86.exe: https://www.virustotal.com/gui/file/1b2e189df1834411b34534db446330d1c379b4bc008af3042ee9ade818c6a1c8/detection
cloc-1.84.exe: https://www.virustotal.com/gui/file/e73d490c1e4ae2f50ee174005614029b4fa2610dcb76988714839d7be68479af/detection
cloc-1.82.exe: https://www.virustotal.com/#/file/2e5fb443fdefd776d7b6b136a25e5ee2048991e735042897dbd0bf92efb16563/detection
cloc-1.80.exe: https://www.virustotal.com/#/file/9e547b01c946aa818ffad43b9ebaf05d3da08ed6ca876ef2b6847be3bf1cf8be/detection
cloc-1.78.exe: https://www.virustotal.com/#/file/256ade3df82fa92febf2553853ed1106d96c604794606e86efd00d55664dd44f/detection
cloc-1.76.exe: https://www.virustotal.com/#/url/c1b9b9fe909f91429f95d41e9a9928ab7c58b21351b3acd4249def2a61acd39d/detection
cloc-1.74_x86.exe: https://www.virustotal.com/#/file/b73dece71f6d3199d90d55db53a588e1393c8dbf84231a7e1be2ce3c5a0ec75b/detection
jam 1.72 exe: https://www.virustotal.com/en/url/8fd2af5cd972f648d7a2d7917bc202492012484c3a6f0b48c8fd60a8d395c98c/analisis/
jam 1.70 exe: https://www.virustotal.com/en/url/63edef209099a93aa0be1a220dc7c4c7ed045064d801e6d5daa84ee624fc0b4a/analisis/
jam 1.68 exe: https://www.virustotal.com/en/file/c484fc58615fc3b0d5569b9063ec1532980281c3155e4a19099b11ef1c24443b/analisis/
jam 1.66 exe: https://www.virustotal.com/en/file/54d6662e59b04be793dd10fa5e5edf7747cf0c0cc32f71eb67a3cf8e7a171d81/analisis/1453601367/
Eksekusi Windows dari cloc versi 1.60 dan sebelumnya, dibuat dengan perl2exe seperti disebutkan di atas, berukuran sekitar 1,6 MB, sedangkan versi 1.62 dan 1.54, dibuat dengan PAR::Packer
, berukuran 11 MB. Versi 1.66, dibuat dengan versi PAR::Packer
yang lebih baru, berukuran sekitar 5,5 MB. Mengapa PAR::Packer
, executable jauh lebih besar daripada yang dibuat dengan perl2exe? Teori saya adalah perl2exe menggunakan logika pemangkasan pohon yang lebih cerdas daripada PAR::Packer
, tapi itu murni spekulasi.
cloc adalah program baris perintah yang mengambil nama file, direktori, dan/atau arsip sebagai input. Berikut ini contoh menjalankan cloc terhadap distribusi sumber Perl v5.22.0:
cepat> jam perl-5.22.0.tar.gz 5605 file teks. 5386 file unik. 2176 file diabaikan. https://github.com/AlDanial/cloc v 1,65 T=25,49 dtk (134,7 file/dtk, 51980,3 baris/dtk) --------------------------------------------------- --------------------------------- File bahasa kode komentar kosong --------------------------------------------------- --------------------------------- Perl 2892 136396 184362 536445 C 130 24676 33684 155648 C/C++ Tajuk 148 9766 16569 147858 Bourne Shell 112 4044 6796 42668 Pascal 8 458 1603 8592 XML 33 142 0 2410 YAML 49 20 15 2078 C++ 10 313 277 2033 buat 4 426 488 1986 Prolog 12 438 2 1146 JSON 14 1 0 1037 yacc 1 85 76 998 File Pesan Windows 1 102 11 489 DOS Angkatan 14 92 41 389 File Sumber Daya Windows 3 10 0 85 H 1 5 7 8 Cacat 2 0 3 4 --------------------------------------------------- --------------------------------- JUMLAH: 3434 176974 243934 903874 --------------------------------------------------- ---------------------------------
Untuk menjalankan cloc di komputer Windows, buka jendela perintah (alias DOS) dan aktifkan cloc.exe dari baris perintah di sana. Atau, coba ClocViewer, pembungkus GUI di sekitar cloc yang ditemukan di https://github.com/Roemer/ClocViewer.
Lihat juga https://github.com/jmensch1/codeflower untuk rendering grafis hasil cloc.
cepat> jam --membantu Penggunaan: cloc [pilihan] <file(s)/dir(s)/git hash(es)> | <set 1> <set 2> | <laporan file> Hitung, atau hitung perbedaan, baris fisik kode sumber di file tertentu (mungkin arsip seperti tarball terkompresi atau file zip, atau git commit hash atau nama cabang) dan/atau secara rekursif di bawah direktori yang diberikan. Opsi Masukan --extract-with=<cmd> Opsi ini hanya diperlukan jika cloc tidak dapat untuk mengetahui cara mengekstrak isinya file input dengan sendirinya. Gunakan <cmd> untuk mengekstrak file arsip biner (misalnya: .tar.gz, .zip, .Z). Gunakan '>FILE<' literal sebagai pengganti file sebenarnya diekstraksi. Misalnya untuk menghitung baris kode dalam file masukan gcc-4.2.tar.gz perl-5.8.8.tar.gz pada penggunaan Unix --ekstrak-dengan='gzip -dc >FILE< | tar xf-' atau, jika Anda memiliki tar GNU, --ekstrak-dengan='tar zxf >FILE<' dan pada penggunaan Windows, misalnya: --extract-with=""c:Program FilesWinZipWinZip32.exe" -e -o >FILE< ." (jika WinZip diinstal di sana). --list-file=<file> Ambil daftar nama file dan/atau direktori proses dari <file>, yang memiliki satu file/direktori nama per baris. Hanya kecocokan persis yang dihitung; nama jalur relatif akan diselesaikan mulai dari direktori tempat cloc dipanggil. Setel <file> ke - untuk membaca nama file dari pipa STDIN. Lihat juga --exclude-list-file. --diff-list-file=<file> Ambil pasangan nama file yang akan dibedah <file>, yang formatnya cocok dengan outputnya --penyelarasan-diff. (Jalankan dengan opsi itu untuk lihat contoh.) Pengidentifikasi bahasa di akhir setiap baris diabaikan. Ini mengaktifkan --diff mode dan melewati logika penyelarasan pasangan file. --vcs=<VCS> Panggil panggilan sistem ke <VCS> untuk mendapatkan daftar file untuk dikerjakan. Jika <VCS> adalah 'git', maka akan panggil 'git ls-files' untuk mendapatkan daftar file dan 'git submodule status' untuk mendapatkan daftar submodul yang isinya akan diabaikan. Lihat juga --git yang menerima hash git commit dan nama cabang. Jika <VCS> adalah 'svn' maka akan memanggil 'svn list -R'. Manfaat utamanya adalah jam akan dilewati file secara eksplisit dikecualikan oleh alat pembuatan versi yang dimaksud, yaitu yang ada di .gitignore atau yang memiliki svn: abaikan properti. Atau <VCS> dapat berupa perintah sistem apa pun yang menghasilkan daftar file. Catatan: cloc harus berada di direktori yang dapat dibaca file yang dikembalikan oleh <VCS>. jam akan tidak mengunduh file dari repositori jarak jauh. 'svn list -R' mungkin merujuk ke repositori jarak jauh untuk mendapatkan nama file (dan karena itu mungkin memerlukan otentikasi ke repositori jarak jauh), tapi file-file itu sendiri harus lokal. Menyetel <VCS> ke 'otomatis' memilih antara 'git' dan 'svn' (atau tidak keduanya) bergantung pada keberadaannya dari subdirektori .git atau .svn di bawah direktori di mana jam dipanggil. --unicode Periksa file biner untuk melihat apakah berisi Unicode teks ASCII yang diperluas. Hal ini menyebabkan kinerja menjadi turun secara nyata. Opsi Pemrosesan --autoconf Hitung file .in (seperti yang diproses oleh GNU autoconf) dari bahasa yang dikenali. Lihat juga --tanpa autogen. --by-file Laporkan hasil untuk setiap file sumber yang ditemukan. --by-file-by-lang Laporkan hasil untuk setiap file sumber yang ditemukan selain melaporkan berdasarkan bahasa. --config <file> Baca saklar baris perintah dari <file> alih-alih lokasi default /home/al/.config/cloc/options.txt. File tersebut harus berisi satu saklar, bersama dengan argumen (jika ada), per baris. Garis dan garis kosong dimulai dengan '#' dilewati. Opsi diberikan baris perintah mengambil prioritas daripada entri yang dibaca file tersebut. --hitung-dan-perbedaan <set1> <set2> Pertama-tama lakukan penghitungan kode langsung dari file sumber dari <set1> dan <set2> secara terpisah, lalu lakukan diff dari ini. Input dapat berupa pasangan file, direktori, atau arsip. Jika --out atau --report-file diberikan, tiga file keluaran akan dibuat, satu untuk masing-masing dari dua hitungan dan satu untuk perbedaan. Lihat juga --diff, --diff-penyelarasan, --diff-batas waktu, --abaikan-huruf besar, --abaikan-spasi putih. --diff <set1> <set2> Hitung perbedaan kode dan komentar antar file sumber dari <set1> dan <set2>. Masukannya dapat berupa campuran file, direktori, arsip, atau git melakukan hash. Gunakan --diff-alignment untuk menghasilkan daftar yang menunjukkan file mana yang berpasangan di mana dibandingkan. Saat membandingkan cabang git, hanya file yang telah berubah di salah satu komit dibandingkan. Lihat juga --git, --count-and-diff, --diff-alignment, --diff-daftar-file, --diff-timeout, --ignore-case, --abaikan-spasi putih. --diff-timeout <N> Abaikan file yang memerlukan waktu lebih dari <N> detik untuk memproses. Standarnya adalah 10 detik. Pengaturan <N> hingga 0 memungkinkan waktu tidak terbatas. (File besar dengan banyak file baris yang berulang dapat menyebabkan Algorithm::Diff::sdiff() memakan waktu berjam-jam.) Lihat juga --timeout. --docstring-as-code cloc menganggap docstrings sebagai komentar, tapi ini memang benar tidak selalu benar karena dokumen mewakili reguler string ketika muncul di sisi kanan an penugasan atau sebagai argumen fungsi. saklar ini memaksa docstrings dihitung sebagai kode. --follow-links [khusus Unix] Ikuti tautan simbolik ke direktori (tautan sim ke file selalu diikuti). Lihat juga --stat. --force-lang=<lang>[,<ext>] Memproses semua file yang memiliki ekstensi <ext> dengan penghitung untuk bahasa <lang>. Untuk misalnya, untuk menghitung semua file .f dengan Penghitung Fortran 90 (yang mengharapkan file untuk diakhiri dengan .f90) bukan Fortran 77 default penghitung, gunakan --force-lang="Fortran 90,f" Jika <ext> dihilangkan, setiap file akan dihitung dengan penghitung <lang>. Opsi ini bisa jadi ditentukan beberapa kali (tapi itu hanya berguna ketika <ext> diberikan setiap kali). Lihat juga --script-lang, --lang-no-ext. --force-lang-def=<file> Muat filter pemrosesan bahasa dari <file>, lalu gunakan filter ini alih-alih filter bawaan filter. Catatan: bahasa yang dipetakan sama ekstensi file (misalnya: MATLAB/Mathematica/Objective-C/MUMPS/Merkurius; Pascal/PHP; Cadel/OpenCL; Cadel/Julia; Perl/Prolog) akan diabaikan karena memerlukan tambahan pemrosesan yang tidak diungkapkan dalam bahasa file definisi. Gunakan --read-lang-def untuk mendefinisikan filter bahasa baru tanpa mengganti filter bawaan filter (lihat juga --write-lang-def, --tulis-lang-def-incl-dup). --git Memaksa input untuk ditafsirkan sebagai target git (komit hash, nama cabang, dan lain-lain) jika ini tidak pertama kali diidentifikasi sebagai file atau direktori nama. Opsi ini mengesampingkan logika --vcs=git jika ini diberikan; dengan kata lain, --git mengerti daftar file untuk dikerjakan langsung dari git menggunakan nama hash atau cabang, bukan dari 'git ls-file'. Opsi ini dapat digunakan dengan --diff untuk melakukan perbedaan jumlah baris antara git komit, atau antara git komit dan file, direktori, atau arsip. Gunakan -v/--verbose untuk melihatnya sistem git memerintahkan masalah jam. --git-diff-rel Sama seperti --git --diff, atau hanya --diff jika inputnya dikenali sebagai target git. Hanya file yang telah berubah di salah satu komit dibandingkan. --git-diff-all Strategi Git diff #2: bandingkan semua file di repositori antara dua komit. --ignore-whitespace Abaikan spasi horizontal saat membandingkan file dengan --diff. Lihat juga --abaikan-kasus. --ignore-case Abaikan perubahan case dalam konten file; pertimbangkan persamaan huruf besar dan kecil saat membandingkan file dengan --diff. Lihat juga --abaikan-spasi putih. --ignore-case-ext Abaikan kasus ekstensi nama file. Ini akan menyebabkan masalah dalam menghitung beberapa bahasa (khususnya, .c dan .C dikaitkan dengan C dan C++; saklar ini akan menghitung file .C sebagai C daripada C++ pada sistem operasi *nix). Nama berkas ketidakpekaan huruf besar-kecil selalu berlaku di Windows. --lang-no-ext=<lang> Menghitung file tanpa ekstensi menggunakan <lang> menangkal. Opsi ini mengesampingkan logika internal untuk file tanpa ekstensi (di mana file tersebut diperiksa terhadap bahasa skrip yang dikenal dengan memeriksa baris pertama untuk #!). Lihat juga --force-lang, --script-lang. --max-file-size=<MB> Lewati file yang lebih besar dari <MB> megabyte bila melintasi direktori. Secara default, <MB>=100. kebutuhan memori cloc kira-kira dua puluh kali lipat lebih besar dari file terbesar sehingga berjalan dengan file yang lebih besar dari 100 MB di komputer dengan ukuran lebih kecil memori lebih dari 2 GB akan menimbulkan masalah. Catatan: pemeriksaan ini tidak berlaku untuk file secara eksplisit diteruskan sebagai argumen baris perintah. --no-autogen[=list] Abaikan file yang dihasilkan oleh sistem produksi kode seperti konferensi otomatis GNU. Untuk melihat daftar file-file ini (lalu keluar), jalankan dengan --no-autogen list Lihat juga --autoconf. --original-dir [Hanya efektif jika dikombinasikan dengan --strip-comments] Tulis file yang telah dilucuti ke direktori yang sama dengan file aslinya. --read-binary-files Memproses file biner selain file teks. Ini biasanya merupakan ide yang buruk dan memang seharusnya demikian dicoba dengan file teks yang telah tertanam data biner. --read-lang-def=<file> Muat filter pemrosesan bahasa baru dari <file> dan menggabungkannya dengan yang sudah diketahui jamnya. Jika <file> mendefinisikan bahasa yang sudah diketahui jam tentang, definisi cloc akan diutamakan. Gunakan --force-lang-def untuk mengganti jam definisi (lihat juga --write-lang-def, --tulis-lang-def-incl-dup). --script-lang=<lang>,<s> Memproses semua file yang memanggil <s> sebagai #! bahasa skrip dengan penghitung bahasa <lang>. Misalnya file yang diawali dengan #!/usr/local/bin/perl5.8.8 akan dihitung dengan penghitung Perl dengan menggunakan --script-lang=Perl,perl5.8.8 Nama bahasa tidak peka huruf besar-kecil tetapi nama bahasa skrip yang dapat dieksekusi, <s>, harus memiliki kasus yang tepat. Opsi ini bisa jadi ditentukan beberapa kali. Lihat juga --force-lang, --lang-tidak-ext. --sdir=<dir> Gunakan <dir> sebagai direktori awal membiarkan File::Temp memilih lokasi. File ditulis ke lokasi ini tidak dihapus di akhir proses (seperti halnya dengan File::Temp). --skip-uniqueness Lewati pemeriksaan keunikan file. Ini akan memberi peningkatan kinerja dengan mengorbankan penghitungan file dengan konten yang identik beberapa kali (jika duplikat tersebut ada). --stat Beberapa sistem file (AFS, CD-ROM, FAT, HPFS, SMB) tidak memiliki jumlah direktori 'nlink' yang cocok jumlah subdirektorinya. Akibatnya jam mungkin kurang dihitung atau dilewati sama sekali isi sistem file tersebut. Peralihan ini memaksa File::Temukan direktori stat untuk mendapatkan hitungan yang benar. Kecepatan pencarian file akan menurun. Lihat juga --ikuti-tautan. --stdin-name=<file> Berikan nama file yang akan digunakan untuk menentukan bahasa untuk masukan standar. (Gunakan - sebagai nama masukan untuk menerima kode sumber melalui STDIN.) --strip-comments=<ext> Untuk setiap file yang diproses, tulis ke file saat ini direktori versi file yang kosong dan baris komentar dihapus (komentar sebaris bertahan). Nama setiap file yang dilucuti adalah nama file asli dengan .<ext> ditambahkan ke dalamnya. Itu ditulis ke direktori saat ini kecuali --dir asli aktif. --strip-str-comments Ganti penanda komentar yang tertanam dalam string dengan 'xx'. Ini mencoba untuk mengatasi keterbatasan di Regexp::Common::Comment di mana penanda komentar tertanam dalam string dipandang sebagai komentar sebenarnya penanda dan bukan string, sering kali menghasilkan a 'Batas rekursi subekspresi reguler yang kompleks' peringatan dan penghitungan yang salah. Ada dua kerugian menggunakan saklar ini: 1/jumlah kode kinerja turun, dan 2/kode dihasilkan dengan --strip-comments akan berisi string yang berbeda di mana pun komentar yang disematkan ditemukan. --sum-reports Argumen masukan adalah file laporan sebelumnya dibuat dengan opsi --report-file secara sederhana format (mis. bukan JSON, YAML, XML, atau SQL). Membuat kumpulan hasil kumulatif yang berisi jumlah data dari file laporan individual. --timeout <N> Abaikan file yang memakan waktu lebih dari <N> detik untuk memproses pada salah satu tahapan filter bahasa. Jumlah detik maksimum default yang dihabiskan pada a tahap filter adalah jumlah baris dalam file dibagi seribu. Menyetel <N> ke 0 memungkinkan waktu yang tidak terbatas. Lihat juga --diff-timeout. --processes=NUM [Hanya tersedia pada sistem dengan versi terbaru dari modul Paralel::ForkManager. Bukan tersedia di Windows.] Mengatur jumlah maksimum inti yang digunakan jam. Nilai defaultnya adalah 0 menonaktifkan multiprosesor. --unix Ganti deteksi otomatis sistem operasi logika dan dijalankan dalam mode UNIX. Lihat juga --jendela, --tampilkan-os. --use-sloccount Jika SLOCCount diinstal, gunakan kompilasinya executable c_count, java_count, pascal_count, php_count, dan xml_count bukannya jam penghitung. Penghitung yang dikompilasi SLOCCount adalah jauh lebih cepat daripada jam dan mungkin memberi peningkatan kinerja saat menghitung proyek dengan file besar. Namun, jam ini spesifik fitur tidak akan tersedia: --diff, --hitung-dan-perbedaan, --strip-komentar, --unicode. --windows Mengganti deteksi otomatis sistem operasi logika dan dijalankan dalam mode Microsoft Windows. Lihat juga --unix, --show-os. Opsi Penyaring --include-content=<regex> Hanya menghitung file yang berisi teks yang cocok dengan diberikan ekspresi reguler. --exclude-content=<regex> Kecualikan file yang berisi teks yang cocok dengan yang diberikan ekspresi reguler. --exclude-dir=<D1>[,D2,] Kecualikan direktori yang dipisahkan koma D1, D2, D3, dan lain-lain, agar tidak dipindai. Untuk contoh --exclude-dir=.cache,tes akan dilewati semua file dan subdirektori yang memiliki /.cache/ atau /test/ sebagai direktori induknya. Direktori bernama .bzr, .cvs, .hg, .git, .svn, dan .snapshot selalu dikecualikan. Opsi ini hanya berfungsi dengan direktori individual nama jadi termasuk pemisah jalur file tidak diizinkan. Gunakan --fullpath dan --not-match-d=<regex> untuk menyediakan regex yang cocok dengan beberapa subdirektori. --exclude-ext=<ext1>[,<ext2>[...]] Jangan hitung file yang memiliki nama file tertentu ekstensi. --exclude-lang=<L1>[,L2[...]] Kecualikan bahasa yang dipisahkan koma L1, L2, L3, dan sebagainya, tidak dihitung. --exclude-list-file=<file> Abaikan file dan/atau direktori yang namanya muncul di <file>. <file> harus memiliki satu file nama per baris. Hanya pencocokan persis yang diabaikan; nama jalur relatif akan diselesaikan mulai dari direktori tempat cloc dipanggil. Lihat juga --daftar-file. --fullpath Memodifikasi perilaku --match-f, --not-match-f, dan --not-match-d untuk menyertakan jalur file di regex, bukan hanya nama dasar file. (Ini tidak memperluas setiap file untuk menyertakannya jalur absolut, malah menggunakan sebanyak itu jalur seperti yang diteruskan ke jam.) Catatan: --match-d selalu terlihat penuh jalur dan karena itu tidak terpengaruh oleh --fullpath. --termasuk-ext=<ext1>[,ext2[...]] Hitung hanya bahasa yang diberi koma ekstensi file terpisah. Gunakan --show-ext untuk lihat ekstensi yang dikenali. --include-lang=<L1>[,L2[...]] Hitung hanya bahasa yang dipisahkan koma L1, L2, L3, dan seterusnya. Gunakan --show-lang untuk melihat daftar bahasa yang diakui. --match-d=<regex> Hanya menghitung file di direktori yang cocok dengan Perl ekspresi reguler. Misalnya --match-d='/(src|termasuk)/' hanya menghitung file dalam direktori yang berisi /src/ atau /include/. Berbeda dengan --not-match-d, --match-f, dan --not-match-f, --match-d selalu membandingkan jalur yang sepenuhnya memenuhi syarat dengan ekspresi reguler. --not-match-d=<regex> Hitung semua file kecuali yang ada di direktori cocok dengan regex Perl. Hanya yang tertinggal nama direktori dibandingkan, misalnya kapan menghitung di/usr/local/lib, hanya 'lib' yang ada dibandingkan dengan regex. Tambahkan --fullpath untuk membandingkan direktori induk ekspresi reguler. Jangan sertakan pemisah jalur file di awal atau akhir regex. --match-f=<regex> Hanya menghitung file yang nama dasarnya cocok dengan Perl ekspresi reguler. Misalnya --match-f='^[Ww]idget' hanya menghitung file yang dimulai dengan Widget atau widget. Tambahkan --fullpath untuk memasukkan direktori induk di regex, bukan hanya nama dasar. --not-match-f=<regex> Hitung semua file kecuali yang memiliki nama dasar cocok dengan regex Perl. Tambahkan --fullpath untuk disertakan direktori induk di regex, bukan adil nama dasarnya. --skip-archive=<regex> Abaikan file yang diakhiri dengan Perl reguler yang diberikan ekspresi. Misalnya jika diberikan --skip-archive='(zip|tar(.(gz|Z|bz2|xz|7z))?)' kode akan melewatkan file yang diakhiri dengan .zip, .tar, .tar.gz, .tar.Z, .tar.bz2, .tar.xz, dan .tar.7z. --skip-win-hidden Di Windows, abaikan file tersembunyi. Opsi Debug --categorized=<file> Simpan ukuran file dalam byte, bahasa yang teridentifikasi dan nama -nama file yang dikategorikan ke <pangkutan>. --counted = <pangkir> Simpan nama file sumber yang diproses ke <pangkutan>. --Diff-Alignment = <FILE> TULIS KE <PILE> Daftar file dan pasangan file menunjukkan file mana yang ditambahkan, dihapus, dan/atau Dibandingkan selama lari dengan -diff. saklar ini memaksa mode -diff aktif. --Explain = <Lang> Cetak filter yang digunakan untuk menghapus komentar untuk Bahasa <Lang> dan keluar. Dalam beberapa kasus filter mengacu pada subrutin Perl daripada Ekspresi reguler. Pemeriksaan terhadap Kode sumber mungkin diperlukan untuk penjelasan lebih lanjut. --HaP cetak informasi penggunaan ini dan keluar. --found = <pangkir> Simpan nama dari setiap file yang ditemukan di <pangkutan>. --ignored = <pangkalan> Simpan nama file yang diabaikan dan alasan mereka diabaikan ke <pangkutan>. --Print-filter-tahap mencetak kode sumber yang diproses sebelum dan sesudah Setiap filter diterapkan. --show-ext [= <xt ext>] cetak informasi tentang semua yang diketahui (atau hanya diberikan) File ekstensi dan keluar. --show-lang [= <Lang>] mencetak informasi tentang semua yang diketahui (atau hanya diberikan) bahasa dan keluar. --show-os cetak nilai mode sistem operasi dan keluar. Lihat juga --Unix, --Windows. -v [= <n>] sakelar verbose (nilai numerik opsional). -Verbose [= <n>] bentuk panjang -v. --Version Cetak versi program dan keluar ini. --write-lang-def = <pangkangkuan> Menulis ke <pangkalan> Filter pemrosesan bahasa lalu keluar. Berguna sebagai langkah pertama untuk membuat Definisi Bahasa Kustom. Catatan: Bahasa yang Peta ke ekstensi file yang sama akan dikecualikan. (Lihat juga--force-lang-def, --tread-lang-def). --write-lang-cl-incl-dup = <pangkutan> Sama seperti --write-lang-def, tetapi termasuk digandakan ekstensi. Ini menghasilkan bahasa yang bermasalah file definisi karena cloc akan menolak untuk menggunakan sampai duplikat dihapus. Opsi Output --3 Cetak output bahasa generasi ketiga. (Opsi ini dapat menyebabkan penjumlahan laporan gagal Jika beberapa laporan diproduksi dengan opsi ini sementara yang lain diproduksi tanpa itu.) -BY-PERCENT X Alih-alih komentar dan jumlah garis kosong, tunjukkan Nilai -nilai ini sebagai persentase berdasarkan nilai dari X dalam penyebut: X = 'c' -> # baris kode X = 'cm' -> # baris kode + komentar X = 'cb' -> # baris kode + kosong X = 'cmb' -> # baris kode + komentar + kosong Misalnya, jika menggunakan metode 'C' dan kode Anda memiliki komentar dua kali lebih banyak dari baris kode, nilai di kolom komentar akan menjadi 200%. Kolom kode tetap menjadi hitungan baris. -CSV Menulis hasilnya sebagai nilai yang dipisahkan koma. -CSV-Delimiter = <c> Gunakan karakter <c> sebagai pembatas untuk koma file terpisah bukannya ,. Sakelar ini memaksa -CSV akan aktif. --File-ensoding = <e> Tulis file output menggunakan encoding <E> bukannya ASCII default (<E> = 'UTF-7'). Contoh: 'UTF-16', 'EUC-kr', 'ISO-8859-16'. Pengkodean yang dikenal bisa dicetak dengan Perl -Mencode -e 'print join (" n", encode-> encodings (": all")), " n"' --hide-rate tidak menunjukkan tingkat pemrosesan baris dan file di header output. Ini membuat output deterministik. --json Tulis hasilnya sebagai notasi objek JavaScript (JSON) output yang diformat. --MD Menulis hasilnya sebagai teks yang diformat penurunan harga. --out = <file> Sinonim untuk --Port-file = <pangkangkuan>. --Progress-rate = <n> Tampilkan Pembaruan Kemajuan Setelah Setiap <n> File diproses (default <n> = 100). Atur <n> ke 0 ke menekan output kemajuan (berguna saat mengarahkan ulang output ke stdout). --quiet menekan semua pesan informasi kecuali Laporan Akhir. --Report-File = <pangkalan> Tulis hasilnya ke <pangkutan> alih-alih stdout. --sql = <pangkalan> Tulis hasil sebagai SQL Buat dan masukkan pernyataan yang dapat dibaca oleh program basis data seperti Sqlite. Jika <Shile> adalah -, output dikirim ke stdout. -SQL-APPPEND Tambahkan pernyataan SQL Insert ke file yang ditentukan dengan --sql dan jangan menghasilkan pembuatan tabel pernyataan. Hanya berlaku dengan opsi -SQL. --sql-project = <name> Gunakan <name> sebagai pengidentifikasi proyek untuk lari saat ini. Hanya berlaku dengan opsi -SQL. --sql-style = <tyle> Tulis pernyataan SQL dalam gaya yang diberikan sebagai gantinya dari format SQLite default. Gaya termasuk 'Oracle' dan 'Named_Columns'. --sum-one untuk laporan teks biasa, tunjukkan jumlah: garis output bahkan jika hanya satu file input yang diproses. --xml Tulis hasilnya di XML. --XSL = <FILE> REFERENSI <FILE> Sebagai XSL Stylesheet di dalam output XML. Jika <FILE> adalah 1 (numerik), menulis stylesheet default, cloc.xsl (atau cloc-diff.xsl jika--diff juga diberikan). Sakelar ini memaksa --xml aktif. -YAML Tulis hasilnya di YAML.
prompt> cloc-show-lang ABAP (ABAP) ActionScript (as) ADA (ADA, ADB, ADS, PAD) ADSO/IDSM (ADSO) AGDA (AGDA, LAGDA) Cukup (cukup, dofile, startup) Ansprolog (LP) Semut (build.xml, build.xml) Tata Bahasa Antlr (G, G4) Kelas Apex (CLS) Pemicu puncak (pemicu) Apl (apl, apl, aplc, aplf, apli, apln, aplo, dyalog, dyapp, mipage) AppleScript (AppleScript) Arduino Sketch (INO) Arkts (ETS) Arturo (Seni) Asciidoc (ADOC, ASCIIDOC) ASP (ASA, Ashx, ASP, AXD) Asp.net (ASAX, ASCX, ASMX, ASPX, MASTER, SITEMAP, WEBINFO) Aspekj (AJ) Perakitan (A51, ASM, NASM, S, S) Astro (Astro) Asimptote (ASY) Autohotkey (ahk, ahkl) AWK (AUK, AWK, GAWK, MAWK, NAWK) Bazel (Build) BizTalk Orchestration (ODX) Biztalk Pipeline (BTP) Blade (blade, blade.php) Bourne Again Shell (Bash) Bourne Shell (SH) BrightScript (BRS) pembangun (xml.builder) C (C, Kucing, EC, IDC, PGC) C shell (csh, tcsh) C# (CS) C# Designer (Designer.cs) C ++ (C, C ++, C ++ M, CC, CCM, CPP, CPP, CPPM, CXX, CXXM, H ++, INL, IPP, IXX, PCC, TCC, TPP) C/C ++ header (H, H, HH, HPP, HXX) Kairo (Kairo) Skrip build kue (kue) Karbon (karbon) CCS (CCS) Kapel (CHPL) Circom (Circom) Bersihkan (DCL, ICL) Clojure (Boot, CL2, CLJ, CLJS.HL, CLJSCM, CLJX, HIC, riemann.config) Clojurec (CLJC) Clojurescript (CLJS) Cmake (cmake, cmake.in, cmakelists.txt) COBOL (CBL, CBL, CCP, COB, COB, COBOL, CPY) Cocoa 5 (C5, Cocoa5, Cocoa5Server, CPKG5) CoffeeScript (_coffee, CakeFile, CJSX, Coffee, Iced) ColdFusion (CFM, CFML) ColdFusion CFScript (CFC) Batasan Tata Bahasa (CG3, RLX) ContainerFile (ContainerFile) CoQ (V) Crystal (CR) CSON (CSON) CSS (CSS) CSV (CSV) Mentimun (fitur) Cuda (Cu, CUH) Cython (PXD, PXI, PYX) D (D) Dafny (DFY) Dal (DA) Dart (DART) Formulir Delphi (DFM) Denizenscript (DSC) Derw (derw) dhall (dhall) Diet (DT) Diff (Diff, Patch) Dita (Dita) DockerFile (DockerFile, DockerFile) Doors Extension Language (DXL) Batch DOS (kelelawar, kelelawar, btm, btm, cmd, cmd) Air liur (DRL) DTD (DTD) dtrace (D) ECPP (ECPP) Eex (EEX) EJS (EJS) Elixir (ex, exs) Elm (Elm) Tertanam Kristal (ECR) Erb (Erb, ERB) Erlang (app.src, emakefile, erl, hrl, rebar.config, rebar.config.lock, rebar.lock, xrl, yrl) Harapkan (exp) F# (FSI, FS, FS) F# Script (FSX) Adas (FNL) Bahasa negara yang terbatas (FSL, JSSM) Cangkang ikan (ikan) Flatbuffer (FBS) Fokus (FOCEXEC) Forth (4th, e4, f83, fb, forth, fpm, fr, frt, ft, fth, rx, fs, f, for) FORTRAN 77 (F, F77, F77, FOR, FTN, FTN, PFO, F, FOR) Fortran 90 (F90, F90) Fortran 95 (F95, F95) Template Freemarker (FTL) Futhark (fut) FXML (FXML) GDScript (GD) Gencat NLS (MSG) Glade (Glade, UI) Kilau (sinar) Glimmer Javascript (GJS) Glimmer TypeScript (GTS) GLSL (comp, fp, frag, frg, fsh, fshader, geo, geom, glsl, glslv, gshader, tesc, tese, vert, vrx, vsh, vshader) Pergi (pergi, ʕ◔ϖ◔ʔ) Sumber Daya Godot (Tres) Adegan Godot (TSCN) Godot Shaders (Gdshader) Gradle (Gradle, Gradle.kts) Cawan (GSP) GraphQL (GQL, GraphQL, GraphQLs) Groovy (Gant, Groovy, GRT, GTPL, GVY, Jenkinsfile) Haml (Haml, Haml.Deface) Setang (setang, HBS) Harbour (HB) Kelinci (ha) Haskell