Skip to content

Commit af1f55e

Browse files
committed
Return a more easily readable string from the Language's description property
1 parent 6d9b414 commit af1f55e

File tree

1 file changed

+64
-3
lines changed

1 file changed

+64
-3
lines changed

Sources/LanguageServerProtocol/SupportTypes/Language.swift

Lines changed: 64 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,71 @@ public struct Language: RawRepresentable, Codable, Equatable, Hashable {
3737
}
3838
}
3939

40-
extension Language: CustomStringConvertible {
41-
public var description: String {
40+
extension Language: CustomStringConvertible, CustomDebugStringConvertible {
41+
public var debugDescription: String {
4242
return rawValue
4343
}
44+
45+
public var description: String {
46+
switch self {
47+
case .abap: return "ABAP"
48+
case .bat: return "Windows Bat"
49+
case .bibtex: return "BibTeX"
50+
case .clojure: return "Clojure"
51+
case .coffeescript: return "Coffeescript"
52+
case .c: return "C"
53+
case .cpp: return "C++"
54+
case .csharp: return "C#"
55+
case .css: return "CSS"
56+
case .diff: return "Diff"
57+
case .dart: return "Dart"
58+
case .dockerfile: return "Dockerfile"
59+
case .fsharp: return "F#"
60+
case .git_commit: return "Git (commit)"
61+
case .git_rebase: return "Git (rebase)"
62+
case .go: return "Go"
63+
case .groovy: return "Groovy"
64+
case .handlebars: return "Handlebars"
65+
case .html: return "HTML"
66+
case .ini: return "Ini"
67+
case .java: return "Java"
68+
case .javaScript: return "JavaScript"
69+
case .javaScriptReact: return "JavaScript React"
70+
case .json: return "JSON"
71+
case .latex: return "LaTeX"
72+
case .less: return "Less"
73+
case .lua: return "Lua"
74+
case .makefile: return "Makefile"
75+
case .markdown: return "Markdown"
76+
case .objective_c: return "Objective-C"
77+
case .objective_cpp: return "Objective-C++"
78+
case .perl: return "Perl"
79+
case .perl6: return "Perl 6"
80+
case .php: return "PHP"
81+
case .powershell: return "Powershell"
82+
case .jade: return "Pug"
83+
case .python: return "Python"
84+
case .r: return "R"
85+
case .razor: return "Razor (cshtml)"
86+
case .ruby: return "Ruby"
87+
case .rust: return "Rust"
88+
case .scss: return "SCSS (syntax using curly brackets)"
89+
case .sass: return "SCSS (indented syntax)"
90+
case .scala: return "Scala"
91+
case .shaderLab: return "ShaderLab"
92+
case .shellScript: return "Shell Script (Bash)"
93+
case .sql: return "SQL"
94+
case .swift: return "Swift"
95+
case .typeScript: return "TypeScript"
96+
case .typeScriptReact: return "TypeScript React"
97+
case .tex: return "TeX"
98+
case .vb: return "Visual Basic"
99+
case .xml: return "XML"
100+
case .xsl: return "XSL"
101+
case .yaml: return "YAML"
102+
default: return rawValue
103+
}
104+
}
44105
}
45106

46107
public extension Language {
@@ -66,7 +127,7 @@ public extension Language {
66127
static let ini = Language(rawValue: "ini")
67128
static let java = Language(rawValue: "java")
68129
static let javaScript = Language(rawValue: "javascript")
69-
static let javaSriptReact = Language(rawValue: "javascriptreact")
130+
static let javaScriptReact = Language(rawValue: "javascriptreact")
70131
static let json = Language(rawValue: "json")
71132
static let latex = Language(rawValue: "latex")
72133
static let less = Language(rawValue: "less")

0 commit comments

Comments
 (0)