# Supported Languages 65 languages are currently supported. | Language | Files | Supported comments | | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- | | Assembly | `*.asm`, `*.a51`, `*.i`, `*.inc`, `*.nas`, `*.nasm`, `*.s` | `;`, `/* */` | | C | `*.c`, `*.cats`, `*.h`, `*.h.in`, `*.idc` | `//`, `/* */` | | C# | `*.cs`, `*.cake`, `*.cs.pp`, `*.csx`, `*.linq` | `//`, `/* */` | | C++ | `*.cpp`, `*.c++`, `*.cc`, `*.cp`, `*.cppm`, `*.cxx`, `*.h`, `*.h++`, `*.hh`, `*.hpp`, `*.hxx`, `*.inc`, `*.inl`, `*.ino`, `*.ipp`, `*.ixx`, `*.re`, `*.tcc`, `*.tpp`, `*.txx` | `//`, `/* */` | | CODEOWNERS | `CODEOWNERS` | `#` | | Clojure | `riemann.config`, `*.clj`, `*.bb`, `*.boot`, `*.cl2`, `*.cljc`, `*.cljs`, `*.cljs.hl`, `*.cljscm`, `*.cljx`, `*.hic` | `;` | | CoffeeScript | `Cakefile`, `*.coffee`, `*._coffee`, `*.cake`, `*.cjsx`, `*.iced` | `#`, `### ###` | | Dart | `*.dart` | `//`, `///`, `/* */` | | Dockerfile | `Containerfile`, `Dockerfile`, `*.dockerfile`, `*.containerfile` | `#` | | EditorConfig | `.editorconfig`, `*.editorconfig` | `#` | | Elixir | `mix.lock`, `*.ex`, `*.exs` | `#`, `@moduledoc """ """`, `@doc """ """` | | Emacs Lisp | `.abbrev_defs`, `.emacs`, `.emacs.desktop`, `.gnus`, `.spacemacs`, `.viper`, `Cask`, `Eask`, `Project.ede`, `_emacs`, `abbrev_defs`, `*.el`, `*.emacs`, `*.emacs.desktop` | `;` | | Erlang | `Emakefile`, `rebar.config`, `rebar.config.lock`, `rebar.lock`, `*.erl`, `*.app`, `*.app.src`, `*.es`, `*.escript`, `*.hrl`, `*.xrl`, `*.yrl` | `%` | | Fortran | `*.f`, `*.f77`, `*.for`, `*.fpp` | `!` | | Fortran Free Form | `*.f90`, `*.f03`, `*.f08`, `*.f95` | `!` | | Git Config | `.gitconfig`, `.gitmodules`, `*.gitconfig` | `#`, `;` | | Go | `*.go` | `//`, `/* */` | | Go Module | `go.mod` | `//` | | GraphQL | `*.graphql`, `*.gql`, `*.graphqls` | `#`, `""" """` | | Groovy | `Jenkinsfile`, `*.groovy`, `*.grt`, `*.gtpl`, `*.gvy` | `//`, `/* */` | | HCL | `*.hcl`, `*.nomad`, `*.tf`, `*.tfvars`, `*.tofu`, `*.workflow` | `#`, `//` | | HTML | `*.html`, `*.hta`, `*.htm`, `*.html.hl`, `*.inc`, `*.xht`, `*.xhtml` | `` | | HTML+ERB | `*.erb`, `*.erb.deface`, `*.rhtml` | ``, `<%# %>` | | Haskell | `*.hs`, `*.hs-boot`, `*.hsc` | `--`, `{- -}` | | INI | `.buckconfig`, `.coveragerc`, `.flake8`, `.pylintrc`, `HOSTS`, `buildozer.spec`, `hosts`, `pylintrc`, `vlcrc`, `*.ini`, `*.cfg`, `*.cnf`, `*.dof`, `*.frm`, `*.lektorproject`, `*.prefs`, `*.pro`, `*.properties`, `*.url` | `;`, `#` | | Ignore List | `.atomignore`, `.babelignore`, `.bzrignore`, `.coffeelintignore`, `.cvsignore`, `.dockerignore`, `.easignore`, `.eleventyignore`, `.eslintignore`, `.gitignore`, `.ignore`, `.markdownlintignore`, `.nodemonignore`, `.npmignore`, `.prettierignore`, `.stylelintignore`, `.vercelignore`, `.vscodeignore`, `gitignore-global`, `gitignore_global`, `*.gitignore` | `#` | | JSON | `.all-contributorsrc`, `.arcconfig`, `.auto-changelog`, `.c8rc`, `.htmlhintrc`, `.imgbotconfig`, `.nycrc`, `.tern-config`, `.tern-project`, `.watchmanconfig`, `MODULE.bazel.lock`, `Package.resolved`, `Pipfile.lock`, `bun.lock`, `composer.lock`, `deno.lock`, `flake.lock`, `mcmod.info`, `*.json`, `*.4DForm`, `*.4DProject`, `*.avsc`, `*.geojson`, `*.gltf`, `*.har`, `*.ice`, `*.JSON-tmLanguage`, `*.json.example`, `*.jsonl`, `*.mcmeta`, `*.sarif`, `*.tact`, `*.tfstate`, `*.tfstate.backup`, `*.topojson`, `*.webapp`, `*.webmanifest`, `*.yy`, `*.yyp` | `//`, `#`, `/* */` | | JSON with Comments | `.babelrc`, `.devcontainer.json`, `.eslintrc.json`, `.jscsrc`, `.jshintrc`, `.jslintrc`, `.oxlintrc.json`, `.swcrc`, `api-extractor.json`, `devcontainer.json`, `jsconfig.json`, `language-configuration.json`, `tsconfig.json`, `tslint.json`, `*.jsonc`, `*.code-snippets`, `*.code-workspace`, `*.sublime-build`, `*.sublime-color-scheme`, `*.sublime-commands`, `*.sublime-completions`, `*.sublime-keymap`, `*.sublime-macro`, `*.sublime-menu`, `*.sublime-mousemap`, `*.sublime-project`, `*.sublime-settings`, `*.sublime-theme`, `*.sublime-workspace`, `*.sublime_metrics`, `*.sublime_session`, `*.tsconfig.json` | `//`, `/* */` | | JSON5 | `*.json5` | `//`, `/* */` | | Java | `*.java`, `*.jav`, `*.jsh` | `//`, `/* */` | | JavaScript | `Jakefile`, `*.js`, `*._js`, `*.bones`, `*.cjs`, `*.es`, `*.es6`, `*.frag`, `*.gs`, `*.jake`, `*.javascript`, `*.jsb`, `*.jscad`, `*.jsfl`, `*.jslib`, `*.jsm`, `*.jspre`, `*.jss`, `*.jsx`, `*.mjs`, `*.njs`, `*.pac`, `*.sjs`, `*.ssjs`, `*.xsjs`, `*.xsjslib` | `//`, `/* */` | | Julia | `*.jl` | `#`, `#= =#` | | Kotlin | `*.kt`, `*.ktm`, `*.kts` | `//`, `/* */` | | Lua | `.luacheckrc`, `*.lua`, `*.fcgi`, `*.nse`, `*.p8`, `*.pd_lua`, `*.rbxs`, `*.rockspec`, `*.wlua` | `--`, `--[[ --]]` | | MATLAB | `*.matlab`, `*.m` | `%`, `%{ }%` | | Makefile | `BSDmakefile`, `GNUmakefile`, `Kbuild`, `Makefile`, `Makefile.am`, `Makefile.boot`, `Makefile.frag`, `Makefile.in`, `Makefile.inc`, `Makefile.wat`, `makefile`, `makefile.sco`, `mkfile`, `*.mak`, `*.d`, `*.make`, `*.makefile`, `*.mk`, `*.mkfile` | `#` | | Markdown | `contents.lr`, `*.md`, `*.livemd`, `*.markdown`, `*.mdown`, `*.mdwn`, `*.mkd`, `*.mkdn`, `*.mkdown`, `*.ronn`, `*.scd`, `*.workbook` | `` | | Nix | `*.nix` | `#`, `/* */` | | OCaml | `*.ml`, `*.eliom`, `*.eliomi`, `*.ml4`, `*.mli`, `*.mll`, `*.mly` | `(* *)` | | Objective-C | `*.m`, `*.h` | `//`, `/* */` | | PHP | `.php`, `.php_cs`, `.php_cs.dist`, `Phakefile`, `*.php`, `*.aw`, `*.ctp`, `*.fcgi`, `*.inc`, `*.php3`, `*.php4`, `*.php5`, `*.phps`, `*.phpt` | `#`, `//`, `/* */` | | Pascal | `*.pas`, `*.dfm`, `*.dpr`, `*.inc`, `*.lpr`, `*.pascal`, `*.pp` | `//`, `(* *)`, `{ }` | | Perl | `.latexmkrc`, `Makefile.PL`, `Rexfile`, `ack`, `cpanfile`, `latexmkrc`, `*.pl`, `*.al`, `*.cgi`, `*.fcgi`, `*.perl`, `*.ph`, `*.plx`, `*.pm`, `*.psgi`, `*.t` | `#`, `= =cut` | | Pip Requirements | `dev-requirements.txt`, `requirements-dev.txt`, `requirements.lock.txt`, `requirements.txt` | `#` | | PowerShell | `*.ps1`, `*.psd1`, `*.psm1` | `#`, `<# #>` | | Puppet | `Modulefile`, `*.pp` | `#` | | Python | `.gclient`, `DEPS`, `SConscript`, `SConstruct`, `wscript`, `*.py`, `*.cgi`, `*.fcgi`, `*.gyp`, `*.gypi`, `*.lmi`, `*.py3`, `*.pyde`, `*.pyi`, `*.pyp`, `*.pyt`, `*.pyw`, `*.rpy`, `*.spec`, `*.tac`, `*.wsgi`, `*.xpy` | `#`, `""" """` | | R | `.Rprofile`, `expr-dist`, `*.r`, `*.rd`, `*.rsx` | `#` | | Ruby | `.irbrc`, `.pryrc`, `.simplecov`, `Appraisals`, `Berksfile`, `Brewfile`, `Buildfile`, `Capfile`, `Dangerfile`, `Deliverfile`, `Fastfile`, `Gemfile`, `Guardfile`, `Jarfile`, `Mavenfile`, `Podfile`, `Puppetfile`, `Rakefile`, `Snapfile`, `Steepfile`, `Thorfile`, `Vagrantfile`, `buildfile`, `*.rb`, `*.builder`, `*.eye`, `*.fcgi`, `*.gemspec`, `*.god`, `*.jbuilder`, `*.mspec`, `*.pluginspec`, `*.podspec`, `*.prawn`, `*.rabl`, `*.rake`, `*.rbi`, `*.rbuild`, `*.rbw`, `*.rbx`, `*.ru`, `*.ruby`, `*.spec`, `*.thor`, `*.watchr` | `#`, `=begin =end` | | Rust | `*.rs`, `*.rs.in` | `//`, `/* */` | | SQL | `*.sql`, `*.ddl`, `*.inc`, `*.mysql`, `*.prc`, `*.tab`, `*.udf`, `*.viw` | `--`, `/* */` | | Scala | `*.scala`, `*.kojo`, `*.sbt`, `*.sc` | `//`, `/* */` | | Shell | `.bash_aliases`, `.bash_functions`, `.bash_history`, `.bash_logout`, `.bash_profile`, `.bashrc`, `.cshrc`, `.envrc`, `.flaskenv`, `.kshrc`, `.login`, `.profile`, `.tmux.conf`, `.xinitrc`, `.xsession`, `.zlogin`, `.zlogout`, `.zprofile`, `.zshenv`, `.zshrc`, `9fs`, `PKGBUILD`, `bash_aliases`, `bash_logout`, `bash_profile`, `bashrc`, `cshrc`, `gradlew`, `kshrc`, `login`, `man`, `mvnw`, `profile`, `tmux.conf`, `xinitrc`, `xsession`, `zlogin`, `zlogout`, `zprofile`, `zshenv`, `zshrc`, `*.sh`, `*.bash`, `*.bats`, `*.cgi`, `*.command`, `*.fcgi`, `*.ksh`, `*.sbatch`, `*.sh.in`, `*.slurm`, `*.tmux`, `*.tool`, `*.trigger`, `*.zsh`, `*.zsh-theme` | `#` | | Svelte | `*.svelte` | `//`, ``, `/* */` | | Swift | `*.swift` | `//`, `/* */` | | TOML | `Cargo.lock`, `Cargo.toml.orig`, `Gopkg.lock`, `Pipfile`, `pdm.lock`, `poetry.lock`, `uv.lock`, `*.toml`, `*.toml.example` | `#` | | TeX | `*.tex`, `*.aux`, `*.bbx`, `*.cbx`, `*.cls`, `*.dtx`, `*.ins`, `*.lbx`, `*.ltx`, `*.mkii`, `*.mkiv`, `*.mkvi`, `*.sty`, `*.toc` | `%` | | TypeScript | `*.ts`, `*.cts`, `*.mts` | `//`, `/* */` | | Unix Assembly | `*.s`, `*.ms` | `;`, `/* */` | | VBA | `*.bas`, `*.cls`, `*.frm`, `*.vba` | `'` | | Vim Script | `.exrc`, `.gvimrc`, `.nvimrc`, `.vimrc`, `_vimrc`, `gvimrc`, `nvimrc`, `vimrc`, `*.vim`, `*.vba`, `*.vimrc`, `*.vmb` | `"` | | Visual Basic .NET | `*.vb`, `*.vbhtml` | `'` | | XML | `.classpath`, `.cproject`, `.project`, `App.config`, `NuGet.config`, `Settings.StyleCop`, `Web.Debug.config`, `Web.Release.config`, `Web.config`, `packages.config`, `*.xml`, `*.adml`, `*.admx`, `*.ant`, `*.axaml`, `*.axml`, `*.builds`, `*.ccproj`, `*.ccxml`, `*.clixml`, `*.cproject`, `*.cscfg`, `*.csdef`, `*.csl`, `*.csproj`, `*.ct`, `*.depproj`, `*.dita`, `*.ditamap`, `*.ditaval`, `*.dll.config`, `*.dotsettings`, `*.filters`, `*.fsproj`, `*.fxml`, `*.glade`, `*.gml`, `*.gmx`, `*.gpx`, `*.grxml`, `*.gst`, `*.hzp`, `*.icls`, `*.iml`, `*.ivy`, `*.jelly`, `*.jsproj`, `*.kml`, `*.launch`, `*.mdpolicy`, `*.mjml`, `*.mm`, `*.mod`, `*.mojo`, `*.mxml`, `*.natvis`, `*.ncl`, `*.ndproj`, `*.nproj`, `*.nuspec`, `*.odd`, `*.osm`, `*.pkgproj`, `*.pluginspec`, `*.proj`, `*.props`, `*.ps1xml`, `*.psc1`, `*.pt`, `*.pubxml`, `*.qhelp`, `*.rdf`, `*.res`, `*.resx`, `*.rs`, `*.rss`, `*.sch`, `*.scxml`, `*.sfproj`, `*.shproj`, `*.slnx`, `*.srdf`, `*.storyboard`, `*.sublime-snippet`, `*.sw`, `*.targets`, `*.tml`, `*.ts`, `*.tsx`, `*.typ`, `*.ui`, `*.urdf`, `*.ux`, `*.vbproj`, `*.vcxproj`, `*.vsixmanifest`, `*.vssettings`, `*.vstemplate`, `*.vxml`, `*.wixproj`, `*.workflow`, `*.wsdl`, `*.wsf`, `*.wxi`, `*.wxl`, `*.wxs`, `*.x3d`, `*.xacro`, `*.xaml`, `*.xib`, `*.xlf`, `*.xliff`, `*.xmi`, `*.xml.dist`, `*.xmp`, `*.xproj`, `*.xsd`, `*.xspec`, `*.xul`, `*.zcml` | `` | | XSLT | `*.xslt`, `*.xsl` | `` | | YAML | `.clang-format`, `.clang-tidy`, `.clangd`, `.gemrc`, `CITATION.cff`, `glide.lock`, `pixi.lock`, `yarn.lock`, `*.yml`, `*.mir`, `*.reek`, `*.rviz`, `*.sublime-syntax`, `*.syntax`, `*.yaml`, `*.yaml-tmlanguage`, `*.yaml.sed`, `*.yml.mysql` | `#` |