Reparse unknown injection ranges in buffer when adding a new language
This commit is contained in:
parent
f3509824e8
commit
c48e3f3d05
4 changed files with 129 additions and 76 deletions
|
@ -422,6 +422,7 @@ pub struct LanguageRegistry {
|
|||
>,
|
||||
subscription: RwLock<(watch::Sender<()>, watch::Receiver<()>)>,
|
||||
theme: RwLock<Option<Arc<Theme>>>,
|
||||
version: AtomicUsize,
|
||||
}
|
||||
|
||||
impl LanguageRegistry {
|
||||
|
@ -436,6 +437,7 @@ impl LanguageRegistry {
|
|||
lsp_binary_paths: Default::default(),
|
||||
subscription: RwLock::new(watch::channel()),
|
||||
theme: Default::default(),
|
||||
version: Default::default(),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -449,6 +451,7 @@ impl LanguageRegistry {
|
|||
language.set_theme(&theme.editor.syntax);
|
||||
}
|
||||
self.languages.write().push(language);
|
||||
self.version.fetch_add(1, SeqCst);
|
||||
*self.subscription.write().0.borrow_mut() = ();
|
||||
}
|
||||
|
||||
|
@ -456,6 +459,10 @@ impl LanguageRegistry {
|
|||
self.subscription.read().1.clone()
|
||||
}
|
||||
|
||||
pub fn version(&self) -> usize {
|
||||
self.version.load(SeqCst)
|
||||
}
|
||||
|
||||
pub fn set_theme(&self, theme: Arc<Theme>) {
|
||||
*self.theme.write() = Some(theme.clone());
|
||||
for language in self.languages.read().iter() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue