@@ -95,6 +95,11 @@ type Diagnostic struct {
95
95
// Message is the diagnostic's message.
96
96
Message string `json:"message"`
97
97
98
+ // Tags is the additional metadata about the diagnostic.
99
+ //
100
+ // @since 3.15.0.
101
+ Tags []DiagnosticTag `json:"tags,omitempty"`
102
+
98
103
// RelatedInformation an array of related diagnostic information, e.g. when symbol-names within
99
104
// a scope collide all definitions can be marked via this property.
100
105
RelatedInformation []DiagnosticRelatedInformation `json:"relatedInformation,omitempty"`
@@ -133,6 +138,37 @@ func (d DiagnosticSeverity) String() string {
133
138
}
134
139
}
135
140
141
+ // DiagnosticTag is the diagnostic tags.
142
+ //
143
+ // @since 3.15.0.
144
+ type DiagnosticTag float64
145
+
146
+ // list of DiagnosticTag.
147
+ const (
148
+ // DiagnosticUnnecessary unused or unnecessary code.
149
+ //
150
+ // Clients are allowed to render diagnostics with this tag faded out instead of having
151
+ // an error squiggle.
152
+ DiagnosticUnnecessary DiagnosticTag = 1
153
+
154
+ // DiagnosticDeprecated deprecated or obsolete code.
155
+ //
156
+ // Clients are allowed to rendered diagnostics with this tag strike through.
157
+ DiagnosticDeprecated DiagnosticTag = 2
158
+ )
159
+
160
+ // String implements fmt.Stringer.
161
+ func (d DiagnosticTag ) String () string {
162
+ switch d {
163
+ case DiagnosticUnnecessary :
164
+ return "Unnecessary"
165
+ case DiagnosticDeprecated :
166
+ return "Deprecated"
167
+ default :
168
+ return strconv .FormatFloat (float64 (d ), 'f' , - 10 , 64 )
169
+ }
170
+ }
171
+
136
172
// DiagnosticRelatedInformation represents a related message and source code location for a diagnostic.
137
173
//
138
174
// This should be used to point to code locations that cause or related to a diagnostics, e.g when duplicating
@@ -312,6 +348,9 @@ type TextDocumentItem struct {
312
348
type LanguageIdentifier string
313
349
314
350
const (
351
+ // ABAPLanguage ABAP Language.
352
+ ABAPLanguage LanguageIdentifier = "abap"
353
+
315
354
// BatLanguage Windows Bat Language.
316
355
BatLanguage LanguageIdentifier = "bat"
317
356
@@ -321,8 +360,8 @@ const (
321
360
// ClojureLanguage Clojure Language.
322
361
ClojureLanguage LanguageIdentifier = "clojure"
323
362
324
- // CoffeescriptLanguage Coffeescript Language.
325
- CoffeescriptLanguage LanguageIdentifier = "coffeescript"
363
+ // CoffeescriptLanguage CoffeeScript Language.
364
+ CoffeeScriptLanguage LanguageIdentifier = "coffeescript"
326
365
327
366
// CLanguage C Language.
328
367
CLanguage LanguageIdentifier = "c"
@@ -345,6 +384,12 @@ const (
345
384
// DockerfileLanguage Dockerfile Language.
346
385
DockerfileLanguage LanguageIdentifier = "dockerfile"
347
386
387
+ // ElixirLanguage Elixir Language.
388
+ ElixirLanguage LanguageIdentifier = "elixir"
389
+
390
+ // ErlangLanguage Erlang Language.
391
+ ErlangLanguage LanguageIdentifier = "erlang"
392
+
348
393
// FsharpLanguage F# Language.
349
394
FsharpLanguage LanguageIdentifier = "fsharp"
350
395
@@ -375,6 +420,9 @@ const (
375
420
// JavaScriptLanguage JavaScript Language.
376
421
JavaScriptLanguage LanguageIdentifier = "javascript"
377
422
423
+ // JavaScriptReactLanguage JavaScript React Language.
424
+ JavaScriptReactLanguage LanguageIdentifier = "javascriptreact"
425
+
378
426
// JSONLanguage JSON Language.
379
427
JSONLanguage LanguageIdentifier = "json"
380
428
@@ -429,11 +477,11 @@ const (
429
477
// RustLanguage Rust Language.
430
478
RustLanguage LanguageIdentifier = "rust"
431
479
432
- // ScssLanguage Sass Language .
433
- ScssLanguage LanguageIdentifier = "scss"
480
+ // SCSSLanguage SCSS Languages syntax using curly brackets .
481
+ SCSSLanguage LanguageIdentifier = "scss"
434
482
435
- // SassLanguage Sass Language .
436
- SassLanguage LanguageIdentifier = "sass"
483
+ // SASSLanguage SCSS Languages indented syntax .
484
+ SASSLanguage LanguageIdentifier = "sass"
437
485
438
486
// ScalaLanguage Scala Language.
439
487
ScalaLanguage LanguageIdentifier = "scala"
@@ -453,8 +501,11 @@ const (
453
501
// TypeScriptLanguage TypeScript Language.
454
502
TypeScriptLanguage LanguageIdentifier = "typescript"
455
503
456
- // TexLanguage TeX Language.
457
- TexLanguage LanguageIdentifier = "tex"
504
+ // TypeScriptReactLanguage TypeScript React Language.
505
+ TypeScriptReactLanguage LanguageIdentifier = "typescriptreact"
506
+
507
+ // TeXLanguage TeX Language.
508
+ TeXLanguage LanguageIdentifier = "tex"
458
509
459
510
// VBLanguage Visual Basic Language.
460
511
VBLanguage LanguageIdentifier = "vb"
@@ -471,58 +522,63 @@ const (
471
522
472
523
// languageIdentifierMap map of LanguageIdentifiers.
473
524
var languageIdentifierMap = map [string ]LanguageIdentifier {
474
- "bat" : BatLanguage ,
475
- "bibtex" : BibtexLanguage ,
476
- "clojure" : ClojureLanguage ,
477
- "coffeescript" : CoffeescriptLanguage ,
478
- "c" : CLanguage ,
479
- "cpp" : CppLanguage ,
480
- "csharp" : CsharpLanguage ,
481
- "css" : CSSLanguage ,
482
- "diff" : DiffLanguage ,
483
- "dart" : DartLanguage ,
484
- "dockerfile" : DockerfileLanguage ,
485
- "fsharp" : FsharpLanguage ,
486
- "git-commit" : GitCommitLanguage ,
487
- "git-rebase" : GitRebaseLanguage ,
488
- "go" : GoLanguage ,
489
- "groovy" : GroovyLanguage ,
490
- "handlebars" : HandlebarsLanguage ,
491
- "html" : HTMLLanguage ,
492
- "ini" : IniLanguage ,
493
- "java" : JavaLanguage ,
494
- "javascript" : JavaScriptLanguage ,
495
- "json" : JSONLanguage ,
496
- "latex" : LatexLanguage ,
497
- "less" : LessLanguage ,
498
- "lua" : LuaLanguage ,
499
- "makefile" : MakefileLanguage ,
500
- "markdown" : MarkdownLanguage ,
501
- "objective-c" : ObjectiveCLanguage ,
502
- "objective-cpp" : ObjectiveCppLanguage ,
503
- "perl" : PerlLanguage ,
504
- "perl6" : Perl6Language ,
505
- "php" : PHPLanguage ,
506
- "powershell" : PowershellLanguage ,
507
- "jade" : JadeLanguage ,
508
- "python" : PythonLanguage ,
509
- "r" : RLanguage ,
510
- "razor" : RazorLanguage ,
511
- "ruby" : RubyLanguage ,
512
- "rust" : RustLanguage ,
513
- "scss" : ScssLanguage ,
514
- "sass" : SassLanguage ,
515
- "scala" : ScalaLanguage ,
516
- "shaderlab" : ShaderlabLanguage ,
517
- "shellscript" : ShellscriptLanguage ,
518
- "sql" : SQLLanguage ,
519
- "swift" : SwiftLanguage ,
520
- "typescript" : TypeScriptLanguage ,
521
- "tex" : TexLanguage ,
522
- "vb" : VBLanguage ,
523
- "xml" : XMLLanguage ,
524
- "xsl" : XslLanguage ,
525
- "yaml" : YamlLanguage ,
525
+ "abap" : ABAPLanguage ,
526
+ "bat" : BatLanguage ,
527
+ "bibtex" : BibtexLanguage ,
528
+ "clojure" : ClojureLanguage ,
529
+ "coffeescript" : CoffeeScriptLanguage ,
530
+ "c" : CLanguage ,
531
+ "cpp" : CppLanguage ,
532
+ "csharp" : CsharpLanguage ,
533
+ "css" : CSSLanguage ,
534
+ "diff" : DiffLanguage ,
535
+ "dart" : DartLanguage ,
536
+ "dockerfile" : DockerfileLanguage ,
537
+ "elixir" : ElixirLanguage ,
538
+ "erlang" : ErlangLanguage ,
539
+ "fsharp" : FsharpLanguage ,
540
+ "git-commit" : GitCommitLanguage ,
541
+ "git-rebase" : GitRebaseLanguage ,
542
+ "go" : GoLanguage ,
543
+ "groovy" : GroovyLanguage ,
544
+ "handlebars" : HandlebarsLanguage ,
545
+ "html" : HTMLLanguage ,
546
+ "ini" : IniLanguage ,
547
+ "java" : JavaLanguage ,
548
+ "javascript" : JavaScriptLanguage ,
549
+ "javascriptreact" : JavaScriptReactLanguage ,
550
+ "json" : JSONLanguage ,
551
+ "latex" : LatexLanguage ,
552
+ "less" : LessLanguage ,
553
+ "lua" : LuaLanguage ,
554
+ "makefile" : MakefileLanguage ,
555
+ "markdown" : MarkdownLanguage ,
556
+ "objective-c" : ObjectiveCLanguage ,
557
+ "objective-cpp" : ObjectiveCppLanguage ,
558
+ "perl" : PerlLanguage ,
559
+ "perl6" : Perl6Language ,
560
+ "php" : PHPLanguage ,
561
+ "powershell" : PowershellLanguage ,
562
+ "jade" : JadeLanguage ,
563
+ "python" : PythonLanguage ,
564
+ "r" : RLanguage ,
565
+ "razor" : RazorLanguage ,
566
+ "ruby" : RubyLanguage ,
567
+ "rust" : RustLanguage ,
568
+ "scss" : SCSSLanguage ,
569
+ "sass" : SASSLanguage ,
570
+ "scala" : ScalaLanguage ,
571
+ "shaderlab" : ShaderlabLanguage ,
572
+ "shellscript" : ShellscriptLanguage ,
573
+ "sql" : SQLLanguage ,
574
+ "swift" : SwiftLanguage ,
575
+ "typescript" : TypeScriptLanguage ,
576
+ "typescriptreact" : TypeScriptReactLanguage ,
577
+ "tex" : TeXLanguage ,
578
+ "vb" : VBLanguage ,
579
+ "xml" : XMLLanguage ,
580
+ "xsl" : XslLanguage ,
581
+ "yaml" : YamlLanguage ,
526
582
}
527
583
528
584
// ToLanguageIdentifier converts ft to LanguageIdentifier.
0 commit comments