![]() |
mutable
A Database System for Research and Fast Prototyping
|
#include "util/glyphs.hpp"
#include <cerrno>
#include <cstdlib>
#include <dlfcn.h>
#include <filesystem>
#include <fstream>
#include <functional>
#include <iomanip>
#include <iostream>
#include <mutable/catalog/CostModel.hpp>
#include <mutable/mutable.hpp>
#include <mutable/Options.hpp>
#include <mutable/util/terminal.hpp>
#include <regex>
#include <replxx.hxx>
#include <vector>
#include <mutable/tables/Keywords.tbl>
Go to the source code of this file.
Namespaces | |
namespace | m |
| |
Macros | |
#define | M_KEYWORD(tt, name) #name, |
#define | M_KEYWORD(tt, name) { #name, Replxx::Color::BROWN }, |
#define | M_KEYWORD(tt, name) #name, |
#define | ADD(TYPE, VAR, INIT, SHORT, LONG, DESCR, CALLBACK) |
#define | KEY_BIND(BUTTON, RESULT) rx.bind_key(Replxx::KEY::BUTTON, std::bind(&Replxx::invoke, &rx, Replxx::ACTION::RESULT, std::placeholders::_1)); |
Typedefs | |
using | Replxx = replxx::Replxx |
Functions | |
void | usage (std::ostream &out, const char *name) |
void | load_plugins (std::string list) |
std::string | prompt (bool is_editing, Timer::duration dur=Timer::duration()) |
int | utf8str_codepoint_len (const char *s, int utf8_len) |
Determine codepoint length of utf-8 string. | |
int | context_len (const std::string &prefix) |
Determines the amount of chars after a word breaker (i.e. | |
Replxx::completions_t | hook_completion (const std::string &prefix, int &context_len) |
void | hook_highlighter (const std::string &context, Replxx::colors_t &colors) |
Replxx::hints_t | hook_hint (const std::string &prefix, int &context_len, Replxx::Color &color) |
int | main (int argc, const char **argv) |
#define ADD | ( | TYPE, | |
VAR, | |||
INIT, | |||
SHORT, | |||
LONG, | |||
DESCR, | |||
CALLBACK | |||
) |
#define KEY_BIND | ( | BUTTON, | |
RESULT | |||
) | rx.bind_key(Replxx::KEY::BUTTON, std::bind(&Replxx::invoke, &rx, Replxx::ACTION::RESULT, std::placeholders::_1)); |
#define M_KEYWORD | ( | tt, | |
name | |||
) | #name, |
#define M_KEYWORD | ( | tt, | |
name | |||
) | { #name, Replxx::Color::BROWN }, |
#define M_KEYWORD | ( | tt, | |
name | |||
) | #name, |
int context_len | ( | const std::string & | prefix | ) |
Determines the amount of chars after a word breaker (i.e.
a non-alphanumeric character).
Definition at line 119 of file shell.cpp.
References m::is_alnum().
Referenced by hook_completion(), and hook_hint().
Replxx::completions_t hook_completion | ( | const std::string & | prefix, |
int & | context_len | ||
) |
Definition at line 131 of file shell.cpp.
References context_len(), and m::strneq().
Referenced by main().
void hook_highlighter | ( | const std::string & | context, |
Replxx::colors_t & | colors | ||
) |
Replxx::hints_t hook_hint | ( | const std::string & | prefix, |
int & | context_len, | ||
Replxx::Color & | color | ||
) |
Definition at line 199 of file shell.cpp.
References context_len(), and m::strneq().
Referenced by main().
void load_plugins | ( | std::string | list | ) |
Definition at line 45 of file shell.cpp.
References m::and, and m::Options::Get().
Referenced by main().
int main | ( | int | argc, |
const char ** | argv | ||
) |
Definition at line 221 of file shell.cpp.
References ADD, m::and, m::Catalog::arg_parser(), m::ArgParser::args(), args, m::Options::ast, m::Options::astdot, m::Catalog::backends_cbegin(), m::Catalog::backends_cend(), m::Options::benchmark, m::Catalog::cardinality_estimators_cbegin(), m::Catalog::cardinality_estimators_cend(), m::Catalog::cost_functions_cbegin(), m::Catalog::cost_functions_cend(), m::Catalog::data_layouts_cbegin(), m::Catalog::data_layouts_cend(), m::Catalog::default_cost_function(), m::Catalog::Destroy(), m::Options::dryrun, m::Options::echo, m::Diagnostic::err(), m::term::fg(), m::term::FG_WHITE, m::Catalog::Get(), m::Options::Get(), m::version::get(), m::CostModelFactory::get_cost_function(), m::get_home_path(), m::Options::graph, m::Options::graph2sql, m::Options::graphdot, m::Options::has_color, m::term::has_color(), hook_completion(), hook_highlighter(), hook_hint(), m::isspace(), m::term::ITALIC, KEY_BIND, m::Options::list_backends, m::Options::list_cardinality_estimators, m::Options::list_cost_functions, m::Options::list_data_layouts, m::Options::list_plan_enumerators, m::Options::list_schedulers, m::Options::list_table_properties, load_plugins(), M_insist, m::Diagnostic::num_errors(), m::Options::output_partial_plans_file, m::ArgParser::parse_args(), m::Options::physplan, m::Options::plan, m::Catalog::plan_enumerators_cbegin(), m::Catalog::plan_enumerators_cend(), m::Options::plan_table_type, m::Options::plandot, m::Catalog::pool(), m::process_stream(), prompt(), m::Options::PT_auto, m::Options::PT_LargeAndSparse, m::Options::PT_SmallOrDense, m::Options::quiet, m::Catalog::register_cost_function(), m::term::RESET, m::Catalog::schedulers_cbegin(), m::Catalog::schedulers_cend(), m::Options::show_help, show_help, m::Options::show_prompt, m::Options::show_version, m::Options::statistics, m::streq(), m::Catalog::table_properties_cbegin(), m::Catalog::table_properties_cend(), m::Options::times, m::Options::train_cost_models, and usage().
std::string prompt | ( | bool | is_editing, |
Timer::duration | dur = Timer::duration() |
||
) |
Definition at line 67 of file shell.cpp.
References m::term::bg(), m::term::BG_DEFAULT, m::term::BOLD, glyphs::CLOCK_FAST, glyphs::DATABASE, m::term::fg(), m::term::FG_WHITE, m::Catalog::Get(), m::term::ITALIC, prompt(), m::term::RESET, and glyphs::RIGHT.
void usage | ( | std::ostream & | out, |
const char * | name | ||
) |
int utf8str_codepoint_len | ( | const char * | s, |
int | utf8_len | ||
) |
Determine codepoint length of utf-8 string.
Definition at line 101 of file shell.cpp.
Referenced by hook_highlighter().