mirror of
https://github.com/lifegpc/msg-tool.git
synced 2026-06-22 20:04:20 +08:00
ks script: trim <np> at the end of message
This commit is contained in:
@@ -7,7 +7,7 @@ use anyhow::Result;
|
|||||||
use fancy_regex::Regex;
|
use fancy_regex::Regex;
|
||||||
use std::collections::HashSet;
|
use std::collections::HashSet;
|
||||||
use std::io::Write;
|
use std::io::Write;
|
||||||
use std::ops::{Deref, DerefMut};
|
use std::ops::{Deref, DerefMut, Index, IndexMut};
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
@@ -287,13 +287,36 @@ impl Node for ParsedScriptNode {
|
|||||||
#[derive(Clone, Debug)]
|
#[derive(Clone, Debug)]
|
||||||
struct ParsedScript(Vec<ParsedScriptNode>);
|
struct ParsedScript(Vec<ParsedScriptNode>);
|
||||||
|
|
||||||
impl ParsedScript {
|
impl Deref for ParsedScript {
|
||||||
fn iter(&self) -> impl Iterator<Item = &ParsedScriptNode> {
|
type Target = Vec<ParsedScriptNode>;
|
||||||
self.0.iter()
|
|
||||||
}
|
|
||||||
|
|
||||||
fn iter_mut(&mut self) -> impl Iterator<Item = &mut ParsedScriptNode> {
|
fn deref(&self) -> &Self::Target {
|
||||||
self.0.iter_mut()
|
&self.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl DerefMut for ParsedScript {
|
||||||
|
fn deref_mut(&mut self) -> &mut Self::Target {
|
||||||
|
&mut self.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Index<usize> for ParsedScript {
|
||||||
|
type Output = ParsedScriptNode;
|
||||||
|
|
||||||
|
fn index(&self, index: usize) -> &Self::Output {
|
||||||
|
&self.0[index]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl IndexMut<usize> for ParsedScript {
|
||||||
|
fn index_mut(&mut self, index: usize) -> &mut Self::Output {
|
||||||
|
if index < self.0.len() {
|
||||||
|
&mut self.0[index]
|
||||||
|
} else {
|
||||||
|
self.0.push(ParsedScriptNode::EmptyLine(EmptyLineNode));
|
||||||
|
self.0.last_mut().unwrap()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -502,7 +525,7 @@ impl Script for KsScript {
|
|||||||
if !message.is_empty() {
|
if !message.is_empty() {
|
||||||
messages.push(Message {
|
messages.push(Message {
|
||||||
name: name.clone(),
|
name: name.clone(),
|
||||||
message: message.clone(),
|
message: message.trim_end_matches("<np>").to_owned(),
|
||||||
});
|
});
|
||||||
message.clear();
|
message.clear();
|
||||||
name = None;
|
name = None;
|
||||||
|
|||||||
Reference in New Issue
Block a user