mirror of
https://github.com/Myzel394/config-lsp.git
synced 2025-06-18 23:15:26 +02:00
44 lines
725 B
Go
44 lines
725 B
Go
package common
|
|
|
|
import (
|
|
"config-lsp/utils"
|
|
|
|
protocol "github.com/tliron/glsp/protocol_3_16"
|
|
)
|
|
|
|
type LSPError struct {
|
|
Range LocationRange
|
|
Err error
|
|
}
|
|
|
|
func (l LSPError) ToDiagnostic() protocol.Diagnostic {
|
|
return protocol.Diagnostic{
|
|
Range: l.Range.ToLSPRange(),
|
|
Message: l.Err.Error(),
|
|
}
|
|
}
|
|
|
|
func (l LSPError) ShiftCharacter(offset uint32) LSPError {
|
|
return LSPError{
|
|
Range: l.Range.ShiftHorizontal(offset),
|
|
Err: l.Err,
|
|
}
|
|
}
|
|
|
|
type SyntaxError struct {
|
|
Message string
|
|
}
|
|
|
|
func (s SyntaxError) Error() string {
|
|
return s.Message
|
|
}
|
|
|
|
func ErrsToDiagnostics(errs []LSPError) []protocol.Diagnostic {
|
|
return utils.Map(
|
|
errs,
|
|
func(err LSPError) protocol.Diagnostic {
|
|
return err.ToDiagnostic()
|
|
},
|
|
)
|
|
}
|