aboutsummaryrefslogtreecommitdiff
path: root/helix-core/src/syntax.rs
diff options
context:
space:
mode:
Diffstat (limited to 'helix-core/src/syntax.rs')
-rw-r--r--helix-core/src/syntax.rs34
1 files changed, 13 insertions, 21 deletions
diff --git a/helix-core/src/syntax.rs b/helix-core/src/syntax.rs
index ca20ff1a..ec21719b 100644
--- a/helix-core/src/syntax.rs
+++ b/helix-core/src/syntax.rs
@@ -1,12 +1,11 @@
use crate::{regex::Regex, Change, Rope, RopeSlice, Transaction};
pub use helix_syntax::{get_language, get_language_name, Lang};
-#[cfg(feature = "debug")]
-use std::fmt;
use std::{
borrow::Cow,
cell::RefCell,
collections::{HashMap, HashSet},
+ fmt,
path::{Path, PathBuf},
sync::Arc,
};
@@ -14,15 +13,13 @@ use std::{
use once_cell::sync::{Lazy, OnceCell};
use serde::{Deserialize, Serialize};
-#[cfg_attr(feature = "debug", derive(Debug))]
-#[derive(Serialize, Deserialize)]
+#[derive(Debug, Serialize, Deserialize)]
pub struct Configuration {
pub language: Vec<LanguageConfiguration>,
}
// largely based on tree-sitter/cli/src/loader.rs
-#[cfg_attr(feature = "debug", derive(Debug))]
-#[derive(Serialize, Deserialize)]
+#[derive(Debug, Serialize, Deserialize)]
#[serde(rename_all = "kebab-case")]
pub struct LanguageConfiguration {
#[serde(rename = "name")]
@@ -50,8 +47,7 @@ pub struct LanguageConfiguration {
pub(crate) indent_query: OnceCell<Option<IndentQuery>>,
}
-#[cfg_attr(feature = "debug", derive(Debug))]
-#[derive(Serialize, Deserialize)]
+#[derive(Debug, Serialize, Deserialize)]
#[serde(rename_all = "kebab-case")]
pub struct LanguageServerConfiguration {
pub command: String,
@@ -60,16 +56,14 @@ pub struct LanguageServerConfiguration {
pub args: Vec<String>,
}
-#[cfg_attr(feature = "debug", derive(Debug))]
-#[derive(Serialize, Deserialize)]
+#[derive(Debug, Serialize, Deserialize)]
#[serde(rename_all = "kebab-case")]
pub struct IndentationConfiguration {
pub tab_width: usize,
pub unit: String,
}
-#[cfg_attr(feature = "debug", derive(Debug))]
-#[derive(Serialize, Deserialize)]
+#[derive(Debug, Serialize, Deserialize)]
#[serde(rename_all = "kebab-case")]
pub struct IndentQuery {
#[serde(default)]
@@ -196,7 +190,7 @@ impl LanguageConfiguration {
pub static LOADER: OnceCell<Loader> = OnceCell::new();
-#[cfg_attr(feature = "debug", derive(Debug))]
+#[derive(Debug)]
pub struct Loader {
// highlight_names ?
language_configs: Vec<Arc<LanguageConfiguration>>,
@@ -264,10 +258,9 @@ pub struct TsParser {
cursors: Vec<QueryCursor>,
}
-#[cfg(feature = "debug")]
impl fmt::Debug for TsParser {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
- f.debug_struct("TsParser").finish_non_exhaustive()
+ f.debug_struct("TsParser").finish()
}
}
@@ -279,7 +272,7 @@ thread_local! {
})
}
-#[cfg_attr(feature = "debug", derive(Debug))]
+#[derive(Debug)]
pub struct Syntax {
config: Arc<HighlightConfiguration>,
@@ -460,7 +453,7 @@ impl Syntax {
// buffer_range_for_scope_at_pos
}
-#[cfg_attr(feature = "debug", derive(Debug))]
+#[derive(Debug)]
pub struct LanguageLayer {
// mode
// grammar
@@ -769,7 +762,7 @@ pub enum HighlightEvent {
/// Contains the data neeeded to higlight code written in a particular language.
///
/// This struct is immutable and can be shared between threads.
-#[cfg_attr(feature = "debug", derive(Debug))]
+#[derive(Debug)]
pub struct HighlightConfiguration {
pub language: Grammar,
pub query: Query,
@@ -800,7 +793,7 @@ struct LocalScope<'a> {
local_defs: Vec<LocalDef<'a>>,
}
-#[cfg_attr(feature = "debug", derive(Debug))]
+#[derive(Debug)]
struct HighlightIter<'a, 'tree: 'a, F>
where
F: FnMut(&str) -> Option<&'a HighlightConfiguration> + 'a,
@@ -826,10 +819,9 @@ struct HighlightIterLayer<'a, 'tree: 'a> {
depth: usize,
}
-#[cfg(feature = "debug")]
impl<'a, 'tree: 'a> fmt::Debug for HighlightIterLayer<'a, 'tree> {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
- f.debug_struct("HighlightIterLayer").finish_non_exhaustive()
+ f.debug_struct("HighlightIterLayer").finish()
}
}