گنو ریدلاین

گنو ریدلاین
نویسنده(های)
اصلی
Brian Fox
توسعه‌دهنده(ها)Chet Ramey
مخزن
مجوزسال ۲۰۰۹: جی‌پی‌ال نسخۀ ۳ یا جدیدتر

سال ۱۹۷۷: جی‌پی‌ال نسخۀ ۲ یا جدیدتر

سال ۱۹۹۴: جی‌پی‌ال نسخۀ ۱ یا جدیدتر

گنو ریدلاین (به انگلیسی: GNU readline) یک کتابخانه برای افزودن قابلیت‌های ویرایش خط و جستجو در تاریخچهٔ فرمان‌های به کار برده شده، در برنامه‌های محاوره‌ای است که از واسط خط فرمان استفاده می‌کنند. از جمله برنامه‌هایی که از گنو ریدلاین استفاده می‌کنند می‌توان به بش، اف‌تی‌پی، مای اس‌کیوال،پایتون و پست‌گرس‌کیوال اشاره کرد. میانبرهای مورد استفاده در گنو ریدلاین از ایمکس اقتباس شده‌اند، اگر چه این میانبرها قابل شخصی‌سازی هستند.[۱]

کد نمونه

کد زیر به زبان سی است و در هنگام ترجمه باید با آپشن -lreadline ترجمه شود.

# include <stdlib.h>
# include <stdio.h>
# include <unistd.h>
# include <readline/readline.h>
# include <readline/history.h>

int main()
{
    char* input, shell_prompt[100];

    // Configure readline to auto-complete paths when the tab key is hit.
    rl_bind_key('\t', rl_complete);

    for(;;) {
        // Create prompt string from user name and current working directory.
        snprintf(shell_prompt, sizeof(shell_prompt), "%s:%s $ ", getenv("USER"), getcwd(NULL, 1024));

        // Display prompt and read input (n.b. input must be freed after use)...
        input = readline(shell_prompt);

        // Check for EOF.
        if (!input)
            break;

        // Add input to history.
        add_history(input);

        // Do stuff...

        // Free input.
        free(input);
    }
}

منابع

  1. مشارکت‌کنندگان ویکی‌پدیا. «GNU_readline». در دانشنامهٔ ویکی‌پدیای انگلیسی، بازبینی‌شده در ۸ ژوئیه ۲۰۱۳.