mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-28 23:38:25 +01:00
Expose codepoint limit in YamlConfigOptions, and increase default
This commit is contained in:
parent
8684d2ad7e
commit
dc61471a8c
2 changed files with 27 additions and 0 deletions
|
@ -98,6 +98,7 @@ public class YamlConfiguration extends FileConfiguration {
|
||||||
public void loadFromString(@NotNull String contents) throws InvalidConfigurationException {
|
public void loadFromString(@NotNull String contents) throws InvalidConfigurationException {
|
||||||
Preconditions.checkArgument(contents != null, "Contents cannot be null");
|
Preconditions.checkArgument(contents != null, "Contents cannot be null");
|
||||||
yamlLoaderOptions.setProcessComments(options().parseComments());
|
yamlLoaderOptions.setProcessComments(options().parseComments());
|
||||||
|
yamlLoaderOptions.setCodePointLimit(options().codePointLimit()); // Paper
|
||||||
|
|
||||||
MappingNode node;
|
MappingNode node;
|
||||||
try (Reader reader = new UnicodeReader(new ByteArrayInputStream(contents.getBytes(StandardCharsets.UTF_8)))) {
|
try (Reader reader = new UnicodeReader(new ByteArrayInputStream(contents.getBytes(StandardCharsets.UTF_8)))) {
|
||||||
|
|
|
@ -12,6 +12,7 @@ import org.jetbrains.annotations.Nullable;
|
||||||
public class YamlConfigurationOptions extends FileConfigurationOptions {
|
public class YamlConfigurationOptions extends FileConfigurationOptions {
|
||||||
private int indent = 2;
|
private int indent = 2;
|
||||||
private int width = 80;
|
private int width = 80;
|
||||||
|
private int codePointLimit = Integer.MAX_VALUE; // Paper - use upstream's default from YamlConfiguration
|
||||||
|
|
||||||
protected YamlConfigurationOptions(@NotNull YamlConfiguration configuration) {
|
protected YamlConfigurationOptions(@NotNull YamlConfiguration configuration) {
|
||||||
super(configuration);
|
super(configuration);
|
||||||
|
@ -122,4 +123,29 @@ public class YamlConfigurationOptions extends FileConfigurationOptions {
|
||||||
this.width = value;
|
this.width = value;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Paper start
|
||||||
|
/**
|
||||||
|
* Gets the maximum code point limit, that being, the maximum length of the document
|
||||||
|
* in which the loader will read
|
||||||
|
*
|
||||||
|
* @return The current value
|
||||||
|
*/
|
||||||
|
public int codePointLimit() {
|
||||||
|
return codePointLimit;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the maximum code point limit, that being, the maximum length of the document
|
||||||
|
* in which the loader will read
|
||||||
|
*
|
||||||
|
* @param codePointLimit new codepoint limit
|
||||||
|
* @return This object, for chaining
|
||||||
|
*/
|
||||||
|
@NotNull
|
||||||
|
public YamlConfigurationOptions codePointLimit(int codePointLimit) {
|
||||||
|
this.codePointLimit = codePointLimit;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
// Paper end
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue