Enable offset-encoding capability

This commit is contained in:
Aleksey Kladov
2021-02-13 01:26:01 +03:00
parent c8b9ec8e62
commit f3d56b89c5
5 changed files with 24 additions and 7 deletions

View File

@@ -23,7 +23,10 @@ use rustc_hash::FxHashSet;
use serde::{de::DeserializeOwned, Deserialize};
use vfs::AbsPathBuf;
use crate::{caps::completion_item_edit_resolve, diagnostics::DiagnosticsMapConfig};
use crate::{
caps::completion_item_edit_resolve, diagnostics::DiagnosticsMapConfig,
line_endings::OffsetEncoding, lsp_ext::supports_utf8,
};
config_data! {
struct ConfigData {
@@ -415,6 +418,13 @@ impl Config {
false
)
}
pub fn offset_encoding(&self) -> OffsetEncoding {
if supports_utf8(&self.caps) {
OffsetEncoding::Utf8
} else {
OffsetEncoding::Utf16
}
}
fn experimental(&self, index: &'static str) -> bool {
try_or!(self.caps.experimental.as_ref()?.get(index)?.as_bool()?, false)