aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe-external-packages
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-08-09 11:20:24 +0900
committernsfisis <nsfisis@gmail.com>2026-08-09 11:20:24 +0900
commita8a4b54b90e6433cf4a25a88a4765243f831ebef (patch)
tree91cceee5d792c6973e7a053a36d60441ce30bf64 /crates/shirabe-external-packages
parent6051927c8fa32cfffa102d2a170c5a6cf747a1b9 (diff)
downloadphp-shirabe-a8a4b54b90e6433cf4a25a88a4765243f831ebef.tar.gz
php-shirabe-a8a4b54b90e6433cf4a25a88a4765243f831ebef.tar.zst
php-shirabe-a8a4b54b90e6433cf4a25a88a4765243f831ebef.zip
refactor(seld-json-lint): extract seld/json_lint into the shirabe-seld-json-lint crate
Move `Seld\JsonLint` out of shirabe-external-packages and into its own crate, so the path is `shirabe_seld_json_lint::ParsingException` instead of `shirabe_external_packages::seld::json_lint::ParsingException`. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe-external-packages')
-rw-r--r--crates/shirabe-external-packages/src/seld.rs2
-rw-r--r--crates/shirabe-external-packages/src/seld/json_lint.rs15
-rw-r--r--crates/shirabe-external-packages/src/seld/json_lint/parsing_exception.rs45
3 files changed, 0 insertions, 62 deletions
diff --git a/crates/shirabe-external-packages/src/seld.rs b/crates/shirabe-external-packages/src/seld.rs
index b7c12c45..ffe32e07 100644
--- a/crates/shirabe-external-packages/src/seld.rs
+++ b/crates/shirabe-external-packages/src/seld.rs
@@ -1,5 +1,3 @@
-pub mod json_lint;
pub mod signal;
-pub use json_lint::*;
pub use signal::*;
diff --git a/crates/shirabe-external-packages/src/seld/json_lint.rs b/crates/shirabe-external-packages/src/seld/json_lint.rs
deleted file mode 100644
index 2165c8f2..00000000
--- a/crates/shirabe-external-packages/src/seld/json_lint.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-//! Partial port of seld/jsonlint.
-//!
-//! The parser, lexer, and duplicate-key exception (`JsonParser`, `Lexer`,
-//! `DuplicateKeyException`) are intentionally not ported: JSON syntax validation now relies on
-//! serde_json, and duplicate-key detection is done with a hand-written serde visitor, so
-//! jsonlint's own parsing machinery is no longer needed.
-//!
-//! `ParsingException` is kept because it is the exception type thrown for invalid JSON and is
-//! matched (via downcast) across the codebase as an error-kind signal; it also carries detail
-//! such as the error line. Porting it keeps both the thrown exception class and the information
-//! it carries unchanged.
-
-pub mod parsing_exception;
-
-pub use parsing_exception::*;
diff --git a/crates/shirabe-external-packages/src/seld/json_lint/parsing_exception.rs b/crates/shirabe-external-packages/src/seld/json_lint/parsing_exception.rs
deleted file mode 100644
index 9d3eaa57..00000000
--- a/crates/shirabe-external-packages/src/seld/json_lint/parsing_exception.rs
+++ /dev/null
@@ -1,45 +0,0 @@
-//! ref: composer/vendor/seld/jsonlint/src/Seld/JsonLint/ParsingException.php
-
-#[derive(Debug, Clone, Default)]
-pub struct ParsingExceptionLoc {
- pub first_line: i64,
- pub first_column: i64,
- pub last_line: i64,
- pub last_column: i64,
-}
-
-#[derive(Debug, Clone)]
-pub enum ParsingExceptionToken {
- Name(String),
- Symbol(i64),
-}
-
-#[derive(Debug, Clone, Default)]
-pub struct ParsingExceptionDetails {
- pub text: Option<String>,
- pub token: Option<ParsingExceptionToken>,
- pub line: Option<i64>,
- pub loc: Option<ParsingExceptionLoc>,
- pub expected: Option<Vec<String>>,
-}
-
-#[derive(Debug)]
-pub struct ParsingException {
- inner: shirabe_php_shim::Exception,
- pub(crate) details: Box<ParsingExceptionDetails>,
-}
-
-impl ParsingException {
- pub fn new(message: String, details: ParsingExceptionDetails) -> Self {
- Self {
- inner: shirabe_php_shim::Exception::new(message),
- details: Box::new(details),
- }
- }
-
- pub fn get_details(&self) -> &ParsingExceptionDetails {
- &self.details
- }
-}
-
-shirabe_php_shim::impl_php_exception!(ParsingException, inner, r"Seld\JsonLint\ParsingException");