Bananymous 
							
						 
						
							
								6a46a25f48 
								
							 
						 
						
							
							
								
								image: Add benchmark flag to measure performance of image operations  
							
							
							
						 
						
							2024-10-13 22:05:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								88b8ca5b29 
								
							 
						 
						
							
							
								
								LibC: Fix some string functions  
							
							... 
							
							
							
							I was not casting some required values to char or handling length of
zero 
							
						 
						
							2024-10-13 22:04:08 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								fdddb556ae 
								
							 
						 
						
							
							
								
								LibC: Implement system() more properly  
							
							... 
							
							
							
							Old implementation did not ignore and block needed signals 
							
						 
						
							2024-10-13 22:03:15 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d36b64e0c8 
								
							 
						 
						
							
							
								
								LibImage: name color to u32 function to to_argb from to_rgba  
							
							... 
							
							
							
							This is the actual format that it returns 
							
						 
						
							2024-10-13 22:01:46 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8adc97980a 
								
							 
						 
						
							
							
								
								Shell: rewrite the whole shell to use tokens instead of raw strings  
							
							... 
							
							
							
							tab completion is still running with raw strings and that has to be
fixed in the future. 
							
						 
						
							2024-10-13 22:00:16 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								dab6e5a60f 
								
							 
						 
						
							
							
								
								BAN: Cleanup HashMap implementation and add {insert,emplace}_or_assign  
							
							
							
						 
						
							2024-10-13 22:00:16 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								0b05e9827b 
								
							 
						 
						
							
							
								
								BAN: Use memmove instead of memcpy on overlapping data  
							
							... 
							
							
							
							I was accidentally using memcpy where memmove was needed 
							
						 
						
							2024-10-13 22:00:16 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1c1a76d6d7 
								
							 
						 
						
							
							
								
								BAN: Member function pointers now use references instead of pointers  
							
							... 
							
							
							
							This seems cleaner as class pointer cannot be null anymore 
							
						 
						
							2024-10-13 22:00:16 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								df4f37d68d 
								
							 
						 
						
							
							
								
								BAN: only define placement new operators for banan-os targets  
							
							... 
							
							
							
							This allows building and using BAN library outside of banan-os! 
							
						 
						
							2024-10-10 21:55:25 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								44629ba5dd 
								
							 
						 
						
							
							
								
								BAN: Allow userspace to use string literals with BAN::Error  
							
							
							
						 
						
							2024-10-10 21:54:52 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2da6776451 
								
							 
						 
						
							
							
								
								BAN: Update {Byte}Span API with better constness  
							
							... 
							
							
							
							const BAN::Span<int> is now allowed to modify its underlying data, but
the container itself is const.
BAN::Span<const int> can be used for spans over constant data. 
							
						 
						
							2024-10-10 21:53:23 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a68f411024 
								
							 
						 
						
							
							
								
								BAN: Add requires clauses for Container::emplace{,_back} functions  
							
							... 
							
							
							
							This allows syntax highlighters to report errors! 
							
						 
						
							2024-10-10 21:51:44 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								166550fbba 
								
							 
						 
						
							
							
								
								Kernel: Ext2 check if file exists before creating it  
							
							
							
						 
						
							2024-10-07 18:21:05 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3e68981b0b 
								
							 
						 
						
							
							
								
								userspace: Remove start-gui from shell builtins and make it an alias  
							
							... 
							
							
							
							This makes way more sense :D 
							
						 
						
							2024-10-07 18:01:33 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6fd76e8d1e 
								
							 
						 
						
							
							
								
								Shell: Rewrite alias parsing to allow chained commands  
							
							... 
							
							
							
							You can now have "chained" commands in alias
e.g. `alias foo='echo hello && ls` 
							
						 
						
							2024-10-07 18:01:33 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								dfcd15e7c4 
								
							 
						 
						
							
							
								
								Shell: Implement background processes with &  
							
							
							
						 
						
							2024-10-07 18:01:33 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5fa359c28d 
								
							 
						 
						
							
							
								
								ls: Print file name in quotes if it contains spaces  
							
							
							
						 
						
							2024-10-07 18:01:32 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5bcfc9dd50 
								
							 
						 
						
							
							
								
								Shell: Always print prompt to new line  
							
							... 
							
							
							
							This is only done on non banan-os targets if terminal is detected to
support cursor position querying 
							
						 
						
							2024-10-07 18:01:32 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f67cad326a 
								
							 
						 
						
							
							
								
								Shell: Don't crash when there are no tab completions available :D  
							
							
							
						 
						
							2024-10-07 14:26:07 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9775e83374 
								
							 
						 
						
							
							
								
								Shell: Fix tab space escaping in tab completion  
							
							
							
						 
						
							2024-10-07 04:19:36 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								264d1798dc 
								
							 
						 
						
							
							
								
								Shell: Clenup code and fix some bugs  
							
							... 
							
							
							
							Don't list tab completion multiple times, allow `clear` to work even
when ANSI CSI 3K is not supported, reset buffer index when cancelling
command with ctrl+c 
							
						 
						
							2024-10-07 04:10:25 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1824988b9a 
								
							 
						 
						
							
							
								
								Shell: Add support for simple aliases  
							
							... 
							
							
							
							Aliases do not support chained commands with pipes, &&, ... but this is
a good start. 
							
						 
						
							2024-10-07 04:09:38 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c54d9b3f60 
								
							 
						 
						
							
							
								
								Shell: Implement simple tab completion for commands and files  
							
							
							
						 
						
							2024-10-07 01:44:44 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f432d3fcf8 
								
							 
						 
						
							
							
								
								BAN: Cleanup Optional casting for value getters  
							
							
							
						 
						
							2024-10-07 01:44:44 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4f7828bab9 
								
							 
						 
						
							
							
								
								Shell: Allow escaping spaces in commands  
							
							
							
						 
						
							2024-10-07 01:44:44 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ae073a336d 
								
							 
						 
						
							
							
								
								Shell: Move builtin commands to a hash map  
							
							... 
							
							
							
							This allows accessing builtin commands outside of `execute_builtin` 
							
						 
						
							2024-10-07 01:44:44 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6f90974896 
								
							 
						 
						
							
							
								
								BAN: Fix StringView::starts_with  
							
							... 
							
							
							
							I have no idea what i had been thinking when writing this code :D 
							
						 
						
							2024-10-06 06:23:25 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4f3c05851c 
								
							 
						 
						
							
							
								
								Shell: Expand ~ to home if its at the start of non quoted argument  
							
							
							
						 
						
							2024-10-06 01:38:43 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4b13055125 
								
							 
						 
						
							
							
								
								Shell: Make builtin exit command read exit value from argument  
							
							... 
							
							
							
							Shell used to unconditionally return with exit code of 0 
							
						 
						
							2024-10-06 01:24:34 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d542cd811d 
								
							 
						 
						
							
							
								
								Shell: Add support for &&, || and ;  
							
							
							
						 
						
							2024-10-06 01:24:24 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f75cebac7e 
								
							 
						 
						
							
							
								
								Shell: Mark all functions as static  
							
							
							
						 
						
							2024-10-05 19:11:58 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e302b6b635 
								
							 
						 
						
							
							
								
								Shell: Use sigaction instead of signal  
							
							... 
							
							
							
							This allows ctrl-c to work on linux :D 
							
						 
						
							2024-10-05 19:07:59 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f709e88994 
								
							 
						 
						
							
							
								
								Shell: Cleanup argument handling and exiting  
							
							
							
						 
						
							2024-10-04 17:54:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ab9a6d583b 
								
							 
						 
						
							
							
								
								Userspace: Set SHELL environment variable in init instead of shell  
							
							
							
						 
						
							2024-10-04 17:24:37 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								26d6bf338e 
								
							 
						 
						
							
							
								
								Shell: Ignore SIGTTOU and set pgroup from parent instead of child  
							
							... 
							
							
							
							This allows using the shell in linux! 
							
						 
						
							2024-10-04 17:23:31 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b6e040dfc2 
								
							 
						 
						
							
							
								
								Kernel/Shell: Fix backspace and delete key byte sequences  
							
							
							
						 
						
							2024-10-04 04:14:47 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f5802ca3e5 
								
							 
						 
						
							
							
								
								General: Update screenshot in README  
							
							
							
						 
						
							2024-09-30 18:28:16 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7223e581a2 
								
							 
						 
						
							
							
								
								WindowServer: Fix 32 bit compilation with -Werror  
							
							... 
							
							
							
							There was a always false statement on 32 bit that the compliler was
warning about. 
							
						 
						
							2024-09-27 15:33:25 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2d11ce9669 
								
							 
						 
						
							
							
								
								Kernel: Fix interrupt system  
							
							... 
							
							
							
							I had not understood how MSIs work and I was unnecessarily routing them
through IOAPIC. This is not necessary and should not be done :D
Also MSIs were reserving interrupts that IOAPIC was capable of
generating. Now IOAPIC and MSIs use different set of interrupts so
IOAPIC can use more interrupts if needed. 
							
						 
						
							2024-09-27 15:31:31 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e4982a1a5c 
								
							 
						 
						
							
							
								
								LibC: Fix printf with alternate format and zero values  
							
							
							
						 
						
							2024-09-26 15:25:16 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cea6dedccc 
								
							 
						 
						
							
							
								
								Userspace: Compile programs and libraries with -Wall -Wextra -Werror  
							
							
							
						 
						
							2024-09-26 15:20:07 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e6ed5a388d 
								
							 
						 
						
							
							
								
								BuildSystem: Export compile commands for clangd  
							
							
							
						 
						
							2024-09-26 15:14:54 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b89fc3fe87 
								
							 
						 
						
							
							
								
								Kernel: Implement ANSI SGR 7 to invert colors  
							
							... 
							
							
							
							This allows vim's visual selection to show up 
							
						 
						
							2024-09-26 15:08:11 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								57ae74f908 
								
							 
						 
						
							
							
								
								Terminal: Implement more ANSI escape handling  
							
							... 
							
							
							
							This patch adds L and M codes for inserting and deleting lines and SGR 7
for inverting colors 
							
						 
						
							2024-09-26 15:07:08 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1a6804b4b4 
								
							 
						 
						
							
							
								
								Terminal: Make Terminal::handle_csi() return invalidated rectangle  
							
							... 
							
							
							
							When I updated Terminal to only do a single invalidation after all of
input text was printed, I forgot to change handle_csi 
							
						 
						
							2024-09-26 15:05:11 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								82e6a3582d 
								
							 
						 
						
							
							
								
								LibGUI: cleanup Window::shift_vertical and add copy_horizontal_slice  
							
							
							
						 
						
							2024-09-26 15:00:14 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								11a4e4faa2 
								
							 
						 
						
							
							
								
								LibImage: Add Adam7 support for PNG decoder  
							
							
							
						 
						
							2024-09-26 11:47:34 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								50a3533322 
								
							 
						 
						
							
							
								
								LibInput: Add value for ESC in key_to_utf8_ansi  
							
							... 
							
							
							
							This allows exiting vim when using this function for key mappings :D 
							
						 
						
							2024-09-24 18:08:34 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4e9f39384a 
								
							 
						 
						
							
							
								
								LibC: Initialize libc only once  
							
							... 
							
							
							
							This was breaking stuff with dynamic loader initializing libc and main
executable reinitializing it later :D 
							
						 
						
							2024-09-24 17:56:12 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								39802b56c1 
								
							 
						 
						
							
							
								
								Kernel: Allow SYS_EXEC to fail at any point  
							
							... 
							
							
							
							This patch builds new executable image to another pml4 structure and
only after everything is validated will current context be replaced.
This allows exec to fail "late" where previously it would panic the
kernel or kill the process. This allows graceful handling of exec
failures in userspace! 
							
						 
						
							2024-09-24 16:29:38 +03:00