Skip to content

Commit 76a9c8b

Browse files
authored
Merge pull request #15 from mtsmfm/log-with-color
Log with color
2 parents 3459897 + c35f6b6 commit 76a9c8b

File tree

2 files changed

+38
-5
lines changed

2 files changed

+38
-5
lines changed

lib/language_server.rb

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
require "language_server/version"
2+
require "language_server/logger"
23
require "language_server/protocol/interfaces"
34
require "language_server/protocol/constants"
45
require "language_server/protocol/stdio"
@@ -9,14 +10,9 @@
910
require "language_server/project"
1011

1112
require "json"
12-
require "logger"
1313

1414
module LanguageServer
1515
class << self
16-
def logger
17-
@logger ||= Logger.new(STDERR)
18-
end
19-
2016
def run
2117
writer = Protocol::Stdio::Writer.new
2218
reader = Protocol::Stdio::Reader.new

lib/language_server/logger.rb

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
require 'logger'
2+
3+
module LanguageServer
4+
class << self
5+
def logger
6+
@logger ||= ::Logger.new(STDERR, formatter: Formatter.new)
7+
end
8+
end
9+
10+
class Formatter
11+
RESET = "\e[0m"
12+
RED = "\e[31m"
13+
YELLOW = "\e[33m"
14+
15+
def call(severity, *rest)
16+
msg = default_message(severity, *rest)
17+
case severity
18+
when 'ERROR'
19+
RED + msg + RESET
20+
when 'WARN'
21+
YELLOW + msg + RESET
22+
else
23+
msg
24+
end
25+
end
26+
27+
private
28+
29+
def default_message(*args)
30+
default_formatter.call(*args)
31+
end
32+
33+
def default_formatter
34+
@default_formatter ||= ::Logger::Formatter.new
35+
end
36+
end
37+
end

0 commit comments

Comments
 (0)