easyVim  1.0
a simple vim-like text editor
Public Types | Public Member Functions | Public Attributes | List of all members
ev::EVCommand Class Reference

easyVim 指令类 More...

#include <inst_command.hpp>

Inheritance diagram for ev::EVCommand:
Inheritance graph
[legend]
Collaboration diagram for ev::EVCommand:
Collaboration graph
[legend]

Public Types

enum  instType {
  INST_SAVE = 0 , INST_SAVE_NEW = 1 , INST_QUIT = 2 , INST_SAVE_QUIT = 3 ,
  INST_QUIT_F = 4 , INST_RELOAD = 10 , INST_RELOAD_F = 11 , INST_SEARCH = 32 ,
  INST_SEARCH_CASE_IS = 34 , INST_SEARCH_REGEX = 35 , INST_SEARCH_REPLACE = 36 , INST_SEARCH_REPLACE_CASE_IS = 37 ,
  INST_ENCRYPT = 41 , INST_DECRYPT = 42 , INST_JUMP = 61 , INST_ESC = 62 ,
  INST_CHANGE_CODEC = 63
}
 
enum  commandStatus {
  COMMAND_OK = 0 , COMMAND_FAIL = 1 , COMMAND_PARAM_ERROR = 2 , COMMAND_NOT_EXIST = 3 ,
  COMMAND_TRY_COVER_RELOAD = 11 , COMMAND_TRY_UNSAVE_EXIT = 21 , COMMAND_NO_MATCH_PATTERN = 31 , COMMAND_SEARCH_OK = 32 ,
  COMMAND_OK_EXIT = 41 , COMMAND_JUMP = 51 , COMMAND_BACK = 52
}
 

Public Member Functions

 EVCommand (std::string f="")
 
EVFile::EVFileStatus loadConfig ()
 读取配置文件 More...
 
commandStatus execCommand (std::vector< std::string > params, ev::EVFile *file_)
 执行指令 More...
 
- Public Member Functions inherited from ev::EVConfig
 EVConfig (std::string f="")
 

Public Attributes

std::unordered_map< std::string, int > config
 配置信息
 
- Public Attributes inherited from ev::EVConfig
std::string fileName
 配置文件名
 
std::vector< std::string > instList
 指令列表
 

Detailed Description

easyVim 指令类

定义了easyVim的指令类,包括保存、退出、搜索、替换、加密、解密等指令

Member Enumeration Documentation

◆ commandStatus

Enumerator
COMMAND_OK 

指令执行成功

COMMAND_FAIL 

指令执行失败

COMMAND_PARAM_ERROR 

参数错误

COMMAND_NOT_EXIST 

指令不存在

COMMAND_TRY_COVER_RELOAD 

文件中有更改,试图进行覆盖式的重新加载

COMMAND_TRY_UNSAVE_EXIT 

试图不保存文件退出

COMMAND_NO_MATCH_PATTERN 

查找不到匹配结果

COMMAND_SEARCH_OK 

查找到了匹配结果

COMMAND_OK_EXIT 

指令执行成功并且退出程序

COMMAND_JUMP 

跳转

COMMAND_BACK 

退出

◆ instType

Enumerator
INST_SAVE 

保存

INST_SAVE_NEW 

另存为,需要参数指定新的文件名,如果文件已存在则失败,强制指令则覆盖

INST_QUIT 

退出,如果文件未保存且不是强制指令则失败

INST_SAVE_QUIT 

保存并退出

INST_QUIT_F 

强制退出

INST_RELOAD 

重新加载,在打开多个文件的时候用于同步更改

INST_RELOAD_F 

强制重新加载

INST_SEARCH 

搜索,需要参数指定搜索内容,大小写敏感

INST_SEARCH_CASE_IS 

搜索,大小写不敏感

INST_SEARCH_REGEX 

搜索,正则表达式

INST_SEARCH_REPLACE 

搜索并替换,需要参数指定搜索内容和替换内容 //todo 增加参数指定替换范围

INST_SEARCH_REPLACE_CASE_IS 

大小写不敏感的搜索并替换

INST_ENCRYPT 

对称加密

INST_DECRYPT 

对称解密

INST_JUMP 

跳转,需要参数指定跳转位置

INST_ESC 

回到正常模式

INST_CHANGE_CODEC 

更改编码,需要参数指定新的编码

Member Function Documentation

◆ execCommand()

EVCommand::commandStatus ev::EVCommand::execCommand ( std::vector< std::string >  params,
ev::EVFile file_ 
)

执行指令

Parameters
inst指令, params 参数列表
Returns
指令执行结果

◆ loadConfig()

EVFile::EVFileStatus ev::EVCommand::loadConfig ( )

读取配置文件

Returns
evFileStatus 文件状态

The documentation for this class was generated from the following files: