aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe-external-packages/src/symfony/console
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe-external-packages/src/symfony/console')
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/completion/completion_input.rs26
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/completion/completion_suggestions.rs14
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/completion/mod.rs3
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/completion/suggestion.rs16
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/exception/invalid_argument_exception.rs13
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/exception/mod.rs1
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/formatter/mod.rs3
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/formatter/output_formatter.rs24
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/formatter/output_formatter_interface.rs5
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/formatter/output_formatter_style.rs8
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/helper/helper_set.rs22
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/helper/mod.rs3
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/helper/question_helper.rs15
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/helper/table.rs26
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/input/array_input.rs29
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/input/input_argument.rs30
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/input/input_interface.rs19
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/input/input_option.rs46
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/input/mod.rs6
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/input/streamable_input_interface.rs7
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/input/string_input.rs29
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/mod.rs8
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/output/mod.rs2
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/output/output_interface.rs22
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/output/stream_output.rs24
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/question/mod.rs1
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/question/question.rs34
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/style/mod.rs1
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/style/symfony_style.rs96
29 files changed, 533 insertions, 0 deletions
diff --git a/crates/shirabe-external-packages/src/symfony/console/completion/completion_input.rs b/crates/shirabe-external-packages/src/symfony/console/completion/completion_input.rs
new file mode 100644
index 0000000..a4b3d3e
--- /dev/null
+++ b/crates/shirabe-external-packages/src/symfony/console/completion/completion_input.rs
@@ -0,0 +1,26 @@
+use shirabe_php_shim::PhpMixed;
+
+#[derive(Debug)]
+pub struct CompletionInput;
+
+impl CompletionInput {
+ pub fn get_completion_type(&self) -> String {
+ todo!()
+ }
+
+ pub fn get_completion_name(&self) -> Option<String> {
+ todo!()
+ }
+
+ pub fn get_completion_value(&self) -> String {
+ todo!()
+ }
+
+ pub fn must_suggest_option_values_for(&self, name: &str) -> bool {
+ todo!()
+ }
+
+ pub fn must_suggest_argument_values_for(&self, name: &str) -> bool {
+ todo!()
+ }
+}
diff --git a/crates/shirabe-external-packages/src/symfony/console/completion/completion_suggestions.rs b/crates/shirabe-external-packages/src/symfony/console/completion/completion_suggestions.rs
new file mode 100644
index 0000000..709cdcd
--- /dev/null
+++ b/crates/shirabe-external-packages/src/symfony/console/completion/completion_suggestions.rs
@@ -0,0 +1,14 @@
+use shirabe_php_shim::PhpMixed;
+
+#[derive(Debug)]
+pub struct CompletionSuggestions;
+
+impl CompletionSuggestions {
+ pub fn suggest_values(&mut self, values: Vec<PhpMixed>) {
+ todo!()
+ }
+
+ pub fn suggest_value(&mut self, value: PhpMixed) {
+ todo!()
+ }
+}
diff --git a/crates/shirabe-external-packages/src/symfony/console/completion/mod.rs b/crates/shirabe-external-packages/src/symfony/console/completion/mod.rs
new file mode 100644
index 0000000..67838b3
--- /dev/null
+++ b/crates/shirabe-external-packages/src/symfony/console/completion/mod.rs
@@ -0,0 +1,3 @@
+pub mod completion_input;
+pub mod completion_suggestions;
+pub mod suggestion;
diff --git a/crates/shirabe-external-packages/src/symfony/console/completion/suggestion.rs b/crates/shirabe-external-packages/src/symfony/console/completion/suggestion.rs
new file mode 100644
index 0000000..1d6d0f0
--- /dev/null
+++ b/crates/shirabe-external-packages/src/symfony/console/completion/suggestion.rs
@@ -0,0 +1,16 @@
+#[derive(Debug)]
+pub struct Suggestion;
+
+impl Suggestion {
+ pub fn new(value: String, description: Option<String>) -> Self {
+ todo!()
+ }
+
+ pub fn get_value(&self) -> String {
+ todo!()
+ }
+
+ pub fn get_description(&self) -> String {
+ todo!()
+ }
+}
diff --git a/crates/shirabe-external-packages/src/symfony/console/exception/invalid_argument_exception.rs b/crates/shirabe-external-packages/src/symfony/console/exception/invalid_argument_exception.rs
new file mode 100644
index 0000000..658ed8c
--- /dev/null
+++ b/crates/shirabe-external-packages/src/symfony/console/exception/invalid_argument_exception.rs
@@ -0,0 +1,13 @@
+#[derive(Debug)]
+pub struct InvalidArgumentException {
+ pub message: String,
+ pub code: i64,
+}
+
+impl std::fmt::Display for InvalidArgumentException {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ write!(f, "{}", self.message)
+ }
+}
+
+impl std::error::Error for InvalidArgumentException {}
diff --git a/crates/shirabe-external-packages/src/symfony/console/exception/mod.rs b/crates/shirabe-external-packages/src/symfony/console/exception/mod.rs
new file mode 100644
index 0000000..498f029
--- /dev/null
+++ b/crates/shirabe-external-packages/src/symfony/console/exception/mod.rs
@@ -0,0 +1 @@
+pub mod invalid_argument_exception;
diff --git a/crates/shirabe-external-packages/src/symfony/console/formatter/mod.rs b/crates/shirabe-external-packages/src/symfony/console/formatter/mod.rs
new file mode 100644
index 0000000..8c6d8c8
--- /dev/null
+++ b/crates/shirabe-external-packages/src/symfony/console/formatter/mod.rs
@@ -0,0 +1,3 @@
+pub mod output_formatter;
+pub mod output_formatter_interface;
+pub mod output_formatter_style;
diff --git a/crates/shirabe-external-packages/src/symfony/console/formatter/output_formatter.rs b/crates/shirabe-external-packages/src/symfony/console/formatter/output_formatter.rs
new file mode 100644
index 0000000..03c622b
--- /dev/null
+++ b/crates/shirabe-external-packages/src/symfony/console/formatter/output_formatter.rs
@@ -0,0 +1,24 @@
+#[derive(Debug)]
+pub struct OutputFormatter;
+
+impl OutputFormatter {
+ pub fn new(decorated: bool) -> Self {
+ todo!()
+ }
+
+ pub fn format(&self, message: &str) -> String {
+ todo!()
+ }
+
+ pub fn is_decorated(&self) -> bool {
+ todo!()
+ }
+
+ pub fn set_decorated(&mut self, decorated: bool) {
+ todo!()
+ }
+
+ pub fn escape(text: &str) -> String {
+ todo!()
+ }
+}
diff --git a/crates/shirabe-external-packages/src/symfony/console/formatter/output_formatter_interface.rs b/crates/shirabe-external-packages/src/symfony/console/formatter/output_formatter_interface.rs
new file mode 100644
index 0000000..dc93a3b
--- /dev/null
+++ b/crates/shirabe-external-packages/src/symfony/console/formatter/output_formatter_interface.rs
@@ -0,0 +1,5 @@
+pub trait OutputFormatterInterface {
+ fn is_decorated(&self) -> bool;
+ fn set_decorated(&mut self, decorated: bool);
+ fn format(&self, message: &str) -> String;
+}
diff --git a/crates/shirabe-external-packages/src/symfony/console/formatter/output_formatter_style.rs b/crates/shirabe-external-packages/src/symfony/console/formatter/output_formatter_style.rs
new file mode 100644
index 0000000..8be111d
--- /dev/null
+++ b/crates/shirabe-external-packages/src/symfony/console/formatter/output_formatter_style.rs
@@ -0,0 +1,8 @@
+#[derive(Debug)]
+pub struct OutputFormatterStyle;
+
+impl OutputFormatterStyle {
+ pub fn new(foreground: Option<&str>, background: Option<&str>, options: Option<Vec<String>>) -> Self {
+ todo!()
+ }
+}
diff --git a/crates/shirabe-external-packages/src/symfony/console/helper/helper_set.rs b/crates/shirabe-external-packages/src/symfony/console/helper/helper_set.rs
new file mode 100644
index 0000000..9448310
--- /dev/null
+++ b/crates/shirabe-external-packages/src/symfony/console/helper/helper_set.rs
@@ -0,0 +1,22 @@
+use shirabe_php_shim::PhpMixed;
+
+#[derive(Debug)]
+pub struct HelperSet;
+
+impl HelperSet {
+ pub fn new(helpers: Vec<PhpMixed>) -> Self {
+ todo!()
+ }
+
+ pub fn get(&self, name: &str) -> Option<PhpMixed> {
+ todo!()
+ }
+
+ pub fn set(&mut self, helper: PhpMixed, alias: Option<&str>) {
+ todo!()
+ }
+
+ pub fn has(&self, name: &str) -> bool {
+ todo!()
+ }
+}
diff --git a/crates/shirabe-external-packages/src/symfony/console/helper/mod.rs b/crates/shirabe-external-packages/src/symfony/console/helper/mod.rs
new file mode 100644
index 0000000..285c411
--- /dev/null
+++ b/crates/shirabe-external-packages/src/symfony/console/helper/mod.rs
@@ -0,0 +1,3 @@
+pub mod helper_set;
+pub mod question_helper;
+pub mod table;
diff --git a/crates/shirabe-external-packages/src/symfony/console/helper/question_helper.rs b/crates/shirabe-external-packages/src/symfony/console/helper/question_helper.rs
new file mode 100644
index 0000000..3a2bd5b
--- /dev/null
+++ b/crates/shirabe-external-packages/src/symfony/console/helper/question_helper.rs
@@ -0,0 +1,15 @@
+use shirabe_php_shim::PhpMixed;
+
+#[derive(Debug)]
+pub struct QuestionHelper;
+
+impl QuestionHelper {
+ pub fn ask(
+ &self,
+ input: &mut dyn std::any::Any,
+ output: &mut dyn std::any::Any,
+ question: &dyn std::any::Any,
+ ) -> Option<PhpMixed> {
+ todo!()
+ }
+}
diff --git a/crates/shirabe-external-packages/src/symfony/console/helper/table.rs b/crates/shirabe-external-packages/src/symfony/console/helper/table.rs
new file mode 100644
index 0000000..2a8848d
--- /dev/null
+++ b/crates/shirabe-external-packages/src/symfony/console/helper/table.rs
@@ -0,0 +1,26 @@
+use shirabe_php_shim::PhpMixed;
+
+#[derive(Debug)]
+pub struct Table;
+
+impl Table {
+ pub fn new(output: &dyn std::any::Any) -> Self {
+ todo!()
+ }
+
+ pub fn set_headers(&mut self, headers: Vec<PhpMixed>) -> &mut Self {
+ todo!()
+ }
+
+ pub fn set_rows(&mut self, rows: Vec<PhpMixed>) -> &mut Self {
+ todo!()
+ }
+
+ pub fn add_row(&mut self, row: PhpMixed) -> &mut Self {
+ todo!()
+ }
+
+ pub fn render(&mut self) {
+ todo!()
+ }
+}
diff --git a/crates/shirabe-external-packages/src/symfony/console/input/array_input.rs b/crates/shirabe-external-packages/src/symfony/console/input/array_input.rs
new file mode 100644
index 0000000..1eb3883
--- /dev/null
+++ b/crates/shirabe-external-packages/src/symfony/console/input/array_input.rs
@@ -0,0 +1,29 @@
+use shirabe_php_shim::PhpMixed;
+use indexmap::IndexMap;
+use crate::symfony::console::input::input_interface::InputInterface;
+
+#[derive(Debug)]
+pub struct ArrayInput;
+
+impl ArrayInput {
+ pub fn new(parameters: IndexMap<String, PhpMixed>) -> Self {
+ todo!()
+ }
+}
+
+impl InputInterface for ArrayInput {
+ fn get_first_argument(&self) -> Option<String> { todo!() }
+ fn has_parameter_option(&self, _values: &[&str], _only_params: bool) -> bool { todo!() }
+ fn get_parameter_option(&self, _values: &[&str], _default: PhpMixed, _only_params: bool) -> PhpMixed { todo!() }
+ fn validate(&self) -> anyhow::Result<()> { todo!() }
+ fn get_arguments(&self) -> IndexMap<String, PhpMixed> { todo!() }
+ fn get_argument(&self, _name: &str) -> PhpMixed { todo!() }
+ fn set_argument(&mut self, _name: &str, _value: PhpMixed) -> anyhow::Result<()> { todo!() }
+ fn has_argument(&self, _name: &str) -> bool { todo!() }
+ fn get_options(&self) -> IndexMap<String, PhpMixed> { todo!() }
+ fn get_option(&self, _name: &str) -> PhpMixed { todo!() }
+ fn set_option(&mut self, _name: &str, _value: PhpMixed) -> anyhow::Result<()> { todo!() }
+ fn has_option(&self, _name: &str) -> bool { todo!() }
+ fn is_interactive(&self) -> bool { todo!() }
+ fn set_interactive(&mut self, _interactive: bool) { todo!() }
+}
diff --git a/crates/shirabe-external-packages/src/symfony/console/input/input_argument.rs b/crates/shirabe-external-packages/src/symfony/console/input/input_argument.rs
new file mode 100644
index 0000000..1f70581
--- /dev/null
+++ b/crates/shirabe-external-packages/src/symfony/console/input/input_argument.rs
@@ -0,0 +1,30 @@
+use shirabe_php_shim::PhpMixed;
+
+#[derive(Debug)]
+pub struct InputArgument;
+
+impl InputArgument {
+ pub const REQUIRED: i64 = 1;
+ pub const OPTIONAL: i64 = 2;
+ pub const IS_ARRAY: i64 = 4;
+
+ pub fn new(name: &str, mode: Option<i64>, description: &str, default: Option<PhpMixed>) -> Self {
+ todo!()
+ }
+
+ pub fn get_name(&self) -> String {
+ todo!()
+ }
+
+ pub fn is_required(&self) -> bool {
+ todo!()
+ }
+
+ pub fn is_array(&self) -> bool {
+ todo!()
+ }
+
+ pub fn get_default(&self) -> Option<PhpMixed> {
+ todo!()
+ }
+}
diff --git a/crates/shirabe-external-packages/src/symfony/console/input/input_interface.rs b/crates/shirabe-external-packages/src/symfony/console/input/input_interface.rs
new file mode 100644
index 0000000..2e25dea
--- /dev/null
+++ b/crates/shirabe-external-packages/src/symfony/console/input/input_interface.rs
@@ -0,0 +1,19 @@
+use shirabe_php_shim::PhpMixed;
+use indexmap::IndexMap;
+
+pub trait InputInterface {
+ fn get_first_argument(&self) -> Option<String>;
+ fn has_parameter_option(&self, values: &[&str], only_params: bool) -> bool;
+ fn get_parameter_option(&self, values: &[&str], default: PhpMixed, only_params: bool) -> PhpMixed;
+ fn validate(&self) -> anyhow::Result<()>;
+ fn get_arguments(&self) -> IndexMap<String, PhpMixed>;
+ fn get_argument(&self, name: &str) -> PhpMixed;
+ fn set_argument(&mut self, name: &str, value: PhpMixed) -> anyhow::Result<()>;
+ fn has_argument(&self, name: &str) -> bool;
+ fn get_options(&self) -> IndexMap<String, PhpMixed>;
+ fn get_option(&self, name: &str) -> PhpMixed;
+ fn set_option(&mut self, name: &str, value: PhpMixed) -> anyhow::Result<()>;
+ fn has_option(&self, name: &str) -> bool;
+ fn is_interactive(&self) -> bool;
+ fn set_interactive(&mut self, interactive: bool);
+}
diff --git a/crates/shirabe-external-packages/src/symfony/console/input/input_option.rs b/crates/shirabe-external-packages/src/symfony/console/input/input_option.rs
new file mode 100644
index 0000000..9c188ba
--- /dev/null
+++ b/crates/shirabe-external-packages/src/symfony/console/input/input_option.rs
@@ -0,0 +1,46 @@
+use shirabe_php_shim::PhpMixed;
+
+#[derive(Debug)]
+pub struct InputOption;
+
+impl InputOption {
+ pub const VALUE_NONE: i64 = 1;
+ pub const VALUE_REQUIRED: i64 = 2;
+ pub const VALUE_OPTIONAL: i64 = 4;
+ pub const VALUE_IS_ARRAY: i64 = 8;
+ pub const VALUE_NEGATABLE: i64 = 16;
+
+ pub fn new(
+ name: &str,
+ shortcut: Option<&str>,
+ mode: Option<i64>,
+ description: &str,
+ default: PhpMixed,
+ ) -> Self {
+ todo!()
+ }
+
+ pub fn get_name(&self) -> String {
+ todo!()
+ }
+
+ pub fn accept_value(&self) -> bool {
+ todo!()
+ }
+
+ pub fn is_value_required(&self) -> bool {
+ todo!()
+ }
+
+ pub fn is_value_optional(&self) -> bool {
+ todo!()
+ }
+
+ pub fn is_array(&self) -> bool {
+ todo!()
+ }
+
+ pub fn get_default(&self) -> PhpMixed {
+ todo!()
+ }
+}
diff --git a/crates/shirabe-external-packages/src/symfony/console/input/mod.rs b/crates/shirabe-external-packages/src/symfony/console/input/mod.rs
new file mode 100644
index 0000000..fba76f2
--- /dev/null
+++ b/crates/shirabe-external-packages/src/symfony/console/input/mod.rs
@@ -0,0 +1,6 @@
+pub mod array_input;
+pub mod input_argument;
+pub mod input_interface;
+pub mod input_option;
+pub mod streamable_input_interface;
+pub mod string_input;
diff --git a/crates/shirabe-external-packages/src/symfony/console/input/streamable_input_interface.rs b/crates/shirabe-external-packages/src/symfony/console/input/streamable_input_interface.rs
new file mode 100644
index 0000000..ed4a238
--- /dev/null
+++ b/crates/shirabe-external-packages/src/symfony/console/input/streamable_input_interface.rs
@@ -0,0 +1,7 @@
+use crate::symfony::console::input::input_interface::InputInterface;
+use shirabe_php_shim::PhpMixed;
+
+pub trait StreamableInputInterface: InputInterface {
+ fn set_stream(&mut self, stream: PhpMixed);
+ fn get_stream(&self) -> Option<PhpMixed>;
+}
diff --git a/crates/shirabe-external-packages/src/symfony/console/input/string_input.rs b/crates/shirabe-external-packages/src/symfony/console/input/string_input.rs
new file mode 100644
index 0000000..d552380
--- /dev/null
+++ b/crates/shirabe-external-packages/src/symfony/console/input/string_input.rs
@@ -0,0 +1,29 @@
+use shirabe_php_shim::PhpMixed;
+use indexmap::IndexMap;
+use crate::symfony::console::input::input_interface::InputInterface;
+
+#[derive(Debug)]
+pub struct StringInput;
+
+impl StringInput {
+ pub fn new(input: &str) -> Self {
+ todo!()
+ }
+}
+
+impl InputInterface for StringInput {
+ fn get_first_argument(&self) -> Option<String> { todo!() }
+ fn has_parameter_option(&self, _values: &[&str], _only_params: bool) -> bool { todo!() }
+ fn get_parameter_option(&self, _values: &[&str], _default: PhpMixed, _only_params: bool) -> PhpMixed { todo!() }
+ fn validate(&self) -> anyhow::Result<()> { todo!() }
+ fn get_arguments(&self) -> IndexMap<String, PhpMixed> { todo!() }
+ fn get_argument(&self, _name: &str) -> PhpMixed { todo!() }
+ fn set_argument(&mut self, _name: &str, _value: PhpMixed) -> anyhow::Result<()> { todo!() }
+ fn has_argument(&self, _name: &str) -> bool { todo!() }
+ fn get_options(&self) -> IndexMap<String, PhpMixed> { todo!() }
+ fn get_option(&self, _name: &str) -> PhpMixed { todo!() }
+ fn set_option(&mut self, _name: &str, _value: PhpMixed) -> anyhow::Result<()> { todo!() }
+ fn has_option(&self, _name: &str) -> bool { todo!() }
+ fn is_interactive(&self) -> bool { todo!() }
+ fn set_interactive(&mut self, _interactive: bool) { todo!() }
+}
diff --git a/crates/shirabe-external-packages/src/symfony/console/mod.rs b/crates/shirabe-external-packages/src/symfony/console/mod.rs
new file mode 100644
index 0000000..ae105cd
--- /dev/null
+++ b/crates/shirabe-external-packages/src/symfony/console/mod.rs
@@ -0,0 +1,8 @@
+pub mod completion;
+pub mod exception;
+pub mod formatter;
+pub mod helper;
+pub mod input;
+pub mod output;
+pub mod question;
+pub mod style;
diff --git a/crates/shirabe-external-packages/src/symfony/console/output/mod.rs b/crates/shirabe-external-packages/src/symfony/console/output/mod.rs
new file mode 100644
index 0000000..80e9326
--- /dev/null
+++ b/crates/shirabe-external-packages/src/symfony/console/output/mod.rs
@@ -0,0 +1,2 @@
+pub mod output_interface;
+pub mod stream_output;
diff --git a/crates/shirabe-external-packages/src/symfony/console/output/output_interface.rs b/crates/shirabe-external-packages/src/symfony/console/output/output_interface.rs
new file mode 100644
index 0000000..4031cc6
--- /dev/null
+++ b/crates/shirabe-external-packages/src/symfony/console/output/output_interface.rs
@@ -0,0 +1,22 @@
+pub trait OutputInterface {
+ fn write(&mut self, messages: &str, newline: bool, r#type: i64);
+ fn writeln(&mut self, messages: &str, r#type: i64);
+ fn set_verbosity(&mut self, level: i64);
+ fn get_verbosity(&self) -> i64;
+ fn is_quiet(&self) -> bool;
+ fn is_verbose(&self) -> bool;
+ fn is_very_verbose(&self) -> bool;
+ fn is_debug(&self) -> bool;
+ fn set_decorated(&mut self, decorated: bool);
+ fn is_decorated(&self) -> bool;
+}
+
+pub const VERBOSITY_QUIET: i64 = 16;
+pub const VERBOSITY_NORMAL: i64 = 32;
+pub const VERBOSITY_VERBOSE: i64 = 64;
+pub const VERBOSITY_VERY_VERBOSE: i64 = 128;
+pub const VERBOSITY_DEBUG: i64 = 256;
+
+pub const OUTPUT_NORMAL: i64 = 1;
+pub const OUTPUT_RAW: i64 = 2;
+pub const OUTPUT_PLAIN: i64 = 4;
diff --git a/crates/shirabe-external-packages/src/symfony/console/output/stream_output.rs b/crates/shirabe-external-packages/src/symfony/console/output/stream_output.rs
new file mode 100644
index 0000000..8728fa6
--- /dev/null
+++ b/crates/shirabe-external-packages/src/symfony/console/output/stream_output.rs
@@ -0,0 +1,24 @@
+use shirabe_php_shim::PhpMixed;
+use crate::symfony::console::output::output_interface::OutputInterface;
+
+#[derive(Debug)]
+pub struct StreamOutput;
+
+impl StreamOutput {
+ pub fn new(stream: PhpMixed, verbosity: i64, decorated: Option<bool>) -> Self {
+ todo!()
+ }
+}
+
+impl OutputInterface for StreamOutput {
+ fn write(&mut self, _messages: &str, _newline: bool, _type: i64) { todo!() }
+ fn writeln(&mut self, _messages: &str, _type: i64) { todo!() }
+ fn set_verbosity(&mut self, _level: i64) { todo!() }
+ fn get_verbosity(&self) -> i64 { todo!() }
+ fn is_quiet(&self) -> bool { todo!() }
+ fn is_verbose(&self) -> bool { todo!() }
+ fn is_very_verbose(&self) -> bool { todo!() }
+ fn is_debug(&self) -> bool { todo!() }
+ fn set_decorated(&mut self, _decorated: bool) { todo!() }
+ fn is_decorated(&self) -> bool { todo!() }
+}
diff --git a/crates/shirabe-external-packages/src/symfony/console/question/mod.rs b/crates/shirabe-external-packages/src/symfony/console/question/mod.rs
new file mode 100644
index 0000000..b44264d
--- /dev/null
+++ b/crates/shirabe-external-packages/src/symfony/console/question/mod.rs
@@ -0,0 +1 @@
+pub mod question;
diff --git a/crates/shirabe-external-packages/src/symfony/console/question/question.rs b/crates/shirabe-external-packages/src/symfony/console/question/question.rs
new file mode 100644
index 0000000..2fc7368
--- /dev/null
+++ b/crates/shirabe-external-packages/src/symfony/console/question/question.rs
@@ -0,0 +1,34 @@
+use shirabe_php_shim::PhpMixed;
+
+#[derive(Debug)]
+pub struct Question;
+
+impl Question {
+ pub fn new(question: &str, default: Option<PhpMixed>) -> Self {
+ todo!()
+ }
+
+ pub fn set_validator(&mut self, validator: Option<Box<dyn Fn(Option<PhpMixed>) -> anyhow::Result<PhpMixed>>>) {
+ todo!()
+ }
+
+ pub fn set_max_attempts(&mut self, attempts: Option<i64>) {
+ todo!()
+ }
+
+ pub fn set_hidden(&mut self, hidden: bool) {
+ todo!()
+ }
+
+ pub fn get_question(&self) -> String {
+ todo!()
+ }
+
+ pub fn get_default(&self) -> Option<PhpMixed> {
+ todo!()
+ }
+
+ pub fn is_hidden(&self) -> bool {
+ todo!()
+ }
+}
diff --git a/crates/shirabe-external-packages/src/symfony/console/style/mod.rs b/crates/shirabe-external-packages/src/symfony/console/style/mod.rs
new file mode 100644
index 0000000..e5c930f
--- /dev/null
+++ b/crates/shirabe-external-packages/src/symfony/console/style/mod.rs
@@ -0,0 +1 @@
+pub mod symfony_style;
diff --git a/crates/shirabe-external-packages/src/symfony/console/style/symfony_style.rs b/crates/shirabe-external-packages/src/symfony/console/style/symfony_style.rs
new file mode 100644
index 0000000..288a79d
--- /dev/null
+++ b/crates/shirabe-external-packages/src/symfony/console/style/symfony_style.rs
@@ -0,0 +1,96 @@
+use shirabe_php_shim::PhpMixed;
+use crate::symfony::console::output::output_interface::OutputInterface;
+use crate::symfony::console::input::input_interface::InputInterface;
+
+#[derive(Debug)]
+pub struct SymfonyStyle;
+
+impl SymfonyStyle {
+ pub fn new(input: &dyn InputInterface, output: &dyn OutputInterface) -> Self {
+ todo!()
+ }
+
+ pub fn title(&mut self, message: &str) {
+ todo!()
+ }
+
+ pub fn section(&mut self, message: &str) {
+ todo!()
+ }
+
+ pub fn text(&mut self, message: &str) {
+ todo!()
+ }
+
+ pub fn comment(&mut self, message: &str) {
+ todo!()
+ }
+
+ pub fn success(&mut self, message: PhpMixed) {
+ todo!()
+ }
+
+ pub fn error(&mut self, message: PhpMixed) {
+ todo!()
+ }
+
+ pub fn warning(&mut self, message: PhpMixed) {
+ todo!()
+ }
+
+ pub fn note(&mut self, message: PhpMixed) {
+ todo!()
+ }
+
+ pub fn listing(&mut self, elements: &[String]) {
+ todo!()
+ }
+
+ pub fn new_line(&mut self, count: i64) {
+ todo!()
+ }
+
+ pub fn ask(&mut self, question: &str, default: Option<&str>, validator: Option<Box<dyn Fn(Option<PhpMixed>) -> anyhow::Result<PhpMixed>>>) -> PhpMixed {
+ todo!()
+ }
+
+ pub fn ask_hidden(&mut self, question: &str, validator: Option<Box<dyn Fn(Option<PhpMixed>) -> anyhow::Result<PhpMixed>>>) -> PhpMixed {
+ todo!()
+ }
+
+ pub fn confirm(&mut self, question: &str, default: bool) -> bool {
+ todo!()
+ }
+
+ pub fn choice(&mut self, question: &str, choices: Vec<PhpMixed>, default: Option<PhpMixed>) -> PhpMixed {
+ todo!()
+ }
+
+ pub fn table(&mut self, headers: Vec<PhpMixed>, rows: Vec<PhpMixed>) {
+ todo!()
+ }
+
+ pub fn progress_start(&mut self, max: i64) {
+ todo!()
+ }
+
+ pub fn progress_advance(&mut self, step: i64) {
+ todo!()
+ }
+
+ pub fn progress_finish(&mut self) {
+ todo!()
+ }
+
+ pub fn is_debug(&self) -> bool {
+ todo!()
+ }
+
+ pub fn writeln(&mut self, messages: PhpMixed, r#type: i64) {
+ todo!()
+ }
+
+ pub fn write(&mut self, messages: PhpMixed, newline: bool, r#type: i64) {
+ todo!()
+ }
+}