mirror of
https://github.com/laravel-ls/protocol.git
synced 2026-06-26 20:43:39 +02:00
adding LSP rcp error codes
This commit is contained in:
parent
3ce51072ee
commit
59661d5961
2 changed files with 89 additions and 0 deletions
51
rpc.go
Normal file
51
rpc.go
Normal file
|
|
@ -0,0 +1,51 @@
|
||||||
|
package protocol
|
||||||
|
|
||||||
|
// Range of the LSP code space
|
||||||
|
const (
|
||||||
|
LspReservedErrorRangeStart = -32899
|
||||||
|
LspReservedErrorRangeEnd = -32800
|
||||||
|
)
|
||||||
|
|
||||||
|
// LSP Specific error codes used with JSON RPC.
|
||||||
|
const (
|
||||||
|
// Error code indicating that a server received a notification or
|
||||||
|
// request before the server received the `initialize` request.
|
||||||
|
//
|
||||||
|
// For backwards compatibility these codes are not in the LSP range.
|
||||||
|
RPCServerNotInitialized int64 = -32002
|
||||||
|
RPCUnknownErrorCode int64 = -32001
|
||||||
|
|
||||||
|
// A request failed but it was syntactically correct, e.g the
|
||||||
|
// method name was known and the parameters were valid. The error
|
||||||
|
// message should contain human readable information about why
|
||||||
|
// the request failed.
|
||||||
|
//
|
||||||
|
// @since 3.17.0
|
||||||
|
RPCRequestFailed int64 = -32803
|
||||||
|
|
||||||
|
// The server detected that the content of a document got
|
||||||
|
// modified outside normal conditions. A server should
|
||||||
|
// NOT send this error code if it detects a content change
|
||||||
|
// in its unprocessed messages. The result even computed
|
||||||
|
// on an older state might still be useful for the client.
|
||||||
|
//
|
||||||
|
// If a client decides that a result is not of any use anymore
|
||||||
|
// the client should cancel the request.
|
||||||
|
RPCContentModified int64 = -32801
|
||||||
|
|
||||||
|
// The client has canceled a request and a server has detected
|
||||||
|
// the cancel.
|
||||||
|
RPCRequestCancelled int64 = -32800
|
||||||
|
)
|
||||||
|
|
||||||
|
func IsLspRPCErrorCode(code int64) bool {
|
||||||
|
if code >= LspReservedErrorRangeStart && code <= LspReservedErrorRangeEnd {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
if code == RPCServerNotInitialized || code == RPCUnknownErrorCode {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
38
rpc_test.go
Normal file
38
rpc_test.go
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
package protocol_test
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/laravel-ls/protocol"
|
||||||
|
)
|
||||||
|
|
||||||
|
func Test_IsLspRPCErrorCode(t *testing.T) {
|
||||||
|
if protocol.IsLspRPCErrorCode(5000) {
|
||||||
|
t.Errorf("5000 is not a valid code, but function returned true")
|
||||||
|
}
|
||||||
|
|
||||||
|
if protocol.IsLspRPCErrorCode(-9000) {
|
||||||
|
t.Errorf("-9000 is not a valid code, but function returned true")
|
||||||
|
}
|
||||||
|
|
||||||
|
if protocol.IsLspRPCErrorCode(-32899) == false {
|
||||||
|
t.Errorf("-32899 is a valid code, but function returned false")
|
||||||
|
}
|
||||||
|
|
||||||
|
if protocol.IsLspRPCErrorCode(-32840) == false {
|
||||||
|
t.Errorf("-32840 is a valid code, but function returned false")
|
||||||
|
}
|
||||||
|
|
||||||
|
if protocol.IsLspRPCErrorCode(-32800) == false {
|
||||||
|
t.Errorf("-32800 is a valid code, but function returned false")
|
||||||
|
}
|
||||||
|
|
||||||
|
// Exception
|
||||||
|
if protocol.IsLspRPCErrorCode(-32001) == false {
|
||||||
|
t.Errorf("-32001 is a valid code, but function returned false")
|
||||||
|
}
|
||||||
|
|
||||||
|
if protocol.IsLspRPCErrorCode(-32002) == false {
|
||||||
|
t.Errorf("-32002 is a valid code, but function returned false")
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue