Skip to content

emmaculate-exceel/MAZE_Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VE is a terminal text editor for the Portfolio project using C programming langauge.

+++ indicate what will be included --- indicate what is not included or will be included in the future === indicate a section of the what is being discussed

=================================================================================================================================================================================================================================================================================

Project Title: "VE: A Lightweight Text Editor built in C"

Introduction/Overview: Brief Summary: VE is a lightweight, terminal-based text editor built using the C programming language. The project aims to create a simple, fast, and efficient text editor that supports basic text editing functionalities, making it suitable for quick editing tasks directly from the terminal. The editor is designed with performance and minimalism in mind, catering to users who prefer a command-line interface (CLI) over graphical user interfaces (GUIs).

Background: Text editors are essential tools for developers and system administrators. While there are many advanced text editors available, there is a need for a minimalist editor that is easy to use, has a small footprint, and can be quickly invoked from the command line. VE addresses this need by providing a basic yet powerful text editor that focuses on core editing functionalities without unnecessary bloat.

Objectives: A very minimal and easy to use terminal text editor .

Primary Goals:=================================================================================================================================================================================================================================================================== +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Basic Text Editing: Implement core text editing features such as opening files, inserting, deleting, and saving text.

Navigation: Provide efficient navigation within the text file, including moving the cursor.

File Management: Allow users to open, edit, and save files from within the editor.

Secondary Goals:=================================================================================================================================================================================================================================================================

Syntax Hightlighting:== Introduce basic syntax highlightinig for basic text editing.

Undo/Redo Functionality: Implement a simple undo/redo mechanism to enhance editing experience.

Cross-Platform Compatibility: Ensure that the text editor can be compiled and run on major operating systems. (Linux, macOS, Windows).

Scope: ==========================================================================================================================================================================================================================================================================

Core Features: Implement essential text editing functions, including file handling, text manipulation, and navigation.

Customization: Provide options for configuring basic settings like tab width and line numbering.

CLI Integration: Ensuring seamless operation from the command line with support for standard input/output redirection.

Basic Syntax Highlighting: Develop a system for highlighting syntax in supported languages.

Development Phase:==

Editor Core: Develop the core editing functionalities, including text manipulation, file handling, and navigation.

User Interface: Implement a basic terminal-based UI, ensuring a clean and intuitive experience.

Customization: Add options for the user customization, such as tab width and line numbering.

Testing Phase: Conduct rigorous testing, including testing, including unit tests for core functions and user acceptance testing for overall usability.

Optimization: Optimize the editor for performance, ensuring it can handle large fiels efficiently.

Documentation: Provide a more comprehensive documentation on how to use the program, including a user manual and developer guide.

Tools and Technologies: C , SDL2, SDL2_ttf(for font), make(command line tool), ncurses

Programming Language: C

Text Interface: ncurses library for terminal handling and user interface. GUI Interface: SDL2 and SDL2_ttf

Build System: Makefile for compiling and linking of the program.

Version Control: Git for source code management.

Testing : Custom test cases and <assert.h> library for testing and assurance.

Team Roles: ==

Lead Developer: responsible for the overall architecture and implementation of the terminal text editor. C Developer: Implementation of core features, text I/O, and file handling. QA Engineer: Test the editor thorougly to ensure it meets all requirements. Techinical Writer: Document the codebase and create user manuals by

Timeline:==

Phase /Duration: 2 weeks and 3 days. Requirement : 2 weeks. Design phase: 2 days. Develoment phase: 1 week and 4 days. Testing and Improvement: 4 days. Optimazation/compilation : 1 day. Documentation: 1 day.

Total : 17 days

Expected Outcome:==

A fully functional lightweight text editor built using the C programming language, capable of handling basic text formatting like reading, writing and saving buffer to files.

A user-friendly terminal interface that allows for easy text manipulation and navigation.

About

Webstack-Portfolio Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors