myshell 2.0.0
Loading...
Searching...
No Matches
msh_utils.h
1//
2// Created by andrew on 10/8/23.
3//
4
5#ifndef TEMPLATE_UTILS_H
6#define TEMPLATE_UTILS_H
7
8#include "types/msh_command_fwd.h"
9#include "types/msh_token.h"
10
11#include <iostream>
12#include <map>
13#include <string>
14#include <vector>
15
16
17std::string generate_prompt();
18
19tokens_t split_words(const std::string_view input);
20
21void set_variables(tokens_t &tokens);
22
23void expand_aliases(tokens_t &tokens);
24
25void expand_glob(tokens_t &tokens);
26
27void expand_vars(tokens_t &tokens);
28
29void squash_tokens(tokens_t &tokens);
30
31void process_tokens(tokens_t &tokens);
32
33void check_syntax(const tokens_t &tokens);
34
35simple_command_ptr make_simple_command(const tokens_t &tokens);
36
37command split_commands(tokens_t &tokens);
38
39#endif //TEMPLATE_UTILS_H
std::string generate_prompt()
Generate a prompt string.
Definition msh_prompt.cpp:114
Token structure and related types.
void set_variables(tokens_t &tokens)
Sets internal variables based on VAR_DECL tokens in a vector of tokens.
Definition msh_utils.cpp:128
void process_tokens(tokens_t &tokens)
Process a vector of tokens.
Definition msh_utils.cpp:519
tokens_t split_words(const std::string_view input)
Perform word splitting on the given input string, breaking it down into a vector of WORD tokens.
Definition msh_utils.cpp:94
void check_syntax(const tokens_t &tokens)
Check the syntax of a vector of tokens.
Definition msh_utils.cpp:432
simple_command_ptr make_simple_command(const tokens_t &tokens)
Construct a shared pointer to a simple command from a vector of tokens.
Definition msh_utils.cpp:451
void expand_glob(tokens_t &tokens)
Expand glob patterns within a vector of tokens.
Definition msh_utils.cpp:375
command split_commands(tokens_t &tokens)
Split a vector of tokens into a tree structure of commands.
Definition msh_utils.cpp:473
void squash_tokens(tokens_t &tokens)
Squash the adjacent tokens flagged as WORD_LIKE.
Definition msh_utils.cpp:406
void expand_vars(tokens_t &tokens)
Expand variables within a vector of tokens.
Definition msh_utils.cpp:231
void expand_aliases(tokens_t &tokens)
Expand command aliases within a vector of tokens.
Definition msh_utils.cpp:165
Top-level command structure.
Definition msh_command.h:48