Skip to content

Commit a51c84a

Browse files
committed
Merge logger handle to state.
1 parent ddbb8fa commit a51c84a

File tree

5 files changed

+14
-27
lines changed

5 files changed

+14
-27
lines changed

Cargo.lock

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ log = "0.4"
1111
log4rs = "0"
1212
structopt = "0"
1313
libc = "0"
14-
lazy_static = "1"
1514
chrono = { version = "0", features = ["serde"] }
1615
maplit = "1"
1716

src/languageclient.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,7 @@ impl State {
4949

5050
fn sync_settings(&mut self) -> Result<()> {
5151
let loggingLevel: String = self.eval("get(g:, 'LanguageClient_loggingLevel', 'WARN')")?;
52-
let logger = LOGGER.as_ref().map_err(|e| format_err!("{:?}", e))?;
53-
logger::set_logging_level(logger, &loggingLevel)?;
52+
logger::set_logging_level(&self.logger, &loggingLevel)?;
5453

5554
#[allow(unknown_lints)]
5655
#[allow(type_complexity)]
@@ -1797,8 +1796,7 @@ impl State {
17971796
pub fn languageClient_setLoggingLevel(&mut self, params: &Option<Params>) -> Result<Value> {
17981797
info!("Begin {}", REQUEST__SetLoggingLevel);
17991798
let (loggingLevel,): (String,) = self.gather_args(&["loggingLevel"], params)?;
1800-
let logger = LOGGER.as_ref().map_err(|e| format_err!("{:?}", e))?;
1801-
logger::set_logging_level(logger, &loggingLevel)?;
1799+
logger::set_logging_level(&self.logger, &loggingLevel)?;
18021800
info!("End {}", REQUEST__SetLoggingLevel);
18031801
Ok(Value::Null)
18041802
}

src/main.rs

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,6 @@ extern crate notify;
6666
extern crate structopt;
6767
use structopt::StructOpt;
6868

69-
#[macro_use]
70-
extern crate lazy_static;
71-
7269
mod types;
7370
use types::*;
7471
mod utils;
@@ -84,12 +81,8 @@ mod logger;
8481
#[derive(Debug, StructOpt)]
8582
struct Opt {}
8683

87-
lazy_static! {
88-
pub static ref LOGGER: Result<log4rs::Handle> = logger::init();
89-
}
90-
9184
fn run() -> Result<()> {
92-
let mut state = State::new();
85+
let mut state = State::new()?;
9386

9487
let tx = state.tx.clone();
9588
let reader_thread_name: String = "reader-main".into();
@@ -112,9 +105,6 @@ fn main() {
112105
let app = Opt::clap().version(version.as_str());
113106
let _ = app.get_matches();
114107

115-
let logger = LOGGER.as_ref().map_err(|e| format_err!("{:?}", e)).unwrap();
116-
logger::set_logging_level(logger, "info").unwrap();
117-
118108
if let Err(err) = run() {
119109
eprintln!("{:?}", err);
120110
}

src/types.rs

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ pub enum Call {
7272
Notification(Option<String>, rpc::Notification),
7373
}
7474

75-
#[derive(Debug, Serialize)]
75+
#[derive(Serialize)]
7676
pub struct State {
7777
// Program state.
7878
pub id: Id,
@@ -122,10 +122,13 @@ pub struct State {
122122
pub rootMarkers: Option<RootMarkers>,
123123
#[serde(skip_serializing)]
124124
pub change_throttle: Option<Duration>,
125+
126+
#[serde(skip_serializing)]
127+
pub logger: log4rs::Handle,
125128
}
126129

127130
impl State {
128-
pub fn new() -> State {
131+
pub fn new() -> Result<State> {
129132
// TODO: move this into LanguageClientStart.
130133
let (watcher_tx, watcher_rx) = channel();
131134
// TODO: duration configurable.
@@ -139,7 +142,9 @@ impl State {
139142

140143
let (tx, rx) = channel();
141144

142-
State {
145+
let logger = logger::init()?;
146+
147+
Ok(State {
143148
id: 0,
144149
tx,
145150
rx,
@@ -158,7 +163,7 @@ impl State {
158163
signs: HashMap::new(),
159164
highlight_source: None,
160165
user_handlers: HashMap::new(),
161-
watcher_rx: watcher_rx,
166+
watcher_rx,
162167
watcher,
163168

164169
is_nvim: false,
@@ -178,13 +183,9 @@ impl State {
178183
loadSettings: false,
179184
rootMarkers: None,
180185
change_throttle: None,
181-
}
182-
}
183-
}
184186

185-
impl Default for State {
186-
fn default() -> Self {
187-
Self::new()
187+
logger,
188+
})
188189
}
189190
}
190191

0 commit comments

Comments
 (0)