# 文件搜索工具bete **Repository Path**: jiahaoPython/text-type ## Basic Information - **Project Name**: 文件搜索工具bete - **Description**: 支持模糊搜索的文件搜索工具,你是不是经常找不到文件,没关系这里让你体验到沉浸式编程 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2026-09-12 - **Last Updated**: 2026-10-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Text-Type 🖥️ > **A Lightweight Terminal-Based Code Editor for Windows** > "Minimal dependencies, maximum control." `text-type` 是一个用纯 C 语言编写的、运行于 Windows 控制台的轻量级文本编辑器。它不依赖任何第三方 GUI 框架,而是直接调用 Windows Console API 实现终端渲染与输入处理。 它专为 **低资源环境** 设计(如 AMD A4 处理器),编译后体积 < 200KB,旨在用最基础的代码逻辑实现最核心的编辑功能。 ## ✨ 核心特性 * **🚀 极致轻量**:核心代码仅约 500 行(`src/main.c`),无冗余依赖。 * **💾 零第三方库**:纯 C 标准库 + Windows API 直连,构建简单。 * **🎨 语法高亮**:原生支持 C 语言高亮(关键字、字符串、注释识别)。 * **🖱️ 终端交互**:支持光标移动、字符插入/删除、行内编辑与底部状态栏显示。 * **⚡ 内存敏感**:手动管理行缓冲区内存分配 (`malloc/realloc`),拒绝浪费。 ## 🛠️ 编译与运行 ### 环境要求 * **操作系统**: Windows (支持 Win7/10/11) * **编译器**: GCC / MinGW ### 构建bash 1.进入项目目录 cd text-type 2.执行编译 (基于 Makefile) make 如果没有 gcc src\main.c -o output\main.c 3. 运行编辑器 (产物在 output 目录) .\output\main > ⚠️ **注意**: 当前版本默认在当前目录下打开 `m.c` 文件。后续版本将支持命令行参数传参。 ## ⌨️ 快捷键指南 | 快捷键 | 功能描述 | |:---:|---| | `↑` `↓` `←` `→` | 移动光标位置,支持跨行切换 | | `Backspace` | 删除字符,支持行首退格合并行 | | `Enter` | 换行 | | `ESC` | 退出编辑器 | ## 🏗️ 架构概览 项目采用 **单文件模块化架构**,逻辑集中在 `src/main.c`: 1. **终端控制**: 使用 `SetConsoleMode` 开启 Raw Input,拦截系统按键;使用 `FillConsoleOutputCharacter` 实现高效清屏与光标重绘。 2. **数据结构**: `EditorState` 维护全局屏幕信息,`EditorRow` 结构体动态存储每行文本及对应的语法高亮属性。 3. **渲染引擎**: 基于 60Hz 刷新率的 Event Loop (`Render -> Sleep -> CheckInput`),通过颜色属性 (Attributes) 在控制台实现伪图形界面。 4. **语法分析**: 基于有限状态机 (FSM) 逐行扫描,识别 C 语言关键字及注释块。 ## 🗺️ 开发计划 (Roadmap) - [x] 核心编辑循环 (Event Loop) - [x] C 语言语法高亮 - [x] 文件读取与保存 - [ ] 支持命令行打开指定文件 (`argv`) - [ ] 修复 Down 键越界导致的潜在崩溃 - [ ] 增加撤销/重做 (Undo/Redo) 支持 - [ ] 插件系统接口预留 ## 📄 开源协议 本项目采用 **MIT License**。你可以自由使用、修改源码及二次分发。