website/src/content/docs/contribute/file-struct.md
The project follows a standard Go project layout with clear separation of concerns. Here's a detailed breakdown of the main directories and their purposes:
src/ - Main Source CodeThe main source code is organized into several key directories:
cmd/ - Entry Pointmain.go - The main entry point of the application that handles:
config/ - Configuration Managementfixed_variable.go - Contains constant values and configuration pathsicon/ - Icon-related configuration
function.go - Icon initialization and management functionsicon.go - Icon definitions and mappingsinternal/ - Core Application LogicContains the main business logic of the application, organized by functionality:
Configuration & Types:
config_function.go - Configuration loading and managementconfig_type.go - Configuration-related type definitionsdefault_config.go - Default configuration valuestype.go - Core type definitionsFile Operations:
file_operations.go - Basic file operation functionsfile_operations_compress.go - File compression functionalityfile_operations_extract.go - File extraction functionalityhandle_file_operations.go - File operation handlersUI & Interaction:
handle_modal.go - Modal dialog managementhandle_panel_movement.go - Panel navigation logichandle_panel_navigation.go - Panel focus managementhandle_pinned_operations.go - Pinned items functionalitykey_function.go - Keyboard input handlingmodel.go - Core application modelmodel_render.go - UI rendering logicUtilities:
function.go - General utility functionsget_data.go - Data retrieval functionsstring_function.go - String manipulation utilitiesstring_function_test.go - String utility testsstyle.go - UI styling definitionsstyle_function.go - UI styling functionsstring_function_test.go - String utility testsstyle.go - UI styling definitionsstyle_function.go - UI styling functionstestsuite/ - superfile's testsuite written in Pythontestsuite/ReadMe.md for more infoSeparation of Concerns:
config/ directoryinternal/Modular Design:
Testing:
string_function_test.go tests string_function.goWhen contributing to superfile:
Adding New Features:
internal/ subdirectoriesMaking Changes:
Code Style:
This structure helps maintain code organization and makes it easier for new contributors to understand where to make changes.