mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
86 lines
1.8 KiB
Kotlin
86 lines
1.8 KiB
Kotlin
package com.jetbrains.lsp.protocol
|
|
|
|
import kotlinx.serialization.Serializable
|
|
|
|
/**
|
|
* @see <a href="https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#logMessageParams">logMessageParams (LSP spec)</a>
|
|
*/
|
|
@Serializable
|
|
data class LogMessageParams(
|
|
/**
|
|
* The message type. See {@link MessageType}
|
|
*/
|
|
val type: MessageType,
|
|
|
|
/**
|
|
* The actual message
|
|
*/
|
|
val message: String,
|
|
)
|
|
|
|
@Serializable
|
|
data class ShowMessageParams(
|
|
/**
|
|
* The message type. See {@link MessageType}
|
|
*/
|
|
val type: MessageType,
|
|
|
|
/**
|
|
* The actual message
|
|
*/
|
|
val message: String,
|
|
)
|
|
|
|
@Serializable(with = MessageType.Serializer::class)
|
|
enum class MessageType(val value: Int) {
|
|
/**
|
|
* An error message.
|
|
*/
|
|
Error(1),
|
|
|
|
/**
|
|
* A warning message.
|
|
*/
|
|
Warning(2),
|
|
|
|
/**
|
|
* An information message.
|
|
*/
|
|
Info(3),
|
|
|
|
/**
|
|
* A log message.
|
|
*/
|
|
Log(4),
|
|
|
|
/**
|
|
* A debug message.
|
|
*
|
|
* @since 3.18.0
|
|
* @proposed
|
|
*/
|
|
Debug(5);
|
|
|
|
internal class Serializer : EnumAsIntSerializer<MessageType>(
|
|
serialName = MessageType::class.simpleName!!,
|
|
serialize = MessageType::value,
|
|
deserialize = { entries[it - 1] },
|
|
)
|
|
}
|
|
|
|
/**
|
|
* @see <a href="https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#window_logMessage">window/logMessage (LSP spec)</a>
|
|
*/
|
|
val LogMessageNotificationType: NotificationType<LogMessageParams> = NotificationType(
|
|
method = "window/logMessage",
|
|
paramsSerializer = LogMessageParams.serializer(),
|
|
)
|
|
|
|
/**
|
|
* @see <a href="https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#window_showMessage">window/showMessage (LSP spec)</a>
|
|
*/
|
|
val ShowMessageNotificationType: NotificationType<ShowMessageParams> = NotificationType(
|
|
method = "window/showMessage",
|
|
paramsSerializer = ShowMessageParams.serializer(),
|
|
)
|