terminal_input_parser.hpp
string
vector
ftxui/component/mouse.hpp
ftxui/component/receiver.hpp
ftxui/component/task.hpp
src/ftxui/component/component_fuzzer.cpp
src/ftxui/component/screen_interactive.cpp
src/ftxui/component/terminal_input_parser.cpp
src/ftxui/component/terminal_input_parser_test_fuzzer.cpp
ftxui/component/event.hpp
ftxui/component/mouse.hpp
ftxui/component/receiver.hpp
ftxui/component/task.hpp
src/ftxui/component/terminal_input_parser.hpp
algorithm
atomic
condition_variable
functional
memory
mutex
queue
string
utility
variant
vector
src/ftxui/component/component_fuzzer.cpp
src/ftxui/component/screen_interactive.cpp
src/ftxui/component/terminal_input_parser.cpp
src/ftxui/component/terminal_input_parser.hpp
src/ftxui/component/terminal_input_parser_test_fuzzer.cpp
ftxui::TerminalInputParser
ftxui::TerminalInputParser::CursorPosition
ftxui::TerminalInputParser::Output
ftxui::TerminalInputParser::Output.__unnamed0__
ftxui

    //Copyright2020ArthurSonzogni.Allrightsreserved.
    //UseofthissourcecodeisgovernedbytheMITlicensethatcanbefoundin
    //theLICENSEfile.
    #ifndefFTXUI_COMPONENT_TERMINAL_INPUT_PARSER
    #defineFTXUI_COMPONENT_TERMINAL_INPUT_PARSER

    #include<string>//forstring
    #include<vector>//forvector

    #include"ftxui/component/mouse.hpp"//forMouse
    #include"ftxui/component/receiver.hpp"//forSender
    #include"ftxui/component/task.hpp"//forTask

    namespaceftxui{
    structEvent;

    //Parseasequenceof|char|accross|time|.Produces|Event|.
    classTerminalInputParser{
    public:
    explicitTerminalInputParser(Sender<Task>out);
    voidTimeout(inttime);
    voidAdd(charc);

    private:
    unsignedcharCurrent();
    boolEat();

    enumType{
    UNCOMPLETED,
    DROP,
    CHARACTER,
    MOUSE,
    CURSOR_POSITION,
    CURSOR_SHAPE,
    SPECIAL,
    };

    structCursorPosition{
    intx;
    inty;
    };

    structOutput{
    Typetype;
    union{
    Mousemouse;
    CursorPositioncursor{};
    intcursor_shape;
    };

    Output(Typet)//NOLINT
    :type(t){}
    };

    voidSend(Outputoutput);
    OutputParse();
    OutputParseUTF8();
    OutputParseESC();
    OutputParseDCS();
    OutputParseCSI();
    OutputParseOSC();
    OutputParseMouse(boolaltered,boolpressed,std::vector<int>arguments);
    OutputParseCursorPosition(std::vector<int>arguments);

    Sender<Task>out_;
    intposition_=-1;
    inttimeout_=0;
    std::stringpending_;
    };

    }//namespaceftxui

    #endif/*endofincludeguard:FTXUI_COMPONENT_TERMINAL_INPUT_PARSER*/