autocorrect 1.10.7

A linter and formatter for help you improve copywriting, to correct spaces, words, punctuations between CJK (Chinese, Japanese, Korean).
Documentation
newline = ${ "\n" | "\r" }
space = ${ " "+ }

other = ${ !(string) ~ ANY }
comment = ${ single_line_comment | multiline_comment }
single_line_comment = _{ "//" ~ (!(newline) ~ ANY)* }
multiline_comment = _{ "/*" ~ (!("*/") ~ ANY)* ~ "*/"}

string = ${ 
  string_val
}

string_val = _{
  ("`" ~ (!("`" | string_verb) ~ ANY)* ~ "`") 
  | ("\"" ~ (!(newline | "\"" | string_verb) ~ ANY)* ~ "\"") 
}

regexp = ${
  ("regexp." ~ (ASCII_ALPHA)+ ~ "(" ~ " "* ~ string_val ~ (!")" ~ ANY)* ~ ")")
}
timeparse = ${
  ("time." ~ (ASCII_ALPHA)+ ~ "(" ~ " "* ~ string_val ~ (!")" ~ ANY)* ~ ")")
}

string_verb = { "%" ~ ("s" | "q" | "v") }
line = _{ regexp | timeparse | string | comment | space | other | newline }
item = _{ SOI ~ line* ~ EOI }