# Plaintext
## if no extension, assume no language
* . = 

## Plaintext
* .txt = "Text"

# Systems languages or otherwise multipurpose

## C/C++ Family
* .c = "C"
* .h = "C/C++"
* .c++ = "C++"
* .cpp = "C++"
* .cxx = "C++"
* .cc = "C++"
* .hpp = "C++"
* .ixx = "C++ module"
* .m = "Objective-C"
* .mm = "Objective-C++"
* .cu = "CUDA"
* .cuh = "CUDA"
* .cl = "OpenCL"

## Rust
* .rs = "Rust"

## Zig
* .zig = "Zig"

## Swift
* .swift = "Swift"

## B
* .b = "B"

## D
* .d = "D"
* .di = "D"
* .dd = "D"

## Go
* .go = "Go"

## Assembly
* .asm = "Assembly"
* .S = "Assembly"
* .s = "Assembly"

## Linker
* .ld = "Linker script"

## Haskell
* .hs = "Haskell"
* .lhs = "Haskell"

# Interpreted or JIT compiled

## Python
* .py = "Python"

## Lua
* .lua = "Lua"


## Java
* .java = "Java"

## Scala
* .sc = "Scala"
* .scala = "Scala"

## C#
* .cs = "C#"

## F#
* .fs = "F#"
* .fsi = "F#"
* .fsx = "F#"

## Kotlin
* .kt = "Kotlin"
* .kts = "Kotlin"

## JavaScript
* .js = "JavaScript"
* .mjs = "JavaScript"
* .cjs = "JavaScript"
* .jsx = "JavaScript (JSX)"

## Typescript
* .ts = "TypeScript"
* .tsx = "TypeScript (JSX)"

## Vue
* .vue = "Vue"

## Svelte
* .svelte = "Svelte"

## HTML
* .html = "HTML"

## CSS
* .css = "CSS"

## PHP
* .php = "PHP"



## Shell
* .sh = "Shell"
* .bash = "Bourne Again Shell"
* .zsh = "Z Shell"



## Eiffel
* .e = "Eiffel"

## Ruby
* .rb = "Ruby"

## Perl
* .pl = "Perl"

## Config
* .json = "JSON"
* .jsonc = "JSON with comments"
* .yaml = "YAML"
* .yml = "YAML"
* .toml = "TOML"
* .ini = "INI"
* .cfg = "INI"

## others
* .sql = "SQL"
* .tbc = "TCL"
* .tcl = "TCL"
* .mk = "Makefile"
* .awk = "AWK"

# text or markup
* .md = "Markdown"
* .rst = "reStructuredText"
* .tex = "LaTeX"
* .org = "Org mode"

# exceptions or extensionles files, match the entire name of these
## Make
* Makefile = "Makefile"
* CMakeLists.txt = "CMake"
* .cmake = "CMake"
* .gradle = "Groovy"

## Git
* Dockerfile = "Docker"
* .dockerfile = "Docker"
* .gitignore = "Git"
* .gitattributes = "Git"
* .gitmodules = "Git"
