From 219d2c25156a496ed2923d4cef256352bb1302e5 Mon Sep 17 00:00:00 2001
From: PiergiorgioZagaria
Date: Thu, 4 Aug 2022 06:01:48 +0200
Subject: Change default formatter for any language (#2942)
* Change default formatter for any language
* Fix clippy error
* Close stdin for Stdio formatters
* Better indentation and pattern matching
* Return Result> for fn format instead of Option
* Remove unwrap for stdin
* Handle FormatterErrors instead of Result >
* Use Transaction instead of LspFormatting
* Use Transaction directly in Document::format
* Perform stdin type formatting asynchronously
* Rename formatter.type values to kebab-case
* Debug format for displaying io::ErrorKind (msrv fix)
* Solve conflict?
* Use only stdio type formatters
* Remove FormatterType enum
* Remove old comment
* Check if the formatter exited correctly
* Add formatter configuration to the book
* Avoid allocations when writing to stdin and formatting errors
* Remove unused import
Co-authored-by: Gokul Soumya ---
helix-core/src/syntax.rs | 12 ++++++++++++
1 file changed, 12 insertions(+)
(limited to 'helix-core/src')
diff --git a/helix-core/src/syntax.rs b/helix-core/src/syntax.rs
index 79570faa..4188d148 100644
--- a/helix-core/src/syntax.rs
+++ b/helix-core/src/syntax.rs
@@ -79,6 +79,9 @@ pub struct LanguageConfiguration {
#[serde(default)]
pub auto_format: bool,
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub formatter: Option,
+
#[serde(default)]
pub diagnostic_severity: Severity,
@@ -126,6 +129,15 @@ pub struct LanguageServerConfiguration {
pub language_id: Option,
}
+#[derive(Debug, Clone, Serialize, Deserialize)]
+#[serde(rename_all = "kebab-case")]
+pub struct FormatterConfiguration {
+ pub command: String,
+ #[serde(default)]
+ #[serde(skip_serializing_if = "Vec::is_empty")]
+ pub args: Vec,
+}
+
#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
#[serde(rename_all = "kebab-case")]
pub struct AdvancedCompletion {
--
cgit v1.2.3-70-g09d2