on master help sign in
Switch to Result for invalid language
commit75e6a6432747eae6d2255afc52f20ced6902519b authorA-Walrus <ofek.r.guy@gmail.com> dateTue 9 Aug 2022, 10:43 (4 years ago) parente8add6f
2 files changed+8−13
helix-term/src/commands/typed.rs+2−6 helix-view/src/document.rs+6−7
helix-term/src/commands/typed.rs+2−6
@@ -1254,14 +1254,10 @@ fn language(
12541254
12551255 let doc = doc_mut!(cx.editor);
12561256
1257− let loader = cx.editor.syn_loader.clone();
12581257 if args[0] == "text" {
1259− doc.set_language(None, Some(loader))
1258+ doc.set_language(None, None)
12601259 } else {
1261− let ok = doc.set_language_by_language_id(&args[0], loader);
1262− if !ok {
1263− anyhow::bail!("invalid language: {}", args[0]);
1264− }
1260+ doc.set_language_by_language_id(&args[0], cx.editor.syn_loader.clone())?;
12651261 }
12661262 doc.detect_indent_and_line_ending();
12671263
helix-view/src/document.rs+6−7
@@ -683,13 +683,12 @@ impl Document {
683683 &mut self,
684684 language_id: &str,
685685 config_loader: Arc<syntax::Loader>,
686− ) -> bool {
687− let language_config = config_loader.language_config_for_language_id(language_id);
688− if language_config.is_none() {
689− return false;
690− }
691− self.set_language(language_config, Some(config_loader));
692− true
686+ ) -> anyhow::Result<()> {
687+ let language_config = config_loader
688+ .language_config_for_language_id(language_id)
689+ .ok_or_else(|| anyhow!("invalid language id: {}", language_id))?;
690+ self.set_language(Some(language_config), Some(config_loader));
691+ Ok(())
693692 }
694693
695694 /// Set the LSP.