lib/theme_check/language_server/server.rb in theme-check-0.4.0 vs lib/theme_check/language_server/server.rb in theme-check-0.5.0
- old
+ new
@@ -8,25 +8,29 @@
class DoneStreaming < StandardError; end
class IncompatibleStream < StandardError; end
class Server
attr_reader :handler
+ attr_reader :should_raise_errors
def initialize(
in_stream: STDIN,
out_stream: STDOUT,
- err_stream: $DEBUG ? File.open('/tmp/lsp.log', 'a') : STDERR
+ err_stream: $DEBUG ? File.open('/tmp/lsp.log', 'a') : STDERR,
+ should_raise_errors: false
)
validate!([in_stream, out_stream, err_stream])
@handler = Handler.new(self)
@in = in_stream
@out = out_stream
@err = err_stream
@out.sync = true # do not buffer
@err.sync = true # do not buffer
+
+ @should_raise_errors = should_raise_errors
end
def listen
loop do
process_request
@@ -35,9 +39,10 @@
rescue SignalException, DoneStreaming
cleanup
return 0
rescue Exception => e # rubocop:disable Lint/RescueException
+ raise e if should_raise_errors
log(e)
log(e.backtrace)
return 1
end
end