Skip to content

Commit bd32644

Browse files
authoredFeb 27, 2025··
feat: update to dprint-core 0.47 (#135)
1 parent 76e316d commit bd32644

File tree

8 files changed

+96
-89
lines changed

8 files changed

+96
-89
lines changed
 

‎.github/workflows/ci.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ jobs:
6060
- uses: actions/setup-node@v2
6161
if: matrix.config.kind == 'test_release'
6262
with:
63-
node-version: '18.x'
63+
node-version: '20.x'
6464
registry-url: 'https://registry.npmjs.org'
6565

6666
- name: Setup and test npm deployment

‎Cargo.lock

+28-46
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ harness = false
3030

3131
[dependencies]
3232
anyhow = "1.0.64"
33-
dprint-core = { version = "0.66.2", features = ["formatting"] }
33+
dprint-core = { version = "0.67.4", features = ["formatting"] }
3434
dprint-core-macros = "0.1.0"
3535
pulldown-cmark = { version = "0.11.2", default-features = false }
3636
regex = "1"

‎deployment/npm/index.test.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ const getPath = require("./index").getPath;
55

66
const buffer = require("fs").readFileSync(getPath());
77
const formatter = createFromBuffer(buffer);
8-
const result = formatter.formatText("file.md", "# Hello");
8+
const result = formatter.formatText({
9+
filePath: "file.md",
10+
fileText: "# Hello",
11+
});
912

1013
assert.strictEqual(result, "# Hello\n");

‎deployment/npm/package-lock.json

+16-7
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎deployment/npm/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,6 @@
2424
"test": "node index.test.js"
2525
},
2626
"devDependencies": {
27-
"@dprint/formatter": "~0.1.4"
27+
"@dprint/formatter": "~0.4.0"
2828
}
2929
}

‎rust-toolchain.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
[toolchain]
2-
channel = "1.74.0"
2+
channel = "1.85.0"
33
components = ["clippy"]

‎src/wasm_plugin.rs

+44-31
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
1-
use std::path::Path;
21
use std::path::PathBuf;
32

43
use dprint_core::configuration::ConfigKeyMap;
54
use dprint_core::configuration::GlobalConfiguration;
6-
use dprint_core::configuration::ResolveConfigurationResult;
75
use dprint_core::generate_plugin_code;
6+
use dprint_core::plugins::CheckConfigUpdatesMessage;
7+
use dprint_core::plugins::ConfigChange;
88
use dprint_core::plugins::FileMatchingInfo;
9+
use dprint_core::plugins::FormatRange;
910
use dprint_core::plugins::FormatResult;
1011
use dprint_core::plugins::PluginInfo;
12+
use dprint_core::plugins::PluginResolveConfigurationResult;
13+
use dprint_core::plugins::SyncFormatRequest;
14+
use dprint_core::plugins::SyncHostFormatRequest;
1115
use dprint_core::plugins::SyncPluginHandler;
12-
use dprint_core::plugins::SyncPluginInfo;
1316

1417
use super::configuration::resolve_config;
1518
use super::configuration::Configuration;
@@ -21,28 +24,15 @@ impl SyncPluginHandler<Configuration> for MarkdownPluginHandler {
2124
&mut self,
2225
config: ConfigKeyMap,
2326
global_config: &GlobalConfiguration,
24-
) -> ResolveConfigurationResult<Configuration> {
25-
resolve_config(config, global_config)
26-
}
27-
28-
// Markdown extensions: markdown, mdown, mkdn, mdwn, mkd, md
29-
// ref: https://superuser.com/questions/249436/file-extension-for-markdown-files/285878#285878
30-
// ref: https://github.com/denoland/deno_registry2/issues/206
31-
fn plugin_info(&mut self) -> SyncPluginInfo {
32-
let version = env!("CARGO_PKG_VERSION").to_string();
33-
SyncPluginInfo {
34-
info: PluginInfo {
35-
name: env!("CARGO_PKG_NAME").to_string(),
36-
version: version.clone(),
37-
config_key: "markdown".to_string(),
38-
help_url: "https://dprint.dev/plugins/markdown".to_string(),
39-
config_schema_url: format!(
40-
"https://plugins.dprint.dev/dprint/dprint-plugin-markdown/{}/schema.json",
41-
version
42-
),
43-
update_url: Some("https://plugins.dprint.dev/dprint/dprint-plugin-markdown/latest.json".to_string()),
44-
},
27+
) -> PluginResolveConfigurationResult<Configuration> {
28+
let config = resolve_config(config, global_config);
29+
PluginResolveConfigurationResult {
30+
config: config.config,
31+
diagnostics: config.diagnostics,
4532
file_matching: FileMatchingInfo {
33+
// Markdown extensions: markdown, mdown, mkdn, mdwn, mkd, md
34+
// ref: https://superuser.com/questions/249436/file-extension-for-markdown-files/285878#285878
35+
// ref: https://github.com/denoland/deno_registry2/issues/206
4636
file_extensions: vec![
4737
"md".to_string(),
4838
"mkd".to_string(),
@@ -56,24 +46,47 @@ impl SyncPluginHandler<Configuration> for MarkdownPluginHandler {
5646
}
5747
}
5848

49+
fn check_config_updates(&self, _message: CheckConfigUpdatesMessage) -> Result<Vec<ConfigChange>, anyhow::Error> {
50+
Ok(Vec::new())
51+
}
52+
53+
fn plugin_info(&mut self) -> PluginInfo {
54+
let version = env!("CARGO_PKG_VERSION").to_string();
55+
PluginInfo {
56+
name: env!("CARGO_PKG_NAME").to_string(),
57+
version: version.clone(),
58+
config_key: "markdown".to_string(),
59+
help_url: "https://dprint.dev/plugins/markdown".to_string(),
60+
config_schema_url: format!(
61+
"https://plugins.dprint.dev/dprint/dprint-plugin-markdown/{}/schema.json",
62+
version
63+
),
64+
update_url: Some("https://plugins.dprint.dev/dprint/dprint-plugin-markdown/latest.json".to_string()),
65+
}
66+
}
67+
5968
fn license_text(&mut self) -> String {
6069
std::str::from_utf8(include_bytes!("../LICENSE")).unwrap().into()
6170
}
6271

6372
fn format(
6473
&mut self,
65-
_file_path: &Path,
66-
file_bytes: Vec<u8>,
67-
config: &Configuration,
68-
mut format_with_host: impl FnMut(&Path, Vec<u8>, &ConfigKeyMap) -> FormatResult,
74+
request: SyncFormatRequest<Configuration>,
75+
mut format_with_host: impl FnMut(SyncHostFormatRequest) -> FormatResult,
6976
) -> FormatResult {
70-
let file_text = String::from_utf8(file_bytes)?;
71-
return super::format_text(&file_text, config, |tag, file_text, line_width| {
77+
let file_text = String::from_utf8(request.file_bytes)?;
78+
return super::format_text(&file_text, request.config, |tag, file_text, line_width| {
7279
if let Some(ext) = tag_to_extension(tag) {
7380
let file_path = PathBuf::from(format!("file.{}", ext));
7481
let mut additional_config = ConfigKeyMap::new();
7582
additional_config.insert("lineWidth".into(), (line_width as i32).into());
76-
let result = format_with_host(&file_path, file_text.to_string().into_bytes(), &additional_config);
83+
let request = SyncHostFormatRequest {
84+
file_path: &file_path,
85+
file_bytes: file_text.as_bytes(),
86+
range: FormatRange::None,
87+
override_config: &additional_config,
88+
};
89+
let result = format_with_host(request);
7790
match result {
7891
Ok(Some(bytes)) => Ok(Some(String::from_utf8(bytes)?)),
7992
Ok(None) => Ok(None),

0 commit comments

Comments
 (0)
Please sign in to comment.