changeset 13:7ee152c22478 main-dev

Merging
author luka
date Wed, 24 Apr 2024 20:11:52 -0400
parents 3426c7e91c24 (current diff) 4bb4daa9e3f1 (diff)
children c969ed13c570
files .php-cs-fixer.cache src/Generator/Generator.php
diffstat 3 files changed, 123 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/.php-cs-fixer.cache	Wed Apr 24 19:53:42 2024 -0400
+++ b/.php-cs-fixer.cache	Wed Apr 24 20:11:52 2024 -0400
@@ -1,1 +1,1 @@
-{"php":"8.2.12","version":"3.19.1","indent":"    ","lineEnding":"\n","rules":{"align_multiline_comment":true,"array_syntax":true,"backtick_to_shell_exec":true,"binary_operator_spaces":true,"blank_line_before_statement":{"statements":["return"]},"cast_spaces":true,"class_attributes_separation":{"elements":{"method":"one"}},"class_definition":{"single_line":true},"class_reference_name_casing":true,"clean_namespace":true,"concat_space":true,"curly_braces_position":{"allow_single_line_anonymous_functions":true,"allow_single_line_empty_anonymous_classes":true},"declare_parentheses":true,"echo_tag_syntax":true,"empty_loop_body":{"style":"braces"},"empty_loop_condition":true,"fully_qualified_strict_types":true,"function_typehint_space":true,"general_phpdoc_tag_rename":{"replacements":{"inheritDocs":"inheritDoc"}},"global_namespace_import":{"import_classes":false,"import_constants":false,"import_functions":false},"include":true,"increment_style":true,"integer_literal_case":true,"lambda_not_used_import":true,"linebreak_after_opening_tag":true,"magic_constant_casing":true,"magic_method_casing":true,"method_argument_space":{"on_multiline":"ignore"},"native_function_casing":true,"native_function_type_declaration_casing":true,"no_alias_language_construct_call":true,"no_alternative_syntax":true,"no_binary_string":true,"no_blank_lines_after_phpdoc":true,"no_empty_comment":true,"no_empty_phpdoc":true,"no_empty_statement":true,"no_extra_blank_lines":{"tokens":["attribute","case","continue","curly_brace_block","default","extra","parenthesis_brace_block","square_brace_block","switch","throw","use"]},"no_leading_namespace_whitespace":true,"no_mixed_echo_print":true,"no_multiline_whitespace_around_double_arrow":true,"no_null_property_initialization":true,"no_short_bool_cast":true,"no_singleline_whitespace_before_semicolons":true,"no_spaces_around_offset":true,"no_superfluous_phpdoc_tags":{"remove_inheritdoc":true},"no_trailing_comma_in_singleline":true,"no_unneeded_control_parentheses":{"statements":["break","clone","continue","echo_print","others","return","switch_case","yield","yield_from"]},"no_unneeded_curly_braces":{"namespaces":true},"no_unneeded_import_alias":true,"no_unset_cast":true,"no_unused_imports":true,"no_useless_concat_operator":true,"no_useless_nullsafe_operator":true,"no_whitespace_before_comma_in_array":true,"normalize_index_brace":true,"nullable_type_declaration_for_default_null_value":{"use_nullable_type_declaration":false},"object_operator_without_whitespace":true,"operator_linebreak":{"only_booleans":true},"ordered_imports":{"imports_order":["class","function","const"],"sort_algorithm":"alpha"},"php_unit_fqcn_annotation":true,"php_unit_method_casing":true,"phpdoc_align":true,"phpdoc_annotation_without_dot":true,"phpdoc_indent":true,"phpdoc_inline_tag_normalizer":true,"phpdoc_no_access":true,"phpdoc_no_alias_tag":true,"phpdoc_no_package":true,"phpdoc_no_useless_inheritdoc":true,"phpdoc_order":{"order":["param","return","throws"]},"phpdoc_return_self_reference":true,"phpdoc_scalar":true,"phpdoc_separation":true,"phpdoc_single_line_var_spacing":true,"phpdoc_summary":true,"phpdoc_tag_type":{"tags":{"inheritDoc":"inline"}},"phpdoc_to_comment":true,"phpdoc_trim":true,"phpdoc_trim_consecutive_blank_line_separation":true,"phpdoc_types":true,"phpdoc_types_order":{"null_adjustment":"always_last","sort_algorithm":"none"},"phpdoc_var_without_name":true,"semicolon_after_instruction":true,"simple_to_complex_string_variable":true,"single_class_element_per_statement":true,"single_import_per_statement":true,"single_line_comment_spacing":true,"single_line_comment_style":{"comment_types":["hash"]},"single_line_throw":true,"single_quote":true,"single_space_around_construct":true,"space_after_semicolon":{"remove_in_empty_for_expressions":true},"standardize_increment":true,"standardize_not_equals":true,"switch_continue_to_break":true,"trailing_comma_in_multiline":true,"trim_array_spaces":true,"types_spaces":true,"unary_operator_spaces":true,"whitespace_after_comma_in_array":true,"yoda_style":true,"blank_line_after_opening_tag":true,"blank_line_between_import_groups":true,"blank_lines_before_namespace":true,"compact_nullable_typehint":true,"declare_equal_normalize":true,"lowercase_cast":true,"lowercase_static_reference":true,"new_with_braces":true,"no_blank_lines_after_class_opening":true,"no_leading_import_slash":true,"no_whitespace_in_blank_line":true,"ordered_class_elements":{"order":["use_trait"]},"return_type_declaration":true,"short_scalar_cast":true,"single_trait_insert_per_statement":true,"ternary_operator_spaces":true,"visibility_required":true,"blank_line_after_namespace":true,"constant_case":true,"control_structure_braces":true,"control_structure_continuation_position":true,"elseif":true,"function_declaration":true,"indentation_type":true,"line_ending":true,"lowercase_keywords":true,"no_break_comment":true,"no_closing_tag":true,"no_multiple_statements_per_line":true,"no_space_around_double_colon":true,"no_spaces_after_function_name":true,"no_spaces_inside_parenthesis":true,"no_trailing_whitespace":true,"no_trailing_whitespace_in_comment":true,"single_blank_line_at_eof":true,"single_line_after_imports":true,"statement_indentation":true,"switch_case_semicolon_to_colon":true,"switch_case_space":true,"encoding":true},"hashes":{"src\/Generator\/Route\/RouteGenerator.php":"02bf90516b88a1b0b00a84afb10d8a45","src\/Generator\/Controller\/ControllerGenerator.php":"717cdb9124e7e4afe4a28e17b94089e9","src\/Generator\/Model\/ModelGenerator.php":"00eeb5bd27acee0bff89fac12dfd21ac","src\/Generator\/Generator.php":"c7cd32166a24be83f6575d33f6c4ba80","src\/Generator\/Requests\/UpdateRequestGenerator.php":"63475513d258b0727637db19629d4ac6","src\/Generator\/Requests\/RequestGenerator.php":"93fbc04a1ea18b794ee7f24902ae9cc1","src\/Generator\/Requests\/StoreRequestGenerator.php":"42bac2b426288d9a08216dfc5fe45faf","src\/Generator\/BaseGenerator.php":"c0aa37a727252383bc28aebf7a0019ec","src\/MagicForgerServiceProvider.php":"00c1321ad894d1e0807036dbe9114bf2","src\/Replacer\/Replacer.php":"501a0ebcf606a7602973b6033ee54b8e","src\/Replacer\/TableReplacer.php":"dc289802665136521abf6ffea0203732","src\/ConfigHelper.php":"6821f761a93d04ff466da1529442b304","src\/Replacer\/BladeReplacer.php":"fc8e7f3f50008e83d690d1fea0b19193"}}
\ No newline at end of file
+{"php":"8.2.7","version":"3.19.1","indent":"    ","lineEnding":"\n","rules":{"blank_line_after_opening_tag":true,"blank_line_between_import_groups":true,"blank_lines_before_namespace":true,"class_definition":{"inline_constructor_arguments":false,"space_before_parenthesis":true},"compact_nullable_typehint":true,"curly_braces_position":{"allow_single_line_empty_anonymous_classes":true},"declare_equal_normalize":true,"lowercase_cast":true,"lowercase_static_reference":true,"new_with_braces":true,"no_blank_lines_after_class_opening":true,"no_leading_import_slash":true,"no_whitespace_in_blank_line":true,"ordered_class_elements":{"order":["use_trait"]},"ordered_imports":{"imports_order":["class","function","const"],"sort_algorithm":"none"},"return_type_declaration":true,"short_scalar_cast":true,"single_import_per_statement":{"group_to_single_imports":false},"single_trait_insert_per_statement":true,"ternary_operator_spaces":true,"visibility_required":true,"blank_line_after_namespace":true,"constant_case":true,"control_structure_braces":true,"control_structure_continuation_position":true,"elseif":true,"function_declaration":true,"indentation_type":true,"line_ending":true,"lowercase_keywords":true,"method_argument_space":{"on_multiline":"ensure_fully_multiline"},"no_break_comment":true,"no_closing_tag":true,"no_multiple_statements_per_line":true,"no_space_around_double_colon":true,"no_spaces_after_function_name":true,"no_spaces_inside_parenthesis":true,"no_trailing_whitespace":true,"no_trailing_whitespace_in_comment":true,"single_blank_line_at_eof":true,"single_class_element_per_statement":{"elements":["property"]},"single_line_after_imports":true,"statement_indentation":true,"switch_case_semicolon_to_colon":true,"switch_case_space":true,"encoding":true,"full_opening_tag":true},"hashes":{"src\/Generator\/BaseGenerator.php":"409aadd181fbd4f216fe31f4f42ca3e2","src\/Replacer.php":"c6b5f421259f41016014c00270ca001c","src\/MagicForgerServiceProvider.php":"e56f92adc0181e9b7681de8ca8aca6eb","src\/Generator\/Controller\/ControllerGenerator.php":"075e65a43e5ecc55fbc4dcd7636dfcc1","src\/Generator\/Generator.php":"794271f48bed8f156878fc36a25ff60f","src\/Generator\/Replacer.php":"5a7f98d22504edb6aba92b061ddd9803","src\/Generator\/Model\/ModelGenerator.php":"e78c07fc13bd9c379991e8b01b13c672"}}
--- a/.vimrc	Wed Apr 24 19:53:42 2024 -0400
+++ b/.vimrc	Wed Apr 24 20:11:52 2024 -0400
@@ -8,6 +8,7 @@
 "set number
 nnoremap <Leader>cc :set colorcolumn=80<cr>
 nnoremap <Leader>ncc :set colorcolumn-=80<cr>
+nnoremap <C-l> :ALECodeAction <cr>
 set mouse=a
 
 function! FixPhpFiles()
@@ -47,3 +48,26 @@
 " 
 " execute "set <M-d>=\033d"
 " map <M-d> :call GitDiffCached()<CR>
+"
+"
+"
+"
+
+
+function! SendBufferToProgram()
+    " Create a temporary file
+    let temp_file = tempname()
+    
+    " Write current buffer to the temporary file
+    exe "write! " . temp_file
+    
+    " Send the content of the temporary file to your program
+    " Replace <your_program> with the actual command to run your program
+    let command = "cat " . temp_file . " | <your_program>"
+    
+    " Execute the command
+    call system(command)
+    
+    " Optionally, delete the temporary file if not needed
+    call delete(temp_file)
+endfunction
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/Helpers/FileModifier.php	Wed Apr 24 20:11:52 2024 -0400
@@ -0,0 +1,98 @@
+<?php
+
+namespace Wizzard\MagicForger\Helpers;
+
+/*
+ * FileModifier
+ *
+ * A class that handles all file modifications
+ *
+ * General flow:
+ * Provide a file, a point to insert, and a value to insert.
+ * Insert the data.
+ *
+ * Replacements will consume the insert point.
+ * Inserts will maintain the insert point.
+ *
+ * */
+class FileModifier
+{
+    private $contents;
+
+    /**
+     * @var mixed
+     */
+    public $file_path;
+
+
+    /**
+     * @param mixed $file_path
+     */
+    public function __construct($file_path)
+    {
+        $this->get_file_contents($file_path);
+        $this->file_path = $file_path;
+    }
+
+
+    /**
+     * @param mixed $file_path
+     * @return void
+     */
+    public function get_file_contents($file_path): void
+    {
+        //TODO: there needs to be more/any error checking
+        $f = fopen($file_path, "r");
+        $this->contents = fread($f, filesize($file_path));
+        fclose($f);
+    }
+
+
+    /**
+     * @param mixed $file_path
+     */
+    public function write_to_path($file_path = null): void
+    {
+        $file_path = $file_path ?? $this->file_path;
+
+        $f = fopen($file_path, "w");
+        fwrite($f, $this->contents);
+        fclose($f);
+    }
+
+
+    /**
+         * Replaces the replacement point with the value in the current contents
+         *
+     * @param mixed $value
+     * @param mixed $replacement_point
+     */
+    public function replace($value, $replacement_point): void
+    {
+        $this->contents = str_replace($replacement_point, $value, $this->contents);
+    }
+
+
+    /**
+         * Inserts the value above the insert point in the current contents
+         *
+     * @param mixed $value
+     * @param mixed $insert_point
+     * @return void
+     */
+    public function insert($value, $insert_point): void
+    {
+        //seperate on new lines into an array
+        $file_arr = explode("\n", $this->contents);
+        $temp_arr = [];
+
+        foreach($file_arr as $line) {
+            if(str_contains($line, $insert_point)) {
+                $temp_arr[] = $value;
+            }
+            $temp_arr[] = $line;
+        }
+
+        $this->contents = implode("\n",$temp_arr);
+    }
+}