add some features in Unvirt

- add style [simple | full] command to allow simple display. current object list display take too much space.
- add search [obj | mgr] [plain | re] <text> command to allow user search object or manager list by substring or regex.
- add ls search <page> to browse the search result.
- set IronPad minidump dump type from full memory to normal.
- fix Unvirt ls command page count display error.
This commit is contained in:
2023-10-28 18:17:53 +08:00
parent e4a67a50a5
commit c7af11702f
5 changed files with 349 additions and 67 deletions

View File

@ -22,9 +22,10 @@ namespace Unvirt::Context {
void Run();
protected:
enum class ViewPart {
Objects, Managers
enum class SearchPart {
None, Object, Manager
};
void PrintCommonInfo(const char* u8_fmt, ...);
void PrintCommonError(const char* u8_fmt, ...);
void ProcLoad(const CmdHelper::ArgumentsMap* amap);
@ -34,7 +35,9 @@ namespace Unvirt::Context {
void ProcLs(const CmdHelper::ArgumentsMap* amap);
void ProcData(const CmdHelper::ArgumentsMap* amap);
void ProcChunk(const CmdHelper::ArgumentsMap* amap);
void ProcSearch(const CmdHelper::ArgumentsMap* amap);
void ProcItems(const CmdHelper::ArgumentsMap* amap);
void ProcStyle(const CmdHelper::ArgumentsMap* amap);
void ProcEncoding(const CmdHelper::ArgumentsMap* amap);
void ProcTemp(const CmdHelper::ArgumentsMap* amap);
void ProcRsc(const CmdHelper::ArgumentsMap* amap, bool isClear);
@ -52,6 +55,10 @@ namespace Unvirt::Context {
CmdHelper::CmdSplitter m_Splitter;
size_t m_PageLen;
bool m_ListStyleIsFull;
SearchPart m_SearchPart;
LibCmo::XContainer::XArray<size_t> m_SearchIdxResult;
bool m_OrderExit;
LibCmo::CK2::CKContext* m_Ctx;
LibCmo::CK2::CKFileReader* m_FileReader;