fish/fish_shell/fish_core.h

55 lines
1.3 KiB
C
Raw Normal View History

2017-05-11 15:16:06 +00:00
//
// Created by Antoine Bartuccio on 11/05/2017.
//
#ifndef FISH_FISH_CORE_H
#define FISH_FISH_CORE_H
2017-05-11 15:16:06 +00:00
2017-05-16 00:58:16 +00:00
#define FISH_BUFFER_SIZE 1024
#define FISH_TOKENS " \t\r\n\a"
2017-05-11 15:16:06 +00:00
#include "fish_types.h"
#include "fish_commands.h"
2017-05-15 12:08:10 +00:00
#include "fish_utils.h"
2017-05-29 14:19:42 +00:00
#include "fish_settings.h"
2017-05-11 15:16:06 +00:00
/* WordArray functions */
2017-06-19 13:01:45 +00:00
/* Take a full string and split it in a WordList according to a given set of tokens */
2017-05-16 00:58:16 +00:00
WordList * split(char *string, char *separator); // Tested
/* General purpose functions */
2017-06-19 11:45:06 +00:00
/* Main loop of the project */
void fishLoop(Settings * settings);
2017-06-19 11:45:06 +00:00
/* Get the user input */
char * fishReadLine();
2017-06-19 11:45:06 +00:00
/* Count the number of occurrences of a given regex pattern */
int countSeparators(char *string, char *regex); // Tested
2017-05-11 15:16:06 +00:00
2017-06-19 11:45:06 +00:00
/* Execute an external command */
int fishLoad(WordArray *array);
2017-06-19 11:45:06 +00:00
/* Handle operators in the user input */
int fishExecute(WordList *list);
2017-06-19 11:45:06 +00:00
/* Cut a WordList at the given operator regex pattern */
WordList *parseWordList(WordList *list, shell_operator *an_operator);
2017-06-19 11:45:06 +00:00
/* Choose between internal and external command */
int loadRightCommand(WordArray *array);
/* IN/OUT functions */
/* Get a global pipe_redirection structure */
pipe_redirection * getRedirection();
/* Free redirection structure DO NOT TRY TO GET REDIRECTION AFTER */
void freeRedirection();
#endif //FISH_FISH_CORE_H