]> source.dussan.org Git - gitea.git/commitdiff
Add a lot of extension to language mappings for syntax highlights (#7741)
authorsilverwind <me@silverwind.io>
Mon, 5 Aug 2019 15:48:31 +0000 (17:48 +0200)
committerLunny Xiao <xiaolunwen@gmail.com>
Mon, 5 Aug 2019 15:48:31 +0000 (23:48 +0800)
Data partially based on [CodeMirror's meta.js](https://github.com/codemirror/CodeMirror/blob/master/mode/meta.js).

Fixes: https://github.com/go-gitea/gitea/issues/6057
modules/highlight/highlight.go

index 4334480566f7c955bbd3bce2b35a20b4afdc030c..ffd88656aec3a19428356fb8df772188daa95056 100644 (file)
@@ -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",
        }
 )