From 9e1b0644b1db302dc2a3cad098d9ae42c51d5876 Mon Sep 17 00:00:00 2001
From: Anonymus Raccoon
Date: Sat, 23 May 2020 14:38:38 +0200
Subject: [PATCH] Starting the bindkey
---
Makefile | 3 ++-
include/builtin.h | 1 +
src/builtin/builtin_bindkey.c | 24 ++++++++++++++++++++++++
src/prompt.c | 1 +
4 files changed, 28 insertions(+), 1 deletion(-)
create mode 100644 src/builtin/builtin_bindkey.c
diff --git a/Makefile b/Makefile
index 5977f96..77f9f2a 100644
--- a/Makefile
+++ b/Makefile
@@ -45,7 +45,8 @@ SRC = src/shell.c \
src/my_ncurses/my_ncurses.c \
src/my_ncurses/string_utils.c \
src/my_ncurses/pause_utils.c \
- src/key_bindings/autocompletion.c
+ src/key_bindings/autocompletion.c \
+ src/builtin/builtin_bindkey.c
OBJ = $(SRC:%.c=%.o)
OBJ += src/main.o
diff --git a/include/builtin.h b/include/builtin.h
index 3d1d673..ceb8e7f 100644
--- a/include/builtin.h
+++ b/include/builtin.h
@@ -28,6 +28,7 @@ int builtin_source(char **argv, env_t *env);
int builtin_history(char **args, env_t *env);
int builtin_alias(char **args, env_t *env);
int builtin_unalias(char **args, env_t *env);
+int builtin_bindkey(char **argv, env_t *env);
//utility
bool find_path_in_builtins(char *cmd);
char **get_envpath(env_t *env);
diff --git a/src/builtin/builtin_bindkey.c b/src/builtin/builtin_bindkey.c
new file mode 100644
index 0000000..d72f1f3
--- /dev/null
+++ b/src/builtin/builtin_bindkey.c
@@ -0,0 +1,24 @@
+/*
+** EPITECH PROJECT, 2020
+** ash
+** File description:
+** builtin_bindkey
+*/
+
+#include "shell.h"
+#include "key_functions.h"
+#include
+#include
+#include
+
+int builtin_bindkey(char **argv, env_t *env)
+{
+ if (!argv[0]) {
+
+ } else if (!strcmp(argv[0], "-l")) {
+ for (int i = 0; key_functions[i].name; i++)
+ puts(key_functions[i].name);
+ }
+ free(argv);
+ return (0);
+}
\ No newline at end of file
diff --git a/src/prompt.c b/src/prompt.c
index e9f0235..d06ee8e 100644
--- a/src/prompt.c
+++ b/src/prompt.c
@@ -27,6 +27,7 @@ const builtin builtins[] = {
{"source", &builtin_source},
{"alias", &builtin_alias},
{"unalias", &builtin_unalias},
+ {"bindkey", &builtin_bindkey},
{NULL, NULL}
};