CSDN Summer of Code 2014 Report #1: About a interactive Command Line App
来源:互联网 发布:stc51系列单片机 编辑:程序博客网 时间:2024/06/05 18:25
Design & Implement a command line app
For the past about 10 days, I'm working on designing & implementing the command line version of EasyTag. Design a CLI app is much easier than GUI apps. What I need to follow is some standards or old-school traditions. According to my personal use experience, I group CLI apps into three types according how user invoke them:
1. invoke with signal command, e.g. `ls` or `yum`, `git`
2. invoke interactively often keep waiting for user input, e.g. `kid3-cli`
3. advance command UI interface e.g.`cmus`For the first type, we have only to parsing program arguments, since I'm build the CLI app in C, I can parse it by myself, if the arguments is very simple, otherwise, it's better to use library functions like `getop` or `argp`。
About the interactive one, it's awesome to have editline and complemented. For now I still do not how to parse complex command or even determine what kind of command format that I should use.
what I have done
- Implement the skeleton of easytag-cli
- Support wavpack files
- Create a basic command line interface
What next
- Support more file type
- Add line edit support
0 0
- CSDN Summer of Code 2014 Report #1: About a interactive Command Line App
- CSDN Summer of Code 2014 Report #2: Setup C/GTK+ development environment with Emacs
- Google Summer of Code 2008
- Google Summer of Code 2008
- 什么是Google Summer of Code
- Google Summer of Code 2011
- Google Summer of Code 2012
- Command Line -- List of command line commands
- HowTo: Flush Contents Of a Memcached Server Using Command Line
- Summary about summer camp of BeiHang University
- Summary about summer school of ICT
- 错过了google summer of code..........
- Google summer of code 2008 部分项目
- Google Summer of Code 2017 Summary
- bug Report about a tomcat issue
- A Question about Jasper Report Deployment
- Command-line reference A-Z
- CCmdLine - A command line parser
- HDU1425
- 用户管理
- 使用Mybatis3.10+spring3.10集成发生的错误 SpringManagedTransactionFactory.newTransaction(Ljava/sql/Connection
- 撒的发和噶烟花污染结婚
- mina学习笔记一:mina上路
- CSDN Summer of Code 2014 Report #1: About a interactive Command Line App
- WEB前端开发学习----2.HTML表格table标签
- mysql数据库——pt-query-digest工具之二分析慢查询日志
- MYSQL与ORACLE SQLSERVER DB2的区别
- poj 1068
- 文字游戏
- mina学习笔记二:从官方例子开始
- mina学习笔记三:一切的源头IoService
- mina学习笔记四:交互的核心IoSession