59 } |
59 } |
60 |
60 |
61 |
61 |
62 /* write message */ |
62 /* write message */ |
63 |
63 |
64 def write(json: JSON.T) |
64 def write(json: JSON.T): Unit = |
65 { |
65 { |
66 val msg = JSON.Format(json) |
66 val msg = JSON.Format(json) |
67 val content = UTF8.bytes(msg) |
67 val content = UTF8.bytes(msg) |
68 val n = content.length |
68 val n = content.length |
69 val header = UTF8.bytes("Content-Length: " + n + "\r\n\r\n") |
69 val header = UTF8.bytes("Content-Length: " + n + "\r\n\r\n") |
80 /* display message */ |
80 /* display message */ |
81 |
81 |
82 def display_message(message_type: Int, msg: String, show: Boolean = true): Unit = |
82 def display_message(message_type: Int, msg: String, show: Boolean = true): Unit = |
83 write(LSP.DisplayMessage(message_type, Output.clean_yxml(msg), show)) |
83 write(LSP.DisplayMessage(message_type, Output.clean_yxml(msg), show)) |
84 |
84 |
85 def error_message(msg: String) { display_message(LSP.MessageType.Error, msg, true) } |
85 def error_message(msg: String): Unit = display_message(LSP.MessageType.Error, msg, true) |
86 def warning(msg: String) { display_message(LSP.MessageType.Warning, msg, true) } |
86 def warning(msg: String): Unit = display_message(LSP.MessageType.Warning, msg, true) |
87 def writeln(msg: String) { display_message(LSP.MessageType.Info, msg, true) } |
87 def writeln(msg: String): Unit = display_message(LSP.MessageType.Info, msg, true) |
88 |
88 |
89 def log_error_message(msg: String) { display_message(LSP.MessageType.Error, msg, false) } |
89 def log_error_message(msg: String): Unit = display_message(LSP.MessageType.Error, msg, false) |
90 def log_warning(msg: String) { display_message(LSP.MessageType.Warning, msg, false) } |
90 def log_warning(msg: String): Unit = display_message(LSP.MessageType.Warning, msg, false) |
91 def log_writeln(msg: String) { display_message(LSP.MessageType.Info, msg, false) } |
91 def log_writeln(msg: String): Unit = display_message(LSP.MessageType.Info, msg, false) |
92 |
92 |
93 object Error_Logger extends Logger |
93 object Error_Logger extends Logger |
94 { |
94 { |
95 def apply(msg: => String) { log_error_message(msg) } |
95 def apply(msg: => String): Unit = log_error_message(msg) |
96 } |
96 } |
97 |
97 |
98 |
98 |
99 /* progress */ |
99 /* progress */ |
100 |
100 |