• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# libedit<a name="ZH-CN_TOPIC_0000001106844024"></a>
2
3- [简介](#section11660541593)
4- [目录结构](#section367519246426)
5- [编译构建](#section137768191623)
6- [许可证](#section126611612164217)
7
8## 简介<a name="section11660541593"></a>
9
10libedit是一个提供通用行编辑、历史和分词功能的命令行编辑库,类似于Readline。它是NetBSD Editline库的一个自动化工具和libtool化的移植版本,它的主要接口和功能包括
11- readine(): 从标准输入读取一行,并返回一个指向动态分配缓冲区的指针,该缓冲区包含输入行。
12- parse_and_bind(): 执行给定字符串中初始化命令,可以用来设置键绑定和其他选项。
13- read_init_file(): 执行一个readline初始化文件,可以用来自定义readline的行为。
14- get_line_buffer(): 返回当前行缓冲区的内容。
15- insert_text(): 在光标位置插入文本到行缓冲区。
16- redisplay(): 更新屏幕上显示的内容,以反映行缓冲区的当前内容。
17
18在Openharonmy引入后,在lldb构建中开启编译可选依赖选项LLDB_ENABLE_LIBEDIT,lldb.so会依赖libedit编译生成的动态库libedit.so,支持lldb调试器在命令行调试时使用libedit库支持自动补齐和gui功能。
19## 目录结构<a name="section367519246426"></a>
20```
21- COPYING                       版权文件
22- OAT.xml                       OAT.xml过滤配置文件
23- README.OpenSource             项目README.OpenSource文件
24- README.md                     英文说明
25- README_zh.md                  中文说明
26- src                           libedit源代码
27```
28## 编译与安装<a name="section137768191623"></a>
29
30```
31- ./configure:用于配置软件的脚本,会根据系统环境检测和设置一些变量,生成对应的Makefile和一些头文件。其中运行configure脚本的时候指定一些参数来改变配置选项,如--prefix指定安装目录,--libdir指定库文件目录,--bindir指定可执行文件目录。
32- make: 用于安装libedit软件,根据Makefile中的规则执行一系列的操作,编译源代码,运行测试,检查外部依赖等。
33- make install: 将编译好的libedit.so文件安装到配置时指定的目录中。
34```
35## libedit使用文档
36官方文档  https://www.thrysoee.dk/editline/
37
38
39## 许可证<a name="section126611612164217"></a>
40
41本项目遵从BSD-3-Clause许可证。
42