diff --git a/modules/highlight/highlight.go b/modules/highlight/highlight.go
index 4334480566..ffd88656ae 100644
--- a/modules/highlight/highlight.go
+++ b/modules/highlight/highlight.go
@@ -27,49 +27,93 @@ var (
 	}
 
 	// Extensions that are same as highlight classes.
+	// See hljs.listLanguages() for list of language names.
 	highlightExts = map[string]struct{}{
-		".arm":   {},
-		".as":    {},
-		".sh":    {},
-		".cs":    {},
-		".cpp":   {},
-		".c":     {},
-		".css":   {},
-		".cmake": {},
-		".bat":   {},
-		".dart":  {},
-		".patch": {},
-		".erl":   {},
-		".go":    {},
-		".html":  {},
-		".xml":   {},
-		".hs":    {},
-		".ini":   {},
-		".json":  {},
-		".java":  {},
-		".js":    {},
-		".less":  {},
-		".lua":   {},
-		".php":   {},
-		".py":    {},
-		".rb":    {},
-		".rs":    {},
-		".scss":  {},
-		".sql":   {},
-		".scala": {},
-		".swift": {},
-		".ts":    {},
-		".vb":    {},
-		".yml":   {},
-		".yaml":  {},
+		".applescript": {},
+		".arm":         {},
+		".as":          {},
+		".bash":        {},
+		".bat":         {},
+		".c":           {},
+		".cmake":       {},
+		".cpp":         {},
+		".cs":          {},
+		".css":         {},
+		".dart":        {},
+		".diff":        {},
+		".django":      {},
+		".go":          {},
+		".gradle":      {},
+		".groovy":      {},
+		".haml":        {},
+		".handlebars":  {},
+		".html":        {},
+		".ini":         {},
+		".java":        {},
+		".json":        {},
+		".less":        {},
+		".lua":         {},
+		".php":         {},
+		".scala":       {},
+		".scss":        {},
+		".sql":         {},
+		".swift":       {},
+		".ts":          {},
+		".xml":         {},
+		".yaml":        {},
 	}
 
 	// Extensions that are not same as highlight classes.
 	highlightMapping = map[string]string{
-		".txt":     "nohighlight",
+		".ahk":     "autohotkey",
+		".crmsh":   "crmsh",
+		".dash":    "shell",
+		".erl":     "erlang",
 		".escript": "erlang",
 		".ex":      "elixir",
 		".exs":     "elixir",
+		".f":       "fortran",
+		".f77":     "fortran",
+		".f90":     "fortran",
+		".f95":     "fortran",
+		".feature": "gherkin",
+		".fish":    "shell",
+		".for":     "fortran",
+		".hbs":     "handlebars",
+		".hs":      "haskell",
+		".hx":      "haxe",
+		".js":      "javascript",
+		".jsx":     "javascript",
+		".ksh":     "shell",
+		".kt":      "kotlin",
+		".l":       "ocaml",
+		".ls":      "livescript",
+		".md":      "markdown",
+		".mjs":     "javascript",
+		".mli":     "ocaml",
+		".mll":     "ocaml",
+		".mly":     "ocaml",
+		".patch":   "diff",
+		".pl":      "perl",
+		".pm":      "perl",
+		".ps1":     "powershell",
+		".psd1":    "powershell",
+		".psm1":    "powershell",
+		".py":      "python",
+		".pyw":     "python",
+		".rb":      "ruby",
+		".rs":      "rust",
+		".scpt":    "applescript",
+		".scptd":   "applescript",
+		".sh":      "bash",
+		".tcsh":    "shell",
+		".ts":      "typescript",
+		".tsx":     "typescript",
+		".txt":     "plaintext",
+		".vb":      "vbnet",
+		".vbs":     "vbscript",
+		".yml":     "yaml",
+		".zsh":     "shell",
 	}
 )