Make language_settings take a language, not a language name

This commit is contained in:
Max Brunsfeld 2023-05-31 15:10:30 -07:00
parent 03a351fb26
commit 0dd7694ff5
10 changed files with 41 additions and 60 deletions

View file

@ -272,12 +272,11 @@ impl DisplayMap {
}
fn tab_size(buffer: &ModelHandle<MultiBuffer>, cx: &mut ModelContext<Self>) -> NonZeroU32 {
let language_name = buffer
let language = buffer
.read(cx)
.as_singleton()
.and_then(|buffer| buffer.read(cx).language())
.map(|language| language.name());
language_settings(language_name.as_deref(), None, cx).tab_size
.and_then(|buffer| buffer.read(cx).language());
language_settings(language.as_deref(), None, cx).tab_size
}
#[cfg(test)]

View file

@ -3208,11 +3208,9 @@ impl Editor {
cx: &mut ViewContext<Self>,
) -> bool {
let file = snapshot.file_at(location);
let language_name = snapshot
.language_at(location)
.map(|language| language.name());
let language = snapshot.language_at(location);
let settings = all_language_settings(file, cx);
settings.copilot_enabled(language_name.as_deref(), file.map(|f| f.path().as_ref()))
settings.copilot_enabled(language, file.map(|f| f.path().as_ref()))
}
fn has_active_copilot_suggestion(&self, cx: &AppContext) -> bool {

View file

@ -1381,10 +1381,10 @@ impl MultiBuffer {
let mut file = None;
if let Some((buffer, offset)) = self.point_to_buffer_offset(point, cx) {
let buffer = buffer.read(cx);
language = buffer.language_at(offset).map(|l| l.name());
language = buffer.language_at(offset);
file = buffer.file();
}
language_settings(language.as_deref(), file, cx)
language_settings(language.as_ref(), file, cx)
}
pub fn for_each_buffer(&self, mut f: impl FnMut(&ModelHandle<Buffer>)) {
@ -2794,10 +2794,10 @@ impl MultiBufferSnapshot {
let mut language = None;
let mut file = None;
if let Some((buffer, offset)) = self.point_to_buffer_offset(point) {
language = buffer.language_at(offset).map(|l| l.name());
language = buffer.language_at(offset);
file = buffer.file();
}
language_settings(language.as_deref(), file, cx)
language_settings(language, file, cx)
}
pub fn language_scope_at<'a, T: ToOffset>(&'a self, point: T) -> Option<LanguageScope> {