sh: tab-complete aliases

Differential Revision:	https://reviews.freebsd.org/D40619
This commit is contained in:
Piotr Pawel Stefaniak 2023-04-29 22:38:50 +02:00
parent 2fc4a84ed8
commit 0fd450e289

View file

@ -50,6 +50,7 @@ static char sccsid[] = "@(#)histedit.c 8.2 (Berkeley) 5/4/95";
/*
* Editline and history functions (and glue).
*/
#include "alias.h"
#include "shell.h"
#include "parser.h"
#include "var.h"
@ -671,6 +672,14 @@ static char
goto out;
matches = rmatches;
}
for (const struct alias *ap = NULL; (ap = iteralias(ap)) != NULL;) {
if (strncmp(ap->name, text, curpos) != 0)
continue;
rmatches = add_match(matches, ++i, &size, strdup(ap->name));
if (rmatches == NULL)
goto out;
matches = rmatches;
}
out:
free(free_path);
if (i == 0) {